Découvrez nos offres pour faire du digital le levier de votre croissance !
Téléchargez le Guide Ultime de gestion de projet digitale pour vous aider à piloter vos transformations et faire les bons choix !
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 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 :
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 :
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 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 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 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 :
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.
D’autres nouveautés sont néanmoins annoncées, mais en réalité elles sont également disponibles sur Drupal 9.5.
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 :
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.
Thème de front : Olivero
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.
Thè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 ?
Exemple d'utilisation du thème Claro
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.
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.
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.
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).
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).
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 :
Crédit photo : utah778