Appliquer un patch sur Drupal : tutoriel simple et rapide
Que vous soyez encore sur Drupal 7 ou déjà passé à Drupal 10, appliquer un patch reste une méthode courante pour corriger un bug, tester une amélioration en attente de validation, ou résoudre un problème spécifique sans attendre la prochaine mise à jour officielle d’un module ou du noyau.
Ces correctifs, disponibles au format .patch, sont souvent partagés directement sur les pages des tickets sur drupal.org.
Voici comment les utiliser efficacement, quelle que soit la version de votre site.
1. Télécharger le patch
Connectez-vous à votre serveur en SSH ou placez-vous en local à la racine de votre site. Ensuite, téléchargez le patch :
wget https://www.drupal.org/files/issues/2024-04-10/3282040_7_0.patch
💡 Vous pouvez aussi utiliser curl :
curl -O https://www.drupal.org/files/issues/2024-04-10/3282040_7_0.patch
2. Se placer à la racine du site Drupal
Assurez-vous d’être bien à la racine de votre installation Drupal (là où se trouvent les dossiers modules, sites, etc.).
cd /var/www/mon_site_drupal
Remplacez le chemin par celui de votre installation.
3. Tester l'application du patch (optionnel mais recommandé)
Avant d’appliquer le patch, il est conseillé de faire un test à blanc pour éviter les mauvaises surprises :
patch -p1 --dry-run < /chemin/vers/3282040_7_0.patch
S’il n’y a pas d’erreur, le patch peut être appliqué en toute sécurité.
4. Appliquer le patch
Pour appliquer le patch :
patch -p1 < /chemin/vers/3282040_7_0.patch
Le paramètre -p1 est le plus souvent adapté aux chemins utilisés dans les patchs Drupal.
Exemple de sortie attendue :
patching file sites/all/modules/mon_module/mon_module.module patching file sites/all/modules/mon_module/includes/mon_module.inc5. vérifier que tout fonctionne
Après l’application du patch :
Videz les caches (
admin/config/development/performance)Testez la fonctionnalité corrigée ou ajoutée
Bonus : alternative avec composer (pour les projets gérés via composer)
Si votre site Drupal utilise Composer, vous pouvez intégrer le patch automatiquement à l’installation :
Ajoutez ce bloc dans votre
composer.json(en utilisantcweagans/composer-patches) :
"extra": { "patches": { "drupal/nom_du_module": { "Correction issue #3282040": "https://www.drupal.org/files/issues/2024-04-10/3282040_7_0.patch" } } }Puis exécutez :
composer installEt voila si vous avez bien suivi les instructions vous devriez être en mesure d'installer votre patch, en espérant que celui-ci solutionne votre problématique, ce qui n'est malheuresement pas toujours le cas...je sais de quoi je parle 😅