Gestion de Drupal avec Composer

Blogue DrupalTM 

Bienvenue sur notre blogue Drupal! Restez à jour avec les dernières nouvelles de Drupal, les meilleures pratiques et techniques

Composer est un outil de gestion des dépendances pour les projets PHP et est essentiel pour gérer Drupal et ses dépendances, y compris les modules, thèmes et bibliothèques. Assurez-vous que Composer est installé sur votre machine locale avant d'exécuter des commandes Composer.

Installation de Drupal

Pour Drupal 10 :

Utilisez la commande suivante pour créer un nouveau projet Drupal :

composer create-project drupal/recommended-project my_site_name

Pour Drupal 7 :

composer create-project drupal-composer/drupal-project:7.x-dev -n my_site_name

Cela créera un projet dans le répertoire my_site_name, téléchargeant automatiquement la dernière version stable de Drupal et de ses dépendances. La racine web sera le répertoire my_site_name/web.

Spécifier une Version

Pour télécharger une version spécifique de Drupal, ajoutez le numéro de version :

composer create-project drupal/recommended-project:9.3.12 my_site_name

Pour la dernière version d'une série spécifique :

composer create-project drupal/recommended-project:^9.3 my_site_name

Utilisation de Docker

Si vous utilisez un flux de travail basé sur Docker :

docker run --rm -i --tty -v $PWD:/app composer create-project drupal/recommended-project my_site_name --ignore-platform-reqs

Installation de Drupal

Via Interface Web :

Après le téléchargement, naviguez vers l'URL de votre site pour démarrer le processus de configuration, qui comprend l'entrée des informations de la base de données et la création d'un utilisateur admin.

Via Ligne de Commande :

Ajoutez Drush à votre projet :

composer require drush/drush

Installez Drupal en utilisant Drush :

drush site:install

Fonction de Démarrage Rapide

Pour une démonstration rapide du site :

php ./web/core/scripts/drupal quick-start demo_umami

Installation Modifiée

Pour modifier composer.json avant l'installation :

Exécutez :

composer create-project --no-install drupal/recommended-project my_site_name

Modifiez composer.json selon vos besoins.

Exécutez :

composer install

Gestion des Modules et Thèmes

Téléchargement de Modules et Thèmes :

Pour télécharger des modules ou thèmes contribués :

composer require drupal/module_name

Exemple :

composer require drupal/token

Spécifier une Version :

composer require 'drupal/module_name:^1.5'

Définir des Répertoires Personnalisés

Modifiez la section installer-paths de composer.json :

"extra": {    "installer-paths": {        "modules/contrib/{$name}": ["type:drupal-module"],        "themes/contrib/{$name}": ["type:drupal-theme"]    } }

Téléchargement de Bibliothèques Tiers

Ajoutez Asset Packagist pour gérer les paquets JavaScript et CSS tiers :

Ajoutez les Extendeurs d'Installateurs Composer :

composer require oomphinc/composer-installers-extender

Ajoutez Asset Packagist à la section "repositories" de composer.json :

"repositories": [    {        "type": "composer",        "url": "https://asset-packagist.org"    } ]

Mettez à jour la section installer-paths :

"extra": {    "installer-paths": {        "web/libraries/{$name}": [            "type:drupal-library",            "type:npm-asset",            "type:bower-asset"        ]    } }

Gestion des Sites Existants

Pour les sites initialement installés sans Composer, utilisez le plugin Composerize Drupal pour générer un composer.json mis à jour.

Mise à Jour et Application de Patches

Mise à Jour du Core de Drupal et des Modules :

Utilisez Composer pour gérer les mises à jour à la fois pour le core et les modules contribués.

Application de Patches :

Ajoutez le paquet cweagans/composer-patches pour gérer les patches :

composer require cweagans/composer-patches:~1.0 --update-with-dependencies

Mettez à jour composer.json pour inclure les patches :

"extra": {    "patches": {        "drupal/core": {            "3212792: Views button hover effect is odd": "patches/3212792-2.patch"        }    } }

Requérir des Commits Spécifiques

Pour requérir un commit spécifique d'un module :

composer require drupal/eck:1.x-dev#ecf376

En suivant ces directives, vous pouvez gérer efficacement vos projets Drupal et leurs dépendances en utilisant Composer.