Migrer de Drupal 6 à 7

Passer d'une version x.y  de Drupal à une version x.z n'est pas toujours sans surprises, mais passer de Drupal 6 à Drupal 7 est une opération encore plus délicate.

La convivialité de Drupal 7 est cependant un argument suffisant pour faire le grand saut. Bien sûr plus le site est élaboré plus les ajustements seront conséquents.

  • La première étape consiste à mettre à jour le corps de Drupal 6 ainsi que tous les modules additionnels avec leur dernière version.
  • Vérifier la disponibilité des modules et thèmes additionnels en version 7. Il faut noter que le module additionnel CCK  dans Drupal 6 fait partie du noyau de Drupal 7. Si un module manque en version 7, il faudra attendre qu'il soit disponible pour faire la migration.
  • Se loguer comme administrateur.
  • Mettre le site Drupal 6 Off-line dans Administrer-->Configuration du site-->Maintenance du site  et faire une sauvegarde suivant la prcédure décrite dans la Sauvegarde du site.
  • Choisir le Thème "Garland" par défaut dans Administrer-->Construction du site-->Themes.
  • Aller dans Administrer-->Construction du site-->Modules et désactiver tous les modules optionnels. Comme certains modules optionnels dépendent les uns des autres cette opération de désactivation peut réclamer plusieurs itérations avant qu'ils soient tous désactivés.
  • Accéder au serveur à l'aide de FileZilla, changer le nom du fichier default.settings.php en OLD_default.settings.php par exemple, ce fichier se trouve dans web/sites/default/default.settings.php.
  • Supprimer tous les fichiers et répertoires  de l'ancien coeur de Drupal 6, à l'exception du répertoire "sites" et des fichiers particuliers que vous avez ajoutés.
  • Si ce n'était pas le cas précédemment tous les modules ou thèmes additionnels de Drupal 7 doivent impérativement être rangés dans le répertoire web/sites/all/ dans lequel (si ce n'est pas déjà fait) on crée des nouveaux dossiers : modules et themes. Ainsi les modules et thèmes de base ne seront pas classés avec les modules additionnels. 
  • Si des modifications ont été effectuées dans .htaccess ou dans robots.txt ne pas copier ces fichiers du corps de Drupal 7, ou  si cela a été fait les récupérer dans la dernière sauvegarde.
  • Si un modules additionnel de Drupal 6 est incompatible avec Drupal 7, il faut le supprimerdu dossier web/sites/all/modules.
  • Télécharger Drupal 7 sur drupal.org. et décompresser le fichier zip et copier l'ensemble sur le serveur.  
  • Si nécessaire recopier les fichiers particuliers tels que .htaccess ou robots.txt.
  • Changer les droits d'accès au fichier default.settings.php dans web/sites/default/ pour permettre l'écriture et autoriser la mise à jour et la conversion au format de Drupal 7.
  • Lancer un update.php. Si l'accès à l'update est impossible, procéder de la façon suivante :
  1. Ouvrir le settings.php avec un éditeur de texte.
  2. Trouver la ligne qui dit :
    $update_free_access = FALSE ;
  3. La remplacer par :
    $update_free_access = TRUE ;
  4. Lorsque l'update est terminé revenir à :
    $update_free_access = FALSE ;

Bon courage