Design tokens dans les constructeurs UI sans code pour des thèmes cohérents
Les design tokens dans les constructeurs UI sans code aident les équipes à définir couleurs, typographie, espacements et variantes une fois pour toutes, puis à livrer une interface cohérente sans deviner.

Pourquoi les équipes dérivent vers une UI incohérente
L'incohérence UI ne naît rarement d'un « problème de design ». Elle naît d'un problème de temps. Quelqu'un a besoin d'un bouton maintenant, il en copie un d'une autre page et le retouche jusqu'à ce qu'il paraisse assez proche.
C'est ainsi que de petites différences s'installent : deux bleus presque identiques, un rayon de bord qui passe de 6 à 8, un titre « un peu gras », et des paddings qui dépendent de qui a construit l'écran. Dans les builders sans code, il est encore plus facile d'apporter des modifications ponctuelles parce que les contrôles sont accessibles et les changements semblent anodins.
À mesure que le produit grandit, la dérive s'accélère. Plus de pages signifie plus de motifs répétés. Plus de builders signifie plus de goûts personnels. Plus de coéquipiers signifie plus de « corrections rapides » faites en isolation. Si une personne construit le portail client et qu'une autre construit le panneau admin, vous vous retrouvez avec deux interprétations différentes de la même marque.
L'« eyeballing » apparaît dans le travail quotidien : choisir une couleur jusqu'à ce qu'elle « ait l'air juste », ajuster l'espacement de quelques pixels parce que l'écran semble « trop serré », créer un nouveau style de bouton plutôt que d'en réutiliser un existant, mélanger des tailles de police parce que la valeur par défaut paraît « un peu petite », ou corriger un écran sans vérifier les autres.
Le coût apparaît plus tard. Les revues ralentissent parce que les retours deviennent subjectifs (« fais-le ressembler plus à l'autre page »). Le travail de reprise s'accumule parce qu'il est difficile d'appliquer un changement partout. Le web et le mobile divergent parce que différentes personnes font des choix similaires mais non identiques.
Les design tokens résolvent cela en remplaçant les décisions « assez proches » par des valeurs partagées. L'UI reste cohérente même lorsque l'équipe et l'application grandissent.
Les design tokens, en clair
Les design tokens sont des décisions nommées concernant votre UI. Plutôt que de dire « utilisez ce bleu » ou « faites des boutons aérés », vous donnez à ces choix des noms clairs que n'importe qui peut réutiliser.
Un token n'est pas la valeur brute. La valeur brute peut être 16px, #2563EB ou 600 (épaisseur de police). Le token est l'étiquette qui explique ce que cette valeur signifie dans votre produit, comme space-4, color-primary ou font-weight-semibold.
Ce changement empêche le problème d'eyeballing. Quand les gens choisissent des valeurs au feeling, on finit par collectionner cinq bleus différents, trois titres légèrement différents, et des espacements qui varient d'un écran à l'autre.
Les tokens fonctionnent mieux comme source unique de vérité. Si chaque écran et composant référence le même ensemble de noms, vous pouvez changer l'apparence de toute l'application en mettant à jour quelques valeurs de tokens, plutôt qu'en chassant des dizaines d'écrans.
Les tokens font aussi le pont entre design et construction. Les designers utilisent les noms de tokens dans les specs, et les builders utilisent les mêmes noms dans un constructeur UI sans code, de sorte que le design survit à la passation.
La plupart des jeux de tokens se répartissent en quelques catégories : rôles de couleur (primary, background, text, danger), typographie (famille, tailles, poids, interlignes), pas d'espacement (padding, margin, gaps), forme et profondeur (rayons, largeurs de bordure, ombres), et parfois motion (durées et easing).
L'ensemble de tokens dont la plupart des produits ont réellement besoin
La plupart des équipes n'ont pas besoin d'une énorme bibliothèque de tokens. Elles ont besoin d'un ensemble petit et clair qui couvre la plupart des écrans afin que les gens arrêtent de deviner les valeurs. Cela compte encore plus dans les outils sans code, où les retouches « juste cette fois » se propagent rapidement.
Un ensemble de démarrage pratique couvre cinq groupes :
- Couleur : quelques rôles de marque (primary, secondary), une palette neutre (texte, fond, bordure), et des rôles d'état (success, warning, error). Ajoutez des rôles hover et disabled si vous les utilisez souvent.
- Typographie : une famille de police (deux au maximum), une petite échelle de tailles (comme 12/14/16/20/24/32), les poids réellement utilisés, et des interlignes assortis.
- Espacement : une échelle simple (par exemple 4/8/12/16/24/32) pour les paddings et gaps.
- Forme et effets : quelques rayons (none/sm/md/lg), largeurs de bordure, et un petit jeu d'ombres (0-3).
- Mouvement (optionnel) : uniquement si votre application utilise des animations, avec 2-3 durées et 1-2 easing.
Une règle garde la librairie rationnelle : si une valeur apparaît à trois endroits ou plus, faites-en un token. Si elle n'apparaît qu'une fois, considérez-la avec suspicion avant qu'elle ne devienne « la nouvelle norme ».
Règles de nommage qui empêchent le chaos des tokens
De bons noms de tokens empêchent les disputes avant qu'elles n'apparaissent. Si les gens peuvent deviner un token sans chercher, ils le réutiliseront. S'ils ne le peuvent pas, ils en créeront un nouveau, et votre thème se fragmentera.
Utilisez d'abord des noms sémantiques (pas des couleurs)
Privilégiez des noms qui décrivent le rôle d'une valeur dans l'UI, pas son apparence. text-primary dit à tout le monde quand l'utiliser. blue-600 n'est qu'un pot de peinture.
Un pattern utile comporte deux couches :
- Tokens de base : éléments bruts comme
color-blue-600,space-16,font-14 - Tokens sémantiques : rôles UI comme
text-primary,bg-surface,border-muted
Dans un constructeur UI sans code, ce sont les tokens sémantiques qui aident les non-designers à choisir la bonne valeur rapidement sans eyeballing.
Règles pour ajouter de nouveaux tokens
La plupart des bibliothèques de tokens deviennent désordonnées parce que « nouveau » est la valeur par défaut. Faites de la « réutilisation » la valeur par défaut.
Gardez des règles simples :
- Ajoutez un token seulement s'il est utilisé dans 2+ endroits ou s'il supporte un véritable état (hover, disabled, error).
- Si c'est un cas ponctuel, maintenez-le local au composant.
- Si deux tokens diffèrent d'une faible marge, choisissez-en un et supprimez l'autre.
- Si vous ne pouvez pas expliquer le rôle du token en une phrase, ne l'ajoutez pas.
Standardisez ensuite le nommage. Choisissez une casse (kebab-case fonctionne bien), utilisez des préfixes stables (text-, bg-, border-, icon-, space-) et gardez des échelles numériques cohérentes (space-4, space-8, space-12, space-16).
Étape par étape : définir les tokens à partir de ce que vous utilisez déjà
Considérez votre UI actuelle comme des preuves. Avant de créer quoi que ce soit de neuf, faites un inventaire rapide : rassemblez des captures d'écran, inspectez les styles et notez chaque couleur, taille de police et espace que vous voyez réellement en production (y compris les valeurs « one-off » qui n'apparaissent que sur un écran).
Ensuite, réduisez les doublons volontairement. Vous trouverez généralement le même gris utilisé en cinq hex légèrement différents, ou des espacements qui sautent entre 14, 15 et 16. Choisissez une valeur à garder, puis mappez les anciennes valeurs dessus. C'est là que les tokens deviennent pratiques : vous arrêtez de débattre du goût et commencez à vous mettre d'accord sur un petit ensemble de choix partagés.
Une première version solide peut être construite en un seul passage :
- Tokens de palette : couleurs brutes (marque, neutres, couleurs de feedback)
- Tokens sémantiques : couleurs basées sur le sens (texte, fond, bordure, success, warning)
- Échelle typographique : 6-8 tailles avec rôles clairs (body, label, H1-H3)
- Échelle d'espacement : 6-10 étapes réutilisables partout
- Bases de composants : quelques rayons et ombres standard
Pour chaque token, ajoutez une phrase de guidage : où l'utiliser et où ne pas l'utiliser. Exemple : « text-muted est pour le texte d'aide, pas pour les boutons primaires. »
Enfin, décidez de la propriété. Il est utile de nommer une personne (ou un petit groupe) pour approuver les changements, avec une règle simple : « Ajoutez un nouveau token seulement si un existant ne convient pas. » Cela maintient le système stable pendant la croissance du produit.
Comment appliquer les tokens dans un constructeur UI sans code
Commencez par des valeurs par défaut héritées par chaque écran : un style de texte de base (police, taille, interligne, couleur), des styles de titres (H1-H3) et un petit ensemble de règles d'espacement de layout pour que les pages ne semblent pas aléatoires.
Ensuite, mappez les tokens à ce que votre outil appelle paramètres de thème : variables de thème, styles globaux, presets de style ou réglages du design system. L'objectif est que choisir « Primary » ou « Space/16 » sélectionne un token, pas une valeur ponctuelle.
Conservez les styles réutilisables sur des motifs que vous utilisez tous les jours. Un jeu de départ peut inclure un style de carte (fond, bordure, rayon, padding, ombre), un style de champ de formulaire (label, input, texte d'aide), des styles de boutons et des règles de densité/hover pour les lignes de tableau.
Les états sont là où l'incohérence s'insinue, donc définissez-les tôt. Chaque composant interactif doit avoir des valeurs pilotées par des tokens pour hover, focus, disabled et error. Le focus doit utiliser la même couleur et épaisseur d'anneau partout. L'erreur doit utiliser le même duo bordure/texte.
Enfin, prévoyez le partage. Si votre workspace supporte des templates ou des modules réutilisables, mettez les tokens et styles de base dans une « starter app » que les nouveaux projets copient. Ainsi, les nouveaux écrans partent cohérents par défaut.
Variantes de composants qui restent cohérentes
Les variantes sont l'endroit où un système UI devient soit calme et prévisible, soit un tas de retouches ponctuelles. Les variantes fonctionnent mieux quand elles sont une couche légère qui mappe vers des tokens pour la couleur, la typographie et l'espacement.
Commencez avec un petit ensemble de composants clés que vous utilisez partout : boutons, inputs, badges, alertes et cartes. Donnez à chacun d'eux les mêmes deux dimensions de choix : taille et intention. La taille doit être mécanique (typographie et espacement). L'intention doit être sémantique (couleurs).
Taille et intention sans deviner
Les variantes de taille restent cohérentes quand elles ne changent que quelques propriétés pilotées par des tokens : taille de police, padding et rayon. Les variantes d'intention doivent principalement changer les rôles de couleur (fond, texte, bordure) et ne jamais modifier l'espacement en douce.
Un ensemble couvrant la plupart des produits :
- Tailles : sm, md, lg
- Intentions : primary, secondary, danger
- États : default, hover, focus, disabled
Règles d'interaction que les équipes peuvent suivre
Définissez des règles d'état qui s'appliquent à chaque composant, pas seulement aux boutons. Par exemple : le focus affiche toujours un anneau visible, le hover augmente le contraste de manière cohérente, et disabled utilise la même opacité et bloque les clics.
Ajoutez une nouvelle variante seulement si elle représente un sens récurrent (comme « danger »). Si c'est un besoin d'agencement ponctuel, il s'agit généralement d'un nouveau composant ou d'un wrapper, pas d'une variante que tout le monde utilisera mal plus tard.
Garder les thèmes web et mobile alignés
Quand un produit est publié sur web et mobile, « même marque » ne signifie pas toujours « mêmes pixels ». L'objectif est que les écrans se sentent comme une même famille, même si les plateformes ont des comportements différents.
Commencez par des tokens partagés qui se traduisent bien : rôles de couleur (background, surface, text, primary, danger), échelle typographique (tailles et poids) et tokens d'espacement (4, 8, 12, 16, 24). Ceux-ci éliminent les approximations et rendent les mises à jour prévisibles.
Puis acceptez les différences réelles. Le mobile nécessite des cibles tactiles plus larges et souvent un peu plus d'espacement. Le web nécessite des tableaux plus denses, des sidebars et des layouts multi-colonnes. Les polices peuvent aussi différer : vous pouvez utiliser une police de marque sur le web mais préférer les polices natives sur iOS/Android pour la lisibilité et la performance.
Une approche pratique est en deux couches : des tokens globaux qui définissent le sens, et des tokens plateforme qui définissent comment ce sens est rendu.
- Global :
color.text,color.primary,space.md,radius.sm,type.body - Web-only :
type.family.web,control.height.web,space.tableRow - Mobile-only :
type.family.mobile,control.height.mobile,space.touch
Conservez des noms de composants cohérents (Button/Primary) même si les tailles diffèrent. Exigez des vérifications de contraste pour les deux thèmes avant la mise en production.
Gouvernance : comment les tokens restent sains dans le temps
Les tokens ne fonctionnent que s'ils restent stables et compréhensibles. Sans une gouvernance légère, les équipes ajoutent silencieusement « encore un bleu » ou « encore un padding », et vous revenez à l'eyeballing.
Un flux léger de changement de token
Gardez le processus petit, mais réel :
- Demande : n'importe qui peut demander un nouveau token ou un changement, avec une capture et une raison.
- Revue : un designer et un builder vérifient l'impact sur les écrans clés.
- Approbation : confirmer le nommage, l'accessibilité (contraste, taille tactile) et si c'est vraiment nouveau.
- Publication : publier les mises à jour selon un calendrier (hebdomadaire ou par sprint), pas au fil de l'eau.
- Communication : partager ce qui a changé et quoi utiliser à la place.
Maintenez un changelog simple avec dépréciations. Si un ancien token est remplacé, indiquez quoi utiliser à la place, maintenez-le fonctionnel un temps, et marquez-le clairement pour que les nouveaux écrans ne l'adoptent pas.
Le nettoyage fait partie du travail. Une fois par mois, supprimez les tokens et variantes de composants inutilisés (ou au moins signalez-les).
Rendre les tokens utilisables par tout le monde
Les non-designers ont besoin d'exemples, pas de théorie.
À faire : utilisez l'échelle d'espacement pour les gaps, et utilisez la variante Primary Button pour l'action principale.
À ne pas faire : définir un padding à « 13px parce que ça a l'air bien », ou créer un nouveau style de bouton pour correspondre à un écran précis.
Lie le travail des tokens aux priorités produit : nouvelles fonctionnalités, refontes de marque et corrections d'accessibilité doivent piloter les mises à jour des tokens, pas les préférences personnelles.
Erreurs courantes et pièges
La manière la plus rapide de perdre les bénéfices des tokens est de les traiter comme un dépôt de bordel. Vous commencez avec de bonnes intentions, puis quelques corrections rapides s'accumulent, et l'équipe revient à l'eyeballing.
Un piège courant est de créer trop de tokens trop tôt. Si chaque écran obtient son propre token de couleur ou d'espacement, vous ne construisez pas un système — vous cataloguez des exceptions. N'ajoutez un token que si vous pouvez montrer au moins deux endroits où il sera utilisé.
Un autre problème discret est de laisser des valeurs brutes s'infiltrer dans les composants. Quelqu'un règle le padding d'un bouton à 14px « juste cette fois », ou utilise un hex directement dans une carte. Des semaines plus tard, personne ne se souvient pourquoi c'est différent. Habituez-vous : si c'est visible et réutilisable, ça doit être un token.
Surveillez aussi le mélange des types de tokens. Les tokens de base (comme gray-900 ou space-4) décrivent des valeurs brutes. Les tokens sémantiques (comme text-primary ou surface-muted) décrivent le sens. Les problèmes commencent quand un composant utilise des tokens de base et qu'un autre utilise des tokens sémantiques pour le même rôle.
Les états sont une autre douleur en fin de processus. Les équipes définissent souvent les styles normaux, puis patchent focus, hover, disabled et error juste avant la sortie. C'est comme ça qu'on finit avec des anneaux de focus incohérents et trois rouges « erreur » différents.
Avant de monter en échelle, faites un rapide contrôle anti-piège :
- Limitez les nouveaux tokens aux besoins partagés, pas aux écrans ponctuels
- Évitez les valeurs brutes dans les composants autant que possible
- Séparez tokens de base vs tokens sémantiques et appliquez-les de façon cohérente
- Définissez les états (focus, error, disabled) tôt
- Préparez la place pour un mode sombre ou une future refonte de marque en échangeant les tokens sémantiques, pas en réécrivant les composants
Checklist rapide avant de monter en échelle
Avant de déployer votre UI sur plus d'écrans, d'équipes ou de produits, vérifiez si votre fondation est suffisamment claire pour être copiée sans deviner.
- Les rôles de couleur sont sémantiques. Les tokens couvrent le texte (par défaut, muted, inverse), les surfaces (page, carte), les bordures (défaut, focus) et les statuts (success, warning, danger).
- La typographie correspond à une petite échelle. Un jeu court de styles de texte (H1-H3, body, small) avec taille, poids et interligne définis.
- L'espacement utilise des étapes mémorisables. Les paddings et gaps communs proviennent d'une échelle serrée (4, 8, 12, 16, 24). Si « 14 » revient souvent, votre échelle a probablement besoin d'ajustement.
- Les composants principaux ont des variantes. Vos composants les plus utilisés ont taille (sm/md/lg) et intention (primary/secondary/danger) qui correspondent aux rôles de tokens.
- La propriété est claire. Une personne (ou un petit groupe) approuve les changements, avec une routine légère : pourquoi, impact, et quand publier.
Exemple : stopper la dérive UI dans un portail et un panneau admin
Une petite équipe construit deux apps en parallèle : un portail client et un panneau admin interne. Différentes personnes touchent différentes pages, et elles construisent rapidement dans un builder sans code. Après quelques semaines, l'UI commence à paraître « décalée », même si personne ne sait nommer le problème.
Avant les tokens, les commentaires de revue s'accumulent : les boutons se ressemblent mais ne sont pas identiques, l'espacement varie d'un écran à l'autre, les champs de formulaire ne correspondent pas, et le portail paraît « convivial » tandis que l'admin paraît « strict » par accident.
Ils règlent ça en introduisant un petit jeu de tokens pratique. Ils définissent des couleurs sémantiques (Primary, Success, Danger, TextMuted), une échelle d'espacement (4, 8, 12, 16, 24) et des variantes de boutons (Primary, Secondary, Ghost) avec un rayon unique et des états cohérents.
Désormais, les contributeurs arrêtent de choisir des hex ou des tailles de police au hasard sur chaque écran. Ils sélectionnent des tokens et des variantes, donc chaque nouvelle page hérite des mêmes décisions.
Le développement s'accélère parce que les choix sont déjà faits. Les revues passent de détails visuels mineurs à de vrais problèmes UX. « Faites ce bouton en variante primaire » remplace « Peux-tu le rendre un peu plus bleu et légèrement plus haut ? »
Puis survient une petite refonte : la couleur primaire change et l'échelle typographique se resserre. Avec des tokens, l'équipe met à jour quelques valeurs et le portail comme le panneau admin se rafraîchissent ensemble.
Étapes suivantes : commencez petit, puis standardisez
Choisissez un flux que les gens utilisent souvent et qui présente une dérive évidente, comme l'onboarding, une page de paramètres ou un formulaire simple. Convertir un seul flux est le moyen le plus rapide de prouver l'idée et d'arrêter l'eyeballing.
Commencez par un petit ensemble de tokens sûrs : primary/background/text/border/danger, une courte échelle typographique, une échelle d'espacement, et 2-3 niveaux de radius et d'ombre. Ensuite, créez un mini-ensemble de composants qui n'utilisent que des tokens : un bouton, un input, une carte, une alerte. Ajoutez des variantes seulement quand elles répondent à un vrai besoin.
Faites une courte revue avec l'équipe en utilisant deux captures : un écran « avant » avec des paddings et polices incohérents, et un écran « après » construit à partir de tokens et de variantes. Mettez-vous d'accord sur quelques règles (par exemple « pas de couleurs codées en dur » et « l'espacement doit être un token ») et corrigez d'abord les incohérences majeures.
Pour le déploiement, convertissez d'abord les nouveaux écrans, puis rétroportez les anciens au fur et à mesure que vous les modifiez. Quand le support demande un nouveau filtre admin, reconstruisez ce panneau avec des composants basés sur des tokens et remplacez seulement ce que vous éditez.
Si vous construisez des produits complets (backend, web et mobile) dans AppMaster, il est utile de définir les tokens et styles réutilisables tôt afin que les nouveaux écrans héritent des mêmes décisions. Ainsi, cohérence visuelle et logique applicative progressent ensemble sans nettoyages répétés plus tard.
FAQ
La dérive UI commence souvent par des petites modifications « juste pour cette fois » : copier un composant, ajuster un padding, ou choisir une couleur à l'œil. Avec le temps, ces différences s'accumulent entre les écrans et les membres de l'équipe, et les revues deviennent des débats subjectifs au lieu de vérifications rapides contre des règles partagées.
Les design tokens sont des décisions UI nommées que l'équipe réutilise au lieu de deviner des valeurs brutes. La valeur peut être 16px ou #2563EB, mais le nom du token explique son usage, par exemple space-16 ou color-primary, pour que tout le monde fasse le même choix à chaque fois.
Commencez par les rôles de couleur, la typographie, l'espacement et un petit ensemble de rayons (radius) et d'ombres. Cela couvre la plupart des écrans et évite les problèmes d'« eyeballing », tout en gardant l'ensemble de tokens assez petit pour que les gens l'utilisent réellement.
Règle pratique : créez un token quand une valeur apparaît dans deux endroits ou plus, ou quand elle prend en charge un état réel comme hover, focus, disabled ou error. Si la valeur est vraiment unique, gardez-la locale au composant pour qu'elle ne devienne pas par accident une norme globale.
Les noms sémantiques décrivent l'usage du token, par exemple text-primary ou bg-surface, pour que l'on puisse choisir correctement sans mémoriser une palette. Les noms bruts comme blue-600 conviennent comme tokens de base, mais les utiliser directement dans les composants facilite les mauvaises utilisations des couleurs.
Faites un audit de ce que vous publiez : collectez les couleurs, tailles de police et espacements réellement utilisés en production, puis fusionnez volontairement les quasi-dupliqués. Une fois que vous avez un petit ensemble propre, mappez les anciennes valeurs sur le token le plus proche pour que les futurs écrans réutilisent les tokens au lieu de réintroduire des valeurs « presque identiques ».
Définissez d'abord des valeurs globales par défaut, puis mappez les tokens aux variables de thème ou styles globaux du builder afin que les composants réfèrent des noms, pas des codes hex ou des pixels. Ensuite, créez un petit jeu de styles réutilisables pour vos composants quotidiens et assurez-vous que leurs états (hover, focus, disabled, error) utilisent aussi des tokens.
Limitez les variantes à la taille et à l'intention. La taille doit modifier uniquement quelques propriétés pilotées par des tokens (taille de police, padding), et l'intention doit surtout échanger des rôles de couleur sémantiques. Ainsi, un bouton « danger » ne change pas subrepticement l'espacement ou la typographie.
Partagez des tokens sémantiques globaux entre plateformes pour garder le même sens, puis autorisez des tokens spécifiques à chaque plateforme pour gérer les différences (tailles cibles tactiles, densité). L'objectif est « même famille, pas mêmes pixels » : web et mobile doivent se sentir cohérents tout en respectant leurs contraintes.
Attribuez une responsabilité claire et utilisez un petit flux de revue pour les changements afin d'éviter que de nouveaux tokens ne soient ajoutés comme des rustines. Publiez les mises à jour selon un rythme régulier et dépréciez les anciens tokens plutôt que de les remplacer silencieusement. Cela permet de garder le système stable à mesure que plus de personnes créent des écrans, notamment dans des projets AppMaster.


