close

Découvrez nos offres pour faire du digital le levier de votre croissance !

download
Modèles

Téléchargez le Guide Ultime de gestion de projet digitale pour vous aider à piloter vos transformations et faire les bons choix !

Image mise en avant pour l'article

Drupal 10 : qu’est-ce qui change ?

2 janvier 2023
Pourquoi cette nouvelle version de Drupal ? Quelles sont les nouveautés majeures ? Faut-il migrer son site sur cette nouvelle version ?


Créé en 2001 pour la conception de blogs collectifs, ce CMS (Content Management System) Open Source développé en PHP est devenu, au fil des années, un incontournable pour créer et gérer des sites Web.

Très flexible, Drupal répond aux différents besoins des utilisateurs, que ce soit dans la création de blogs, de sites institutionnels, d’usines à sites ou de sites e-commerce. Le CMS Drupal présente également d’autres avantages comme la performance et la sécurité.

Mais alors, pourquoi cette version 10 ? Quelles sont les conséquences sur vos sites ? Quelles sont les nouveautés qui l’accompagnent et celles à venir ? C’est ce que nous allons voir dans cet article.

Drupal 10, qu'est-ce qui change sur cette nouvelle version sortie mi-décembre ? Sur la photo, nous voyons un ordinateur portable avec le logo de Drupal

Rappels sur les versions majeures de Drupal

 

Drupal 7

Drupal 8

Drupal 9

Drupal 10

Drupal 11

Statuts

Couvert

Obsolète

Couvert

Version recommandée

En cours de développement

Date de lancement

05/01/2011

19/11/2015

03/06/2020

15/12/2022

2024

Date de fin de vie

01/11/2023

01/11/2021

01/11/2023

2ème trimestre 2026

2ème trimestre 2028

Versions mineurs actuelles

7.93

8.9.20

9.5.0

10.0.0

NC

Processus pour passer en Drupal 10

Refonte totale nécessaire

Mise à jour possible via Drupal 9

Mise à jour possible et simplifiée

NC

NC

Pour résumer :

  • Si vous utilisez Drupal 7, il est important de prévoir une refonte de votre site avant novembre 2023.
    En effet, à partir de cette date, Drupal 7 ne sera plus couvert par des mises à jour de sécurité. La refonte technique est nécessaire car les changements entre Drupal 7 et 8+ sont importants et il est nécessaire de tout redévelopper. Cela vous permettra également de profiter de l'occasion pour effectuer une refonte UX et graphique.
  • Si vous utilisez Drupal 8, il est urgent de procéder à la mise à jour vers Drupal 9, car cette version n'est plus couverte par l'équipe de sécurité de Drupal depuis plus d'un an.
    La durée de la migration dépend du nombre de modules contribués et custom utilisés sur votre site. En moyenne, il faut prévoir une semaine de travail d'un développeur Drupal. Pour plus de détails sur la procédure de mise à jour, vous pouvez consulter notre article sur le sujet 😏. Une fois sur Drupal 9, vous devrez également effectuer la mise à jour vers Drupal 10, qui sera grandement facilitée grâce à la migration vers Drupal 9.
  • Si vous utilisez Drupal 9, vous avez jusqu'à novembre 2023 pour effectuer la mise à jour vers Drupal 10.
    Comme dans le cas de la migration de Drupal 8 vers 9, la durée nécessaire dépend du nombre de modules contribués et custom utilisés sur votre site. Il faut également prévoir une mise à jour vers la version 8.1 de PHP de vos environnements.
 

 

Drupal un cycle de mises à jour prévisible

Drupal, depuis sa version 8, a adopté un cycle de mise à jour prédictible et aligné sur celui de Symfony.

Les versions correctives ou de sécurités (9.4.1, 9.4.2, etc.) sortent tous les mois et concernent le core et les modules contribués.

Les versions mineurs (9.4, 9.5, etc.) du core sortent environ tous les 6 mois et incorporent les nouvelles fonctionnalités. Elles continuent de bénéficier de correctifs de sécurité pendant 1 an à compter de leur sortie.

