SlideShare una empresa de Scribd logo
1 de 55
DESIGN SYSTEM
24 février 2023
SOMMAIRE
Qu’est-ce qu’un Design System
Pourquoi ?
Comment ça marche ?
Principes
Un composant
Formulaires (Formik)
Tableaux (Headless UI)
Etat des lieux
A venir
QU’EST CE QU’UN
DESIGN SYSTEM
QU’EST-CE QU’UN DESIGN SYSTEM
Bibliothèque de composants graphiques
Composants JS
Style CSS
Ligne directrice
Palette de couleurs
Typographie
Iconographie
Composants UI
Grille de structures, espaces, tailles…
QU’EST-CE QU’UN DESIGN SYSTEM
Palette de couleurs
Couleurs principales
Brand color, functional color
Déclinaisons
QU’EST-CE QU’UN DESIGN SYSTEM
Typographie
Police
Tailles de polices
QU’EST-CE QU’UN DESIGN SYSTEM
Iconographie
Bibliothèque d’icones
Ajouts possibles
Illustrations
QU’EST-CE QU’UN DESIGN SYSTEM
Composants UI
Eléments
QU’EST-CE QU’UN DESIGN SYSTEM
Grid
Responsive
QU’EST-CE QU’UN DESIGN SYSTEM
Espacements
Tailles
Font Size
Line-height
EXEMPLES DE DESIGN-SYSTEM
Material Design
EXEMPLES DE DESIGN-SYSTEM
Etat Français
EXEMPLES DE DESIGN-SYSTEM
Etat Français
EXEMPLES DE DESIGN-SYSTEM
Decathlon (Vitamin)
EXEMPLES DE DESIGN-SYSTEM
Doctolib
02
POURQUOI UN DESIGN-
SYSTEM ?
POURQUOI UN DESIGN-SYSTEM ?
En général, enjeux design
Projet mené par le design -> à destination des développeurs
Respect de la charte graphique
Uniformiser les pratiques UI/UX
Composants utilisables pour le maquettage
D’autres enjeux chez Spikee
POURQUOI UN DESIGN-SYSTEM ?
POURQUOI UN DESIGN-SYSTEM ?
On pourrait utiliser Material, Bootstrap, Mui…
Customisable
Thèmes modifiables
Paramétrable
Beaucoup de propriétés prédéfinies
Démarrage rapide
POURQUOI UN DESIGN-SYSTEM ?
ou des libs UI pour chaque composant
Datepicker
Slider
Modal
POURQUOI UN DESIGN-SYSTEM ?
Besoins de la librairies
Accessibilité
Thèmes modifiables
Thèmes
Dark / Light, Thèmes différents
Unique
Ne pas ressembler à Material
Support navigateur
Fonctionnalités
Use Cases spécifiques
Contrôle complet des comportements
Maintenabilité
Simple à améliorer et maintenir
Ne pas se poser de questions si c’est faisable
Nir Ben-Yair
Frontend Team lead
Headless components in React and
why I stopped using a UI library for
our design system
POURQUOI UN DESIGN-SYSTEM ?
Choix initial :
Material UI + React-Bootstrap
Nouvelles fonctionnalités
De plus en plus de demandes
Use cases spécifiques
Ne répond plus au besoin
Perte de temps à essayer
de tordre la lib
Contournements non
satisfaisants
Difficile à maintenir
Nir Ben-Yair
Frontend Team lead
POURQUOI UN DESIGN-SYSTEM ?
Récrire des composants en entier ?
Contrôle total
Améliorations possible sans restrictions
Réécrire un Select
Accessibilité
Compatibilité navigateur
Navigation clavier
Autocomplete
Affichage paramétrable
Nir Ben-Yair
Frontend Team lead
“Can’t select a dropdown item on some iOS
devices on Safari (BUG-34939)”
Pedro Duarte / Radix UI
Next.js conf (2021)
POURQUOI UN DESIGN-SYSTEM ?
Headless UI
Se charge uniquement des comportements
Totale liberté dans le rendu
Nir Ben-Yair
Frontend Team lead
POURQUOI UN DESIGN-SYSTEM ?
Headless UI
Nir Ben-Yair
Frontend Team lead
Headless
lib
Custom
render
POURQUOI UN DESIGN-SYSTEM ?
Uniformiser les pratiques UI/UX
Charte graphique
Ergonomie
Total contrôle des composants
Rendu
Comportements
Maintenabilité
Gain de temps
Après un investissement maitrisé
On ne réinvente pas ce qui est très couteux
03
PRINCIPES
PRINCIPES
Peu de dépendances
Aucune lib UI
Lib headless
React-table
Lib utilitaires
Formik, Yup
Partis pris importants
Composants simples
Comportements par défaut
Extensibles si besoin
La priorité est : simplifier la construction d’application
Déporter la complexité dans le design-system
L’utilisateur finale se concentre sur le code métier
Le moins de code Js possible
Zéro CSS
PRINCIPES
Déporter la complexité dans le design-system
Complexité
essentielle
Complexité
obligatoire
Complexité
accidentelle
Complexité
essentielle
Complexité
obligatoire
Projet classique
Design-System
Projet avec
Design-system
PRINCIPES
Atomic Design
4
UN COMPOSANT
STRUCTURE D’UN COMPOSANT
Structure d’un composant
Source .jsx
Style .scss
Doc .mdx
Tests
STRUCTURE D’UN COMPOSANT
React
Props
Read-only
State
Modifiable
Peut-être asynchrone
Props
State
STRUCTURE D’UN COMPOSANT
Source .jsx
In : Props
Return JSX
PRINCIPES
Cas d’utilisation & Rendu DOM
PRINCIPES
Composants styles
5
DES FORMULAIRES !
FORMULAIRES
Composant classique
FORMULAIRES
Formik
Gestion des états
Gestion des événements
FORMULAIRES
Composant Design-System
Intégration de Formik
FORMULAIRES
Avec Formik
6
DES TABLEAUX !
TABLEAUX
Peut être assez complexe
Beaucoup d’options (tri, pagination, sélection, recherche…)
TABLEAUX
Utilisation
Doit être la plus simple possible
TABLEAUX
Définition du composant
react-table : Headless lib
7
ETAT DES LIEUX
ETAT DES LIEUX
Utilisations
Billing Labs
Intranet
ETAT DES LIEUX
Storybook
ETAT DES LIEUX
Environnement de dev
Bac à sable
ETAT DES LIEUX
Thèmes
Gestion de thèmes
Variante Dark/Light
Thèmes à développer
BillingLabs
Variante Light
ETAT DES LIEUX
Utilisations
Billing Labs
Intranet
Storybook
Environnement de dev
Bac à sable
Thèmes
Gestion de thèmes
Variante Dark/Light
Release / CI
Stabiliser les composants
Accessibilité
8
A VENIR
A VENIR
Priorité : Release des librairies
Semantic release
Doc développeur
Storybook
Guidelines
Thèmes
Theme Billing Labs
Starter kit
Démarrer un projet rapidement avec le design system
Composants plus larges
Organismes / Templates
Accessibilité
Headless UI
Identité
LE PROJET
Front > design-systems > spk-design-system-react
# npm install @spk/design-system-react
Straight to
the point
www.spikeelabs.fr

