Comment migrer vers Drupal 11 sans risque
Drupal 10 atteint sa fin de vie communautaire le 9 décembre 2026. Drupal 11 est la version stable depuis août 2024, et Drupal 12 sort en août 2026. Pour la majorité des sites Drupal 10 en production, migrer vers Drupal 11 maintenant est la décision la plus rationnelle : sécurité couverte jusqu'à environ 2028, upgrade doux vers Drupal 12 ensuite, modules contrib stabilisés.
Ce guide synthétise une méthodologie testée sur des projets de toutes tailles, des sites éditoriaux PME aux portails publics à fort trafic. Il couvre les prérequis techniques, les chemins de migration depuis Drupal 9 ou Drupal 10, les breaking changes, les coûts et délais réels, et les pièges à éviter.
fin de vie Drupal 10
cible sortie Drupal 12
requis pour Drupal 11
de Drupal 11
Faut-il migrer vers Drupal 11 ou attendre Drupal 12 ?
La réponse rationnelle : migrer vers Drupal 11 maintenant. Trois raisons.
1. Drupal 10 EOL est ferme
Le 9 décembre 2026, Drupal 10 sort du support communautaire. Plus de patches sécurité. Cette date est indépendante de la date effective de sortie de Drupal 12 : même si Drupal 12 glisse à décembre 2026, Drupal 10 EOL reste fixée à décembre 2026. Repousser la migration au-delà de cette date expose à des risques de sécurité non couverts.
2. Drupal 11 vers Drupal 12 = upgrade doux
Les équipes core ont reporté les déprécations disruptives prévues pour Drupal 12 vers Drupal 13 (~2028). Conséquence : passer de Drupal 11 à Drupal 12 quand il sortira sera bien plus simple que Drupal 10 vers Drupal 11. Migrer vers Drupal 11 maintenant achète donc deux upgrades pour le prix d'un.
3. Modules contrib stabilisés sur Drupal 11
Drupal 11 est sorti en août 2024. À mai 2026, l'écosystème contrib a eu près de deux ans pour s'adapter. La majorité des modules courants (Webform, Paragraphs, Pathauto, Token, Metatag, Views, Search API, etc.) ont des releases stables compatibles Drupal 11. Les retardataires sont identifiés et leurs alternatives connues.
Quand attendre Drupal 12
Cas de figure où il peut être pertinent d'attendre Drupal 12 directement : site Drupal 10 récent avec une marge de sécurité au-delà de décembre 2026 (impossible vu l'EOL ferme), site qui doit de toute façon être refondu intégralement (autant cibler Drupal 12), site avec très peu de modules custom et un budget contraint. Ces cas sont minoritaires.
Prérequis techniques pour Drupal 11
Drupal 11 a relevé le seuil minimum sur plusieurs composants. Vérifier ces points avant de démarrer évite les blocages tardifs.
PHP 8.3 minimum
Drupal 11 exige PHP 8.3 ou supérieur. PHP 8.3 introduit des fonctions et signatures que le core utilise désormais. Les hébergeurs sérieux fournissent PHP 8.3 et 8.4 depuis fin 2024. Vérifier la version chez votre hébergeur avant de démarrer la migration. Pour les hébergements mutualisés OVH ou Infomaniak, PHP 8.3 est sélectionnable depuis le panneau d'administration.
Symfony 7
Drupal 11 est construit sur Symfony 7 (contre Symfony 6 pour Drupal 10). Cela impacte les modules custom qui utilisent directement des composants Symfony : HTTP Foundation, Validator, Dependency Injection. Méthodes comme Request::get() sont à remplacer par les accesseurs typés. Voir la documentation officielle Drupal sur les déprécations Symfony 7.
Composer 2
Composer 2 est requis pour gérer les dépendances. Composer 1 n'est plus supporté depuis longtemps. Vérifier avec composer --version en local et sur l'environnement de déploiement.
Bases de données
Drupal 11 supporte officiellement MySQL 8.0+, MariaDB 10.6+, PostgreSQL 16+, et SQLite 3.45+. Les versions antérieures ne sont plus testées par le core. Pour MariaDB en particulier, la version 10.4 (encore courante chez certains hébergeurs) n'est plus supportée et nécessite une mise à jour côté hébergement.
Drush 13+ recommandé
Drush 13 est aligné sur Drupal 11. Drush 12 fonctionne mais avec des limitations sur les commandes de migration. Mettre à jour Drush en parallèle de Drupal facilite l'administration en CLI et les déploiements automatisés.
Migrer de Drupal 10 vers Drupal 11
C'est le chemin le plus courant. Drupal 10 vers 11 est techniquement un upgrade in-place, mais requiert plusieurs adaptations préalables.
Étape 1 : audit des dépréciations
Lancer Upgrade Status (module officiel) sur le site Drupal 10. Le rapport liste les API dépréciées utilisées par votre code custom et les modules contrib non compatibles Drupal 11. C'est la base du plan d'action. Compter quelques heures à quelques jours selon la taille du codebase pour traiter chaque alerte.
Étape 2 : mise à jour des modules contrib
Avant de toucher au core, mettre à jour tous les modules contrib vers leur dernière release Drupal 10 compatible Drupal 11 (la plupart ont une release dual-compatible). Cette étape réduit drastiquement les conflits au moment du passage core. Tester chaque mise à jour sur staging avant de déployer.
Étape 3 : adaptation des modules custom
Pour chaque module custom flaggé par Upgrade Status : remplacer les API dépréciées, ajuster les déclarations info.yml (core_version_requirement: ^10 || ^11), tester. Pour les modules complexes, prévoir des tests automatisés avant migration pour vérifier les régressions.
Étape 4 : passage du core
Mise à jour Composer : composer require drupal/core-recommended:^11.0 drupal/core-composer-scaffold:^11.0 drupal/core-project-message:^11.0 --update-with-all-dependencies. Suivi de drush updatedb et drush cache:rebuild. Si tout est correctement préparé, l'opération prend quelques minutes côté production.
Étape 5 : recette et validation
Tests de non-régression sur les parcours métier critiques, vérification des permissions, contrôle des intégrations externes (CRM, ERP, services tiers), audit accessibilité RGAA et performance Web Vitals. Documenter les éventuels écarts pour ajustements post-mise en production.
Migrer de Drupal 9 (ou plus ancien) vers Drupal 11
Drupal 9 est en fin de vie depuis novembre 2023. Aucun support communautaire, plus de patches sécurité. La migration directe Drupal 9 vers Drupal 11 n'est pas une voie supportée par le core. Deux options.
Option 1 : passer par Drupal 10 d'abord
La voie standard : Drupal 9 vers Drupal 10, validation, puis Drupal 10 vers Drupal 11. Avantage : chaque étape est documentée et supportée par le core. Inconvénient : deux migrations consécutives donc deux fenêtres de bascule, deux phases de tests, et un coût total plus élevé. Adapté quand le site est complexe et qu'on veut limiter les risques par étape.
Option 2 : refonte sur Drupal 11 directement
Pour les sites Drupal 9 où le modèle de contenu doit de toute façon évoluer, ou dont l'architecture date, la refonte complète sur Drupal 11 (avec réimport des contenus via API REST, JSON API ou CSV) peut s'avérer plus rapide et plus saine qu'une migration séquentielle. Le coût peut être comparable, le résultat plus propre. À privilégier si vous comptez de toute façon revoir l'architecture.
Pour Drupal 7 et antérieurs
Drupal 7 est sorti du support communautaire le 5 janvier 2025. Plus de patches sécurité. Voir notre ressource dédiée fin de vie Drupal 7 et options de migration. Schématiquement : Drupal 7 vers Drupal 10 via le module Migrate Drupal core, puis Drupal 10 vers Drupal 11. Ou refonte complète sur Drupal 11, qui est souvent préférable vu l'écart entre Drupal 7 et Drupal 11 en termes de paradigmes.
Méthodologie de migration en quatre phases
Une migration vers Drupal 11 propre se découpe en quatre phases successives, à adapter selon la taille du site et les contraintes métier.
Phase 1 - Audit
- Inventaire des modules contrib et de leur compatibilité Drupal 11
- Audit des modules custom avec Upgrade Status + revue de code
- Analyse de la base de données (volume, structure, contenus orphelins)
- Cartographie des intégrations externes (CRM, ERP, services tiers)
- Plan de remédiation chiffré avec priorités et risques identifiés
Phase 2 - Préparation
- Mise à jour des modules contrib vers releases dual-compatibles (D10 et D11)
- Adaptation du code custom (déprécations Symfony 7, info.yml, hooks deprecated)
- Remplacement des modules contrib non compatibles par leurs alternatives
- Mise à jour PHP 8.3 sur l'environnement de staging
- Tests automatisés sur les parcours métier critiques
Phase 3 - Migration core
- Déploiement sur staging d'une copie de production
- Passage du core vers Drupal 11 via Composer
- Exécution de
drush updatedbet tests post-migration - Recette fonctionnelle complète, parcours utilisateurs, intégrations
- Tests de charge si site à fort trafic
Phase 4 - Bascule et stabilisation
- Plan de bascule détaillé (fenêtre, équipe d'astreinte, plan de rollback)
- Bascule production avec ou sans coupure (voir notre guide migration sans coupure)
- Monitoring renforcé sur les premiers jours en production
- Correctifs sur les écarts détectés en production
- Bilan migration et documentation pour la TMA
Coût et délais d'une migration vers Drupal 11
Fourchettes pour une migration menée par un développeur Drupal senior ou un collectif d'experts. Les chiffres varient selon la complexité du site, le nombre de modules custom et les intégrations externes.
Site Drupal 10 standard
CMS éditorial, modules contrib courants, peu de custom. 8 000 à 18 000 € HT, 4 à 8 semaines. C'est le scénario le plus fréquent. La majorité du travail consiste à mettre à jour les modules contrib et à valider la non-régression.
Site Drupal 10 avec custom et intégrations
Modules custom métier, intégrations CRM/ERP, multilingue, workflows éditoriaux complexes. 18 000 à 45 000 € HT, 8 à 16 semaines. Le travail d'adaptation des modules custom et de revalidation des intégrations devient le poste principal.
Site Drupal 9 ou plus ancien
Migration séquentielle (Drupal 9 vers Drupal 10 puis Drupal 10 vers Drupal 11) ou refonte directe Drupal 11. 25 000 à 80 000 € HT, 12 à 24 semaines. Le coût dépend fortement du choix séquentiel ou refonte, et de la complexité du modèle de contenu.
Site à fort trafic, bascule sans coupure
Stratégie blue-green ou canary, doublement temporaire de l'infra, tests de charge. Ajouter 15 à 30% au coût de base. Justifié quand une coupure de service coûte plus cher que le surcoût (e-commerce à fort CA horaire, services publics 24/7, sites internationaux multi-fuseaux). Voir le guide migration sans coupure.
Les pièges à éviter
Big-bang sans environnement de staging
Migrer directement en production sans staging est la cause numéro un d'incidents. Un environnement de staging fidèle à la production (mêmes versions PHP, MySQL, modules) permet de tester sans risque. Les hébergeurs sérieux fournissent un staging à la demande ou inclus dans l'offre.
Modules dépréciés non remplacés
Certains modules contrib populaires sous Drupal 10 n'ont pas de release Drupal 11 et sont remplacés par des alternatives ou réintégrés au core. Ne pas faire l'inventaire des modules dépréciés en phase d'audit conduit à des découvertes tardives qui décalent le projet. Upgrade Status liste ces cas systématiquement.
Surcharge de modules contrib
Beaucoup de sites Drupal accumulent des modules contrib au fil des années sans nettoyage. Une migration est l'occasion de faire un inventaire et de désactiver les modules non utilisés. Moins de modules = migration plus rapide, surface d'attaque réduite, performance améliorée.
Tests insuffisants sur les modules custom
Les modules custom sont les premiers points de friction d'une migration. Avant la bascule, idéalement avoir des tests automatisés (PHPUnit, Behat) qui couvrent les parcours critiques. Pour les modules custom sans tests existants, l'investissement dans des tests à cette occasion est rentabilisé sur la durée.
Sous-estimer la phase recette
Une migration vers Drupal 11 ne consiste pas qu'à passer le core. La recette fonctionnelle (parcours utilisateurs, permissions, contenus, intégrations, accessibilité, performance) prend souvent plus de temps que le passage technique lui-même. Prévoir au moins 25 à 40% du budget total pour cette phase.
Notre approche AdevWeb
AdevWeb intervient sur des migrations Drupal depuis Drupal 7. Notre lead technique sur vie-publique.fr (DILA, plus de 2 millions de visites mensuelles, plus de 200 000 contenus) a piloté plusieurs cycles d'upgrade sur ce périmètre. Le collectif réunit des intégrateurs Drupal certifiés et des développeurs Symfony seniors.
Notre méthode privilégie la prévisibilité : audit chiffré dès le début, plan de migration documenté, environnements de staging fidèles, tests automatisés sur les modules custom, recette fonctionnelle systématique avant bascule. Pas de big-bang, pas de surprise tarifaire en milieu de projet.
Une migration Drupal réussie se prépare sur les semaines avant la bascule, pas pendant. Ce qu'on découvre la veille de mise en production aurait presque toujours pu être anticipé par un audit sérieux, plusieurs semaines plus tôt.
Adrien Weiser, gérant et directeur technique AdevWeb
Questions fréquentes
Pour aller plus loin sur Drupal
Fin de vie Drupal 10 - 9 décembre 2026
Plan de migration Drupal 10 et calendrier détaillé pour anticiper l'EOL.
Drupal 12 en 2026 : sortie, nouveautés
Calendrier Drupal 12, breaking changes Symfony 8, ce qui change pour les développeurs.
Migrer Drupal 10 sans coupure
Approches blue-green, canary, snapshot pour les sites à fort trafic et services 24/7.
Drupal 7 fin de vie : quelles options
Pour les sites encore sous Drupal 7, les options de migration et l'analyse coût/risque.
Une migration Drupal 11 à cadrer ?
Demandez un audit chiffré.