Représenter et raisonner sur des préférences dans des domaines combinatoires est un problème fondamental d'une part en intelligence artificielle, et d'autre part dans l'aide à la décision. Dans ce didacticiel, nous introduirons la notion de relation de préférence (ordinale, cardinale, ou autre), puis nous aborderons le problème de la représentation compacte de préférences sur des domaines combinatoires. Nous présenterons ensuite trois familles de langages de représentation compacte : les langages s'appuyant sur la logique propositionnelle, les CP-nets et les langages fondés sur l'indépendance additive généralisée. Enfin, nous présenterons une application de ces langages pour les problèmes d'allocation de ressources (enchères combinatoires, problèmes de partage équitable).