Riad Benguella, le chef d’orchestre actuel des évolutions de l’éditeur Gutenberg, a encore frappé !

Nom de code : BlockBook.

Il soulève des problématiques intéressantes dans son article de présentation comme le fait qu’aujourd’hui, construire des blocs pour WordPress peut vite être chronophage si l’on souhaite bien faire : 

  • rafraîchir le navigateur à chaque changement
  • gérer les problèmes d’invalidation
  • recréer des blocs
  • reproduire les modifications/paramétrages
  • s’assurer du bon fonctionnement du bloc sur lequel on travaille

Autre aspect, les blocs sont censés fonctionner avec tous les thèmes et les thèmes doivent avoir la possibilité de surcharger leur styles pour coller au mieux à l’identité du site. C’est un vrai casse-tête pour les auteurs de blocs et c’est pas une mince affaire de télécharger différents thèmes et tester que les styles sont suffisamment indépendants.

Enfin, pour les utilisateurs de WordPress, la découverte de blocs n’est pas chose facile. Quelle(s) extension(s) activée(s) ? Pour embarquer quel(s) bloc(s) ? Le répertoire des blocs est déjà une belle avancée qui va dans ce sens. Mais y’a comme un goût de peut mieux faire.

Découverte de BlockBook

Derrière toutes ces réflexions, Riad a pensé à une manière globalisée pour faciliter la création et le partage de blocs Gutenberg.

En revenant à la base de ce qu’est un bloc : un composant autonome en dehors de tout contexte, potentiellement modifiable visuellement depuis l’éditeur, et qui produit du markup HTML (même si on peut détourner cette utilisation, mais ca fera sans doute l’objet d’un article).

Dans la communauté de React.js beaucoup de développeurs utilisent StoryBook pour rationaliser, lister, documenter, tester des composants. Et si on gardait ces principes et qu’on les adaptait aux blocs Gutenberg ?

Dans le mille, ça donne BlockBook.

Tu peux l’utiliser avec tes propres projets, c’est un paquet NPM. Quoi de plus simple pour un technicien ou une technicienne ? Je t’invite à lire le repo de BlockBook pour plus de détails techniques et suivre les évolutions de ce merveilleux outil.