Virabo Hoy
Chapitre 5

Les Design Systems : Scaler ses Décisions

Comment je structure mes interfaces à l'échelle

19 min de lecture

Votre "design system" n'en est probablement pas un

Soyons directs : la majorité de ce que l'industrie appelle "design systems" sont des bibliothèques de composants Figma avec un fichier de documentation que personne ne lit. Un dossier de composants bien organisé n'est pas un design system. Un kit UI acheté sur le Figma Community n'est pas un design system. Même un Storybook complet avec tous vos composants React n'est pas un design system. Un design system est un ensemble de standards, de principes et de composants interconnectés qui permettent à une organisation de prendre des décisions de design cohérentes à grande échelle. Sans principes, sans gouvernance, sans processus de contribution, vous avez une librairie — pas un système.

Un design system sans gouvernance est juste un fichier Figma qui prend de la place. Et un fichier Figma obsolète est pire que pas de fichier du tout.

Ce qu'un design system est réellement (et ce qu'il n'est pas)

Un design system est composé de trois couches distinctes et complémentaires. La couche fondation contient les design tokens (couleurs, typographies, espacements, ombres), les principes de design et les guidelines de voix et ton. La couche composants contient les éléments d'interface réutilisables, documentés avec leurs variantes, états et cas d'usage. La couche patterns contient les solutions récurrentes aux problèmes d'expérience utilisateur — comment on gère les erreurs, comment on structure un formulaire, comment on navigue. La plupart des équipes construisent la couche composants et ignorent les deux autres. C'est comme construire des murs sans fondations ni plan d'architecte.

Fondations : tokens, principes, voix et ton, grilles, accessibilité.

Composants : boutons, inputs, modales, cartes — avec documentation d'usage.

Patterns : flows d'authentification, gestion d'erreurs, navigation, recherche.

Gouvernance : qui décide, qui contribue, qui maintient, qui fait évoluer.

SpecifiqueFondation

Templates / Pages

Mises en page completes

Patterns

Formulaires, navigation, layouts

Composants

Boutons, inputs, cartes, modales

Design Tokens

Couleurs, espacements, typographie

L'Atomic Design de Brad Frost : penser en systèmes, pas en pages

En 2013, Brad Frost a proposé une méthodologie qui a transformé notre façon de penser les interfaces. L'Atomic Design structure les composants en cinq niveaux : atomes (bouton, input, label), molécules (champ de recherche = input + bouton), organismes (header = logo + nav + search), templates (structures de page) et pages (instances réelles avec du contenu). Cette hiérarchie n'est pas un dogme — c'est un modèle mental. Son vrai apport est de forcer les designers à penser en termes de composition plutôt qu'en termes de pages. Les pages sont éphémères ; les composants qui les constituent sont durables. Investir dans les atomes et les molécules, c'est investir dans la scalabilité.

Arrêtez de designer des pages. Commencez à designer des systèmes de composants qui génèrent des pages. C'est la différence entre artisan et architecte.

AtomesBoutonMoleculesBarre de rechercheOrganismesHeaderTemplatesWireframePagesDesign finalMethodologie Atomic Design

Les design tokens : le langage commun entre design et code

Les design tokens sont peut-être l'innovation la plus importante des design systems modernes. Un token est une variable qui stocke une décision de design : `color.primary.500 = #0099FF`, `spacing.md = 16px`, `font.heading.weight = 700`. Au lieu d'encoder des valeurs brutes dans chaque composant, vous référencez des tokens. Cela crée un niveau d'abstraction qui rend le système entier modifiable de manière centralisée. Changer votre couleur primaire n'est plus un cauchemar de find-and-replace dans 200 fichiers — c'est une modification d'une seule valeur qui cascade dans tout le produit. Salesforce a popularisé le concept, et des outils comme Style Dictionary, Figma Variables et Tokens Studio l'ont rendu pratique.

