Réussir le passage à Drupal 11 sereinement
Le suivi communautaire de Drupal 10 s'arrête le 9 décembre 2026. Drupal 11, lui, est stabilisé depuis août 2024, et Drupal 12 pointe pour août 2026. Pour la plupart des sites Drupal 10 en service, viser Drupal 11 dès à présent reste le choix le plus sensé : une couverture sécurité assurée jusque vers 2028, une montée en douceur vers Drupal 12 par la suite et un écosystème contrib désormais mûr.
J'ai condensé ici une démarche que j'ai éprouvée sur des chantiers très variés, du petit site éditorial de PME au portail public soumis à un trafic massif. Vous y trouverez le socle technique à réunir, les itinéraires de migration depuis Drupal 9 ou Drupal 10, les ruptures de compatibilité, les enveloppes budgétaires et délais constatés sur le terrain, sans oublier les écueils à contourner.
arrêt du support Drupal 10
sortie visée pour Drupal 12
exigée par Drupal 11
anticipée pour Drupal 11
Drupal 11 tout de suite, ou patienter pour Drupal 12 ?
Mon verdict est sans ambiguïté : prenez le cap de Drupal 11 dès maintenant. Voici les trois arguments qui le justifient.
1. L'arrêt de Drupal 10 ne bougera pas
Le 9 décembre 2026, le suivi communautaire de Drupal 10 s'achève et les correctifs de sécurité cessent. Cette échéance ne dépend nullement du calendrier réel de Drupal 12 : même si ce dernier était décalé jusqu'en décembre 2026, la fin de Drupal 10 resterait gravée à cette même date. Tout report de la migration au-delà laisse votre site exposé sans filet de sécurité.
2. De Drupal 11 à Drupal 12, la marche sera basse
Les responsables du cœur ont renvoyé à Drupal 13, vers 2028, les suppressions d'API les plus brutales initialement prévues pour Drupal 12. Résultat : franchir le pas de Drupal 11 à Drupal 12 le moment venu se révélera nettement plus léger que le saut depuis Drupal 10. Choisir Drupal 11 aujourd'hui, c'est en quelque sorte régler deux montées de version d'un seul effort.
3. Les modules contrib ont eu le temps de mûrir
Drupal 11 circule depuis août 2024. À l'heure où j'écris, en mai 2026, l'écosystème contrib dispose donc de près de deux années de recul. La grande majorité des modules incontournables — Webform, Paragraphs, Pathauto, Token, Metatag, Views, Search API et compagnie — proposent des versions stables alignées sur Drupal 11. Quant aux quelques traînards, ils sont repérés et leurs équivalents bien documentés.
Les rares cas où viser Drupal 12 directement se défend
Quelques configurations peuvent justifier d'attendre Drupal 12 : un Drupal 10 tout récent disposant d'une marge confortable au-delà de décembre 2026 (de fait inenvisageable, puisque l'arrêt est figé), un site voué de toute manière à une refonte de fond en comble (autant viser directement Drupal 12), ou encore une plateforme presque dépourvue de code custom avec un budget serré. Ces situations restent l'exception.
Le socle technique exigé par Drupal 11
Drupal 11 a rehaussé la barre sur plusieurs briques de sa pile. Passer ces points en revue avant le coup d'envoi vous épargne les mauvaises surprises de dernière minute.
PHP 8.3 comme plancher
Il faut au minimum PHP 8.3, le cœur s'appuyant désormais sur des fonctions et signatures propres à cette mouture. Les hébergeurs dignes de ce nom proposent PHP 8.3 et 8.4 depuis la fin 2024. Contrôlez donc la version active chez le vôtre avant d'entamer quoi que ce soit. Sur les mutualisés type OVH ou Infomaniak, PHP 8.3 se choisit directement depuis le panneau de gestion.
Symfony 7 en soubassement
Drupal 11 repose sur Symfony 7, là où Drupal 10 restait en Symfony 6. Le changement frappe surtout le code custom qui sollicite directement des briques Symfony comme HTTP Foundation, le Validator ou l'injection de dépendances. Des appels tels que Request::get() doivent céder la place aux accesseurs typés. Référez-vous à la documentation Drupal officielle consacrée aux dépréciations Symfony 7.
Composer 2 obligatoire
La gestion des dépendances passe impérativement par Composer 2 ; sa version 1 a été abandonnée depuis belle lurette. Lancez un composer --version sur votre poste comme sur la machine de déploiement pour lever tout doute.
Moteurs de base de données
Côté stockage, Drupal 11 valide officiellement MySQL 8.0 et au-delà, MariaDB 10.6 et plus, PostgreSQL 16 et plus, ainsi que SQLite 3.45 et plus. Tout ce qui précède sort du périmètre testé par le cœur. Cas typique : MariaDB 10.4, encore répandue chez certains prestataires, n'est plus prise en charge et impose une montée de version côté hébergement.
Drush 13 ou supérieur conseillé
Drush 13 s'accorde parfaitement avec Drupal 11. Drush 12 tourne encore, mais bride certaines commandes de migration. Faire évoluer Drush en même temps que Drupal fluidifie le pilotage en ligne de commande et les déploiements automatisés.
Passer de Drupal 10 à Drupal 11
C'est le scénario que je rencontre le plus souvent. Sur le papier, ce saut s'effectue sur place, sans rebâtir le site, mais il réclame tout de même une série d'ajustements en amont.
Étape 1 : inventorier les dépréciations
Je commence par exécuter le module officiel Upgrade Status sur l'installation Drupal 10. Son rapport recense les API obsolètes mobilisées par votre code maison ainsi que les modules contrib qui ne tournent pas encore sous Drupal 11. C'est la matière première du plan d'action. Selon le volume de code, traiter chaque alerte demande de quelques heures à quelques journées.
Étape 2 : actualiser les modules contrib
Avant de toucher au cœur, je porte l'ensemble des modules contrib à leur dernière version Drupal 10 compatible Drupal 11 — la plupart proposent une mouture qui supporte les deux. Cette précaution fait fondre les conflits au moment du basculement du cœur. Chaque mise à jour est éprouvée sur un environnement de pré-production avant tout déploiement.
Étape 3 : ajuster les modules custom
Pour chaque module maison signalé par Upgrade Status, je substitue les API obsolètes, je corrige les déclarations info.yml (core_version_requirement: ^10 || ^11), puis je teste. Sur les modules les plus tortueux, je mets en place des tests automatisés avant la bascule afin de débusquer toute régression.
Étape 4 : basculer le cœur
Côté Composer : composer require drupal/core-recommended:^11.0 drupal/core-composer-scaffold:^11.0 drupal/core-project-message:^11.0 --update-with-all-dependencies, enchaîné par drush updatedb et drush cache:rebuild. Quand la préparation a été menée proprement, l'opération en production ne dure que quelques minutes.
Étape 5 : recetter et valider
Je déroule alors les tests de non-régression sur les parcours métier sensibles, je contrôle les droits d'accès, j'éprouve les connexions externes (CRM, ERP, services tiers) et je vérifie l'accessibilité RGAA comme les Web Vitals. Le moindre écart est consigné en vue d'un ajustement après la mise en ligne.
Rejoindre Drupal 11 depuis Drupal 9 ou plus ancien
Drupal 9 n'est plus maintenu depuis novembre 2023 : zéro suivi communautaire, aucun correctif de sécurité. Le cœur ne propose pas de trajet direct entre Drupal 9 et Drupal 11. Restent deux pistes.
Piste 1 : faire escale par Drupal 10
L'itinéraire balisé enchaîne Drupal 9 vers Drupal 10, validation, puis Drupal 10 vers Drupal 11. Son atout : chaque palier est documenté et épaulé par le cœur. Son revers : deux migrations à la suite, donc deux fenêtres de bascule, deux campagnes de tests et une facture globale plus salée. Je le recommande quand le site est touffu et que l'on souhaite cantonner les risques étape par étape.
Piste 2 : reconstruire directement sur Drupal 11
Lorsque le modèle de contenu d'un site Drupal 9 doit de toute manière changer de visage, ou que son architecture commence à dater, repartir d'une page blanche sous Drupal 11 — en réinjectant les données via API REST, JSON API ou CSV — se révèle parfois plus rapide et plus net qu'une migration en cascade. La dépense peut être équivalente pour un résultat plus soigné. Je la privilégie si une révision de l'architecture est déjà à l'ordre du jour.
Le cas de Drupal 7 et des versions antérieures
Drupal 7 a quitté le support communautaire le 5 janvier 2025, sans plus aucun correctif de sécurité. Je détaille tout cela dans ma ressource dédiée à la fin de vie de Drupal 7 et aux options de migration. En résumé : on rejoint Drupal 10 grâce au module Migrate Drupal du cœur, puis on poursuit vers Drupal 11. Ou bien l'on repart à neuf sous Drupal 11, ce qui s'avère fréquemment préférable tant les approches de Drupal 7 et de Drupal 11 diffèrent.
Ma démarche de migration en quatre temps
Une migration vers Drupal 11 menée proprement s'articule en quatre temps qui s'enchaînent, à moduler selon l'ampleur du site et vos impératifs métier.
Temps 1 - Diagnostic
- Recensement des modules contrib et vérification de leur statut Drupal 11
- Examen des modules custom via Upgrade Status, complété d'une relecture du code
- Étude de la base (volumétrie, schéma, contenus laissés à l'abandon)
- Cartographie des liaisons externes (CRM, ERP, services tiers)
- Feuille de route chiffrée hiérarchisant priorités et risques repérés
Temps 2 - Mise en condition
- Montée des modules contrib vers des versions compatibles D10 et D11 à la fois
- Reprise du code custom (dépréciations Symfony 7, info.yml, hooks périmés)
- Substitution des modules contrib incompatibles par leurs équivalents
- Bascule de l'environnement de pré-production en PHP 8.3
- Tests automatisés couvrant les parcours métier névralgiques
Temps 3 - Bascule du cœur
- Réplication d'une copie de production sur la pré-production
- Montée du cœur vers Drupal 11 pilotée par Composer
- Lancement de
drush updatedbpuis contrôles post-bascule - Recette fonctionnelle exhaustive : parcours visiteurs et liaisons tierces
- Essais de montée en charge pour les sites très sollicités
Temps 4 - Mise en ligne et consolidation
- Scénario de bascule précis (créneau, dispositif d'astreinte, retour arrière)
- Mise en production avec ou sans interruption (voir mon guide migration sans coupure)
- Surveillance rapprochée durant les tout premiers jours en ligne
- Corrections appliquées aux écarts relevés une fois en production
- Bilan de l'opération et documentation transmise pour la TMA
Budget et calendrier d'un passage à Drupal 11
Voici les fourchettes que j'observe pour une migration confiée à un développeur Drupal aguerri. Les montants fluctuent selon la sophistication du site, la quantité de code sur-mesure et les liaisons avec des systèmes extérieurs.
Drupal 10 sans complication
CMS éditorial, modules contrib usuels, très peu de sur-mesure. 8 000 à 18 000 € HT, 4 à 8 semaines. C'est de loin le cas le plus répandu. L'essentiel de la charge tient à l'actualisation des modules contrib et à la validation de l'absence de régression.
Drupal 10 chargé en sur-mesure et liaisons
Modules métier maison, branchements CRM/ERP, gestion multilingue, circuits éditoriaux élaborés. 18 000 à 45 000 € HT, 8 à 16 semaines. La reprise du code custom et la revalidation des connexions deviennent alors le gros du chantier.
Drupal 9 ou version plus vénérable
Migration en deux temps (Drupal 9 vers Drupal 10 puis Drupal 10 vers Drupal 11) ou reconstruction directe sous Drupal 11. 25 000 à 80 000 € HT, 12 à 24 semaines. Le tarif dépend surtout de l'arbitrage entre cascade et refonte, et de la complexité du modèle de contenu.
Plateforme très fréquentée, bascule sans interruption
Approche blue-green ou canary, dédoublement provisoire de l'infrastructure, essais de charge. Comptez 15 à 30 % de plus que la base. Cela se justifie dès qu'une coupure coûterait plus cher que ce surcoût : commerce en ligne à fort chiffre horaire, services publics ouverts en continu, sites internationaux étalés sur plusieurs fuseaux. Voir le guide migration sans coupure.
Les pièges à éviter
Foncer en production sans pré-production
Tenter la bascule directement sur le site en ligne, sans copie d'essai, reste de très loin le premier déclencheur d'incidents que j'observe. Disposer d'un clone calqué sur la production — même version de PHP, même moteur de base, même jeu de modules — ouvre un terrain où l'on rejoue l'opération en toute tranquillité. Les hébergeurs dignes de ce nom proposent ce type d'espace à la demande, voire compris dans la formule.
Oublier de remplacer les modules sans suite
Une poignée de modules contrib très installés sous Drupal 10 n'ont pas de version Drupal 11 : certains ont cédé la place à des successeurs, d'autres ont été absorbés par le cœur. Faire l'impasse sur ce recensement au moment de l'audit, c'est s'exposer à de mauvaises surprises tardives qui font glisser le planning. Le rapport d'Upgrade Status les pointe pourtant sans exception.
Trop de modules contrib empilés
Nombre de sites Drupal ont vu leur liste de modules contrib enfler année après année sans jamais de ménage. Le moment de migrer est idéal pour dresser l'inventaire et débrancher tout ce qui ne sert plus. Un parc allégé, c'est une migration plus rapide, une exposition aux attaques réduite et des temps de réponse meilleurs.
Couverture de tests trop maigre sur le custom
Le code sur-mesure concentre presque toujours les premiers grains de sable d'une migration. Dans l'idéal, je veux des tests automatisés (PHPUnit, Behat) embrassant les parcours sensibles avant de basculer. Quand un module maison n'en possède aucun, écrire ces tests à cette occasion finit toujours par se rentabiliser au fil du temps.
Minimiser le temps de recette
Migrer vers Drupal 11 ne se résume pas à pousser le cœur. La recette fonctionnelle — parcours visiteurs, permissions, contenus, liaisons tierces, accessibilité, performance — réclame fréquemment davantage de temps que l'opération technique elle-même. Je réserve au bas mot 25 à 40 % de l'enveloppe globale à cette étape.
Ma façon de mener une migration
Je pratique les migrations Drupal depuis l'époque de Drupal 7, et je reste votre interlocuteur unique du diagnostic à la mise en ligne. J'ai notamment accompagné un portail national d'information publique de l'État, soumis à plus de deux millions de visites mensuelles et fort de plus de 200 000 contenus, sur plusieurs cycles de montée de version. Ici, pas d'agence ni d'équipe à coordonner : un seul expert senior, qui maîtrise aussi bien l'intégration Drupal que le développement Symfony, prend personnellement votre projet en main.
Mon credo, c'est la prévisibilité. Tout démarre par un audit chiffré, suivi d'un plan de migration écrit noir sur blanc, d'environnements de pré-production calqués sur le réel, de tests automatisés sur le code sur-mesure et d'une recette fonctionnelle conduite sans exception avant chaque bascule. Aucun « big-bang », aucune rallonge tarifaire qui tombe en cours de route.
Une bascule Drupal qui se passe bien se joue dans les semaines qui la précèdent, jamais le jour J. Ce que l'on déterre la veille de la mise en production aurait, neuf fois sur dix, pu être repéré bien plus tôt par un audit mené avec sérieux.
Driss Redouane, expert web indépendant — ReydenWeb
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é.