← Retour au cours
▶ Aperçu gratuit · Leçon offerte

Leçon 2 — Figma design system : variants, tokens et libraries

⏱ 480 min · 🎬 Lecon · 🏆 15 XP
🎬
Vidéo en production
Notre équipe pédagogique tourne actuellement cette leçon avec un·e formateur·rice expert·e. Le contenu textuel ci-dessous est complet et utilisable dès maintenant.

Leçon 2 — Figma design system : variants, tokens et libraries

Construction d'un design system pro : variants de composants, design tokens, styles partagés et publication en library.

Objectifs pédagogiques

  • Créer des variants pour gérer plusieurs états d'un composant (Primary, Hover, Disabled)
  • Définir des design tokens (couleurs, typographies, espacements, ombres)
  • Maîtriser les styles partagés (color, text, effect, grid)
  • Publier une library partagée entre fichiers et équipe
  • Comprendre l'architecture d'un design system d'entreprise (Atomic Design)

Introduction — pourquoi un design system change la donne

Un design system est une collection cohérente de composants, styles, règles et documentation qui définit l'identité visuelle d'un produit. C'est l'équivalent designs des chartes graphiques print, mais pour le numérique. Material Design (Google), Human Interface Guidelines (Apple), Fluent UI (Microsoft), Carbon (IBM) sont des design systems publics célèbres.

Bénéfices :

  • Cohérence visuelle entre écrans et entre produits
  • Vitesse de design (x3-5 selon Figma Inc.)
  • Onboarding rapide des nouveaux designers
  • Pont vers développeurs : tokens partagés en CSS variables ou Tailwind config
« Design systems unlock the speed and quality your team needs to compete in today's market. » — Figma — Pourquoi un design system

1. Variants — états multiples d'un composant

Un variant est une variation d'un composant maître. Au lieu de créer 4 components séparés (Button Primary, Secondary, Disabled, Hover), vous créez UN component avec 4 variants.

1.1 Créer un Component Set (variant)

  1. Créez un component standard (Cmd+Alt+K)
  2. Sélectionnez-le → panneau droit → bouton « + Variant » dans la section Properties
  3. Figma duplique le component en mode variant. Renommez les variants : « Default », « Hover », « Active », « Disabled »
  4. Modifiez chaque variant (couleur, ombre, opacité)
  5. Ajoutez d'autres dimensions de variants : Size (Small, Medium, Large), Icon (None, Left, Right), Loading (True, False)

1.2 Properties dans Variants

Une fois plusieurs variants créés, ajoutez des Properties pour structurer :

Property TypeUsageExemple
VariantListe de valeursState: Default / Hover / Active / Disabled
BooleanTrue/FalseHas Icon: true / false
Instance SwapChoisir une icône parmi un setIcon: ChevronLeft / Plus / Trash
TextTexte personnaliséLabel: "Click me"

Cas pratique 2 — Système de boutons complet

Créez un système de boutons à 3 dimensions :

  1. Component de base : bouton Default Primary Medium
  2. Ajoutez Property "Variant" : State (Default, Hover, Active, Disabled)
  3. Ajoutez Property "Variant" : Size (Small, Medium, Large)
  4. Ajoutez Property "Boolean" : Has Icon (true/false)
  5. Figma génère 4×3×2 = 24 variants au total
  6. Configurez chaque variant manuellement (couleur, padding, font-size)
  7. Utilisez dans le canvas : panneau droit → choisir State + Size + Has Icon. Le component s'adapte instantanément.

2. Styles partagés

Les styles sont des valeurs réutilisables nommées. Modifier le style propage à tous les éléments l'utilisant.

2.1 Types de styles

TypeExemplesCréation
Color (Fill, Stroke)Primary 500, Secondary 100, ErrorPanneau Fill → icône Style
TextHeading 1, Body M, CaptionPanneau Text → icône Style
EffectShadow SM/MD/LG, Inner shadowPanneau Effects → icône Style
GridDesktop 12 col, Mobile 4 colPanneau Layout Grid → icône Style

2.2 Convention de nommage

Avec slashes pour créer une hiérarchie :

  • Color/Brand/Primary 500
  • Color/Neutral/Gray 100 à Gray 900
  • Color/Semantic/Success, Color/Semantic/Error, Color/Semantic/Warning
  • Text/Heading/H1, Text/Body/Regular, Text/Body/Bold
  • Effect/Shadow/SM, Effect/Shadow/MD

3. Design tokens — pont vers le code

Un design token est une variable de design (« Primary Color », « Spacing 4 ») exportable vers le code (CSS variables, Tailwind, iOS, Android). C'est le langage commun entre designers et développeurs.

3.1 Variables Figma (depuis 2023)

Figma a introduit en juin 2023 les Variables natives. Plus puissantes que les Styles, elles permettent :

  • Valeurs primitives : Color, Number, String, Boolean
  • Aliases (référence à une autre variable)
  • Modes : Light / Dark, Mobile / Desktop, etc.
  • Application dans Auto-layout (padding, gap, spacing)

3.2 Créer des variables

  1. Panneau Local Variables (icône dé en haut à droite) ou Cmd+K
  2. Créez une Collection : « Primitives », « Semantic »
  3. Add new variable : color-blue-500 = #2563EB
  4. Add new variable : semantic-primary = {color-blue-500} (alias)
  5. Ajoutez un mode « Dark » et redéfinissez les valeurs

3.3 Plugin Tokens Studio

Pour les design systems pro, utilisez Tokens Studio (anciennement Figma Tokens). Synchronisation bidirectionnelle Figma ↔ GitHub via JSON, export multi-plateformes (CSS, SCSS, JSON, iOS, Android).