Más contenido relacionado

Similar a DesignSystem

Kit De Survie Techno et Web à l'usage des Entrepreneurs
Kit De Survie Techno et Web à l'usage des EntrepreneursKit De Survie Techno et Web à l'usage des Entrepreneurs
Kit De Survie Techno et Web à l'usage des Entrepreneurs
Stéphanie Hertrich
 
Urbanisation & Architectures
Urbanisation & ArchitecturesUrbanisation & Architectures
Urbanisation & Architectures
Paulin CHOUDJA
 
20140130 mug lyon - post-mortem d'une application métier
20140130   mug lyon - post-mortem d'une application métier20140130   mug lyon - post-mortem d'une application métier
20140130 mug lyon - post-mortem d'une application métier
Matthieu DUFOURNEAUD
 

Similar a DesignSystem (20)

Introduction dev office 365 2015 group usagers SharePoint Montreal
Introduction dev office 365 2015 group usagers SharePoint MontrealIntroduction dev office 365 2015 group usagers SharePoint Montreal
Introduction dev office 365 2015 group usagers SharePoint Montreal
 
X-Analysis Professional - version française
X-Analysis Professional - version françaiseX-Analysis Professional - version française
X-Analysis Professional - version française
 
Kit De Survie Techno et Web à l'usage des Entrepreneurs
Kit De Survie Techno et Web à l'usage des EntrepreneursKit De Survie Techno et Web à l'usage des Entrepreneurs
Kit De Survie Techno et Web à l'usage des Entrepreneurs
 
Presentation Symfony
Presentation SymfonyPresentation Symfony
Presentation Symfony
 
Presentation du framework symfony
Presentation du framework symfonyPresentation du framework symfony
Presentation du framework symfony
 
Les principaux logiciels pour l'analyse de réseau
Les principaux logiciels pour l'analyse de réseauLes principaux logiciels pour l'analyse de réseau
Les principaux logiciels pour l'analyse de réseau
 
Urbanisation & Architectures
Urbanisation & ArchitecturesUrbanisation & Architectures
Urbanisation & Architectures
 
informatique_logiquarchitecture_applicative
informatique_logiquarchitecture_applicativeinformatique_logiquarchitecture_applicative
informatique_logiquarchitecture_applicative
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!
 