Tokens globaux : valeurs brutes (blue-500 = #0099FF, space-4 = 16px).

Tokens alias : sémantiques (color-primary = blue-500, spacing-component = space-4).

Tokens composant : spécifiques (button-bg-primary = color-primary).

Multi-plateforme : un seul fichier de tokens génère CSS, iOS Swift, Android Kotlin.

1

Tokens globaux

blue-500=#0099FF
gray-100=#F3F4F6
radius-md=8px
2

Tokens alias

primary=blue-500
surface=gray-100
radius-default=radius-md
3

Tokens composant

button-bg=primary
card-bg=surface
card-radius=radius-default
Changement cascade

L'API des composants : concevoir pour les autres designers

Un composant de design system n'est pas un composant de projet. Il est conçu pour être utilisé par des dizaines de designers et développeurs qui ne l'ont pas créé. Cela change radicalement la façon dont il doit être pensé. Chaque composant a besoin d'une API claire : quelles props/variantes accepte-t-il ? Quels sont ses états (default, hover, focus, disabled, error, loading) ? Quelles sont ses contraintes (taille minimum, contenu maximum) ? Quels sont ses cas d'usage et ses anti-patterns ? Un bouton dans un design system n'est pas juste un rectangle avec du texte. C'est un contrat entre le créateur du composant et ses utilisateurs. Un contrat mal défini crée du chaos à grande échelle.

Un composant de design system est un produit dont les utilisateurs sont vos collègues. Traitez-les avec la même rigueur que vos utilisateurs finaux.

La documentation : le composant le plus important du système

Voici une vérité que peu de designers veulent entendre : la documentation est plus importante que les composants eux-mêmes. Un composant sans documentation est un composant qui sera mal utilisé, dupliqué, ou ignoré. Les meilleurs design systems — Material Design, Polaris de Shopify, Carbon d'IBM — investissent autant dans leur documentation que dans leurs composants. Chaque composant doit documenter : son usage (quand l'utiliser et quand NE PAS l'utiliser), ses variantes avec des exemples visuels, ses états et comportements, ses guidelines d'accessibilité, et son code d'implémentation. La documentation doit être vivante, co-localisée avec les composants, et mise à jour à chaque changement.

Do / Don't : montrez les bons et mauvais usages avec des exemples visuels.

Playground interactif : laissez les utilisateurs expérimenter les variantes en direct.

Changelog : documentez chaque changement avec la raison et l'impact.

Guidelines d'accessibilité : chaque composant doit documenter ses exigences WCAG.

Code snippets : fournissez du code copy-paste pour chaque variante.

La gouvernance : le secret des design systems qui survivent

C'est ici que je prends ma position la plus tranchée : un design system sans modèle de gouvernance est condamné à mourir. J'ai vu des dizaines de design systems lancés avec enthousiasme et abandonnés en moins d'un an. La raison n'est jamais technique — c'est toujours un échec de gouvernance. Qui décide d'ajouter un nouveau composant ? Qui valide les modifications ? Comment les contributions sont-elles soumises, revues et intégrées ? Quel est le processus de deprecation ? Il existe trois modèles principaux : centralisé (une équipe dédiée contrôle tout), fédéré (des contributeurs dans chaque équipe produit), et communautaire (open contribution avec review). Le modèle fédéré est généralement le plus viable car il répartit la charge tout en maintenant la qualité.

Le design system le plus beau du monde mourra sans gouvernance. Le design system le plus modeste survivra s'il a un processus de contribution clair et des responsables identifiés.

L'adoption : le vrai défi n'est pas technique, il est humain

Vous pouvez construire le design system le plus élégant du monde — s'il n'est pas adopté, il ne vaut rien. L'adoption est un problème de changement management, pas un problème de design. Les designers et développeurs résistent à l'adoption pour des raisons légitimes : le système ne couvre pas leurs cas d'usage, il est trop rigide, trop complexe, pas assez documenté, ou ils n'ont simplement pas été consultés lors de sa création. La clé de l'adoption est l'implication précoce des utilisateurs du système (designers et devs), la couverture des cas d'usage réels (pas théoriques), et la création de valeur immédiate (gagner du temps dès le premier usage).

Impliquez les futurs utilisateurs dès la phase de conception du système.

Commencez par les composants les plus fréquemment utilisés (boutons, inputs, typographie).

Fournissez des templates et des starter kits pour réduire la barrière d'entrée.

Créez un canal de support dédié (Slack, Teams) pour répondre aux questions.

Mesurez l'adoption : taux d'utilisation des composants, nombre de composants custom vs système.

Le versioning : gérer l'évolution sans casser la production

Un design system est un produit vivant qui évolue constamment. Le versioning sémantique (SemVer) est essentiel pour communiquer l'impact des changements. Un changement majeur (v2.0) peut casser des implémentations existantes — il exige une migration. Un changement mineur (v1.1) ajoute des fonctionnalités sans casser l'existant. Un patch (v1.0.1) corrige des bugs. Sans versioning rigoureux, chaque mise à jour du design system devient un risque pour les équipes produit. Et un système que les équipes ont peur de mettre à jour est un système qu'elles finiront par forker ou abandonner. Le versioning n'est pas un détail technique — c'est un contrat de confiance avec vos utilisateurs internes.

Major (v2.0) : breaking changes — migration guide obligatoire.

Minor (v1.1) : nouvelles features rétro-compatibles.

Patch (v1.0.1) : corrections de bugs, pas de changement d'API.

Deprecation : annoncez les composants obsolètes au moins 2 versions avant suppression.

Release notes : documentez chaque changement avec visuel avant/après.

L'IA et les design systems : révolution ou disruption ?

L'intelligence artificielle est en train de transformer radicalement la façon dont nous construisons et utilisons les design systems. Des outils comme Figma AI peuvent déjà suggérer des composants, détecter les inconsistances et générer des variantes automatiquement. Les LLMs peuvent générer du code conforme au design system à partir de spécifications en langage naturel. Mais voici le paradoxe : l'IA rend les design systems encore plus nécessaires, pas moins. Sans système de référence, l'IA génère du design incohérent. Les tokens deviennent les "instructions" que l'IA suit pour produire du output conforme. Un design system bien documenté est le meilleur prompt pour une IA de génération d'interface. Les équipes qui n'ont pas de design system structuré seront les plus pénalisées par l'adoption de l'IA.

L'IA ne remplace pas le design system — elle l'amplifie. Un bon système + l'IA = productivité exponentielle. Pas de système + l'IA = chaos exponentiel.

Mesurer le succès d'un design system

Un design system est un investissement significatif — il doit prouver sa valeur avec des métriques concrètes. Le taux d'adoption (pourcentage de composants système vs custom dans les produits) est l'indicateur le plus direct. Le time-to-ship (temps entre le design et la mise en production) devrait diminuer significativement. La consistance cross-produit (audit visuel et fonctionnel) devrait s'améliorer. La satisfaction des utilisateurs internes (designers et développeurs) est un leading indicator crucial. Et le nombre de bugs liés à l'interface devrait chuter. Un design system qui ne peut pas démontrer son impact en chiffres est un design system qui perdra son budget au prochain exercice fiscal.

Taux d'adoption : % de composants système utilisés vs composants custom créés.

Time-to-ship : réduction mesurable du temps de développement des nouvelles features.

Consistency score : audit régulier de la cohérence visuelle entre les produits.

Developer Experience (DX) : satisfaction des développeurs mesurée par survey trimestriel.

Réduction des bugs UI : moins de tickets liés à l'incohérence visuelle ou fonctionnelle.

Sans Design System

Incoherence visuelle

Submit
SAVE
ok
Confirm
Next
!

~3 mois

Temps de dev par feature

Avec Design System

Coherence totale

Primary
Secondary
Outline
Ghost
Danger

~2 semaines

Temps de dev par feature

Les anti-patterns : les erreurs qui tuent un design system

Après avoir contribué à plusieurs design systems et observé des dizaines d'autres, voici les erreurs les plus fatales. Le "design system fantôme" : un système magnifique que personne n'utilise parce qu'il a été conçu en silo. Le "design system perfectionniste" : un système qui n'est jamais lancé parce qu'il n'est jamais "assez complet". Le "design system musée" : un système figé que personne n'ose modifier. Le "design system dictatorial" : un système imposé sans consultation qui génère du ressentiment. Le "design system orphelin" : un système dont l'équipe fondatrice est partie et que personne ne maintient. Chacun de ces anti-patterns est évitable avec une gouvernance appropriée et une culture de collaboration.

Le pire design system n'est pas celui qui a des lacunes — c'est celui qui est parfait mais que personne n'utilise. Lancez imparfait, itérez vite, écoutez vos utilisateurs.

F
Figma Tokens
S
Storybook
S
Style Dictionary
T
Tailwind
Gestion de tokens
Bibliotheque de composants
Documentation
Export de code
Collaboration
Excellent
Partiel
Limite

Un design system est un produit, pas un projet

La différence fondamentale entre les design systems qui réussissent et ceux qui échouent tient en une phrase : les premiers sont traités comme des produits, les seconds comme des projets. Un projet a un début et une fin. Un produit évolue continuellement avec ses utilisateurs. Material Design de Google est en version 3 après 10 ans d'évolution. Le Human Interface Guidelines d'Apple évolue à chaque release d'iOS. Polaris de Shopify est maintenu par une équipe dédiée permanente. Si votre organisation traite le design system comme un projet one-shot à livrer puis "maintenir", il mourra. Traitez-le comme un produit avec des utilisateurs (vos designers et développeurs), un roadmap, des sprints, des user feedbacks et des métriques de succès. C'est le seul chemin vers un système vivant.

Les meilleures décisions de design sont celles qui n'ont pas besoin d'être prises deux fois. C'est exactement ce qu'un design system bien conçu permet : scaler vos meilleures décisions à travers toute l'organisation.

Sources & Références

  1. [1]Frost, B. (2016). Atomic Design. Brad Frost.
  2. [2]Curtis, N. (2010). Modular Web Design: Creating Reusable Components for User Experience Design and Documentation. New Riders.
  3. [3]Suarez, M., Anne, J., Sylor-Miller, K., Mounter, D., & Stanfield, R. (2017). Design Systems Handbook. InVision.
  4. [4]Google Material Design (2014-2024). Material Design Guidelines.
  5. [5]Apple (2024). Human Interface Guidelines.
  6. [6]Shopify (2024). Polaris Design System.
  7. [7]Salesforce (2014). Lightning Design System — Introduction of Design Tokens.
  8. [8]Vesselov, S. & Davis, T. (2019). Building Design Systems: Unify User Experiences through a Shared Design Language. Apress.
  9. [9]W3C Design Tokens Community Group (2023). Design Tokens Format Module.