Drupal
19/05/2022

Drupal 10, nouveautés et tendances à venir

Photo de Ludovic, impatient de s'emparer de Drupal 10
Voici une petite compilation très personnelle de ce qui va advenir de notre CMS préféré en 2022 et au-delà.

Voici une petite compilation très personnelle de ce qui va advenir de notre CMS préféré en 2022 et au-delà.

Drupal 10

La dernière DrupalCon en date s’est tenue du 25 au 28 avril dernier à Portland, la première en présentiel depuis 2 ans. Ce fut l’occasion de l’habituelle Keynote du créateur de Drupal et de son lot d’annonces et nouveautés. Voici les plus marquantes :

La date de sortie définitive de Drupal 10 est le 14 décembre 2022 !

Nous étions jusque-là habitués à des libérations estivales, mais nous savons que ce n’est plus le cas.

La stabilité de CKEditor5 comme cause principale du retard

La grosse nouveauté de Drupal 10 sera le passage de la version 4 à 5 de CKEditor, c’est un point très important de l’expérience utilisateur. La communauté Drupal et les équipe de l'éditeur ont travaillé en étroite collaboration pour que cela soit parfait.

CKEditor ne pouvant être stable d’ici mi-mai pour être intégré à une sortie de Drupal 10 cet été, il a donc été décidé de la repousser en décembre.

Ce qu’on va gagner à attendre

  • L’équipe du Core aura plus de temps pour faire le ménage dans le code obsolète, réduire les dépendances et se mettre au niveau des dernières versions des librairies JS nécessaires ;
  • De meilleures versions des thèmes par défaut pour le front (Olivero) et le back-office (Claro) auront été développées ;
  • Le générateur de thème : Starterkit (voir plus loin) ;
  • Symfony en version 6.2 au lieu de 6.0 ;
  • PHP 8.1 (qui sera obligatoire) ;
  • Enfin, nous aurons très logiquement jusqu’à novembre 2023 pour mettre à niveau nos sites Drupal 9 vers Drupal 10 !

De nouveaux thèmes dans le Core !

Alors oui, certains sont déjà inclus, mais ils seront officialisés dans Drupal 10 (et nous pourrons faire nos adieux à Bartik) :

La véritable nouveauté est un générateur de thème : StarterKit.

Starterkit

Starterkit n’est pas un nouveau thème à proprement parler, mais vous permettra de générer facilement un sous-thème à personnaliser.

Au lieu de sous-thémer un thème de base, Starterkit génère pour vous un thème de démarrage à partir de ses derniers paramètres par défaut. Ce nouveau thème sera plus comme un fork et n’aura pas de dépendance d’exécution sur un thème de base central.

Cela signifie également que les utilisateurs finaux n’auront pas à s’inquiéter de savoir si la mise à jour de Drupal casse les thèmes de leurs sites.

CKEditor 5

Une petite vidéo vaut mieux qu’un long discours donc allez faire un petit tour sur Youtube (en anglais) pour voir de quoi il en retourne.

 

 

Mises à jour automatiques

Il est de plus programmé, dans les versions mineures de Drupal 10 à venir (l’équipe n’exclut pas que cela soit disponible dès la sortie), de pouvoir mettre à jour le Core de Drupal directement via le back-office.

  • Cette nouvelle méthode sera 100% compatible avec les mises à jour via Composer ;
  • Une copie du site sera créée et maintenue jusqu’à ce que la mise à jour soit correctement effectuée et sinon reviendra en arrière.

Nettoyage du Core

Des modules tels que RDF et Forum vont quitter le Core pour devenir des modules contribués.

Drupal 11 et au-delà

Pour les site builders

Une autre grande partie de la keynote était consacrée aux Ambitious Site Builders, aux constructeurs de sites ambitieux donc.

Cette catégorie d’utilisateurs entre les simples contributeurs et les développeurs chevronnés est clairement la nouvelle cible de la communauté Drupal et participe de la mouvance actuelle low code / no code.

