Développement d’un bloc statique pour le design system

Critères de qualité généraux

  • Le HTML doit être sémantique
  • Les classes utilisées doivent respecter la méthodologie BEM
  • Des variables CSS doivent être utilisées pour les propriétés configurables du bloc
  • Le bloc doit respecter les normes d’accessibilité WCAG 1.0
  • Le bloc doit s’adapter à toutes les tailles d’écran
  • Le bloc doit fonctionner dans les navigateurs récents

Normes établies

  • __item est utilisé comme terme générique pour nommer les éléments d’un bloc listing
  • Chaque variante de bloc a son dossier.
  • Au début du fichier SCSS, mettre @import “Utilities/all”; pour avoir accès aux fonctions et variables SCSS définies dans assets/src/scss/utilities. Notamment la variable $spacer qui correspond à 8px (voir assets/src/utilities pour trouver les fonctions et les variables)

Exceptions

  • L’éditeur Gutenberg ne permet pas facilement de créer des modifiers à la BEM. .bloc–horizontal n’est pas possible, on utilise plutôt .bloc.is-style-horizontal
  • On ne peut pas faire de variantes sur les éléments enfant du bloc.

Méthode de travail

  1. Checkout le repository Git du design system
  2. Exécuter `npm install` pour pouvoir compiler le CSS
  3. Créer une branche pour le développement du nouveau bloc
  4. Créer un dossier au nom du bloc dans activis/blocks ou dans blocks dans le cas d’un bloc spécifique à un projet
  5. Créer un html nommé comme le bloc
  6. Créer un SCSS nommé comme le bloc
  7. Exécuter `block=nom-du-bloc npm run watch` pour lancer le compilateur automatique. (Une page s’ouvre dans le navigateur et elle se rafraîchira automatiquement lors des changements au code)
  8. Ajouter le fichier de variables css style.css au fichier HTML
  9. Ajouter le fichier CSS assets/css/base.min.css
  10. Ajouter le fichier CSS du bloc au fichier HTML (bloc.min.css: le fichier est suffixé de .min lors de la compilation)
  11. Ouvrir le fichier HTML dans un navigateur
  12. Coder le bloc
  13. Commiter le travail sur la branche
  14. Pusher le travail sur Github
  15. Créer une pull request pour le review

Exemple de dossier

https://drive.google.com/file/d/1uMYgJuX9u4mD8SPDunBreroAIJoTwR0A/view?usp=sharing

Création d’une variante (BEM modifier)

  1. Créer un fichier bloc–variante.scss (sans le is-style-)
  2. Ajouter le HTML de la variante au même fichier HTML initial
  3. Ajouter le tag link pour le nouveau fichier css dans le HTML

Livrable attendu

  • Un dossier au nom du bloc
  • Un fichier HTML contenant le HTML de chacune des variantes
  • Un ou plusieurs fichiers SCSS et CSS