À quoi penser avant de créer son propre bloc ?

Comme j’ai tendance à être un poil feignant avant de coder pour rien je me pose toujours les questions suivantes avant de savoir si je m’attaque à un bloc sur mesure ou pas.


Parmi toutes les questions à se poser avant de créer un bloc personnalisé voici celles qui me viennent spontanément :

Est-ce que le bloc que j’ai en tête…

… a un comportement identique à un bloc déjà présent dans la bibliothèque ?

Quand je parle de comportement j’entend par là le fonctionnel. Si je reformule, la question pourrait être : est-ce qu’un bloc existant remplit la fonctionnalité que je souhaite développer ?

Pourquoi ne pas utiliser ce bloc alors… Il sera maintenu et mis à jour au fil des évolutions de Gutenberg. Que d’avantages à mes yeux pour utiliser un bloc natif dans ce cas là.

C’est souvent l’aspect visuel qui va être différenciant, on rejoint donc la question suivante.

… est une variante de style d’un bloc déjà existant ?

La question me semble un peu plus intéressante car ça veut dire que vous avez déjà identifié que le fonctionnel est déjà géré par un bloc existant et qu’il n’est question que d’affichage donc de style.

Vous pouvez donc ajouter un style de bloc et gérer la différence d’affichage en front grâce à la classe générée sous la forme .is-style-*. Ce sont vos compétences en CSS qui entrent en jeu maintenant.

De manière générale, pensez qu’une classe est une spécifité donc aussi une opportunité de détourner votre bloc.

Par exemple, vous pouvez utiliser les options d’alignement d’un bloc pour « forcer » des positionnements différents sur une grille.

Autre cas d’utilisation : préserver la sémantique pour les moteurs de recherche dans la hiérarchie des titres et leur appliquer les styles visuels d’un autre titre, un h2.is-style-h3 serait un titre de niveau 2 dans le plan de votre contenu et afficher comme un <h3> par soucis d’esthétique.

Pourquoi toutes ces questions à votre avis ?

C’est que la réponse est la même : suspens… Roulement de tambour… Cabriolle… Sans plus attendre… La réponse : il ne faut pas créer de bloc custom dans tous ces cas précis !

Bien entendu si vous avez épuisé toutes ces ressources et uniquement si toutes sont rejetées, c’est qu’il est temps de créer votre propre bloc. Détaillons ensemble comment nous y prendre par la suite.