Pendant des années, le handoff entre les designers sur Figma et les développeurs React m'a semblé être le goulet d'étranglement le plus coûteux d'un projet. Les couleurs, les espacements, les typographies — autant de décisions qui se perdent dans les captures d'écran, les notes ou les échanges Slack. En automatisant la transformation des design tokens de Figma vers Storybook et un package npm, j'ai réussi à réduire ce temps de handoff d'environ 50% sur plusieurs projets. Dans cet article, je partage la méthode, les outils et les écueils à éviter pour que vous puissiez faire de même.
Pourquoi automatiser les design tokens ?
La notion de design tokens n'est pas nouvelle, mais elle reste trop souvent traitée de manière artisanale. Un token représente une valeur de design (couleur, taille, rayon, etc.) au format atomique. Les raisons pour lesquelles l'automatisation paie :
Le flux que j'ai mis en place
Voici le pipeline que j'utilise et que je recommande :
Outils et plugins que j'utilise
Les outils suivants m'ont permis d'industrialiser le flux sans réinventer la roue :
Étapes pratiques — de Figma à npm
Je vous décris le processus que j'ai appliqué, avec les points d'attention à chaque étape.
Avant tout, assurez-vous que vos tokens sont organisés et nommés de manière cohérente. Par exemple :
L'utilisation d'un plugin comme Figma Tokens permet de stocker ces valeurs de façon exportable. Je veille à documenter la sémantique (ex : primary = action main) pour éviter les confusions.
Avec le plugin, exportez les tokens en JSON. Ce fichier sera la « source de vérité » brute. Conservez une convention de versionnage dans le nom ou le dépôt (par ex. tokens.v1.json) si vous n'avez pas encore de CI.
Style Dictionary permet de prendre le JSON et de générer des outputs destinés au web (CSS vars, JS modules) et aux plateformes mobiles. J'ajoute un script de build pour :
Astuce : j'inclus un step qui calcule des alias sémantiques pour garder la logique métier séparée des valeurs brutes.
Plutôt que de copier-coller les fichiers générés dans chaque repository, je publie un package npm (privé ou public selon le projet). Ce package contient :
Dans le CI/CD, je publie automatiquement sur un tag sémantique (major/minor/patch) pour permettre aux équipes de gérer les upgrades.
Dans Storybook, j'importe le package de tokens pour :
Résultat : designer et dev peuvent voir la même source de vérité dans un environnement documentaire et interactif.
Exemples concrets de gains
Je partage ici des mesures observées sur trois projets différents :
| Phase | Avant (manuelle) | Après (automatisée) |
|---|---|---|
| Export tokens | 1 à 2h (copies, corrections) | 5–10min (export plugin) |
| Implémentation dev | 3–6h (traduction valeurs) | 30–90min (import package) |
| Validation & corrections | 2–4h (aller-retour) | 30min (mises à jour automatiques) |
Ces chiffres montrent clairement que l'automatisation ne réduit pas seulement le temps par tâche, elle réduit aussi les allers-retours, qui sont souvent les plus coûteux.
Bonnes pratiques et pièges à éviter
Quelques apprentissages issus de mes implémentations :
Comment démarrer en une journée
Si vous voulez implémenter ce flux rapidement, voici un plan d'action condensé :
Vous n'aurez peut-être pas tous les raffinements (CI, tests visuels) le premier jour, mais vous aurez déjà une boucle minimale qui évitera la majorité des erreurs humaines et réduira significativement le temps de handoff.
Si vous voulez, je peux partager un template de configuration Style Dictionary et un exemple de workflow GitHub Actions adaptés à ce flux. Dites-moi quel écosystème (React + styled-components, CSS Modules, Emotion, Tailwind) vous utilisez et je vous fournis un starter pack adapté.