Comment patcher un module Drupal?
Lorsque vous créez un site Web à l'aide de Drupal, vous pouvez parfois voir des erreurs causées par des bogues dans un module que vous utilisez. Si vous examinez les problèmes du module et constatez que d'autres personnes ont découvert le même bogue que vous, vous verrez peut-être que quelqu'un a créé un "patch" pour résoudre le problème (jusqu'à ce que le module soit mis à jour et, espérons-le, inclue le correctif de bogue).
Généralement, les correctifs sont créés "par rapport au répertoire racine du module". Ce n'est pas quelque chose qui devrait être un problème, mais si vous pensez que c'est le cas, vous devrez effectuer le correctif d'une manière légèrement différente.
Ceci est un bref résumé de la façon d'appliquer les correctifs, mais il n'entre pas dans les détails et ne prend pas en compte les cas extrêmes. Si une partie de cet article ne s'applique pas à vous, vous devriez lire https://drupal.org/patch/apply.
- 1Trouvez un patch. La plupart des correctifs sont publiés dans les files d'attente de problèmes des modules contribués. Donc, pour trouver un patch, rendez-vous sur la page du module sur Drupal.org, et cliquez sur «Problèmes ouverts». Ensuite, sur cette page, recherchez un problème qui correspond au problème que vous rencontrez et cliquez dessus pour y accéder. Ensuite, dans cette file d'attente de problèmes, recherchez un correctif que quelqu'un d'autre a soumis et qui, selon lui, résout le problème.
- 2Assurez-vous que le patch est correctement testé. Les développeurs qui créent des correctifs doivent généralement exécuter les tests de code Drupal pour s'assurer que leur correctif ne casse aucune partie du code Drupal. Vous devriez voir quelque chose comme "PHP 7 & MySQL 5,5, D8,2 39 pass", indiquant que le module a quand même réussi ses tests avec le nouveau patch.
- 3Téléchargez le correctif. Le patch est essentiellement un fichier texte. Vous devez télécharger le fichier et le placer dans le "répertoire racine" du module auquel le correctif est destiné. Par exemple, s'il s'agit d'un correctif pour le module Context, vous placeriez le fichier de correctif dans "sites/all/modules/context".
- 4Appliquez le correctif (OSX ou Linux). Ouvrez votre terminal et accédez au répertoire racine du module (comme décrit à l'étape précédente). Si vous avez installé Git, vous pouvez utiliser la
applycommande de git: tapez: "git apply -v path/file.patch". Si vous ne souhaitez pas utiliser Git, vous pouvez utiliser lapatchcommande: tapez "patch -p1 < path/file.patch" - 5Vérifiez que le problème est résolu. Si vous ne voyez aucun message d'erreur lors de l'application du correctif, le bogue devrait maintenant être corrigé. Vous devez vérifier que le problème ne se produit plus sur votre site Web.
- 6Aidez-nous à résoudre le problème en en discutant. Dans la file d'attente des problèmes du module où vous avez trouvé le correctif, vous devez aider la communauté en ajoutant un message pour dire que vous avez eu le problème et que le correctif l'a résolu.
- Apprenez à utiliser Git; c'est un excellent outil pour les développeurs, et il vous aidera à mieux comprendre comment les correctifs sont créés et utilisés.
- Apprenez à utiliser le terminal de votre système d'exploitation (application en ligne de commande); bien que cela puisse être intimidant, c'est très stimulant quand vous êtes capable de bien l'utiliser.
- Le patch est quelque chose qui ne devrait jamais être fait sur votre site de production à moins que vous n'ayez d'abord une sauvegarde complète de votre site, y compris la base de code et la base de données; et vous avez d'abord testé cette sauvegarde. Bien que le correctif lui-même soit relativement facile, il est important que vous compreniez parfaitement qu'un correctif peut éventuellement entraîner la perte de données et/ou des instabilités de site.