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.inc
5. 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 install
Et 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 😅