Comment utiliser Composer dans des projets Drupal : guide avancé

By Nacho Morato, 4 July, 2025

Si vous travaillez avec des sites web développés sous Drupal, vous avez sûrement déjà entendu parler de Composer. Cet outil est devenu indispensable pour la gestion de projets PHP, surtout si vous souhaitez maintenir vos dépendances à jour et garder votre code bien organisé. Dans le cas de Drupal, Composer n’est pas seulement utile : c’est désormais la méthode recommandée pour installer et entretenir aussi bien le cœur que les modules, thèmes et autres bibliothèques.

Dans cet article, nous vous expliquons en détail comment utiliser Composer avec Drupal : de son installation à la gestion des mises à jour, en passant par la création de nouveaux projets et la résolution de conflits. Que vous débutiez ou désiriez consolider vos connaissances, voici un guide complet avec tout ce qu’il faut savoir.

Qu’est-ce que Composer et pourquoi est-il essentiel dans les projets Drupal ?

Composer est un gestionnaire de dépendances pour PHP qui vous permet de déclarer les bibliothèques dont votre projet a besoin et de les installer automatiquement avec les versions correspondantes. Dans l’écosystème Drupal, Composer est devenu la norme pour installer le cœur, les modules et les thèmes, remplaçant les méthodes manuelles d’autrefois.

Son grand avantage est que Composer résout pour vous les dépendances entre projets, évitant les conflits et permettant des mises à jour contrôlées. Il gère en outre un fichier composer.lock qui garantit que tous les environnements utilisent exactement les mêmes versions de chaque paquet.

Installation de Composer sur votre système

Avant de travailler avec Composer, vous devez l’installer sur votre système d’exploitation. Suivez pour cela la documentation officielle sur getcomposer.org. Une fois l’installation terminée, vérifiez son bon fonctionnement en tapant dans le terminal :

composer --version

Si vous obtenez une réponse avec le numéro de version, Composer est prêt à l’emploi. Vous pouvez également taper simplement composer pour afficher la liste des commandes disponibles.

Créer un nouveau projet Drupal avec Composer

La manière la plus efficace – et recommandée – de démarrer un site Drupal est d’utiliser un projet de base via Composer. Le modèle le plus populaire actuellement est drupal/recommended-project.

Pour lancer un nouveau projet, exécutez tout simplement :

composer create-project drupal/recommended-project nom-du-projet

Cette commande crée un nouveau dossier portant ce nom, télécharge le cœur de Drupal et pose la structure recommandée afin de garder votre code bien ordonné.

Si vous souhaitez utiliser une version précise de Drupal, indiquez-la ainsi :

composer create-project drupal/recommended-project:^10.0 nom-du-projet

Configuration du fichier composer.json

Le fichier composer.json est le cœur de votre projet. Il déclare toutes les dépendances dont votre site a besoin et la manière de les installer. Il doit impérativement contenir des réglages adéquats, comme :

  • Le dépôt de Drupal.org dans le tableau repositories.
  • La clé installer-paths pour définir où placer modules, thèmes et profils.

Ce fichier peut aussi inclure des métadonnées (nom, version, licence, description). Lorsque vous ajoutez des dépendances, Composer met automatiquement à jour ce fichier et le composer.lock.

Installer des modules ou des thèmes avec Composer

Pour installer un nouveau module, il suffit de connaître son nom machine sur Drupal.org et d’exécuter :

composer require drupal/nom_du_module

Cette commande télécharge le module ainsi que ses dépendances. Par exemple, pour installer Token :

composer require drupal/token

Vous pouvez également préciser la version :

composer require drupal/token:^1.1.0

Mettre à jour modules et thèmes avec Composer

Pour garder vos modules à jour, Composer simplifie grandement la démarche. Exécutez simplement :

composer update drupal/nom_du_module

Pour mettre à jour aussi les dépendances du module, ajoutez --with-all-dependencies :

composer update drupal/nom_du_module --with-all-dependencies

Besoin de forcer une version minimale du cœur Drupal ? Par exemple :

composer require drupal/core:^10.0 --update-with-all-dependencies

Pour mettre à jour l’ensemble du projet selon les contraintes de version :

composer update

Convertir un projet existant pour utiliser Composer

Si vous gérez un site Drupal sans Composer et souhaitez le migrer, il existe des outils tels que :

  • Le plugin Composerize pour Drupal
  • Le module Composerize

Si ces solutions ne suffisent pas, vous pouvez procéder manuellement : créer un composer.json à partir de zéro, ajouter vos dépendances une à une, puis lancer composer install.

Utiliser Upgrade Status et Drupal Check avant une mise à niveau majeure

Avant de passer à une version majeure – par exemple vers Drupal 10 – il est conseillé d’analyser la compatibilité de votre installation. Deux outils phares :

  • Upgrade Status : analyse votre site et signale modules non compatibles, fonctions obsolètes, erreurs dans les fichiers .info.yml ou composer.json.
  • Drupal Check : outil d’analyse statique qui détecte les appels à des fonctions obsolètes ou incompatibles.

Installez Upgrade Status via Composer :

composer require drupal/upgrade_status:4.x-dev --dev

Et Drupal Check :

composer require mglaman/drupal-check
php vendor/bin/drupal-check

Gestion des versions de PHP

Drupal 10 exige au minimum PHP 8.1. Vous pouvez l’imposer à votre projet en ajoutant :

composer require php:"^8.1" --no-update

Vous pouvez aussi définir la version de plateforme pour simuler un environnement précis :

composer config platform.php 8.1

Cela s’avère utile dans les pipelines d’intégration continue ou sur des machines locales aux versions différentes.

Résoudre les conflits lors de la mise à jour du cœur Drupal

Lors d’une mise à jour majeure (par exemple de Drupal 9 vers 10), Composer peut détecter des incompatibilités entre dépendances. Il vous affichera alors la liste des paquets en conflit.

Par exemple, un conflit avec Devel se corrige ainsi :

composer require drupal/devel:^5.0 --no-update
composer update

Répétez l’opération pour chaque conflit jusqu’à finaliser la mise à niveau. Il peut être nécessaire d’utiliser des versions de développement ou d’appliquer des correctifs provenant de Drupal.org.

Autoload et structure du projet

Composer génère automatiquement un fichier autoload.php que vous pouvez inclure dans votre code pour charger toutes les bibliothèques installées. Par exemple, dans un index.php :

require 'vendor/autoload.php';

Très pratique pour des librairies comme Kint lors du débogage :

d($variable);

De plus, Composer organise toutes vos dépendances dans le dossier vendor et garde votre dépôt propre, car il n’est plus nécessaire de téléverser manuellement les modules.

Gestion de la suppression des dépendances

Besoin de retirer une bibliothèque ou un module ? Supprimez-le simplement de la section require dans composer.json, puis exécutez :

composer update

Composer se charge alors de supprimer les fichiers et dépendances devenus inutiles.

Cette approche rend le travail avec Drupal plus efficace : votre projet reste structuré, compatible et facile à maintenir. Maîtriser Composer est une étape clé pour tout développeur souhaitant optimiser son flux de travail et garantir la qualité de ses implémentations Drupal.

Etiquetas

Comentarios