Les versions majeures (8, 9, 10 etc.) du core sortent environs tous les 2 ou 2,5 ans, en même temps que la dernière mise à jour mineur précédente et contiennent les mêmes modifications sur les éléments stables. Les changements ne concernent que :

  • L’augmentation des exigences systèmes : version de PHP, Apache, Nginx, MySQL ou MariaDB, etc. ;
  • La mise à jour des dépendances vers leurs nouvelles versions majeures ;
  • Et la suppression du code déprécié lors du précédent cycle de développement majeur.

 

Les dépendances principales de Drupal

Une dépendance dans un projet informatique est un logiciel ou une bibliothèque qui est nécessaire pour que le projet fonctionne correctement. Par exemple, si vous avez un projet qui utilise une bibliothèque tierce pour gérer des requêtes HTTP, cette bibliothèque sera une dépendance de votre projet.

Les dépendances sont généralement gérées en utilisant un gestionnaire de paquets, comme Composer pour PHP, npm pour Node.js ou Maven pour Java. Le gestionnaire de paquets permet de télécharger et d'installer automatiquement les dépendances nécessaires lorsque vous démarrez votre projet, ce qui vous évite de devoir les télécharger et les configurer manuellement.

Il est important de gérer les dépendances de manière adéquate dans un projet informatique, car cela peut aider à assurer la stabilité et la qualité du code. Si vous utilisez des dépendances obsolètes ou non mises à jour, cela peut entraîner des problèmes de sécurité ou de compatibilité avec d'autres parties de votre projet.

Pour revenir à notre sujet, dans Drupal, les dépendances sont mises à jour régulièrement mais quand elles atteignent leur fin de vie, il est nécessaire de passer sur les versions majeures suivantes et cela entraine la mise à jour du core de Drupal.

 

Symfony

Symfony est un des framework PHP les plus reconnus au niveau mondial. Si vous ne le connaissez pas, je vous invite à lire notre article "Qu'est-ce que Symfony ?" qui en présente ses nombreux avantages.
Drupal, depuis sa version 8, utilise des briques entières de ce framework, comme le routing, l’injection de dépendances, ou encore le Kernel HTTP. Pour en savoir plus, voir la liste des briques de Symfony présentes dans Drupal.

 

CKEditor

CKEditor est un éditeur de texte WYSIWYG (What You See Is What You Get) qui permet aux utilisateurs de créer et de modifier du contenu HTML dans un navigateur Web. Il est conçu pour être intégré à des sites Web et des applications Web afin de permettre aux utilisateurs de créer et de mettre à jour du contenu de manière simple et intuitive.

CKEditor est open source et disponible sous une licence libre. Il est développé en JavaScript. Il offre une large gamme de fonctionnalités, notamment la possibilité d'insérer des images, des vidéos et des liens, de formater du texte et de créer des tables, ainsi que de contrôler l'accès et les droits d'utilisateur.

CKEditor est largement utilisé sur Internet et est intégré à de nombreux systèmes de gestion de contenu (CMS), tels que WordPress, Drupal et Joomla. Il est également utilisé dans de nombreuses applications Web et intranet pour permettre aux utilisateurs de créer et de mettre à jour du contenu de manière simple et rapide.

Pour voir une démonstration de CKEditor en version 5 dans Drupal 10, nous vous proposons de regarder cette vidéo !

 

Twig

Twig est un moteur de template pour PHP. Il s'agit d'un outil qui permet de générer du code HTML à partir de modèles et de données. Twig est conçu pour être simple à utiliser, sécurisé et performant.

Voici comment Twig fonctionne approximativement :

  • Vous créez un modèle (template) en utilisant la syntaxe Twig. Ce modèle définit la structure du code HTML que vous voulez générer.
  • Vous fournissez des données à votre modèle Twig, généralement sous forme de variables PHP.
  • Twig utilise les données fournies pour remplir le modèle et générer le code HTML final.

Twig est particulièrement utile pour les développeurs PHP qui souhaitent séparer la logique de leur application de la présentation de leur code. Cela permet de rendre le code plus facile à maintenir et à évoluer, car les développeurs peuvent se concentrer sur les parties de l'application qui traitent les données et laisser les intégrateurs se charger de la mise en forme de ces données.

Twig est également connu pour sa sécurité. Il est conçu pour empêcher les injections de code malveillantes et offre un certain nombre de mesures de sécurité pour protéger votre application.

 

 

