Lena Lehuby
← Projets choisis Cas 03 / 04
03

Yexit · Design system · 2026

Un design system prêt pour l’IA chez Yexit

Les écrans de Yexit ont été conçus dans un fichier Figma construit sur le kit Untitled UI. Les noms des tokens décrivaient le kit, pas le produit, et les composants n’avaient aucune description. Avec un agent IA, j’ai reconstruit le système en une seule référence que les personnes et les outils d’IA lisent de la même façon : trois couches de tokens, une note d’usage sur chaque couleur, des règles écrites sous forme de contraintes et des composants en code.

Rôle
AI product owner et product designer
Source
Le fichier Figma de Yexit, construit sur Untitled UI
Livrables
Un fichier de tokens, un brand book et 41 composants codés
Utilisation
Système par défaut des outils d’IA qui génèrent les écrans et les prototypes de Yexit
473 Tokens de couleur, chacun avec une note d’usage
264 Avec des valeurs distinctes pour les modes clair et sombre
45 Styles de texte en deux familles
41 Composants en code
  1. 01 Auditer Un agent lit chaque variable Figma dans les deux modes.
  2. 02 Structurer Primitives, rôles du kit, puis des noms qui indiquent ce que fait chaque token.
  3. 03 Décrire Une note sur chaque couleur. Des règles vérifiables.
  4. 04 Construire Des composants en code, à partir de la structure du fichier.

Point de départ

Le fichier venait d’un kit. Ses variables de couleur gardaient les noms du kit, une seconde collection de couleurs restait inutilisée, et un même nom, bg-brand-solid, remplissait le bouton principal de gris ardoise en mode clair et de bleu en mode sombre. Les composants n’avaient aucune description.

Un designer contourne le problème en regardant le fichier. Un agent IA choisit un token d’après son nom et sa description. Quand ni l’un ni l’autre n’indique à quoi sert une couleur, le choix se fait au jugé.

L’audit

Un agent IA a lu les collections de variables via l’API des plugins Figma et a listé tous les tokens avec leur valeur dans chaque mode. Quatre constats ont façonné la suite.

  1. F1 Le bleu roi de la marque n’existait que dans la collection inutilisée.
  2. F2 Un même nom portait deux couleurs différentes selon le mode : bg-brand-solid.
  3. F3 La bordure du kit sur les champs de saisie et les boutons secondaires mesurait 1,6:1 par rapport à la page en mode clair, en dessous du rapport de 3:1 nécessaire aux contrôles.
  4. F4 Certaines paires de texte tombaient sous 4,5:1 en mode sombre tel que défini dans le fichier : text-tertiary à 4,3:1, text-placeholder à 2,4:1. Leurs notes l’indiquent.

Trois couches de tokens

Le système garde trois couches, chacune avec une seule fonction. Les écrans n’utilisent jamais directement la première couche. Quand un token d’intention existe, il remplace le rôle du kit : le bouton principal est en ink, pas en bg-brand-solid.

Couche 1 · Primitives Valeurs uniquement. Gris ardoise, bleus de la marque, sable chaud.
neutral-600 primary-300 brand-600 sand-200
Couche 2 · Rôles du kit Les noms sémantiques d’Untitled UI, conservés pour que les composants du kit continuent de fonctionner.
bg-primary text-primary bg-brand-solid border-brand
Couche 3 · Noms d’intention Nommés d’après ce qu’ils font dans Yexit. Les écrans partent de cette couche.
ink surface accent tint-mint

Des noms du kit aux noms d’intention

C’est avec le renommage que le système est devenu lisible. Chaque nouveau nom énonce une fonction et une limite.

Nom du kit Nom d’intention
bg-brand-solid Gris ardoise en mode clair, bleu en mode sombre.
ink L’action principale dans les deux modes. Le gris foncé de la marque, jamais du noir pur.
primary-* Bleu roi, dans une collection que rien n’utilisait.
accent Une seule mise en valeur par écran : liens, progression, le mot clé.
border-primary Contour gris sur les champs de saisie et les boutons secondaires, 1,6:1.
border-outline Le seul contour que trace le système, sur les boutons secondaires, 4,9:1 sur surface. Les champs perdent leur contour et deviennent des cartes.
border-secondary, border-tertiary Séparateurs gris clair.
rule Un seul filet de 1px en ink à 20 %, entre les sections et les lignes de liste. Jamais à l’intérieur d’un contrôle.
shadow-xs … shadow-3xl Huit ombres du kit.
shadow-soft-xs … shadow-soft-lg Quatre ombres douces en ink. Au survol, une surface monte d’un niveau.
bg-primary La page comme les contrôles.
surface Surfaces flottantes : cartes, chips, champs, menus. bg-primary reste le fond de la page.
Ajout Aucun équivalent dans le kit.
tint-mint, tint-lavender, tint-yellow, tint-sky Personnes et catégories uniquement, avec un texte on-tint. La même teinte pour la même personne partout.

