Accueil / Blog / Métier / 2017 / La roadmap Drupal 8

La roadmap Drupal 8

Par Simon Georges publié 05/04/2017
Que va-t-il se passer dans le cœur du CMS Drupal dans les prochains mois ?
La roadmap Drupal 8

Le récent changement de politique de versions permet à chaque version "mineure" de Drupal 8 de comporter de nouvelles fonctionnalités.

Ce phénomène, intéressant pour le dynamisme du CMS Drupal, entraîne un besoin encore plus important qu'avant de suivre les initiatives de la communauté Drupal. Cet article présente les initiatives qui me paraissent intéressantes ou révélatrices des grandes orientations de la communauté.

La version 8.2.x

La version 8.2 du cœur de Drupal est sortie en octobre dernier. D'autres en ont déjà parlé (voir par exemple l'annonce officielle ou cet article de blog [EN]), je vais me contenter d'indiquer ce qui me plaît ou me semble significatif.

Au niveau des "petites" fonctionnalités ajoutées, le support des dates de fin (via le module Date Range), et la révision des contenus activée par défaut (ce qui, pour moi, renforce la nécessité d'ajouter le module Diff à vos installations Drupal, permettant une comparaison plus facile de ces versions).

Mais cette version de notre CMS favori présente surtout une évolution fonctionnelle majeure et une innovation ergonomique qui pourrait en entraîner d'autres. On trouve en effet 2 modules qui devraient entraîner à long terme de nombreux modules liés.

Content Moderation (enfin un workflow éditorial dans Drupal)

Ce nouveau module (pour le moment considéré comme "expérimental" mais déjà extrêmement utilisé) du cœur de Drupal est essentiellement une adaptation du module de la communauté "Workbench Moderation".

Il permet tout simplement de définir des statuts sur des contenus (par défaut brouillon, relu, publié, archivé) et de paramétrer les transitions possibles et les rôles qui peuvent effectuer des transitions.

C'est la première étape vers une implémentation de workflow plus globale dans Drupal, et nous y reviendrons plus bas.

Outside-In, une nouvelle base ergonomique pour le cœur de Drupal

La raison d'être de ce module est de permettre de réaliser des modifications du site directement depuis le front-office : changement du nom du site, placement de blocs, réorganisation de l'arborescence, par l'intermédiaire de modules complémentaires.

Aujourd'hui, deux exemples existent dans le cœur : Place Blocks, un placement des blocs directement depuis le front office, et Settings Tray, une édition contextuelle de certains réglages, comme le nom du site ou le positionnement des éléments de menu.

Pour moi, ces modules ne sont pas encore complètement aboutis (à la fois en terme de fonctionnalités et en terme d'interface), mais définissent par contre une nouvelle ergonomie possible pour la contribution dans Drupal. Ce mécanisme est d'ailleurs déjà utilisé par des modules de la communauté, comme Moderation Note.

Ce nouveau mécanisme me paraît très intéressant notamment pour enrichir la création des contenus en intégrant des solutions riches et élégantes et certains modules commencent à y réfléchir (notamment le module Paragraphs pour lequel cette intégration paraît tout à fait adaptée).

Paragraph Content Builder

La version 8.3.x

La version 8.3.0 est sortie le 5 avril 2017, et nous connaissons donc son contenu.

D'abord, une bonne nouvelle : le module Big Pipe est stable et intègre donc le cœur de Drupal de plein droit. Il est d'ailleurs activé par défaut désormais dans le profil standard de Drupal.

Par contre, l'évolution principale, la gestion des médias, actuellement réalisée par un ensemble de modules de la communauté, n'a finalement pas été intégrée au cœur de Drupal dans la branche 8.3.x, et le sera plus probablement dans la 8.4.x.

À côté de ça, un nouveau module fait son apparition, Layout. Ce module intègre un équivalent léger du module de la communauté Display Suite, permettant d'utiliser des mises en page complexes directement au niveau du positionnement des champs d'un type de contenu. Vous pouvez désormais créer des mises en page dans des fichiers *.layout.yml.

Enfin, l'écran de statut de votre installation Drupal a été repensé :

Drupal status report

Les priorités de la communauté Drupal pour le futur

REST et les APIs

Comme à chaque version majeure, les APIs du cœur de Drupal continuent de s'améliorer en 8.3.x. L'idée générale est de "dé-drupaliser" l'API pour la rendre plus consommable par d'autres services que Drupal, qui n'ont pas à connaître les détails d'implémentation interne de l'API. Les développeurs essaient également d'améliorer la prise en compte de l'ensemble des objets Drupal (y compris la configuration) directement par l'API.

Vous pouvez suivre globalement l'évolution des APIs à chaque version sur l'issue dédiée.

JSONAPI

En plus, la communauté s'intéresse de près au module JSONAPI pour standardiser les réponses de la couche de services web selon la norme jsonapi.org.

L'ergonomie

C'est une des raisons qui me font vraiment apprécier Drupal 8 : de nombreux efforts portent sur l'amélioration de l'utilisabilité de Drupal, dans tous les secteurs de l'outil. On a vu plus haut le nouvel écran de suivi du statut, mais voici plusieurs initiatives prometteuses :

Du contenu par défaut

L'installation d'un Drupal produit une page d'accueil vierge, ne facilitant pas la vie des nouveaux utilisateurs. Il est donc question de fournir du contenu par défaut dans le profil d'installation, comme le font déjà de nombreux CMS, afin de permettre aux développeurs de s'acclimater plus facilement aux menus du logiciel.

Cela dit, il reste encore de nombreux problèmes à résoudre avant de pouvoir pleinement envisager cette évolution.

La refonte de la gestion des champs

Nous en avions déjà parlé, mais la refonte des champs est en cours, là encore pour faciliter l'utilisation de Drupal par des utilisateurs ne possédant pas une connaissance technique de la façon dont le stockage Drupal est réalisé, en se concentrant sur le rendu visé dans le formulaire de création de contenu :

Drupal field

Peut-être en tant que module expérimental dans la 8.4.x ?

Une refonte globale de l'UX

Mais de nombreux autres changements sont discutés et étudiés, comme une refonte des filtres exposés dans les vues, l'intégration d'Inline Entity Form au cœur ou la refonte du widget de transfert de fichiers :

Drupal file field upload

Toutes ces évolutions ont pour but de diminuer la "friction" à l'utilisation de Drupal pour l'ensemble des utilisateurs, et de lever un des principaux freins à son adoption actuelle, le fameux "Drupal, c'est compliqué".

D'ailleurs, un dernier levier pour améliorer la compréhension de l'interface est la refonte du menu d'administration, en utilisant les retours de la communauté (réorganisation des éléments de menus, changement de vocabulaire, mise en valeur de certains éléments).

Le versionning de site, une fonctionnalité très attendue

Ceux qui suivent de près le développement du cœur de Drupal auront noté que le module Content Moderation de gestion de statuts éditoriaux n'est plus indépendant et repose désormais sur un nouveau module du cœur de Drupal appelé Workflow (tout simplement ;-)).

C'est un premier pas vers le développement d'une solution globale de workflow à l'échelle d'un site complet, permettant d'envisager plusieurs versions du site sur le même serveur, que vous choisissez de déployer quand vous le souhaitez (une version "brouillon" de votre site pourra être publiée à une date donnée, voir même planifiée exactement comme vous le souhaitez).

Drupal Workspaces

Cette fonctionnalité, actuellement réalisée partiellement par le module Workspace (et ses dépendances), est vouée à intégrer dans le futur le cœur de Drupal, d'ici les versions 8.5 ou 8.6. Vous pouvez suivre son évolution sur la page de la Workflow initiative.

Si la communauté arrive à ajouter cette fonctionnalité dans le cœur de Drupal, je pense que la richesse fonctionnelle du cœur deviendra un solide argument à l'adoption de Drupal pour les gros comptes.

Ça c'est le cœur, mais que fait le reste de la communauté ?

Paragraphs

Dans Drupal 7, 2 solutions plus ou moins concurrentes d'assemblages de pages s'affrontaient : Field Collection et Paragraphs. Il semble qu'en Drupal 8, Paragraphs s'est largement imposé comme standard de fait, en tout cas, il est nettement plus maintenu et poussé par les principaux développeurs de la communauté.

On peut imaginer que de nombreuses solutions vont se baser sur ce module, et ce même si de nouveaux concurrents apparaissent (c'est le jeu d'une aussi grande communauté) comme Widget Engine ou Stacks.

Pour le moment, d'ailleurs, Paragraphs est clairement le favori, avec notamment des modules tentant d'en améliorer l'UX comme Geysir ou Parade.

On devrait avoir d'ici quelques mois une expérience d'administration de pages à contenu ou mise en page complexe extrêmement simple, et c'est tout ce que l'on demande !

Quoi de prévu pour Drupal 9 ?

Le développement de Drupal 9, à l'heure où nous écrivons cet article, n'a pas encore commencé, ce qui est plutôt rare pour Drupal. Il est possible de suivre les discussions actuelles sur l'issue dédiée.

Une discussion fondamentale d'architecture, tout de même : faut-il supprimer le multi-site ?

À noter, tout de même, une bonne nouvelle, la mise à jour à Drupal 9 devrait être presque transparente, en tout cas pas plus difficile qu'une mise à jour de version majeure de Drupal 8.

Conclusion

L'ajout d'une feuille de route est toujours un bon signe, parce que cela permet d'anticiper les fonctionnalités, et donc de mieux planifier les (gros) projets. Cependant, l'ajout de nombreux modules expérimentaux entraîne des développements fréquents qui rendent l'ensemble de la communauté relativement instable, ce qui ne sécurise pas spécialement les projets.

Nous verrons donc sur le long terme si l'ajout de ces fonctionnalités de façon fréquente compense ou non les risques pris sur les projets... À suivre !

Drupal est également souvent considéré de l'intérieur de la communauté comme ayant un problème de positionnement… et ne l'a pas encore résolu ;-)

Bien sûr, nous intégrons systématiquement ces nouvelles fonctionnalités (voir celles qui arrivent) et les interrogations associées dès leur mise à disposition dans le CMS à l'intérieur de nos formations à Drupal 8.

ABONNEZ-VOUS À LA NEWSLETTER !
Voir aussi
Développer avec Twig dans Drupal 7 Développer avec Twig dans Drupal 7 25/06/2015

Utiliser Twig dans Drupal 7, c'est possible ! Découvrez comment prendre de l'avance sur Drupal 8, ...

Comment mettre en place un site Drupal "Headless" ? Comment mettre en place un site Drupal "Headless" ? 14/06/2017

Les différents modules et techniques pour mettre en place une couche de services web sur une base ...

Migrer de SPIP à Drupal Migrer de SPIP à Drupal 29/05/2017

Comment imiter le comportement de SPIP et découvrir Drupal pour les amateurs de ce CMS.

Bien débuter avec les transactions SQL Bien débuter avec les transactions SQL 09/12/2015

BEGIN et COMMIT vous connaissez, mais ACID ou LOCK ça vous dit quelque chose ?

10 modules Drupal que vous n'utilisez (peut-être) pas assez 10 modules Drupal que vous n'utilisez (peut-être) pas assez 10/12/2014

Dans l'équipe Drupal de Makina Corpus, nous avons l'opportunité de travailler sur de nombreux ...