scroll

Toutes les actualités

Migrer de Drupal 9 vers Drupal 10

Par Luis Pineu | Le 22/02/2024

Drupal 9 n’est plus maintenu depuis novembre 2023.
La migration vers Drupal 10 est donc devenue impérative pour continuer de bénéficier des mises à jour de sécurité et des dernières fonctionnalités.

Logo Drupal 10

Rappel sur les versions majeures de Drupal et leur migration vers Drupal 10

La migration de Drupal 7 vers Drupal 10 n’est pas possible, l’architecture technique est trop différente. Une refonte globale du site, directement en Drupal 10, est nécessaire.
La migration de Drupal 8 vers Drupal 10 est possible mais il faudra au préalable migrer de Drupal 8 vers Drupal 9. La procédure de migration est pratiquement identique à la migration Drupal 9 vers Drupal 10, nous l’avions décrite dans cet article.

Nouveautés de Drupal 10

Performances optimisées, meilleure mise en cache et amélioration des performances au niveau de la base de données. Votre site sera plus rapide et réactif, cela améliorera donc le référencement.

Thème d’administration Claro (en remplacement de Seven) pour améliorer et faciliter la gestion de votre site.

Thème par défaut d’Olivero (en remplacement de Bartik) pour permettre de créer rapidement un site attrayant sans avoir à créer un thème personnalisé.

Remplacement de CKEditor 4 par CKEditor 5 pour rendre plus fluide la création de contenu.

Composants JavaScript modernes pour remplacer certaines utilisations de jQuery.

Outil Theme Starterkit pour la création de thèmes sur mesure.

Basé sur Symfony 6 (en remplacement de Symfony 4) et PHP 8.1 pour bénéficier des fonctionnalités et améliorations les plus récentes de PHP, pour avoir de meilleures performances et une sécurité renforcée.

Comment migrer de Drupal 9 vers Drupal 10 ?

Comme pour le passage de Drupal 8 à Drupal 9, le passage de Drupal 8 à Drupal 9 se fera via la mécanique usuelle de montée de version mineure.

Étape 1 : Préparation

Avant de commencer la migration, assurez-vous que votre site est à jour avec la dernière version de Drupal 9. Cela garantira que vous disposez de toutes les mises à jour de sécurité et de fonctionnalités avant de passer à Drupal 10.

Effectuez une sauvegarde complète de votre site web Drupal 9. Cela inclut la base de données, les fichiers de configuration, les fichiers média, et tout le contenu. En cas de problème, vous pourrez toujours revenir en arrière.

Étape 2 : Installez le module Drupal upgrade_status

Le module upgrade_status est un outil de vérification qui vous aide à identifier les problèmes de compatibilité lors de la migration.
Vous pouvez l’installer en utilisant Composer :
composer require drupal/upgrade_status
Après avoir installé le module, activez-le dans les extensions.  

Étape 3 : Exécutez l’outil d’analyse upgrade_status

Après avoir activé le module upgrade_status, rendez-vous sur la page /admin/reports/upgrade-status. Vous y trouverez un rapport détaillé qui indique les problèmes à corriger avant de pouvoir effectuer la mise à jour Drupal 10.

Exemple de rapport upgrade_status

Dans ce rapport vous retrouvez :

  • Les prérequis au niveau de l’environnement
  • La liste des modules qui ne sont pas activés et qui peuvent donc être retirés du site
  • La liste des modules contrib pour lesquels il n’existe actuellement pas de mise à jour compatible avec Drupal 10
  • La liste des modules contrib à mettre à jour pour assurer leur compatibilité avec Drupal 10
  • La liste des modules ou des thèmes personnalisés (custom) qui doivent être scannés pour détecter les problèmes de compatibilités qui doivent être corrigés
  • La liste des modules contrib qui sont compatibles dans l’état avec Drupal 103

En bref, vous aurez à ce stade une vision précise du travail à effectuer pour mener à bien la migration.

Étape 4 : Mettez à jour les environnements de développement, de recette et de production

Environnement prérequis pour Drupal 10

Serveur Web
Apache 2.4.7 ou supérieur, Nginx 1.1 ou supérieur, ou tout autre serveur Web prenant en charge PHP approprié.

Base de données
MySQL 5.7.8 ou supérieur
MariaDB 10.3.7 ou supérieur
Serveur Percona 5.7.8 ou supérieur
PostgreSQL 10 ou supérieur
SQLite 3.26 ou supérieur

Mémoire
Mémoire requise RAM : la mémoire minimale requise est de 1 Go pour garantir le bon fonctionnement de Composer. Si vous exécutez plusieurs modules ou utilisez des outils gourmands en mémoire tels que Solr ou Memcache, beaucoup plus de mémoire peut être nécessaire.

PHP
Version PHP : Drupal 10 nécessite au moins PHP 8.1. PHP 8.1.6 est recommandé.
Extensions PHP nécessaires : PDO, XML, GD-library, OpenSSL, JSON, cURL, Mbstring.

Étape 5 : Résolvez les problèmes

Examinez attentivement le rapport généré par upgrade_status et résolvez l’ensemble des problèmes détectés. Cela peut impliquer de supprimer ou mettre à jour certains modules, de remplacer des modules obsolètes par des alternatives, ou de réécrire du code personnalisé qui n’est plus compatible avec Drupal 10.

Étape 6 : Mettez à jour Drupal vers la version 10

Une fois que vous avez résolu tous les problèmes, vous pouvez procéder à la mise à jour vers Drupal 10. Vous pouvez utiliser Composer pour effectuer cette mise à jour :
composer update drupal/core-recommended --with-dependencies

Étape 7 : Répétez l’analyse avec upgrade_status

Rendez-vous sur la page du module upgrade_status et exécutez une nouvelle analyse pour vous assurer qu’il n’y a plus de problèmes de compatibilité après la migration vers Drupal 10.

Étape 8 : Testez votre site

Après la mise à jour vers Drupal 10, effectuez des tests approfondis pour vous assurer que tout fonctionne correctement. Assurez-vous de vérifier le bon fonctionnement de tous les modules et de toutes les fonctionnalités de votre site.

Accompagnement Digiwin sur Drupal

Vous avez des questions sur cet article ?
Vous voulez être accompagné dans votre process de migration de Drupal 8 ou 9 vers Drupal 10 ou dans une refonte complète de votre site en D7 ?
Les équipes de Digiwin se tiennent à votre disposition. Contactez-nous !

Luis Pineu

Expert Drupal