Makina Blog
10 modules Drupal 8 à suivre
Présentation de quelques modules Drupal 8 à surveiller.
À chaque nouvelle version du cœur, des modules apparaissent, profitant des possibilités offertes, et notamment des nouvelles APIs de développement. Il arrive également que de gros projets, démarrant un peu avant la publication de la version stable du nouveau cœur, contribuent des modules assez impactants, notamment fonctionnellement.
La sortie de Drupal 8 ne fait pas exception, et nous allons donc découvrir 10 modules à potentiellement suivre de près durant le cycle de vie de Drupal 8, classés par thématique. Certains ne sont qu'en alpha, voire en développement, mais leur équipe de maintenance (des noms connus de la communauté) ou leurs fonctionnalités annoncées justifient à notre avis leur inclusion dans cette liste.
Ergonomie
Un des domaines sur lesquels il est relativement facile d'innover est l'interface utilisateur, où les évolutions concernent souvent des modifications de formulaires ou une surcouche en Javascript. Drupal 8, en ajoutant quelques frameworks JS (notamment pour améliorer le back-office), facilite ainsi le travail de développeurs même non-experts en Javascript pour personnaliser l'interface.
Edit UI
Ressemblant un peu à l'éditeur "in-place" de Panels, Edit UI fournit une surcouche côté front-office permettant de facilement déplacer / ajouter des blocs sur la page. À réserver aux administateurs, ce module permet tout de même de se passer de certains écrans fastidieux du back-office et d'accélérer la gestion au quotidien de l'animation du site.
Visual Content Layout
Ce module génère du balisage (basé sur Twitter Bootstrap) à partir de l'éditeur de texte riche, permettant de créer directement des mises en formes complexes avec un simple profil de rédacteur de contenu.
Bien sûr, ce n'est utilisable pour le moment qu'avec un thème basé sur Bootstrap, mais le principe doit pouvoir être réutilisé avec d'autres frameworks de présentation, ou même directement votre thème.
Bricks
Ce module peut être considéré comme un successeur du module Paragraphs en ce sens qu'il ajoute de la mise en page à des "briques" de contenu. Par rapport aux modules précédents, c'est à nouveau un moyen de construire des mises en page complexes (mais cette fois, sans javascript pour dynamiser la page) directement dans l'édition du contenu.
Gestion de contenu
Parfois, certains modules sont trop situationnels pour rentrer dans le cœur, ou développés par une équipe qui n'a pas de contact avec les membres du cœur et donc ne propose pas l'inclusion. Cela donne tout de même régulièrement des modules intéressants qui peuvent vous aider à résoudre des besoins pour vos sites.
Gestion des drafts et des versions
Ici, on ne va pas parler d'un seul module, mais de plusieurs modules liés. C'est pour moi le secteur qui va recevoir le plus d'attention parmi cette liste de modules dans les mois à venir, à mesure de son développement.
Drafty est en effet censé servir de base à l'ensemble des modules de gestion de révisions (Workbench Moderation, Workflow, SPS…) en intégrant des fonctions utilitaires que le cœur de Drupal ne remplit pas encore (cf. cette issue). Pour le moment, il n'existe que pour Drupal 7, mais certaines choses sont déjà intégrées au cœur (voir l'issue déjà citée précédemment) et le travail a commencé pour l'intégrer à Drupal 8.
Multiversion étend le support des révisions pour les entités de contenu, et permet de servir de support pour un déploiement de contenu (point faible historique de Drupal) basé sur des web-services, avec le module Deploy, bien connu dans la communauté Drupal (mais rarement utilisé à cause de manque / problèmes par le passé). Cette réécriture en Drupal 8 est donc bienvenue et à suivre avec attention.
External Entities
Ce module permet d'intégrer des données résidant principalement de façon "externe" (sur disque, dans un CRM, …) dans votre site Drupal. Vous pouvez alors les enrichir en rajoutant des champs comme n'importe quel autre entité Drupal. C'est un module idéal pour mettre en valeur d'un point de vue communication (ajout de média et de texte éditorial à) des données techniques résidant dans des dépôts privés de votre infrastructure. Situationnel, donc, mais je sais que plusieurs de nos clients en auraient (eu) besoin.
Webfactory
Ce module, que nous avons testé rapidement (parce qu'il n'est qu'au début de son développement), annonce être une usine à sites. Première de ce genre à voir le jour sous Drupal 8, il peut être intéressant d'étudier comment les développeurs vont la faire évoluer. Pour le moment, cela semble être quelque chose de similaire à Domain Access (déjà disponible pour Drupal 8, au moins sur GitHub), avec une séparation des permissions et notamment une instance "maître" des autres instances. À suivre…
Technique
GraphQL
GraphQL est un concept proposé par Facebook. Certains le décrivent (rapidement / abusivement) comme "le WSDL du REST", c'est surtout un langage de requêtage qui permet en une seule requête de récupérer des objets ainsi que leurs objets liés. Vous pouvez voir une démonstration des possibilités de l'intégration Drupal dans cette vidéo tirée de la conférence de Dries à la Drupalcon Barcelone (fin 2015) (la démo commence vers 1h02) : https://youtu.be/7v_rv346qmM
Le concept n'en est qu'à ses débuts, mais il est possible que son utilisation se développe à mesure que Drupal 8 devient une plateforme de référence pour la production de services web basés sur des données structurées modifiables facilement.
RDF UI
Il existe un module similaire à RDF UI pour Drupal 7, permettant de créer des contenus Drupal en suivant directement la norme Schema.org. Là, encore, c'est très situationnel, mais cela vous permet d'adopter une démarche de référencement (et de mise en valeur sémantique de vos contenus, qui va probablement être utilisée de plus en plus à mesure que le web évolue) directement dans vos procédures de créations de contenus.
Performance
Big Pipe
Sorti trop récemment pour être intégré au cœur en version 8.0.x, Big Pipe devrait (si toutefois son fonctionnement correct est confirmé durant les mois à venir) intégrer le cœur de Drupal pour la version 8.1.x. Il est donc éventuellement inutile de le suivre de très près, sauf si naturellement vous êtes concernés par les bénéfices de performances qu'il apporte déjà. L'idée majeure est connue depuis longtemps et permet, rapidement, d'envoyer des "morceaux" de page les uns après les autres, permettant au navigateur de commencer à charger la page le plus tôt possible, chargeant plus tard les morceaux de pages plus complexes ou ne bénéficiant pas de cache (appels à des web services distants dont vous ne maîtrisez pas le temps de réponse, …). À utiliser sur tous vos sites complexes, et peut-être même tous vos sites ! https://youtu.be/JwzX0Qv6u3A
À suivre !
Le développement de Drupal 8 va vraiment vite. Il est donc tout à fait possible que dans un an nous puissions proposer le même article avec 10 modules complètement différents. Rien ne remplace une veille régulière et constante de ce qu'il se passe dans la communauté, et c'est au démarrage de votre projet que vous devez chercher les éventuels modules qui pourraient vous apporter quelque chose (il est également possible que vous n'en ayez pas besoin, puisque le cœur Drupal 8 est désormais bien fourni en fonctionnalités de construction de site, cf. notre article sur Les nouveautés de Drupal 8).
À vous d'identifier les modules qui vous plaisent, vous font réfléchir ou reconsidérer l'ergonomie de votre solution, voire tout simplement les possibilités que votre site pourrait offrir. N'hésitez pas à partager ceux qui vous semblent les plus prometteurs (d'ailleurs, cette liste ne comporte que 9 modules, le dixième est à trouver) !
Formations associées
Actualités en lien
Migration d'un site Drupal 7 en Drupal 11
Trucs, astuces et "bouts" de code pour migrer votre site web de Drupal 7 à Drupal 11. Compte-rendu d'une conférence donnée au Drupalcamp Rennes 2024.
Makina Corpus, partenaire du DrupalCamp 2024
Nous sommes fiers d’annoncer que Makina Corpus est le sponsor du DrupalCamp à Rennes. Notre expert vous y propose une conférence « migrer de Drupal 7 à Drupal 10 ».