En savoir plus sur les fichiers correctifs

From Joomla! Documentation

This page is a translated version of the page Learn more about patch files and the translation is 100% complete.

Other languages:
English • ‎español • ‎français • ‎Nederlands
Copyedit.png
This Article Needs Your Help

This article is tagged because it NEEDS REVIEW. You can help the Joomla! Documentation Wiki by contributing to it.
More pages that need help similar to this one are here. NOTE-If you feel the need is satistified, please remove this notice.


Testez ce patch, veuillez créer un patch, telles sont des phrases que vous pouvez entendre lorsque vous signalez une anomalie ou lorsque vous travaillez sur une d'elles. Mais au fait, c'est quoi un patch correctif ?

Un patch correctif est un fichier qui indique précisément dans quel fichier et quelles lignes du fichier doivent être modifiées.

Par exemple voici un patch correctif, concernant l'anomalie 11354 et qui a permis de corriger une simple faute de frappe.

Index: plugins/authentication/gmail.php
===================================================================
--- plugins/authentication/gmail.php (revision 10386)
+++ plugins/authentication/gmail.php (working copy)
@@ -87,7 +87,7 @@
 }
 }
 else {
- $message = 'curl isn\'t insalled';
+ $message = 'curl isn\'t installed';
 } 
 if ($success)

En y regardant de plus près, nous pouvons constater qu'un correctif commence toujours par le nom du fichier modifié par rapport à la racine du site Joomla. Dans ce cas précis, il s'agit du fichier gmail.php dans le dossier plugins/authentification.

Ensuite, nous voyons que le fichier nommé à nouveau deux fois. Le nombre en fin de première ligne représente la version du code de base ou la révision (build) à partir de laquelle le correctif a été créé. La "working copy" représente la copie modifiée. Qu'est-ce que "build" signifie exactement ? Chaque fois qu'une modification est apportée au code de base, cela entraîne la création d'une nouvelle révision ou, un "build". Vous pouvez retrouver votre numéro de "build" dans le fichier changelog.php à la racine de votre site Joomla.

Vient ensuite @@ -87,7 +87,7 @@ qui nous indique que les modifications vont commencer à la ligne 87 du fichier.

Enfin, nous découvrons le code. L'ancienne ligne 87 a un – devant et la nouvelle ligne 87 présente un +.

La nouvelle version de la ligne va remplacer l'ancienne ligne dans le fichier concerné.

Bien sûr, la plupart des correctifs sont beaucoup plus complexes que cela, mais ils restent basés sur une telle structure.

Ainsi, si vous découvrez ce fichier correctif et que vous souhaitez corriger votre version actuelle de Joomla, tout ce que vous aurez à faire est de trouver la ligne 87 du fichier gmail.php et d'effectuer le changement. Ainsi, si quelqu'un vous dit "Il existe un correctif sur le tracker", vous pouvez y télécharger le patch et l'appliquer à votre version actuelle de Joomla. Cependant, il convient de garder à l'esprit que si votre version ne correspond pas à la version dans le répertoire de dépôt, il est possible que le patch ne fonctionne pas car il peut dépendre ou impacter d'autres parties du code.

Si vous souhaitez contribuer en proposant un correctif d'anomalie au lieu de faire une simple déclaration d'anomalie, l'idéal est de soumettre un fichier correctif que vous avez déjà testé. Toutefois, si vous ne pouvez pas en créer un, veuillez fournir ces informations :

  • Les noms complets et les chemins d'accès de tous les fichiers modifiés,
  • Les numéros des lignes modifiées,
  • L'ancienne et la nouvelle version des lignes modifiées.

Cependant, gardez à l'esprit que la création d'un correctif n'est pas très compliqué en installant un système client de gestion des versions comme Totrtoise ou encore le plugin Subclipse pour Eclipse. Pour plus d'informations sur la façon d'installer un environnement de développement Eclipse, veuillez consulter : Configuration de votre environnement de développement pour Joomla!.

Les fichiers correctifs et les caractères UTF-8

La plupart des fichiers correctifs sont des fichiers PHP qui contiennent du texte simple. Toutefois, les fichiers patch peuvent également être utilisé pour les correctifs des fichiers de langue INI qui souvent peuvent contenir des caractères UTF-8. Il existe un problème connu lorsque vous essayez d'appliquer un patch avec des caractères UTF-8 à l'aide d'Eclipse. Le fichier correctif peut alors afficher des erreurs lorsque vous essayez de l'appliquer. Afin de contourner ce problème, une solution consiste à copier le fichier dans votre presse-papiers puis sélectionnez, dans la spécification de Patch d'Entrée d'Eclipse, le presse-papiers au lieu de fichier. Remarquez que l'aperçu pour les fichiers corrigés peut afficher des points d'interrogation pour les caractères UTF-8, mais le patch sera appliqué correctement.

Vous pouvez vérifier que le patch s'applique correctement avec la fonctionnalité de comparaison d'Eclipse : Compare With→Base Revision.

Autres articles importants en rapport avec les fichiers correctifs