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
oucomposer.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.
Comentarios