Skip to content

Gestion des Modules

This content is not available in your language yet.

Composer est le gestionnaire de dépendances PHP standard depuis Drupal 8. Il :

  • Gère les dépendances automatiquement (si module A nécessite B, les deux sont installés)
  • Garantit la cohérence des versions entre les environnements
  • Facilite les mises à jour et les rollbacks
  • Génère l’autoloading PHP optimisé
  • Sécurise les installations (vérification de l’intégrité)
Fenêtre de terminal
# Rechercher un module
ddev composer search drupal/pathauto
# Voir les infos d'un module
ddev composer show drupal/pathauto --all
# Installer un module
ddev composer require drupal/pathauto
# Installer une version spécifique
ddev composer require drupal/pathauto:^1.12
# Désinstaller un module
ddev composer remove drupal/pathauto
Fenêtre de terminal
# Activer un module
ddev drush en pathauto -y
# Activer plusieurs modules
ddev drush en pathauto metatag webform -y
# Vérifier le statut
ddev drush pm:list --filter=pathauto
Fenêtre de terminal
# Désinstaller (désactive + supprime config)
ddev drush pm:uninstall pathauto -y
# Puis supprimer les fichiers
ddev composer remove drupal/pathauto
Fenêtre de terminal
# Tous les modules
ddev drush pm:list
# Modules activés
ddev drush pm:list --status=enabled
# Modules désactivés
ddev drush pm:list --status=disabled
# Filtrer par nom
ddev drush pm:list --filter=token
Fenêtre de terminal
ddev drush pm:list --format=table

Exemple de sortie :

+-------------------+-------------------+--------+---------+
| Package | Name | Status | Version |
+-------------------+-------------------+--------+---------+
| Core | node | Enabled| 11.1.0 |
| Core | views | Enabled| 11.1.0 |
| Token | token | Enabled| 1.15.0 |
| Pathauto | pathauto | Enabled| 1.13.0 |
+-------------------+-------------------+--------+---------+
Fenêtre de terminal
# Voir les modules outdated
ddev composer outdated drupal/*
# Version détaillée
ddev composer outdated drupal/* --direct
  1. Mettre à jour avec Composer

    Fenêtre de terminal
    ddev composer update drupal/pathauto --with-dependencies
  2. Exécuter les mises à jour de base de données

    Fenêtre de terminal
    ddev drush updatedb -y
  3. Vider le cache

    Fenêtre de terminal
    ddev drush cr
  4. Exporter la configuration

    Fenêtre de terminal
    ddev drush cex -y
Fenêtre de terminal
# Mettre à jour tous les modules Drupal
ddev composer update drupal/* --with-dependencies
ddev drush updatedb -y
ddev drush cr
ddev drush cex -y
Fenêtre de terminal
# Vérifier les failles connues
ddev composer audit
# Format JSON pour CI/CD
ddev composer audit --format=json
Fenêtre de terminal
# Dans l'interface admin
# Rapports → Mises à jour disponibles → Onglet Sécurité
web/modules/
├── contrib/ # Modules contributifs
│ ├── pathauto/
│ │ ├── pathauto.info.yml
│ │ ├── pathauto.module
│ │ └── ...
│ └── metatag/
│ └── ...
└── custom/ # Vos modules
└── tailstore_cart/
{
"require": {
"drupal/core-recommended": "^11.1",
"drupal/pathauto": "^1.13",
"drupal/metatag": "^2.0",
"drupal/webform": "^6.2",
"drupal/admin_toolbar": "^3.5",
"drupal/token": "^1.15"
}
}

Le composer.lock verrouille les versions exactes. Commitez-le toujours !

Fenêtre de terminal
git add composer.lock
git commit -m "chore: update dependencies"
Fenêtre de terminal
# Exporter toute la config
ddev drush cex -y
# Voir les fichiers créés
ls -la config/sync/
Fenêtre de terminal
# Sur un autre environnement
ddev drush cim -y
Fenêtre de terminal
# Installer les modules de dev
ddev composer require --dev drupal/devel drupal/webprofiler
# Activer
ddev drush en devel webprofiler -y

Dans settings.local.php :

// Activer les modules de dev
$config['devel']['disable'] = FALSE;
// OU avec drush seulement en local
// ddev drush en devel -y
Fenêtre de terminal
# Dépendances d'un module
ddev composer depends drupal/token
# Pourquoi un package est installé
ddev composer why drupal/ctools
Fenêtre de terminal
# Voir les conflits
ddev composer why-not drupal/pathauto:^2.0
  • Composer configuré et fonctionnel
  • Modules installés via Composer
  • Drush disponible pour activation
  • Mises à jour vérifiées
  • Configuration exportée
  • composer.lock commité

Les bases sont en place ! Configurons Pathauto pour des URLs automatiques.