De qui s’agit-il ? Un site builder est une personne qui :

  • Maîtrise bien le back-office de Drupal ;
  • Éventuellement sait écrire un peu de code ;
  • Et qui a l’habitude ou le souhait de développer des sites Drupal complexes en utilisant au maximum ce que permet le back-office de Drupal.

D’ailleurs quand on y réfléchit bien, c’est ce qu’a toujours permis Drupal avec ses modules, ses Views et son Content Construction Kit inclus dans le Core depuis des années.

Mais sans doute que le passage de la version 7 à la version 8 a quelque peu compliqué les choses pour les profils qui n’étaient pas des développeurs chevronnés et je pense que cette direction a éloigné dans l’esprit des utilisateurs, Drupal de solutions plus simples d’accès comme Wordpress.

Cette initiative est là pour redresser la barre. Voyons les objectifs.

Project Browser

Il s’agit de refondre en profondeur la section modules du site drupal.org, de la dépoussiérer pour offrir aux sites builders une vision plus claire des modules qu’il est possible d’installer :

  • but du module ;
  • installations ;
  • stabilité ;
  • etc.

Et surtout avec des métriques plus compréhensibles pour les non-développeurs.

Je pense que c’est une vraie nécessité et même pour les développeurs en fait. C’est une section du site que j’utilise au quotidien et elle commence à devenir vraiment vieillotte et dépassée.

On voit aussi que le but de la communauté est de la transformer en marketplace (toujours open-source on l’espère) et de l’éditorialiser comme les Apps Stores de nos téléphones favoris avec une présentation par thème, des mises en avant, etc.

Starter Templates

Entre l’utilisation d’un site Drupal de base (contributeur) et le développement 100% spécifique (développeur), il n’y avait guère d’alternatives à part les distributions.

Mais ces dernières, utiles pour un besoin très précis, ne sont pas du tout personnalisables simplement.

L’idée des starter templates est d’offrir un ensemble de modules et une configuration de base pour des besoins plus génériques, comme une base pour aller plus loin.

On peut imaginer des templates plus orientés sur :

  • des workflows de modération compliqués ;
  • la création de sites découplés ou headless ;
  • la création de certains types de sites (à fort contenu, e-commerce…) ;
  • etc.

Là aussi je trouve que c'est une excellente idée. Bien entendu, on peut s’attendre à ce que contrairement à une distribution où les mises à jour peuvent s’avérer compliquées, ces ensembles modules / configuration puissent être mis à jour comme si on les avait réalisés manuellement.

Small Core

C’est la suite logique des starters templates, la communauté s’interroge sur le passage à une version de Drupal initiale (le Core) qui soit plus limitée en modules que ce que nous connaissons. En effet, si les templates permettent de rapidement partir dans une direction donnée, il n’est plus forcément nécessaire de tout embarquer.

On pourrait imaginer comme c’est déjà le cas d’avoir des grandes sections :

  • Affichage (Layout Builder et consorts) ;
  • Création de contenu (CCK, Views) ;
  • API ;
  • Moderation (worfklow, revisions…) ;

Et de pouvoir choisir ce que l’on désire au moment de l’installation pour n’avoir que le strict nécessaire.

À voir si cette initiative sera menée à son terme.

Gitlab

Enfin, et c’est sans doute plus une nouvelle réservée aux développeurs, la communauté a pour projet de ne reposer à terme que sur Gitlab pour la gestion du code source Core et modules contribués, en profitant des fonctionnalités natives de la plateforme et en abandonnant une gestion hybride partagée entre Gitlab pour la partie code et le site Drupal pour la gestion des pull request et packages.

En conclusion

Nous avons hâte d’être en décembre pour pouvoir profiter et vous faire profiter de toutes ces avancées, sans compter celles qui vont arriver dans la foulée.

Ludovic Coullet.