Une note sur chaque couleur

Chacun des 473 tokens de couleur porte une note : à quoi il sert et, quand c’est pertinent, avec quoi l’associer et son rapport de contraste. La note est ce qu’un agent lit quand il choisit une couleur, et ce à quoi un relecteur compare l’écran.

Clair #2E3440Sombre #F3F4F6
ink Le gris foncé de la marque : remplissage de l’action principale, infobulles, états coché et pressé. Jamais du noir pur. Blanc cassé en mode sombre. À associer à on-ink. on-ink sur ink · 12,5:1 clair · 11,3:1 sombre
Clair ink 20 %Sombre 12 %
rule Filet éditorial : un trait de 1px entre les sections, sous un en-tête de page, entre les lignes des longues listes. Jamais à l’intérieur d’un contrôle. Décoratif · aucun texte dessus
Clair #2F5CBDSombre #3F6DCF
accent L’unique accent : liens, liens fléchés, le soulignement sous un mot clé, progression. Une seule mise en valeur par écran. 6,2:1 clair sur surface · 3,4:1 sombre, repère uniquement

Règles écrites sous forme de contraintes

Le brand book est écrit sous forme de règles vérifiables, pas en termes d’ambiance. Chaque règle nomme les tokens qu’elle utilise. La même liste sert à l’agent qui génère un écran et à la personne qui le relit.

  1. C1 Un seul accent par écran, et au maximum un mot en accent dans un titre.
  2. C2 Cibles tactiles d’au moins 44pt. Rien d’accessible uniquement au survol.
  3. C3 Les champs sont des cartes sur surface avec shadow-soft-sm, jamais encadrés.
  4. C4 Les teintes servent à marquer des personnes et des catégories, jamais à décorer.
  5. C5 Majuscule en début de phrase uniquement. Pas d’emoji dans les textes d’interface.
  6. C6 Priorité au téléphone : un écran de 390pt, une colonne, l’action principale dans la zone du pouce.

Composants en code

41 composants sont construits en code à partir de la structure du fichier Figma : 32 issus du kit et 9 patterns Yexit. Les composants Figma n’avaient aucune description, leurs consignes d’usage ont donc été rédigées à partir du fichier. Chaque page de composant liste les variantes Figma que le composant laisse de côté et les bizarreries qu’il garde de la source.

Issus du kit · 32
Boutons et liens
6
Champs de saisie
3
Contrôles de sélection
3
Listes déroulantes et menus
5
Badges et étiquettes
3
Avatars
4
Progression et curseurs
3
Infobulles
2
Médias et édition
3
Patterns Yexit · 9
MemoryCard FeaturedCard GlassBar StatTile ListRow ListRowGroup CirclesGraph DayTile DayTileStrip
Construits à partir des écrans de référence : souvenirs en vignettes photo et en mosaïques d’albums, le graphe des cercles, les jours du calendrier.

Ce qu’il laisse de côté

Le système liste ce qu’il ne couvre pas, pour qu’un agent ne comble pas le vide au jugé : boutons de connexion via les réseaux sociaux et badges de magasins d’applications qui exigent des logos tiers, certains types et tailles de champs, les 30 pages d’application et les 16 pages marketing du kit, ses pages d’icônes, quelques effets et la variante sombre du logo.

Où en est le système

La référence est le design system par défaut des outils d’IA qui génèrent les écrans et les prototypes de Yexit.

Les noms du kit restent dans le fichier de tokens, marqués à titre de référence, jusqu’à ce que les variables Figma portent les noms d’intention.

Contact

Postes de product owner et de product manager, en SaaS B2B et en IA.

E-mail hello@lenalehuby.com
CV Sur demande Demander par e-mail
Basée en France
Lena Lehuby · 2026 Écrans issus de mes propres prototypes · données fictives