2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint
2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint 2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint
2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint
 
SharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle générationSharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle génération
 
[Motion & animation dans un design system] FoF Cotonou event.pptx
[Motion & animation dans un design system] FoF Cotonou event.pptx[Motion & animation dans un design system] FoF Cotonou event.pptx
[Motion & animation dans un design system] FoF Cotonou event.pptx
 
Les 11 bonnes raisons de migrer vers Windows Server 2008
Les 11 bonnes raisons de migrer vers Windows Server 2008Les 11 bonnes raisons de migrer vers Windows Server 2008
Les 11 bonnes raisons de migrer vers Windows Server 2008
 
Design applicatif avec symfony2
Design applicatif avec symfony2Design applicatif avec symfony2
Design applicatif avec symfony2
 
X-Audit - FR
X-Audit - FRX-Audit - FR
X-Audit - FR
 
20140130 mug lyon - post-mortem d'une application métier
20140130   mug lyon - post-mortem d'une application métier20140130   mug lyon - post-mortem d'une application métier
20140130 mug lyon - post-mortem d'une application métier
 
Forum sur l'innovation BI 2013 - Nouvelles tendances en conception de tableau...
Forum sur l'innovation BI 2013 - Nouvelles tendances en conception de tableau...Forum sur l'innovation BI 2013 - Nouvelles tendances en conception de tableau...
Forum sur l'innovation BI 2013 - Nouvelles tendances en conception de tableau...
 
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ? TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
 
Introduction module IHM Polytech Sophia Dept Info SI3
Introduction module IHM Polytech Sophia Dept Info SI3Introduction module IHM Polytech Sophia Dept Info SI3
Introduction module IHM Polytech Sophia Dept Info SI3
 
SharePoint 2013
SharePoint 2013SharePoint 2013
SharePoint 2013
 

Más de SpikeeLabs

Más de SpikeeLabs (16)

VDLT - Retour DevFest 2023
VDLT - Retour DevFest 2023VDLT - Retour DevFest 2023
VDLT - Retour DevFest 2023
 
Novu _ La cloche de l'intranet va enfin faire _Dring🔔
Novu _ La cloche de l'intranet va enfin faire _Dring🔔Novu _ La cloche de l'intranet va enfin faire _Dring🔔
Novu _ La cloche de l'intranet va enfin faire _Dring🔔
 
Power BI _ La data n'a plus de secret pour vous
Power BI _ La data n'a plus de secret pour vousPower BI _ La data n'a plus de secret pour vous
Power BI _ La data n'a plus de secret pour vous
 
Retour BreizhCamp 2023
Retour BreizhCamp 2023 Retour BreizhCamp 2023
Retour BreizhCamp 2023
 
Mots de passe : Protégez-les, gérez-les, oubliez-les !
Mots de passe : Protégez-les, gérez-les, oubliez-les !Mots de passe : Protégez-les, gérez-les, oubliez-les !
Mots de passe : Protégez-les, gérez-les, oubliez-les !
 
Domain_Driven_Design
Domain_Driven_DesignDomain_Driven_Design
Domain_Driven_Design
 
Retour sur les conférences du DevFest de Nantes 2022
Retour sur les conférences du DevFest de Nantes 2022Retour sur les conférences du DevFest de Nantes 2022
Retour sur les conférences du DevFest de Nantes 2022
 
Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...
Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...
Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...
 
BreizhCamp 2022
BreizhCamp 2022BreizhCamp 2022
BreizhCamp 2022
 
Méthodologie de tests et qualité
Méthodologie de tests et qualitéMéthodologie de tests et qualité
Méthodologie de tests et qualité
 
Salesforce : les pouvoirs d’un empire
Salesforce : les pouvoirs d’un empireSalesforce : les pouvoirs d’un empire
Salesforce : les pouvoirs d’un empire
 
Windows ou Linux : il faut choisir... ou pas !
Windows ou Linux : il faut choisir... ou pas !Windows ou Linux : il faut choisir... ou pas !
Windows ou Linux : il faut choisir... ou pas !
 
9 choses que vous ignorez sur Alice et Bob
9 choses que vous ignorez sur Alice et Bob9 choses que vous ignorez sur Alice et Bob
9 choses que vous ignorez sur Alice et Bob
 
Kit de survie en Production
Kit de survie en ProductionKit de survie en Production
Kit de survie en Production
 
Déploiement Kubernetes
Déploiement KubernetesDéploiement Kubernetes
Déploiement Kubernetes
 
Le design d'API avec Mulesoft
Le design d'API avec MulesoftLe design d'API avec Mulesoft
Le design d'API avec Mulesoft
 

Último (6)

JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdfpdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
mémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoiremémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoire
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigés
 
le probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptxle probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptx
 

DesignSystem