iAmEvolving – Plateforme WordPress sur mesure
iAmEvolving
L’éditeur de blocs est la meilleure chose arrivée au travail éditorial dans WordPress, et la plus facile à rater. Bien fait, les rédacteurs assemblent des pages à partir de composants qui portent déjà la bonne structure, le bon balisage et le bon comportement d’accessibilité. Mal fait, il devient un constructeur de pages aux mille réglages et un site différent sur chaque page. Le développement de blocs Gutenberg sur mesure, c’est le travail de bâtir ce jeu de composants : chaque bloc enregistre ses réglages sous forme de données structurées et produit son balisage depuis PHP au moment où la page est demandée, au lieu d’enregistrer du HTML dans la base de données.
La question de conception derrière une bibliothèque de blocs est celle du degré de liberté. Trop peu et les rédacteurs ne peuvent pas bâtir les pages dont ils ont besoin, alors ils demandent un développeur ou collent du HTML. Trop et chaque réglage devient une façon de produire quelque chose hors marque, inaccessible ou illisible sur téléphone, et après deux ans le système de design n’existe plus que dans les maquettes d’origine.
Nous construisons des blocs étroits et composables : une primitive de mise en page, un petit ensemble de composants de contenu, et des options limitées aux choix qu’un designer a réellement approuvés. Les rédacteurs obtiennent une vraie liberté sur la disposition des composants et très peu sur leur apparence, ce qui est le partage qui garde un grand site cohérent.
Nous les construisons rendus côté serveur : le bloc enregistre ses attributs, et le balisage est produit en PHP au moment de l’affichage. Cela coûte un peu plus au départ et cela signifie que le balisage de tout le site peut changer en un seul endroit : une correction de structure de titres, un ajustement d’accessibilité ou un nouveau jeton de design s’applique à toutes les pages existantes sans qu’un rédacteur touche à quoi que ce soit et sans migration de base de données.
Un petit ensemble de blocs de section, de grille et de cellule qui portent les règles d’espacement et de conteneur, pour que chaque page retombe sur le même rythme sans que les rédacteurs choisissent des valeurs de marge.
Titres, cartes, éléments de service et de fonctionnalité, galeries, appels à l’action, accordéons de FAQ avec leurs données structurées, chacun produisant par construction un balisage correct et accessible.
Des arrangements précomposés pour les types de pages qu’une équipe bâtit à répétition, pour qu’une nouvelle page d’atterrissage parte de quelque chose de correct plutôt que d’un document vide.
Des panneaux pour les métadonnées et le flux de travail dont un projet a besoin : champs SEO, réglages de publication, données par page et rapports, intégrés à l’éditeur plutôt que rangés dans un écran d’administration distinct.
Gabarits verrouillés, règles de blocs autorisés et champs obligatoires là où la structure compte, pour que la bonne forme de page soit la valeur par défaut plutôt qu’une convention dont il faut se souvenir.
Quatre bibliothèques livrées, et ce que chacune a changé pour les personnes qui s’en servent. C’est cela qui mérite d’être jugé : un nombre de blocs ne dit rien sur la capacité d’une équipe à faire vivre son site.
Multi-Prêts, Mortgage Alliance, Invis, Mortgage Intelligence et Intelligence Hypothécaire partagent une bibliothèque tenue dans un thème parent, avec un thème enfant chacune. Corriger un niveau de titre, un état de focus ou la mise en page d’une carte est un seul changement qui atteint les cinq, au lieu de la même retouche faite cinq fois et oubliée la cinquième.
Sur iAmEvolving®, la fondatrice publie produits, prix, leçons de cours et pages de campagne depuis l’éditeur WordPress, sans constructeur de pages ni extension de commerce en dessous. Le parcours d’achat est assemblé à partir de composants plutôt que configuré dans l’extension de quelqu’un d’autre, donc le modifier n’exige pas d’ouvrir un billet.
Doolittle Lake Club sépare le contenu des membres de celui des actionnaires. Le bouton de téléchargement vérifie qui demande avant de servir un fichier, et les blocs de liste filtrent selon le rôle au moment de l’affichage. Un administrateur bénévole ne peut donc pas publier le mauvais document au mauvais public en choisissant le mauvais bloc.
wplook.ca repose sur la même approche, ce qui en fait la seule affirmation de cette page que vous pouvez vérifier vous-même. Ouvrez le code source : chaque section, carte et accordéon ici a été produit par PHP au moment où vous avez demandé la page, et rien n’est du HTML enregistré dans une base de données.
Dites-nous qui édite le site et ce que ces personnes doivent pouvoir bâtir sans aide. La bibliothèque de blocs se conçoit autour de cette réponse, et c’est la partie d’une construction qui rapporte pendant des années.
Nouvelles pages, nouvelles sections et nouvelles campagnes sont bâties par l’équipe des communications, et c’est là que se cache habituellement le coût courant d’un site.
Deux ans et quatre cents pages plus tard, le site ressemble encore à un seul site, parce que les composants ne permettaient pas autre chose.
Ordre des titres, points de repère, comportement au clavier et gestion du focus vivent dans le composant. Les rédacteurs ne peuvent pas produire accidentellement une version inaccessible d’un motif existant.
Parce que le balisage est rendu à l’affichage, une correction s’applique à toutes les pages qui utilisent le bloc, y compris celles publiées il y a trois ans.
Des attributs structurés plutôt que du HTML enregistré signifient que le contenu peut être réaffiché, réhabillé ou déplacé sans extraire du balisage de la base de données.
Une bibliothèque de blocs couvre ce qu’une pile d’extensions de mise en page, de carrousel, d’accordéon et d’appel à l’action ferait autrement, avec un seul code à maintenir au lieu de huit.
Non, et la différence est l’endroit où vit le balisage. Un constructeur de pages enregistre la mise en page et le balisage dans la base de données, donc changer un composant plus tard exige de toucher chaque page qui l’utilisait, ou un script de migration qui réécrit le contenu enregistré. Les blocs rendus côté serveur enregistrent des attributs et produisent le balisage depuis le code à l’affichage, donc une correction s’applique partout, y compris aux pages publiées il y a trois ans. Les constructeurs de pages livrent aussi un gros bagage de code à chaque visiteur ; une bibliothèque de blocs ne livre que le balisage dont la page a besoin.
Avec des blocs rendus côté serveur, le contenu survit au changement parce qu’il n’a jamais été du HTML. Les attributs sont des données structurées, donc le même contenu peut être réaffiché avec de nouveaux gabarits ou un nouveau système de design. C’est aussi cette propriété qui rend une future migration possible plutôt qu’un exercice d’archéologie.
Beaucoup moins, et c’est délibéré. Les options sont limitées aux choix approuvés par un designer, l’espacement et les conteneurs vivent dans des primitives de mise en page plutôt que dans des réglages par page, et là où la forme de la page compte nous verrouillons les gabarits et restreignons les blocs autorisés. Les rédacteurs obtiennent une vraie liberté sur la disposition des composants et très peu sur leur apparence, ce qui est le partage qui garde cohérent un site de quatre cents pages.
Moins qu’on ne le pense, et le nombre est une décision de conception plutôt qu’un décompte. Ce site en utilise dix-neuf, ce qui couvre toutes ses pages. Les plateformes hypothécaires en ont demandé davantage parce qu’elles portent des répertoires de courtiers, des tableaux de taux et des calculateurs. Une bibliothèque qui n’arrête pas de grossir est généralement le signe que les primitives de mise en page n’étaient pas assez composables.
De façon sélective. Les thèmes de blocs et theme.json sont une vraie amélioration pour les sites dont les gabarits devraient être modifiables, et nous les utilisons quand c’est le cas. Pour des plateformes au système de design strict, à la gouvernance éditoriale exigeante et aux obligations d’accessibilité, un thème classique avec une bibliothèque de blocs sur mesure donne un contrôle plus serré sur le balisage et sur ce que les rédacteurs peuvent changer. Nous tranchons projet par projet plutôt que par mode.
Non, et généralement l’inverse. Un constructeur de pages livre à chaque visiteur un gros bagage de JavaScript et de CSS, que la page s’en serve ou non. Un bloc rendu côté serveur produit du balisage simple en PHP, donc une page ne transporte que ce dont elle a réellement besoin et rien n’est assemblé dans le navigateur. Quand un bloc interroge du contenu ou appelle un service externe, la stratégie de cache est décidée pour ce bloc plutôt qu’ajoutée à la fin.
Habituellement oui, et c’est une bonne façon de commencer. Une bibliothèque de blocs s’enregistre indépendamment du thème, donc les blocs peuvent être ajoutés à une construction existante et adoptés page par page sans refonte. La limite, c’est le thème lui-même : si ses gabarits et sa feuille de style se battent contre le balisage que produisent les blocs, vous finissez par contourner, et à ce moment-là reconstruire le thème coûte moins cher que continuer à rapiécer. Nous vous dirons dans quel cas vous êtes après avoir regardé le code.
Il continue de fonctionner, et il peut être converti. Le contenu classique s’affiche tel quel, donc rien ne casse le jour où la nouvelle bibliothèque arrive. Le convertir en blocs est un travail scripté, exactement le genre de travail que couvre la page migration, et il se fait normalement pour les gabarits et les types de pages qui comptent plutôt que pour toute l’archive.