04 mai 2025·8 min de lecture

Composants UI réutilisables : nommage, variantes et règles de mise en page

Définissez des règles claires de nommage, de variantes et de mise en page pour les composants UI réutilisables, afin que les équipes construisent des écrans cohérents rapidement dans tout builder visuel.

Composants UI réutilisables : nommage, variantes et règles de mise en page

Pourquoi la cohérence des écrans se casse dans les builders visuels

Les builders visuels permettent de livrer des écrans rapidement. Cette vitesse peut aussi masquer une dérive lente de l'apparence et du comportement de l'interface. Quand plusieurs personnes construisent en parallèle, les petits choix s'accumulent : l'un ajoute 12px de padding, un autre utilise 16px, et un troisième copie un ancien bouton d'un autre écran.

On remarque généralement les signes tôt : des composants presque identiques, des espacements qui varient d'un écran à l'autre, et des mots légèrement différents pour la même action (Enregistrer, Envoyer, Confirmer). Les états divergent aussi souvent. Un formulaire affiche un état de chargement clair, un autre non. Les messages d'erreur varient, et des « correctifs rapides » apparaissent sur une page sans jamais revenir dans le pattern partagé.

C'est ainsi que commence la dette UI. Chaque incohérence paraît mineure, mais avec le temps elle rend le produit moins fiable. Elle ralentit aussi les équipes, car les gens passent du temps à chercher la « bonne » version, comparer des écrans et corriger de petites différences en fin de revue.

Une bibliothèque de composants dans un builder visuel est un ensemble partagé de blocs (boutons, champs, cartes, en‑têtes, états vides) que tout le monde utilise au lieu de recréer. Sur une plateforme comme AppMaster, cela signifie généralement créer des pièces d'UI réutilisables dans les builders visuels, puis s'accorder sur leur nommage, leur configuration et leur placement pour que les écrans restent cohérents même lorsque différentes personnes les construisent.

Le but n'est pas de supprimer la créativité. C'est de rendre les parties du quotidien prévisibles afin que les choix soient intentionnels. Quatre leviers empêchent la dérive : un nommage clair, des variantes sensées, des règles de mise en page de base (espacements, alignements, grilles) et des habitudes d'équipe qui gardent la bibliothèque saine au fur et à mesure que l'app grandit.

