Documentation initiale pour les thèmes WordPress basés sur des blocs proposés

Publié: 2019-12-05

Hier, dans une demande d'extraction sur le référentiel Gutenberg, Riad Benguella a créé un document initial qui décrit le fonctionnement des thèmes WordPress basés sur des blocs. Bien que le document ne soit qu'un point de départ pour la conversation, il s'agit d'un ensemble d'idées qui refaçonneront probablement à jamais le paysage WordPress. C'est un changement de paradigme.

Pour la première fois, les auteurs de thèmes peuvent entrevoir ce que leur réserve l'avenir. Depuis la création de Gutenberg, beaucoup ont demandé plus de détails techniques. En particulier, ils voulaient savoir si les thèmes seraient réduits à une feuille de style ou une feuille de style et quelques fichiers PHP. À quoi ressembleraient les thèmes d'un point de vue architectural ? Les thèmes existeraient-ils ?

Le document, bien qu'ouvert aux changements, présente des arguments solides sur la structure des thèmes à l'avenir. Il est clair que la proposition a fait l'objet d'une grande réflexion. Cela correspond à la direction de la fonctionnalité expérimentale d'édition de site de Gutenberg qui a déjà été mise en place. Même si elle est sujette à changement, il semble y avoir une finalité à l'idée globale. L'écriture a longtemps été sur le mur. Maintenant, tout le monde peut voir le mur. La pièce manquante est de trouver comment concrétiser l'idée.

Qu'est-ce que l'édition complète du site ?

Avant de comprendre comment les thèmes du futur pourraient fonctionner, vous devez d'abord comprendre la direction que Gutenberg se dirige. L'objectif final de Gutenberg, et éventuellement de WordPress, est que les utilisateurs aient la possibilité de personnaliser chaque aspect de leur site via le système de blocs. Actuellement, le système de blocs gère principalement l'édition du contenu des publications.

Pour passer à l'édition complète du site, chaque élément de données dynamiques sur un site doit être un bloc. Par exemple, un bloc de titre de site doit exister en tant qu'espace réservé pour le titre du site. Les utilisateurs doivent pouvoir le placer où ils souhaitent afficher le titre, comme dans l'en-tête.

Cela a laissé aux auteurs de thèmes une question raisonnable : si les utilisateurs peuvent déplacer ces blocs n'importe où, où les thèmes s'intègrent-ils dans l'image ?

Il est facile de voir comment les thèmes deviendraient un peu plus qu'une feuille de style qui stylise chaque bloc WordPress tout en gérant d'autres styles nécessaires comme la typographie et le rythme vertical. Même dans ce cas, on se demande si les thèmes, du moins dans la manière dont nous les connaissons, sont vraiment nécessaires.

La structure thématique proposée

La structure proposée ne semble pas très différente des thèmes WordPress actuels. La grande différence est que les modèles de thème deviendraient des « modèles de bloc » et des « parties de modèle de bloc ». Ces modèles seraient des fichiers HTML plutôt que des fichiers PHP.

Voici où se trouve actuellement la structure.

 theme |__ style.css |__ functions.php |__ block-templates |__ index.html |__ single.html |__ archive.html |__ ... |__ block-template-parts |__ header.html |__ footer.html |__ sidebar.html |__ ...

Du point de vue des modèles, cela semble relativement normal pour un thème WordPress. Les fichiers ont simplement un type différent et sont organisés dans des dossiers spécifiques.

Cependant, la différence réside dans le fonctionnement des modèles HTML. Ils deviendraient essentiellement des espaces réservés pour les blocs. Les utilisateurs auraient également la possibilité de modifier ou de remplacer complètement des modèles individuels via l'administrateur WordPress. Étant donné que les modèles sont constitués de blocs, aucun code ne serait nécessaire de la part de l'utilisateur. Ils pouvaient simplement pointer et cliquer pour insérer ou supprimer des blocs avec leur souris.

En d'autres termes, les modèles de blocs dans les thèmes seraient des points de départ uniques pour que les utilisateurs créent leurs sites.

Il y a deux éléments remarquables concernant le système proposé : les thèmes sont toujours des thèmes et les utilisateurs finaux peuvent devenir des créateurs de thèmes.

L'essence d'un thème reste la même

Lorsque vous coupez tout le reste, les thèmes WordPress ont toujours été HTML et CSS. L'aspect PHP de la thématisation mélange essentiellement des appels de fonction PHP (c'est-à-dire des balises de modèle) dans un balisage HTML structuré. Si vous regardez la plupart des thèmes passant par le répertoire officiel des thèmes WordPress, vous constaterez que le balisage sous-jacent est essentiellement le même.

Dans le système de modèle de bloc, cette idée ne change pas. Au contraire, cela pourrait simplifier le rôle de l'auteur du thème en créant un ensemble d'éléments standard (blocs) que les thèmes génèrent. S'il est bien fait, il crée également une norme pour les noms de classe afin que les styles puissent facilement être partagés entre les thèmes et toutes sortes de goodies similaires.

Tout le monde peut créer un thème

L'esquisse initiale explique le potentiel d'exportation des thèmes :

En fin de compte, tout utilisateur WordPress disposant des capacités adéquates (exemple : rôle d'administrateur WordPress) pourra accéder à ces modèles dans l'administrateur WordPress, les modifier dans des vues dédiées et éventuellement exporter les modèles en tant que thème.

C'est là que le système proposé pourrait révolutionner la création de sites Web. Ceux qui n'ont pas les compétences en codage pour créer un thème WordPress aujourd'hui pourraient avoir les outils pour apporter quelque chose en retour demain.

L'idée s'aligne parfaitement avec l'éthique open-source de WordPress. En donnant à chacun la possibilité d'exporter ses personnalisations, il offre une possibilité de contribution que nous n'avons jamais eue auparavant pour les non-codeurs. Un annuaire gratuit de thèmes personnalisés créés par et pour la communauté, ça vous dit ?

Le côté conception de l'équation

Les modèles de blocs ne sont que du HTML. Les thèmes devront se démarquer avec leur CSS. Cependant, il doit y avoir une normalisation pour y parvenir.

Les concepteurs devront passer à une approche basée sur les blocs en matière de conception. Certains sont peut-être déjà familiarisés avec divers systèmes « à base de composants », qui fonctionneraient à peu près de la même manière. Plutôt que de concevoir de haut en bas, les auteurs de thèmes aborderaient la conception à un niveau plus atomique en concevant chaque bloc.

Il existe également de nombreuses questions sans réponse sur la façon dont les styles fonctionneront éventuellement. Actuellement, il existe un ticket ouvert pour discuter d'un système de style pour les blocs. Une grande partie de la discussion porte sur la façon d'intégrer un système de conception avec des thèmes.

Rejoignez la discussion

Il est important de souligner que rien dans cette proposition n'est figé. Il s'agit d'un aperçu de haut niveau de ce que l'avenir des thèmes pourrait réserver. Cependant, il est maintenant temps de recevoir les commentaires de la communauté, en particulier les auteurs de thèmes qui se sont peut-être sentis un peu à l'écart dans le passé. Il est maintenant temps de faire entendre votre voix et d'apporter des idées à la discussion.

L'équipe de révision des thèmes WordPress a également une discussion ouverte sur l'avenir des thèmes qui accompagne cette proposition et sur la question de savoir si les thèmes devraient commencer à tirer parti des fonctionnalités expérimentales de Gutenberg.