12 Mai 2020
Dans son article, Kat Allen nous partage des bonnes pratiques autour du nommage de composants au sein d’un design system. Un des premiers sujets sur lequel je suis intervenu dans mon travail avec Accor Hôtel fût d’auditer les noms des composants du design system afin d’en dégager une nomenclature claire et transversale aux différents produits.
La communication entre les différents acteurs d’un projet UI est la clé pour un succès sur le long terme, le design-system étant le point central et commun à tout le monde. Design, développement, management, marketing… 👨🎨👩💻👩💼🦸 Nous parlons alors le même langage et nous pouvons nous concentrer sur l'expérience utilisateur en s’assurant de la bonne cohérence du design dans son ensemble.
S’assurer qu’un langage commun est en place est donc primordial. Cela commence par la mise en place d’une nomenclature partagée entre designers, product owners, développeurs… afin de tous utiliser les mêmes noms de composants, de design tokens et de fonctionnalités au jour le jour. La problématique est d’autant plus importante lorsque vous devez maintenir plusieurs produits avec plusieurs équipes différentes. Comme par exemple une équipe web, une équipe iOS et une équipe Android. Les noms des composants natifs ne sont pas à tous les coups identiques entre les différentes plateformes. Un travail d’alignement est donc nécessaire afin d’avancer dans la même direction.
Ce sont exactement ces enjeux auxquels nous avons dû faire face au sein de l’équipe design-system chez Accor Hôtel. Voici quelques bonnes pratiques puisées de nos réflexions, recherches, et lectures. Notamment quelques tips provenant de l’article de Kat Allen dont je vous recommande la lecture (liste de quelques ressources supplémentaires en bas de page) :
Le travail d’audit de notre système a ensuite été réalisé afin de comparer et ranger les composants de nos différentes plateformes, mais également de confronter cela avec les développeurs et nous rendre compte des disparités existantes. Nos échanges nous ont permis de dégager de grandes règles qui définissent le socle de notre nomenclature :
Ces règles sont à appliquer à l’ensemble de notre système. Les seules disparités entre l’équipe design et les équipes de développement sont les séparateurs. Nous prônons l’utilisation des bonnes pratiques et des conventions de chaque plateforme, qui ne sont pas les mêmes selon le Web, Android ou iOS. L’important réside dans le fait de s’accorder sur les noms des différentes parties de la nomenclature. Peu importe finalement si les mots composés sont séparés de traits d’union, de points, ou autres notations type camelCase. Nous avons donc opté pour le trait d’union côté design, qui correspond à la notation classique en CSS.
Il est important de bien comprendre comment, côté technique, les composants sont développés, afin de trouver une philosophie commune de découpage de notre nomenclature. Nous sommes donc arrivés à cette proposition :
element-name / variation / modifier(s) / state(s) / breakpoint
Exemples :
button/primary/inverse/default
button/secondary/large -- icon-right/hover/L
Pour expliquer brièvement cette structure :
Nous remarquons toute l’importance de travailler ensemble dès la phase de design afin de défricher certains aspects techniques que nos composants suivront. Cela facilite grandement l’organisation et le découpage des différents cas que nous avons à designer, en plus d’assurer une cohérence sur l’ensemble des produits.
Ressources supplémentaires :
Designer UI & Développeur Créatif
Tu souhaites me parler de ton projet web ? Contactes-moi à l'adresse bonjour@kevinbizien.com et échangeons dès maintenant !