Ce qui devrait être un composant réutilisable (et ce qui ne devrait pas l'être)

Tout élément joli ne mérite pas forcément de devenir un composant. Si vous transformez tout en composant, les gens perdent du temps à fouiller la bibliothèque et à régler des options qui n'auraient pas dû exister.

Un bon composant réutilisable est quelque chose que vous attendez de voir sur plusieurs écrans, ou qui doit avoir le même aspect et comportement à chaque utilisation. Pensez aux motifs que les utilisateurs reconnaissent instantanément : un bouton primaire, un champ texte avec aide, une carte qui prévisualise un enregistrement.

Un petit ensemble de départ couvre généralement la plupart des écrans : boutons, champs, cartes, en‑têtes de page et quelques types de modales (confirmation et formulaire).

Une règle d'extraction pratique garde les décisions simples : si vous utilisez la même UI 2 à 3 fois, ou si c'est critique pour votre marque et doit être identique, extrayez‑la. Si elle n'apparaît qu'une fois, gardez‑la locale.

Ce qui doit rester ponctuel ? Des mises en page très spécifiques liées à un seul écran, des sections expérimentales que vous modifiez quotidiennement, et tout élément essentiellement composé de contenu. Par exemple, une bannière d'onboarding unique avec un texte et une illustration personnalisés vaut rarement la peine d'être componentisée.

Gardez chaque composant focalisé. Un composant doit faire un seul travail. Une « User Card » qui gère aussi les permissions, le statut de facturation et les actions admin devient difficile à réutiliser. Une approche plus propre est d'avoir une « User Card » axée sur l'affichage, plus des boutons d'action et des chips de statut séparés.

Conventions de nommage lisibles même sous pression

Quand une équipe livre vite, les noms sont la première chose qui se casse. Quelqu'un duplique « Button2 », un autre crée « CTA Button », et un troisième utilise « BlueButton ». Une semaine plus tard, personne ne sait lequel réutiliser, alors ils en créent un nouveau. Voilà comment une bibliothèque devient une pile de quasi‑doublons.

Un schéma simple vous aide à rester cohérent même quand vous êtes fatigué : Component - Part - State. La plupart des composants n'ont pas besoin des trois, mais l'ordre reste le même.

Utilisez des mots que les gens prononcent réellement. Si votre équipe dit « Customer card », ne la nommez pas « CRM Tile ». Si le produit appelle ça un « Plan », n'appelez pas ça « SubscriptionBox ». Le langage simple gagne parce qu'il est recherché facilement.

Une règle évite beaucoup de confusion : ne mélangez pas « ce que ça ressemble » et « à quoi ça sert » au même niveau. Choisissez une approche. Si vous nommez par usage, évitez les mots de couleur. Si vous nommez par visuel, évitez la signification métier. Le nommage par usage évolue généralement mieux.

Exemples faciles à parcourir dans une liste de composants :

  • Button - Primary
  • Button - Secondary - Disabled
  • Input - WithLabel
  • Card - Compact
  • Modal - ConfirmDelete

Décidez du format une fois et consignez‑le : Title Case ou casse de phrase, espaces autour des tirets, et pas d'abréviations sauf si elles sont universelles (comme « URL »). Dans les builders visuels où beaucoup de gens contribuent, ces petits choix gardent la bibliothèque lisible au fur et à mesure qu'elle grandit.

Variantes : offrir du choix sans créer le chaos

Les variantes permettent de réutiliser un composant en de nombreux endroits sans en faire une copie à chaque fois. L'astuce est de décider d'emblée quelles différences comptent et de verrouiller tout le reste.

Commencez par quelques dimensions de variante qui couvrent des besoins réels. Pour beaucoup de composants, trois suffisent : taille (S/M/L), intention (primary/secondary/danger) et état (default/hover/active). Si une nouvelle option ne rentre pas dans ces dimensions, traitez‑la comme un nouveau composant, pas comme « encore une variante ».

Les valeurs par défaut comptent plus qu'on ne le pense. Les nouveaux écrans doivent être corrects même si quelqu'un glisse un composant et ne change rien. Définissez des valeurs par défaut sûres (par ex. size=M, intent=primary, state=default) pour que la vitesse ne se transforme pas en style aléatoire.

Pour chaque composant avec des variantes, notez et appliquez :

  • Dimensions prises en charge et valeurs autorisées (gardez‑les courtes)
  • Valeurs par défaut
  • Ce qui ne change jamais entre variantes (padding, police, rayon des coins, espacement d'icône)
  • États requis comme disabled et loading, plus erreur lorsque l'échec est possible
  • Quand créer un nouveau composant plutôt que d'ajouter une variante

Exemple : vous avez un bouton « Submit » dans un portail client. Si quelqu'un crée un « Wide Submit Button » et un autre un « Rounded Submit Button », la dérive apparaît vite. Avec des règles, vous conservez un seul composant Button. Vous autorisez la taille et l'intention, interdisez le padding et le rayon personnalisés, et définissez « Loading » une fois (afficher un spinner, bloquer les clics) pour qu'il se comporte de la même manière partout.

Quand quelqu'un demande « juste un style de plus », demandez quel problème utilisateur cela résout. Si la réponse est floue, c'est probablement du chaos déguisé.

Règles de mise en page : espacements, alignements et grilles que tout le monde suit

Utilisez des tokens que votre équipe approuve
Créez des tokens de style pour la typographie et les couleurs afin que les équipes arrêtent de copier des styles.
Essayer la construction

Si les règles de mise en page sont vagues, chaque écran devient lentement unique. Le moyen le plus rapide de garder des composants cohérents est de rendre l'espacement et l'alignement ennuyeux : quelques choix autorisés, utilisés de la même façon à chaque fois.

Commencez par une échelle d'espacement et interdisez tout le reste. Choisissez un petit ensemble (par exemple 4, 8, 12, 16, 24) et traitez‑le comme un clavier : vous pouvez jouer beaucoup de morceaux, mais seulement avec ces touches. Si quelqu'un a besoin de « 18px », c'est souvent que le composant ou la grille est mal conçu.

Soyez explicite sur ce que signifie l'espacement :

  • Le padding est à l'intérieur d'un composant et reste cohérent d'un écran à l'autre.
  • Le gap est entre les éléments à l'intérieur d'un conteneur (lignes de formulaire, éléments d'une barre d'outils).
  • La marge est à l'extérieur d'un composant et doit être utilisée avec parcimonie.
  • Préférez le gap aux margins empilés pour éviter que l'espacement ne double par accident.

Les règles d'alignement évitent les éternels « décalez‑le un peu ». Un défaut simple fonctionne bien : aligner le texte à gauche, faire coïncider labels et inputs sur la même ligne verticale, et garder les actions principales cohérentes (par ex. en bas à droite d'une modale et alignées à droite dans le pied de formulaire). Utilisez l'alignement sur la ligne de base pour les lignes riches en texte. Réservez le centrage aux lignes contenant uniquement des icônes.

Les grilles n'ont pas besoin d'être sophistiquées, mais elles doivent exister. Décidez des colonnes et gutters, et définissez le comportement sur petits écrans (même un simple « 12 colonnes sur desktop, une colonne sur mobile » aide). Fixez les largeurs de conteneur et les points de rupture une fois, puis construisez les écrans dans ces rails.

Pièges courants à surveiller : des conteneurs imbriqués qui ajoutent chacun du padding, des marges de page incohérentes, le mélange de largeurs fixes avec des colonnes responsives, et des « nombres magiques » qui ne corrigent qu'un seul écran.

Tokens de style : polices, couleurs et bases d'accessibilité

Les tokens de style sont les choix partagés que tout le monde utilise. Quand les tokens sont clairs, les composants réutilisables restent cohérents même si différents membres de l'équipe construisent des écrans.

Commencez par la typographie comme source unique de vérité. Choisissez une petite échelle pour taille de police, graisses et hauteur de ligne, puis arrêtez‑vous. La plupart des équipes n'ont besoin que de quelques pas (par exemple : body, small, caption, title, page heading). Mettez ces choix en un seul endroit pour que le texte nouveau parte des mêmes valeurs par défaut.

Les couleurs fonctionnent mieux quand elles sont nommées par signification, pas par codes peinture. « Primary » signale une action principale. « Success » signifie « ça a marché », et « warning » veut dire « vérifiez ça ». Évitez des noms comme « blue‑500 » sauf si votre équipe pense déjà en palettes.

Bases d'accessibilité qui empêchent des problèmes plus tard :

  • Assurez une bonne contraste du texte par rapport à son arrière‑plan.
  • Rendez les cibles tactiles assez grandes pour les pouces, pas pour les pointeurs de souris.
  • Rédigez des messages d'erreur qui expliquent ce qui s'est passé et quoi faire ensuite.
  • Ne comptez pas uniquement sur la couleur pour communiquer un statut.

Les tokens doivent se connecter directement aux variantes de composants. Une variante de Button comme Primary, Secondary ou Danger doit remplacer des tokens approuvés (couleur, bordure, style de texte), pas introduire des styles ponctuels.

Gardez la liste de tokens suffisamment courte pour que les gens les utilisent vraiment. Un bon test : quelqu'un peut‑il choisir le bon token en 5 secondes ? Si non, fusionnez ou supprimez.

Un ensemble de départ simple pourrait inclure la typographie (text.body, text.small, text.title), les couleurs (color.primary, color.success, color.warning, color.danger), les espacements (space.8, space.16, space.24), le rayon (radius.sm, radius.md) et le focus (focus.ring).

Étape par étape : mettre en place une bibliothèque de composants dans un builder visuel

Allez au-delà des mises en page
Générez le backend réel et le code source de l'app pour que votre système UI accompagne la montée en charge produit.
Construire et exporter

Une bibliothèque de composants concerne moins la « perfection design » que la suppression des micro‑décisions quotidiennes. Quand tout le monde utilise les mêmes blocs, les écrans restent cohérents même si des personnes différentes les construisent.

Un déploiement pratique en 5 étapes

  1. Faites l'audit de ce que vous avez déjà. Choisissez 5 à 10 écrans réels et notez les doublons que vous voyez : boutons, champs texte, en‑têtes de section, cartes et états vides.

  2. Choisissez une petite première vague à standardiser. Visez les 10 éléments les plus présents et ceux qui causent le plus de disparités. Pour beaucoup d'équipes, cela signifie boutons, inputs, dropdowns, dialogues modaux, en‑têtes de tableau et cartes.

  3. Écrivez les règles avant de construire. Gardez‑le court : nom du composant, quand l'utiliser, variantes autorisées et règles de mise en page autour (espacement, alignement, largeur).

  4. Rebuild une fois, puis remplacez progressivement. Créez les nouveaux composants dans votre builder visuel et verrouillez les variantes convenues. Remplacez les anciennes copies écran par écran. N'essayez pas de tout refactorer en un sprint.

  5. Ajoutez une porte de revue légère. Une personne (en rotation hebdomadaire) vérifie les nouveaux composants et variantes. L'objectif n'est pas de policer, mais d'éviter les forks accidentels.

À quoi ressemble le « assez bien »

Vous saurez que ça marche quand un designer ou un PO dira : « Utilisez la carte standard avec l'en‑tête compact », et que deux buildeurs produisent le même résultat. C'est la récompense : moins de choix ponctuels, moins d'incohérences subtiles et un build d'écrans plus rapide.

Gardez votre bibliothèque volontairement petite. Si quelqu'un demande une nouvelle variante, posez‑lui d'abord une question : est‑ce un vrai besoin nouveau, ou une variante existante peut‑elle suffire avec un contenu différent ?

Erreurs courantes qui causent une UI lente et incohérente

Faites en sorte que les valeurs par défaut fassent le travail
Définissez des valeurs par défaut sensées pour que les nouveaux écrans soient corrects sans retouches.
Créer une app

La plupart des incohérences ne viennent pas du mauvais goût. Elles surviennent parce que copier est facile, bricoler est rapide et personne ne revient en arrière. Le résultat est un ensemble d'écrans presque identiques mais difficiles à mettre à jour.

Un piège fréquent est de créer des quasi‑doublons au lieu d'ajouter une variante. Quelqu'un a besoin d'un « primary button, mais un peu plus haut » et duplique le composant. Une semaine plus tard, un autre duplique cette copie. Vous avez maintenant trois boutons qui se ressemblent mais se comportent différemment : chaque changement devient une chasse.

Un autre ralentissement est le composant sur‑configurable : un mega composant avec des dizaines de toggles. Il paraît flexible, puis devient imprévisible. Les gens lui font moins confiance et créent des versions « juste pour ce cas », ce qui annule l'intérêt.

Les erreurs de mise en page causent autant de dégâts. La plus fréquente est le mélange des responsabilités : un composant contrôle ses propres margins externes tandis que l'écran ajoute aussi des espacements. Vous obtenez des interstices aléatoires qui varient selon la page. Une règle simple aide : les composants définissent le padding interne, les écrans contrôlent l'espacement entre composants.

Les problèmes qui apparaissent généralement en premier : le nommage se dégrade sous la pression, les états sont ajoutés tard (loading, empty, error), les ajustements ponctuels deviennent permanents, et différentes personnes résolvent la même mise en page de manières différentes.

Checklist rapide de cohérence pour chaque nouvel écran

Avant d'ajouter quoi que ce soit de nouveau, prenez 60 secondes pour vérifier les bases. Un écran peut sembler correct tout en cassant silencieusement le système, et ces petites cassures s'additionnent vite quand plusieurs personnes construisent en parallèle.

  • Nommage : Chaque composant suit le modèle convenu (par exemple Form/Input, Form/Input.HelperText, Table/RowActions). Si le nom n'aide pas quelqu'un à le chercher et le placer rapidement, renommez‑le maintenant.
  • Propriétaire + but : Chaque composant partagé a un propriétaire (personne ou équipe) et une phrase décrivant quand l'utiliser.
  • Échelle d'espacement uniquement : Tous les paddings, gaps et margins utilisent les pas d'espacement approuvés. Si vous tapez un nouveau nombre « parce que ça a l'air bien », arrêtez‑vous et choisissez le pas le plus proche.
  • États inclus : Les pièces interactives clés incluent loading et erreur, pas seulement le chemin heureux. Pensez au bouton désactivé, à l'erreur d'input, à la liste vide, à la possibilité de réessayer.
  • Pas de nouveaux styles inventés : Construisez l'écran avec les tokens et composants existants. Si vous voulez une nouvelle couleur, taille de police, rayon ou ombre, traitez‑la comme une demande système, pas comme une correction d'écran.

Exemple : deux personnes construisent la même fonctionnalité, avec et sans règles

Verrouillez l'espacement et les grilles
Utilisez une échelle d'espacement simple et des règles de mise en page pour éviter la dérive pixel par pixel.
Démarrer le projet

Maya et Leon sont dans l'équipe support client. Ils doivent créer deux écrans : une liste de tickets (pour un scan rapide) et un écran de détail (pour agir sur un ticket). Ils se partagent le travail et construisent dans un builder visuel.

Sans règles, chacun fait « une carte » différemment. Maya utilise une carte blanche avec une fine bordure et une ombre. Leon opte pour une carte grise sans bordure mais avec plus de padding. Sur un écran, le bouton primaire est arrondi, sur l'autre il est carré ou remplacé par un lien texte. Le statut s'affiche sous forme de point coloré sur un écran et de pilule sur l'autre. Sur la page de détail, les champs ne s'alignent pas parce que les labels ont des largeurs différentes, et le formulaire donne une impression de déséquilibre.

La réunion de revue tourne au débat stylistique, et une simple mise à jour (ajouter « Priorité ») implique de toucher plusieurs mises en page uniques.

Avec des règles, ils partent de composants réutilisables partagés dans une petite bibliothèque : un TicketCard pour la structure et l'espacement, un StatusBadge pour les styles et contrastes, et une ActionBar pour les actions primaires cohérentes.

La liste utilise une variante compacte de TicketCard pour les champs clés et une ligne de prévisualisation. La page de détail utilise une variante détaillée pour la description, la chronologie et les champs additionnels. La structure reste la même ; la variante contrôle ce qui apparaît.

Le meilleur, c'est ce que vous ne voyez pas : moins de commentaires en revue, moins de « pourquoi c'est différent ? », et des mises à jour plus rapides ensuite. Quand l'équipe renomme « Closed » en « Resolved » et ajuste sa couleur, elle change StatusBadge une seule fois et les deux écrans se mettent à jour ensemble.

Maintenir la cohérence dans le temps (et prochaines étapes)

La cohérence n'est pas une configuration unique. Dès que plus de gens construisent des écrans, de petits choix « juste pour cette page » se multiplient et la bibliothèque commence à dériver.

Un processus de changement simple permet à l'équipe d'avancer sans transformer chaque retouche de bouton en débat :

  • Proposer : ce qui change et pourquoi (nouveau composant, nouvelle variante, renommage, déprécier)
  • Revoir : un designer ou propriétaire UI vérifie le nommage, les règles d'espacement et les bases d'accessibilité
  • Approuver : un oui/non clair, avec une courte note si c'est limité à un flux
  • Publier : mettre à jour la bibliothèque partagée et annoncer le changement en un seul endroit

Les décisions ont besoin d'un foyer. Un court document « règles UI » suffit s'il inclut les conventions de nommage, la liste officielle des variantes (ce qui existe et ce qui n'existe pas) et une liste de « ne pas faire » (par ex. « Ne créez pas un second ‘Primary Button’ avec un padding différent »).

Programmez un créneau mensuel de nettoyage. Servez‑vous‑en pour fusionner les doublons, supprimer les éléments inutilisés et marquer les composants plus anciens comme dépréciés afin que les gens ne prennent pas la mauvaise version.

Refactorez quand vous voyez le même pattern deux fois (par ex. deux équipes ont construit des états vides légèrement différents). Acceptez un one‑off quand c'est vraiment unique, sensible au temps et peu susceptible de se répéter.

Si vous travaillez dans AppMaster, une étape suivante pratique est de standardiser d'abord un seul workflow (comme « Create ticket »), puis d'étendre. Les builders UI facilitent le partage des mêmes composants entre écrans, et appmaster.io est un point de référence utile si votre équipe veut une approche no‑code qui supporte des applications complètes, pas seulement des mises en page.

FAQ

Quel est le moyen le plus rapide pour démarrer une bibliothèque de composants sans ralentir l'équipe ?

Commencez par standardiser les éléments que vous touchez sur presque chaque écran : boutons, champs, cartes, en-têtes et un ou deux types de modales. Construisez d’abord ces éléments comme composants réutilisables, définissez des valeurs par défaut sensées, puis remplacez les copies anciennes écran par écran au lieu d’essayer de tout refondre en une seule fois.

Comment décider ce qui doit devenir un composant réutilisable et ce qui doit rester ponctuel ?

Une bonne règle par défaut : extrayez-le si vous utilisez la même UI deux ou trois fois, ou si elle doit absolument être identique à chaque occurrence (comme les actions principales ou les champs de formulaire). Si c’est vraiment unique à un écran, ou que vous le modifiez quotidiennement, gardez‑le local pour que la bibliothèque reste simple à utiliser.

Quelle convention de nommage fonctionne le mieux quand plusieurs personnes construisent des écrans ?

Adoptez un seul schéma de nommage simple et tenez‑vous‑y, par exemple « Component - Part - State ». Préférez les mots que votre équipe utilise réellement et évitez les noms basés sur la couleur comme « BlueButton », car ils deviennent trompeurs quand les styles changent.

Combien de variantes un composant peut‑il avoir avant que ça devienne le chaos ?

Limitez les variantes aux différences qui comptent réellement et qui se répètent, comme la taille, l'intention (primary/secondary/danger) et l'état. Tout le reste doit rester verrouillé pour éviter que les gens ne « règlent » les composants au cas par cas et créent de la dérive. Si une nouvelle demande ne rentre pas dans vos dimensions de variantes, c’est généralement un nouveau composant, pas « encore une option ».

Comment empêcher l'espacement de dériver entre les écrans ?

Choisissez une petite échelle d'espacement et n’utilisez que ces valeurs dans toute l'application ; traitez toute valeur hors échelle comme un signal que la grille ou le composant est mal ajusté. Privilégiez les gaps gérés par les conteneurs plutôt que des margins empilés pour éviter le double‑espacement accidentel lorsque des composants sont imbriqués.

Avons‑nous vraiment besoin de tokens de style, ou peut‑on simplement copier les styles au fil de l'eau ?

Utilisez des tokens nommés par leur sens, pas par leur code couleur, afin que les équipes choisissent « primary » ou « danger » au lieu d'inventer de nouvelles teintes. Veillez ensuite à ce que les variantes de composants utilisent ces tokens approuvés, ainsi un « Primary Button » utilise toujours la même typographie et les mêmes couleurs partout.

Quels états UI doivent être standardisés entre les composants ?

Assurez‑vous que chaque composant interactif partagé dispose au minimum d'un état désactivé et d'un état loading, et ajoutez des états d'erreur quand une défaillance est possible (formulaires, actions réseau). Sans états standardisés, les écrans paraîtront incohérents même s'ils se ressemblent visuellement, ce qui nuit à la confiance et augmente les cycles de revue.

Pourquoi les « méga composants » sont‑ils une mauvaise idée dans un constructeur visuel ?

Les composants trop configurables donnent l'impression d'être flexibles au départ, mais leur comportement devient rapidement imprévisible et les gens cessent de leur faire confiance. Gardez les composants centrés sur une seule responsabilité et composez les interfaces plus grandes à partir de pièces plus petites pour que la réutilisation reste simple et que les changements n'aient pas d'effets de bord.

Comment maintenir la cohérence de la bibliothèque sans en faire une bureaucratie ?

Mettez en place une porte légère : un propriétaire tournant vérifie les nouveaux composants et variantes pour le nommage, les règles d'espacement et les états requis. L'objectif n'est pas de faire de la bureaucratie, mais d'éviter les forks accidentels tôt, car fusionner des doublons plus tard est lent et casse souvent des écrans.

Comment appliquer cette approche spécifiquement dans AppMaster ?

Dans AppMaster, créez des pièces d'UI réutilisables dans les builders web et mobile, puis standardisez leur nommage, leur configuration et leur placement pour que les autres puissent les réutiliser en toute confiance. Une approche pratique : standardisez d'abord un workflow (par exemple « Create ticket »), corrigez les composants et variantes là‑dessus, puis étendez la bibliothèque au fur et à mesure que d'autres écrans adoptent ces modèles.

Facile à démarrer
Créer quelque chose d'incroyable

Expérimentez avec AppMaster avec un plan gratuit.
Lorsque vous serez prêt, vous pourrez choisir l'abonnement approprié.

Démarrer