Et concrètement, la mise à jour de Drupal 10 ?

  1. Mises à jour des dépendances principales :
        > Symfony, de la version 4 à 6
        > CKEditor, de le version 4 à 5
        > Twig, de la version 2 à 3
  2. Augmentation des prérequis applicatifs : passage à PHP 8.1 requis
  3. Suppression de tout le code déprécié durant la vie de Drupal 9

D’autres nouveautés sont néanmoins annoncées, mais en réalité elles sont également disponibles sur Drupal 9.5.

 

Drupal 10 : du nouveau du côté des thèmes

 

Un nouveau thème front par défaut : Olivero

Olivero est en réalité sorti depuis Drupal 9.1, mais il est maintenant le thème front par défaut. Voici ce qu’il faut en retenir :

  • Accessible par défaut. Olivero a été travaillé dans le but de fournir un thème complètement en accord avec les règles international du WCAG ;
  • Simple et moderne en termes de design. L’objectif est qu’il reste pertinent graphiquement pour les 5 ou 10 prochaines années ;
  • Flexible. Il comprend des paramètres et des surcharges pour répondre à une variété d'objectifs.

C’est une belle vitrine et un bon standard mais la grande majorité des sites Drupal s’appuient néanmoins sur un thème sur-mesure.

Capture d'écran du thème front Olivero

Thème de front : Olivero

 

Un nouveau thème d’administration par défaut : Claro

Claro est disponible depuis un certain temps, mais il est maintenant le thème d'administration par défaut de Drupal 10. Chez Adimeo, nous l'utilisons sur nos nouveaux projets depuis plus d'un an et nous sommes très satisfaits de ses performances.

Ce nouveau thème d'administration apporte un véritable souffle de fraîcheur au back-office de Drupal. Il est aéré et utilise des couleurs plus claires et douces que son prédécesseur. Un grand effort a également été fait pour assurer l'accessibilité de Claro, comme c'est le cas avec le thème Olivero pour le front-office.

Capture d'écran du thème d'administration ClaroThème d'administration : Claro

Il est important de noter que Claro a été conçu en parallèle avec un véritable Design System (voir le fichier sur Figma). Cela facilitera le travail sur les futurs thèmes d'administration. On peut déjà citer Gin qui en est directement dérivé et qui devrait sortir prochainement en version stable.

Vous ne savez pas ce qu’est un Design System ? Lisez notre article : Design System à quoi ça sert et comment le faire ?

Capture d'écran d'un exemple d'utilisation du thème ClaroExemple d'utilisation du thème Claro

 

Une nouvelle façon de créer : Theme Starterkit

Pour créer un nouveau thème pour un nouveau projet, il faut actuellement choisir un thème parent, généralement du core, et surcharger les templates. Le problème est que cela oblige les équipes du core à maintenir une compatibilité avec ces thèmes de départ et freine donc l'innovation.

La fonctionnalité Theme Starterkit apporte une solution à ce problème en permettant de générer un nouveau thème indépendant dérivé d'un thème de base. Ce nouveau thème n'aura donc aucune dépendance avec le thème dont il est dérivé et ne sera pas affecté par les évolutions futures.

Cette nouveauté ne révolutionnera pas la création de thèmes, mais permettra à Drupal de faire évoluer ses thèmes par défaut et les thèmes contribués beaucoup plus rapidement. Les développeurs Drupal pourront également créer leurs propres Theme Starterkit.

 

Les nouveautés à venir

Pour rappel les versions mineures (10.1, 10.2, etc.) sortiront tous les 6 mois. C’est dans ces versions intermédiaires que les vraies nouveautés sortent, en expérimental au départ puis intégrés dans le core quand elles sont jugées matures et stables.

 

Automatic Updates

L'objectif de cette fonctionnalité est très simple : permettre d'appliquer des patches de sécurité et de mettre à jour de manière plus significative sans nécessiter de déploiement ni l'intervention d'un développeur. Cependant, la réalité semble plus complexe et notre expérience nous rend assez sceptiques quant à la fiabilité de cette fonctionnalité.

Malgré cela, toutes les précautions sont prises pour éviter toute conséquence négative grâce à un système de rollback automatisé.

