Patch (informatique)
Un article de Wikipédia, l'encyclopédie libre.
Vous pouvez partager vos connaissances en l’améliorant. (Comment ?).
|
Un patch (termes français proposés : rustine ou rustine logicielle, au pluriel : patches respectant l'orthographe anglophone, patchs par francisation ; terme français majoritairement utilisé dans les milieux professionnels : correctif) est une section de code que l'on ajoute à un logiciel, pour y apporter des modifications mineures : correction d'un bogue, traduction, crack.
Sommaire |
[modifier] Origine
Sa signification originelle est tirée des utilitaires (logiciels libres) 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).
[modifier] Nature
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 rustines ou corrections de bogues livrés sous forme de code compilé (binaire) annulant et remplaçant un exécutable ou une bibliothèque.
[modifier] Limites du principe
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.