Image mise en avant pour l'article

Mise à jour de Drupal 9 vers Drupal 10 : le mode d'emploi

24 juillet 2023
Drupal
Avec la sortie de Drupal 10, le 15 décembre dernier, de nombreux développeurs et utilisateurs de Drupal 9 se demandent comment effectuer une transition simple et harmonieuse vers cette nouvelle version.


Drupal, l’un des CMS les plus populaires et puissants, continue d’évoluer pour offrir des fonctionnalités améliorées, une sécurité renforcée et une expérience utilisateur optimale. Si vous avez déjà franchi le cap du passage de Drupal 8 à Drupal 9, vous savez qu’il est essentiel d’être bien préparé et informé pour réussir cette nouvelle migration.

Dans cette article, nous vous donnons les étapes clés pour effectuer la mise à jour de Drupal 9 vers Drupal 10.

Quel est le mode opératoire pour passer de Drupal 9 à Drupal 10 ?

Pour commencer, voici les pré-requis système :

  • Nginx: version 0.7.x minimum
  • Apache: version 2.4.7 minimum
  • PHP:  PHP 8.1 minimum
  • Base de données
    • MySQL ou Percona : version 5.7.8 minimum 
    • MariaDB : version 10.3.7 minimum 
    • SQLite : version 3.26 minimum
    • PostgreSQL : version 12 minimum

 

1. Installation du module « Upgrade Status »

Pour faciliter la migration, il existe un module contrib « Upgrade Status ». Ce module est capable d’analyser le projet Drupal et de fournir un rapport de compatibilité.

Installer le module avec composer et activez-le :

composer require ‘drupal/upgrade_status’

Depuis le back office (/admin/reports/upgrade-status) vous pouvez consulter le rapport d'analyse :

migration-vers-Drupal10-rapport-analyse-upgrade-status

Le rapport se décompose de 5 grandes parties :

  • Les pré-requis (systèmes et configurations) ;
  • Les modules installés compatibles ;
  • Les modules installés, compatibles en effectuant une mise à jour ;
  • Les modules installés non compatibles (modules contrib dont il n'existe aucune version compatible) ;
  • Les modules installés dont la comptabilité n'a pas pu être déterminée (modules custom principalement).

L'étape suivante consiste à corriger tous les points relevés :

  1. Corriger les pré-requis ;
  2. Mettre à jour les modules contrib compatibles ;
  3. Déterminer une stratégie pour les modules contrib non compatibles : développement d'un patch, remplacement du module par un autre, développer un module custom équivalent ou bien décider de se passer de la fonctionnalité ;
  4. Corriger le code des modules custom pour les rendre compatible.

 

2. Mise à jour des modules contrib

Le rapport fournit pour chaque module compatible, la version installer et le lien version des « issues » connues. Il faudra simplement effectuer les mises à jour avec Composer.

migration-vers—Drupal10-rapport-modules-contrib

Attention, drush doit être passée en version 11 (compatible Drupal 9 et Drupal 10). Le rapport d’Upgrade Status ne le signale pas et les erreurs Composer qui en découlent ne sont pas très explicites.

 

3. La mise à jour des modules custom

Pour la mise à jour des modules custom, il faudra utiliser l’outil de scan.

  1. Sélectionnez un module présent dans la liste ;
  2. Lancez un scan. L’outil vous indiquera les corrections à apporter :

migration-vers-drupal10-outil-de-scan-modules-custom

Une fois que tous les problèmes ont été corrigés, vous pouvez passer à la montée de version du Core.

 

 

4. La mise à jour du Core vers Drupal 10

Avec Composer, on requière les packages nécessaires :

composer require 'drupal/core-recommended:^10' 'drupal/core-composer-scaffold:^10' 'drupal/core-project-message:^10' --update-with-dependencies --no-update

Pour éviter les problèmes de dépendance mutuelle, ne faites pas encore la mise à jour des paquets (option --no-update), on modifie seulement le fichier composer.json.

Si drupal/core-dev est utilisé dans le projet :

composer require 'drupal/core-dev:^10' --dev --update-with-dependencies --no-update

On peut maintenant lancer la mise à jour : 

composer update

Pour finir, on exécute les commandes drush :


drush updatedb
drush cr

La mise à jour est terminée, votre site Web a évolué de Drupal 9 à Drupal 10.

 

Les modules retirés du Core de Drupal

Un certain nombre de modules et thèmes ont été retirés du cœur de Drupal dans sa version 10 et sont désormais disponibles en contribution.

Il sera donc nécessaire de les installer séparément via Composer s'ils sont utilisés.

Nous vous avons listé les modules/thèmes supprimés :

  • Bartik
  • Classy
  • Seven
  • Aggregator
  • CKEditor 4
  • Color
  • HAL
  • Quick Edit
  • RDF

 

Le passage de Drupal 9 à Drupal 10 est une étape importante pour maintenir votre site Web à jour et profiter des dernières nouveautés de ce CMS. Avec une planification minutieuse et en suivant nos indications, vous êtes prêt à relever ce défi.

Si vous rencontrez quelques difficultés techniques, notamment pour la migration vers Drupal 10... contactez-nous ! 😉


Crédit photo : BalanceFormcreative

Image mise en avant pour l'article
Sarven Gostanyan Linkedin
Développeur Drupal 8/9/10 @ADIMEO
Webinar
Drupal 10, qu'est-ce qui change concrètement ?
Voir le webinar !
Besoin d'aide pour migrer votre site vers Drupal 10 ?
Notre équipe d'experts "Drupal" vous accompagne dans votre projet de migration vers Drupal 10 !
Contactez-nous !