Sur les projets les plus simples, cette fonctionnalité peut être très pratique. Cependant, pour les projets plus complexes, il serait préférable de ne pas l'utiliser, selon notre avis.

 

Project Browser

L'objectif de Project Browser est de moderniser la page des modules de Drupal et de la transformer en une sorte de marketplace plus compréhensible pour un public moins technique.

Cette nouveauté, comme Automatic Updates, s'inscrit dans une stratégie visant à rendre Drupal utilisable comme un outil "Low code", permettant aux "webmasters" et "site builders" de mieux maîtriser et de construire de manière plus autonome des sites ambitieux avec Drupal.

La sortie de Drupal 8 et sa nouvelle orientation ont clairement fait évoluer Drupal dans une direction contraire, plus professionnelle et moins accessible au plus grand nombre. Project Browser vise à retrouver l'ancien positionnement de Drupal en combinant les aspects de CMF (Content Management Framework) et de CMS (Content Management System).

 

Workspaces

Pour nous, Workspaces est la nouveauté la plus intéressante de Drupal 10 en termes de fonctionnalités !

Avec Workspaces, nous pouvons créer un espace de travail, non accessible aux utilisateurs finaux, dans lequel nous pouvons créer, modifier et supprimer des contenus. Lorsque nous sommes satisfaits du résultat, nous pouvons appliquer tous ces changements au site "public" en un seul clic.

Cela nous permet de préparer des publications ou modifications multiples, de les valider et de les publier toutes en une seule fois, sans risque et sans difficulté.

Workspaces est un module expérimental, donc il est probable que sa version stable soit disponible dans 6 mois ou 1 an, lors des prochaines versions mineures de Drupal (10.1 ou 10.2).

 

Le mot de la fin

Ce qu’il faut retenir de cette nouvelle version majeure de Drupal, c’est avant tout que c’est un non-événement. Et le fait que ce soit un non-événement est une très bonne nouvelle car cela montre que Drupal est un outil stable avec une base très solide. Ce qui lui permet d’évoluer tous les 6 mois lors des versions mineures de son core et au travers de ses modules issus de la communauté. Les versions majeures permettent de faire le ménage, en enlevant le code déprécié, et ainsi d’assurer la pérennité de son code source.

Grâce à cela, il est totalement envisageable de commencer dès maintenant un projet avec Drupal 10. Il faudra simplement s’assurer que tous les modules que nous voulons utiliser soient “officiellement” compatibles. Heureusement avec Drupal 10, les modules les plus populaires le sont déjà. Cependant, il existe une exception notoire avec le module Webform qui doit encore s’adapter à la nouvelle version de CKEditor. Mais de la même façon, ça ne pose aucun problème de lancer un nouveau projet avec Drupal 9 et attendre que ces modules soient compatibles. En effet, la majorité du code et les API du core de la version 9.5.0 sont identiques à la version 10.0.0 (à condition de ne pas utiliser de code déprécié).

Le lancement d’une version majeure est également l’occasion pour la direction de Drupal de communiquer sur les grandes orientations et les nouveautés à venir. Par exemple « Workspaces » constitue une avancée fonctionnelle ambitieuse que nous avons hâte de présenter à nos clients.

Et n’oubliez pas :

  • Si vous êtes sur Drupal 7 de prévoir une refonte totale pour passer en Drupal 10 avant novembre 2023 ;
  • Si vous êtes sur Drupal 8 de prévoir urgemment un passage sur Drupal 9 ;
  • Si vous êtes sur Drupal 9 de prévoir le passage sur Drupal 10 et PHP 8.1 avant novembre 2023.

 

Crédit photo : utah778

Image mise en avant pour l'article
Adam Carton de Wiart
Team Leader Drupal @Adimeo
De l'urgence de migrer sur Drupal 9 : conseils et bonnes pratiques
Voir le webinar !
Webinar
Drupal 10, qu'est-ce qui change concrètement ?
Voir le webinar !
Vous êtes Développeur Drupal et vous souhaitez participer à une aventure humaine ?
Adimeo recrute un Développeur Drupal capable de travailler sur des projets variés : usine à sites, site vitrine, etc.
Voir notre offre d'emploi !
Pourquoi s'abonner à
notre newsletter ?
Pour recevoir tous les mois, un condensé de contenus utiles et pertinents pour votre transformation digitale !