WebSentinel.
Tutoriels

Migration Drupal 7 vers 10 : guide technique 2026

· Nicolas Pivaut

Drupal 7 est en fin de vie depuis janvier 2025. Plus de correctifs de sécurité officiels. Plus de mises à jour de modules. Plus de support de la communauté.

Si votre site est encore sous Drupal 7, vous roulez sur une route sans freins.

La migration vers Drupal 10 (ou 11) n’est pas une simple mise à jour. C’est un projet complet qui demande une méthode rigoureuse.

Pourquoi Drupal 7 → 10 n’est pas une mise à jour

Drupal 8 a complètement réécrit le core. L’architecture est passée de procédurale à objet (Symfony). Le système de thèmes a changé (Twig). La gestion des configurations est devenue native.

Résultat : il n’existe pas de chemin de mise à jour directe. On ne peut pas cliquer sur “Mettre à jour” et espérer que tout fonctionne.

La migration se fait en deux phases :

  1. Migration du contenu : exporter les données de Drupal 7 et les importer dans Drupal 10
  2. Reconstruction fonctionnelle : réécrire les modules personnalisés et recréer le thème

Phase 1 : audit de l’existant Drupal 7

Avant de commencer, il faut savoir exactement ce qu’on migre.

Inventaire complet

  • Contenu : types de contenu, champs, taxonomies, vocabulaires
  • Utilisateurs : rôles, permissions, profils
  • Modules contrib : liste exhaustive avec versions
  • Modules custom : code maison, fonctionnalités métier
  • Thème : templates, CSS, JS, régions
  • Configuration : vues, blocs, menus, URL aliases
  • Médias : fichiers, images, documents

Sans cet inventaire, la migration est un saut dans l’inconnu.

Évaluation de la dette technique

Certains modules Drupal 7 n’ont pas d’équivalent sous Drupal 10. D’autres ont été intégrés au core. Il faut évaluer chaque module :

  • Existe sous D10 : migration simple
  • Fusionné dans le core : réécrire la configuration
  • Abandonné sans remplaçant : développer une solution sur mesure
  • Module custom : réécrire complètement

Phase 2 : préparation de l’environnement Drupal 10

Installation propre

  1. Installez Drupal 10 sur un nouvel environnement
  2. Créez les types de contenu correspondant à ceux de Drupal 7
  3. Créez les vocabulaires de taxonomie
  4. Configurez les rôles et permissions de base

Modules de migration

Installez les modules core nécessaires :

  • Migrate
  • Migrate Drupal
  • Migrate Drupal UI
  • Migrate Plus
  • Migrate Tools

Ces modules fournissent les outils pour lire la base Drupal 7 et écrire dans la base Drupal 10.

Phase 3 : migration du contenu

Connexion à la base Drupal 7

Dans settings.php de Drupal 10, ajoutez la connexion à l’ancienne base :

$databases['migrate']['default'] = array (
  'database' => 'ancienne_base_drupal7',
  'username' => 'utilisateur',
  'password' => 'mot_de_passe',
  'host' => 'localhost',
  'driver' => 'mysql',
);

Exécution des migrations

Drupal 10 fournit des migrations prêtes à l’emploi pour :

  • Utilisateurs et rôles
  • Taxonomies et termes
  • Types de contenu et nœuds
  • Fichiers et médias
  • URL aliases
  • Menus

Commande Drush :

drush migrate:import --all

Attention : les migrations échouent souvent à la première tentative. Les modules custom, les champs complexes, et les relations entre entités créent des erreurs qu’il faut résoudre une par une.

Phase 4 : migration des modules personnalisés

C’est la partie la plus complexe. Les modules custom Drupal 7 ne fonctionnent pas sous Drupal 10.

Ce qui change

  • Hooks : la plupart des hooks existent toujours, mais certains ont été remplacés par des événements Symfony
  • Base de données : passage de DBTNG (Drupal Database API) à Doctrine DBAL
  • Formulaires : passage de hook_form à la classe FormBase
  • Blocs : passage de hook_block_info à la classe BlockBase
  • Thème : passage de PHPTemplate à Twig

Stratégie de réécriture

Pour chaque module custom :

  1. Analysez les fonctionnalités du module D7
  2. Identifiez les équivalents sous D10
  3. Réécrivez le module en utilisant les classes et services Drupal 10
  4. Testez chaque fonctionnalité isolément

Ne migrez pas le code ligne par ligne. Réécrivez en repartant des besoins métier.

Phase 5 : recréation du thème

Le thème Drupal 7 est incompatible avec Drupal 10.

Nouveau thème

  1. Créez un thème personnalisé sous Drupal 10 (base : stable9 ou olivero)
  2. Recréez les templates Twig correspondant à vos types de contenu
  3. Réintégrez le design (CSS, JS, images)
  4. Configurez les régions et les blocs

Préservation du design

Si le design actuel est satisfaisant, on peut le recréer fidèlement sous Drupal 10. Si le design est daté, la migration est l’occasion de moderniser l’interface.

Phase 6 : tests et validation

Avant de mettre en production, testez exhaustivement :

  • Tous les types de contenu s’affichent correctement
  • Les taxonomies fonctionnent
  • La recherche renvoie des résultats
  • Les formulaires (contact, inscription) fonctionnent
  • Les URL sont préservées (ou redirigées)
  • Le SEO n’est pas dégradé (balises meta, structured data)
  • Les performances sont au moins équivalentes
  • L’accessibilité est respectée

Testez aussi la montée en charge. Drupal 10 est plus rapide que Drupal 7, mais une mauvaise configuration peut annuler cet avantage.

Délais et budget

Une migration Drupal 7 → 10 prend généralement :

  • Site vitrine simple : 2 à 4 semaines
  • Site institutionnel moyen : 1 à 2 mois
  • Plateforme complexe : 3 à 6 mois

Le coût dépend de la quantité de contenu, du nombre de modules custom, et de la complexité du thème.

Notre approche de la migration Drupal

Chez WebSentinel, nous migrons Drupal 7 vers 10/11 régulièrement. Notre méthode :

  1. Audit complet de l’existant (contenu, modules, custom code)
  2. Plan de migration détaillé avec estimation des risques
  3. Migration du contenu avec validation intermédiaire
  4. Réécriture des modules custom en Drupal 10 natif
  5. Reconstruction du thème (fidélité ou modernisation)
  6. Tests SEO pour préserver le référencement
  7. Mise en production avec rollback possible

Notre maintenance Drupal inclut le suivi des migrations et la gestion des dépendances Composer pour éviter que la situation ne se reproduise.

Ressources complémentaires

Articles similaires

Conformité légale

Bouton de rétractation conforme

Module sur-mesure + installation + support 12 mois. WooCommerce, PrestaShop, Shopify. 149 €.

En savoir plus