Image mise en avant pour l'article

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

26 janvier 2022
Drupal
Le mois de novembre 2021 a été marqué par la fin de Drupal 8. Fini le support communautaire, les mises à jour, la correction des bugs... Drupal 9 est désormais la seule version de Drupal.


Cela signifie que si vous n'avez pas encore migré vers Drupal 9, vous avez tout intérêt à vous lancer sans plus attendre !

Nous décrivons ici les étapes nécessaires pour effectuer la mise à jour de Drupal 8 vers Drupal 9, à savoir : l'installation du module upgrade status, la mise à jour des modules contrib puis des modules custom et enfin la mise à jour du Core vers Drupal 9.

Voici pour commencer les pré-requis système :

  • Nginx : version 0.7.x minimum ;
  • Apache : version 2.4.7 minimum ;
  • PHP :
    • PHP 7.3 à 7.4 ;
    • PHP 8 : à partir de Drupal 9.1.
  • 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 10 minimum.
 

 

1. L'installation du module "Upgrade Status"

Pour aider à la migration, il existe un module contrib "Upgrade Status", capable d'analyser le projet Drupal et de fournir un rapport de compatibilité.

Installez 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 Drupal 9 - rapport danalyse upgrade status

Le rapport se 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 :

  • Corriger les pré-requis ;
  • Mettre à jour les modules contrib compatibles ;
  • 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é ;
  • Corriger le code des modules custom pour les rendre compatibles.

 

2. La mise à jour des modules contrib

Le rapport fournit pour chaque module compatible, la version à installer et le lien version des "issues" connues. Il suffit simplement d'effectuer les mises à jour avec composer.

migration vers drupal 9 - rapport modules contrib

 

3. La mise à jour des modules custom

Pour la mise à jour des modules custom, utilisez l'outil de scan. Sélectionnez un module dans la liste et lancez un scan. L'outil vous indique quelles corrections apporter :

migration vers drupal 9 - 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 9

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

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

 

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

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

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

Vous pouvez maintenant lancer la mise à jour :

composer update

 

Pour finir, exécutez les commandes drush :

drush updatedb
drush cr

Vous avez maintenant effectué la mise à jour de Drupal 8 vers Drupal 9 !

Si vous rencontrez quelques difficultés techniques, notamment pour la migration vers Drupal 9, faites appel à nos experts Drupal.

Image mise en avant pour l'article
Sarven Gostanyan Linkedin
Développeur Drupal 8/9/10 @ADIMEO
Webinar
De l'urgence de migrer sur Drupal 9 : conseils et bonnes pratiques
Voir le webinar !
Besoin d'aide pour migrer votre site vers Drupal 9 ?
Notre équipe d'experts "Drupal" vous guide dans votre projet de migration vers Drupal 9 !
Contactez-nous !