---
title: "Mise à jour de Drupal 8 vers Drupal 9 : le mode d'emploi"
description: En novembre 2021, Drupal 8 est arrivé en fin de vie. Migrer vers Drupal 9 est impératif ! Voici le mode d'emploi pour une mise à jour vers Drupal 9.
---

[Le Blog technique d'Adimeo ](https://www.adimeo.com/blog-technique)

# [Mise à jour de Drupal 8 vers Drupal 9 : le mode d'emploi](https://www.adimeo.com/blog-technique/mise-a-jour-drupal-8-vers-drupal-9-mode-demploi)

 Rédigé par [Sarven Gostanyan](https://www.adimeo.com/blog-technique/author/sarven-gostanyan) | Jan 26, 2022 8:22:26 AM

Cela signifie que si vous n'avez pas encore **migré vers Drupal 9**, vous avez tout intérêt à vous lancer sans plus attendre !

Nous décrivons ici les étapes nécessaires pour effectuer la mise à jour de Drupal 8 vers Drupal 9, à savoir : l'installation du module [upgrade status](https://www.drupal.org/project/upgrade_status/), la mise à jour des modules *contrib* puis des modules *custom* et enfin la mise à jour du Core vers [Drupal 9](https://www.adimeo.com/blog/se-preparer-a-drupal-9).

Voici pour commencer les **pré-requis système** :

- **Nginx** : version 0.7.x minimum ;
- **Apache** : version 2.4.7 minimum ;
- **PHP** : 
    - PHP 7.3 à 7.4 ;
    - PHP 8 : à partir de Drupal 9.1.
- **Base de données** : 
    - MySQL ou Percona : version 5.7.8 minimum ;
    - MariaDB : version 10.3.7 minimum ;
    - SQLite : version 3.26 minimum ;
    - PostgreSQL : version 10 minimum.

 

 

## 1. L'installation du module "Upgrade Status"

Pour aider à la migration, il existe un **module contrib "Upgrade Status"**, capable d'analyser le projet Drupal et de fournir un rapport de compatibilité.

Installez le module avec composer (et activez-le) :

```
composer require 'drupal/upgrade_status'
```

Depuis le back office (`/admin/reports/upgrade-status`) vous pouvez consulter le **rapport d'analyse :**

Le rapport se compose de 5 grandes parties :

- Les **pré-requis** (systèmes et configurations) ;
- Les modules installés **compatibles** ;
- Les modules installés, **compatibles en effectuant une mise à jour** ;
- Les modules installés **non compatibles** (modules contrib dont il n'existe aucune version compatible) ;
- Les modules installés dont **la comptabilité n'a pas pu être déterminée** (modules custom principalement).

L'étape suivante consiste à **corriger tous les points relevés** :

- Corriger les pré-requis ;
- Mettre à jour les modules contrib compatibles ;
- **Déterminer une stratégie pour les modules contrib non compatibles** : développement d'un patch, remplacement du module par un autre, développer un module custom équivalent ou bien décider de se passer de la fonctionnalité ;
- Corriger le code des modules custom pour les rendre compatibles.

 

## 2. La mise à jour des modules contrib

Le rapport fournit pour chaque module compatible, **la version à installer et le lien version des "issues" connues**. Il suffit simplement d'effectuer les mises à jour avec composer.

 

## 3. La mise à jour des modules custom

Pour la mise à jour des modules custom, utilisez **l'outil de scan**. Sélectionnez un module dans la liste et lancez un scan. L'outil vous indique quelles corrections apporter :

Une fois que tous les problèmes ont été corrigés, vous pouvez passer à la montée de version du Core.

 

## 4. La mise à jour du Core vers Drupal 9

Avec composer, on requière les **packages** nécessaires :

```
composer require 'drupal/core-recommended:^9' 'drupal/core-composer-scaffold:^9' 'drupal/core-project-message:^9' --update-with-dependencies --no-update
```

 

Pour **éviter les problèmes de dépendance mutuelle**, ne faites pas immédiatement la mise à jour des paquets (option `--no-update`). Modifiez seulement le fichier `composer.json`.

Si `drupal/core-dev` est utilisé dans le projet :

```
composer require 'drupal/core-dev:^9' --dev --update-with-dependencies --no-update
```

Vous pouvez maintenant lancer la mise à jour :

```
composer update
```

 

Pour finir, exécutez les commandes drush :

```
drush updatedb
drush cr
```

Vous avez maintenant effectué la mise à jour de Drupal 8 vers Drupal 9 !

Si vous rencontrez quelques difficultés techniques, notamment pour la migration vers Drupal 9, [faites appel à nos experts Drupal](https://www.adimeo.com/adimeo-agence-migration-vers-drupal-9).

[Voir l'article complet](https://www.adimeo.com/blog-technique/mise-a-jour-drupal-8-vers-drupal-9-mode-demploi)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Sarven Gostanyan"
  },
  "dateModified" : "2022-09-12T13:23:30.187Z",
  "datePublished" : "2022-01-26T08:22:26Z",
  "headline" : "Mise à jour de Drupal 8 vers Drupal 9 : le mode d'emploi",
  "image" : {
    "@type" : "ImageObject",
    "height" : 836,
    "url" : "https://blog.comexplorer.com/hubfs/ADIMEO/Blog%20technique/mise%20a%CC%80%20jour%20drupal%208%20vers%20drupal%209.webp",
    "width" : 1254
  },
  "mainEntityOfPage" : "https://www.adimeo.com/blog-technique/mise-a-jour-drupal-8-vers-drupal-9-mode-demploi",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60,
      "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
      "width" : 60
    },
    "name" : "Le Blog technique d'Adimeo"
  }
}
```