Patch (informatique)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Patch.

Un patch est une section de code que l'on ajoute à un logiciel, pour y apporter des modifications : correction d'un bug, traduction, crack.

En français, les termes recommandés en France par la DGLFLF sont retouche ou bien correctif (terme en français majoritairement utilisé dans les milieux professionnels)[1], et les termes recommandés au Québec par l'OQLF sont rustine ou rustine logicielle.

Le mot anglais donne au pluriel : patches respectant l'orthographe anglophone, ou patchs par francisation.

Origine[modifier | modifier le code]

Sa signification originelle est tirée des utilitaires diff et patch qui permettent respectivement d'extraire des différences entre deux fichiers texte et d'appliquer des changements à un fichier. Les patches sont donc des modifications de fichiers texte que sont les codes sources des logiciels. Les patchs sont donc à l'image des pièces de tissus cousues aux vêtements pour les renforcer.

Le correctif a vocation à être distribué à tous les utilisateurs du logiciel, de manière à minimiser la distribution du logiciel complet (pour des raisons de coût en bande passante ou tout simplement pour ne le rendre utilisable que par les utilisateurs enregistrés ou payants du logiciel).

L'origine proviendrait de l'utilisation des cartes perforées sur lesquelles on ajoutait une rustine pour corriger un bug.

Nature[modifier | modifier le code]

Il se présente normalement comme une séquence de modifications à apporter au code source du logiciel traité, après quoi le code devra être recompilé pour obtenir la version modifiée du logiciel.

Cependant, dans certains cas, notamment quand l'éditeur du logiciel ne désire pas que les utilisateurs aient accès à son code source, le correctif peut se présenter comme un programme autonome qui va greffer sur le logiciel original une modification sous la forme d'un ajout de code exécutable et de la mise en place d'une instruction de branchement vers la section de code ajoutée.

Plusieurs correctifs peuvent être distribués simultanément et sont alors regroupés dans un Service Pack (SP).

Par abus de langage, on appelle parfois patch les corrections de bugs livrés sous forme de code compilé (binaire) annulant et remplaçant un exécutable ou une bibliothèque.

Limites du principe[modifier | modifier le code]

Le principe des patchs offre donc un palliatif aux manques d'un logiciel, mais il a des limites. L'accumulation de patchs, surtout de sources différentes, peut, à l'image du patchwork, poser un problème de cohérence globale. Par ailleurs, l'ordre d'application des patches peut s'avérer essentiel : passer un patch avant un autre peut conduire à une situation difficilement récupérable. Une approche prévoyante consiste à prévoir ce qui peut évoluer et de standardiser l'évolutivité en suivant par exemple une approche à base de plugins.

Notes et références[modifier | modifier le code]

  1. Journal officiel du 27/02/2003, voir FranceTerme

Voir aussi[modifier | modifier le code]

Sur les autres projets Wikimedia :

Articles connexes[modifier | modifier le code]