Cas pratique 3 — Mini-design-system pour SaaS

Construisez le squelette d'un design system :

  1. Variables Primitives :
    • color-blue-50, 100, 200... 900
    • color-gray-50 ... 900
    • color-red-500, color-green-500, color-yellow-500
    • spacing-1 = 4, spacing-2 = 8, spacing-3 = 12, spacing-4 = 16, spacing-6 = 24, spacing-8 = 32
    • radius-sm = 4, radius-md = 8, radius-lg = 16, radius-full = 9999
  2. Variables Semantic (aliases) :
    • bg-default = color-white
    • bg-muted = color-gray-50
    • text-primary = color-gray-900
    • text-muted = color-gray-500
    • border-default = color-gray-200
  3. Mode Dark : redéfinissez les semantic (bg-default = color-gray-950, etc.)
  4. Toggle mode dans la frame → toute votre maquette bascule en Dark Mode instantanément

4. Atomic Design — méthodologie d'organisation

Méthodologie créée par Brad Frost (auteur du livre « Atomic Design »). Hiérarchise les composants en 5 niveaux :

NiveauDescriptionExemples
AtomesÉléments indivisibles UIBouton, Input, Icon, Label, Tag
MoléculesCombinaison de quelques atomesChamp recherche (Input + Bouton), Card produit (Image + Texte + Bouton)
OrganismesSection UI complexeHeader (Logo + Menu + Search + Avatar), Footer, Sidebar
TemplatesSquelette de pageLayout 2 colonnes avec sidebar
PagesInstance concrète avec données réellesPage d'accueil, Profile utilisateur, Checkout

4.1 Structure de fichier Figma recommandée

  1. Page « 🎨 Design Tokens » : variables + styles
  2. Page « ⚛️ Atoms » : Button, Input, Avatar, Badge, Icon
  3. Page « 🧬 Molecules » : SearchBar, Card, FormField, Dropdown
  4. Page « 🦠 Organisms » : Header, Footer, Sidebar, Modal
  5. Page « 📄 Templates » : Layouts vides
  6. Page « 🚀 Pages » : Maquettes finales

5. Libraries — partage entre fichiers

5.1 Publier une library

  1. Panneau Assets → icône Library en haut → Publish library
  2. Donnez un nom et une description
  3. Choisissez les styles et components à inclure
  4. Publish

5.2 Consommer une library

  1. Dans un autre fichier : panneau Assets → Library button
  2. Add to file
  3. Les components et styles deviennent disponibles dans le panneau Assets et dans les sélecteurs Style

5.3 Mises à jour

Quand vous publiez une nouvelle version (bouton Publish updates), Figma notifie tous les fichiers consommateurs avec un badge. Les utilisateurs peuvent accepter manuellement les updates ou autoriser l'auto-update.

Best practice : ne pas mélanger design system et maquettes : créez un fichier dédié « ITAG Design System » qui contient UNIQUEMENT les components, styles et variables. Les maquettes pages sont dans d'autres fichiers qui consomment cette library. Ceci facilite la maintenance et la version control.

6. Bonnes pratiques de naming et documentation

  • Préfixer les components privés par _ (sous-composants non destinés aux maquettes)
  • Documenter chaque component avec un texte de description (panneau droit)
  • Ajouter des « Cover » : créer une frame d'aperçu pour chaque catégorie
  • Utiliser des emojis dans les noms de pages pour navigation rapide
Pièges fréquents — design systems Figma :
  • Trop d'overrides cassent les updates : si vous changez la position d'un élément dans une instance, le master ne pourra plus déplacer ce groupe.
  • Doublons de styles : sans convention de nommage stricte, vous finissez avec « Primary Blue », « primary-blue », « Brand/Primary », « Blue 500 » qui font la même chose.
  • Variables non publiées : créées localement, elles ne sont pas accessibles depuis d'autres fichiers tant que vous ne les avez pas publiées.
  • Conflits Library : si vous renommez un component utilisé partout, les instances peuvent perdre leur lien. Toujours faire le rename DANS Figma (pas en supprimant/recréant).
  • Variables vs Styles : Variables sont plus modernes mais Styles supportent gradients linéaires (qu'une Variable ne peut pas). Mix les deux intelligemment.

Synthèse — Points-clés à retenir

  • Les variants regroupent plusieurs états d'un même composant dans un Component Set
  • Les Properties structurent les variants : Variant, Boolean, Instance Swap, Text
  • Les styles partagés couvrent : Color, Text, Effect, Grid avec nommage Slash
  • Les Variables (depuis 2023) supportent aliases, modes (Light/Dark) et types Color/Number/String/Boolean
  • L'Atomic Design (Brad Frost) hiérarchise en 5 niveaux : Atomes, Molécules, Organismes, Templates, Pages
  • Publier une library permet de partager components et styles entre fichiers et équipe
  • Toujours séparer le fichier Design System des fichiers Maquettes
  • Plugin Tokens Studio synchronise Figma ↔ GitHub pour design tokens pro

Pour aller plus loin

Continuez le parcours 🚀

Inscrivez-vous pour accéder aux 5 autres leçons + le quiz final.

Créer mon compte
🍪 Nous utilisons des cookies essentiels et, avec ton accord, des cookies analytiques. En savoir plus

⚙️ Préférences cookies

Choisis quels cookies tu acceptes — modifiable à tout moment.

🔐 Essentiels (obligatoires)Authentification, session, sécurité. Toujours actifs.
📊 Analytics anonymesMesure d'audience anonymisée — aucune donnée personnelle.
📣 MarketingPublicités ITAG pertinentes sur d'autres sites.
💬 Contactez-nous sur WhatsApp