Comme vous le savez, la nouvelle version du CMS Drupal (#Drupal11) apporte son lot de nouveautés : modernisation du code, adoption de Symfony 6, renforcement de la sécurité, etc. Même si la migration d’un site Web développé avec Drupal 10 n’est pas encore préoccupante, vous êtes nombreux à vouloir bénéficier des nouvelles évolutions que propose Drupal 11.
Dans cet article, je vous donne les 5 étapes clés pour effectuer cette montée de version et passer aisément de la version 10 de ce CMS à Drupal 11. Allez, c’est parti…
Avant de procéder à la migration de votre site Web vers la nouvelle version de Drupal, vous devez vérifier que votre environnement d’hébergement réponde bien aux exigences suivantes :
Utiliser la commande « Composer » suivante :
composer require drush/drush^13 |
Votre site Web fonctionne-t-il bien avec la dernière version de Drupal 10 ? En effet, pour maximiser vos chances dans votre projet de migration, je vous conseille d’être sur la dernière mise à jour de Drupal. À date, vous devriez viser la version Drupal 10.3.0 ou une version ultérieure.
Pourquoi ce point est important ? Tout simplement parce que mettre à jour la dernière version de Drupal 10 vous assure de bénéficier de toutes les dernières fonctionnalités et des mises à jour de sécurité. Ce point facilitera la migration de votre site Web vers Drupal 11.
Avant de commencer la migration de votre site Web vers Drupal 11, vous devez identifier et résoudre le code déprécié. Pour réussir cette étape, il sera nécessaire d’effectuer les points suivants.
Le module « Upgrade Status » analyse l'ensemble de votre projet (code custom et code des modules contribués). Il fournit une jauge en pourcentage, le but étant d'atteindre 100 % avant de faire la montée vers la version supérieure. Dans ce guide la version recherchée est Drupal 11.
Le module « Upgrade Status » est votre outil multifonction pour les mises à niveau Drupal. Il permet de fournir un rapport de compatibilité détaillé pour chaque module et thème du projet. Pour une utilisation optimale, voici la marche à suivre :
1. Installez le module : composer require drupal/upgrade_status
2. Ensuite, rendez-vous dans Rapport > Upgrade Status dans votre panneau d’administration Drupal
3. Enfin, exécutez un scan complet pour identifier :
Pour mettre à jour les modules contribués, il vous faudra :
Pensez évidemment à tester votre site après toute mise à jour de module, afin de vous assurer qu’aucune fonctionnalité n’a été dépréciée.
Vous venez de mettre à jour vos modules contribués, continuons avec la mise à jour du code custom que contient votre site Web. Pour ceci :
💡 Premier tips de cet article. Pour aller plus vite avec le code custom, je vous conseille d’utiliser « Drupal Rector », qui est un outil puissant d’automatisation de mise à niveau de code PHP.
Maintenant que vos modules contribués et votre code custom sont à jour, poursuivons le processus de migration avec la mise à niveau du noyau de Drupal 11. Pour cette quatrième étape, je vous ai listé les points à réaliser :
1. Sauvegardez tout - Avant de poursuivre, je vous conseille de faire une sauvegarde complète de votre code et de votre base de données.
2. Effectuez la mise à jour – Avec « Composer », on requiert les packages nécessaires :
composer require 'drupal/core-recommended:^11' 'drupal/core-composer-scaffold:^11' 'drupal/core-project-message:^11' --update-with-dependencies --no-update |
Attention, pour éviter les problèmes de dépendance mutuelle, ne mettez pas encore à jour les « paquets ». L’utilisation de l’option « --no-update » permet de modifier seulement le fichier composer.json.
Si drupal/core-dev est utilisé dans votre projet :
composer require 'drupal/core-dev:^11' --dev --update-with-dependencies --no-update |
3. Dry Run – Pour prévisualiser votre mise à jour, vous devez utiliser la fonctionnalité de simulation de « Composer ». Ce dernier vous renverra les informations d’exécution de la commande sans toutefois réellement exécuter la commande.
composer update --dry-run |
Si votre prévisualisation révèle des conflits, il faudra résoudre les dépendances. Pour ça, vous pouvez vous aider de la commande « composer why-not » suivie du nom et de la version d’un package afin que Composer vous indique pour quelles raisons il ne peut pas mettre à jour ce package.
Résolvez les conflits et répétez l’opération « dry-run » jusqu’à ce qu’il n’y en ait plus aucun.
composer why-not drupal/core-recommended 11.0 |
4. Effectuez la mise à jour
composer update --with-all-dependencies |
5. Mettez à jour la base de données
drush updb |
6. Et enfin, videz les caches
drush cr |
Vous venez de terminer le plus gros de la migration vers la nouvelle version de Drupal. Maintenant, il faut vérifier, tester et corriger les éventuelles erreurs qui auraient pu apparaître avec la mise à jour du code. Je vous conseille donc de :
1. Regarder les erreurs et les avertissements présents sur le tableau de bord de votre projet /admin/reports/status.
2. Consulter les messages récents de log de Drupal. Ici, vous avez deux possibilités : soit avec l’url /admin/reports/dblog si vous avez activé le module dblog, soit dans les fichiers de logs configurés sur votre serveur si vous avez installé le module syslog.
💡 Gagnez du temps avec cet autre tips. Pour une vérification approfondie, je vous recommande la commande ci-dessous. Elle vous permettra, pendant que vous parcourez le site, de surveiller les erreurs en temps réel dans votre terminal. Là aussi le module dblog doit être activé.
drush watchdog:tail |
Cette commande affiche les messages de journalisation en direct dans le terminal, ce qui facilite l’identification rapide des problèmes lors de votre navigation.
Et n’hésitez pas à tester les « pages clés » de votre site Web (Accueil, recherche, Filtre, Indexation, création de contenu, etc.).
Toujours dans le but de faciliter votre recette, pensez à nettoyer les journaux dans le terminal et à supprimer les messages d’erreur selon leur gravité afin de ne conserver que ceux susceptibles de vous intéresser. Le but étant de gagner en clarté lors de vos tests en évitant des logs « parasites ».
drush watchdog:delete --severity=NUMBER. drush watchdog:delete --severity=NUMBER |
Dernier point, sur une échelle de 0 (urgence) à 7 (débogage), le paramètre --severity définit le niveau de gravité des messages à supprimer. Cette échelle facilite le ciblage des types d’erreurs à effacer.
En résumé, la migration de votre site Web de Drupal 10 vers Drupal 11 nécessite une planification et une exécution soignées. En suivant ces 5 étapes, vous serez bien préparé pour effectuer cette montée de version en douceur. Dernière chose, n’oubliez pas que la clé d’une migration réussie réside dans une préparation anticipée, des tests rigoureux et le suivi des derniers développements de Drupal. J’espère que cet article vous a été utile. Je vous invite à poursuivre votre lecture avec cette sélection d’articles :
Crédit photo : gorodenkoff
Sources :