Plugin - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs est disponible ici.

En informatique, un plugin est un programme qui interagit avec un logiciel principal, appelé programme hôte, pour lui apporter de nouvelles fonctionnalités.

Le terme plugin provient de la métaphore de la prise électrique standardisée et désigne une extension prévue des fonctionnalités, en comparaison des ajouts non prévus initialement apportés à l'aide de patches.

La plupart du temps, ces programmes sont caractérisés de la façon suivante :

  • Ils ne peuvent fonctionner seuls car ils sont uniquement destinés à apporter une fonctionnalité à un ou plusieurs logiciels
  • Ils sont mis au point par des personnes n'ayant pas nécessairement de relation avec les auteurs du logiciel principal.

Terminologie

Le terme plugin ou plug-in (se prononçant [pl?g??n]) vient du verbe anglais to plug in qui signifie brancher.

Ce terme étant un anglicisme, de nombreux termes français ont été proposés pour le remplacer : module externe, module enfichable, module d'extension, extension, greffon ou encore plugiciel (terme proposé par l’Office de la langue française du Québec en 1996).

Objectifs

Tous les logiciels ne sont pas capables de fonctionner à l'aide de plugin, le logiciel en question doit avoir été conçu pour pouvoir communiquer avec des programmes extérieurs selon certaines règles que ces derniers doivent respecter pour qu'ils puissent échanger des informations. Les objectifs des auteurs choisissant de concevoir ce genre de logiciel est de pouvoir ajouter des fonctionnalités sans avoir à tout reprogrammer et également de permettre aux utilisateurs d'ajouter leurs propres fonctionnalités de manière indépendante. Idéalement, cette indépendance inclut la possibilité pour le logiciel principal d'évoluer tout en restant compatible avec les plugins existants; cette condition est cependant loin d'être toujours remplie.

Avantages

Avoir un aperçu concret d'une fonctionnalité qui ensuite sera éventuellement intégrée au logiciel principal dans une version améliorée.

Architecture logicielle modulaire

Le plugin peut aussi être la base d'une architecture logicielle modulaire comme c'est le cas pour la plateforme Eclipse RCP et les bundles OSGi.

Dans les architectures logicielles statiques, la structure mise en oeuvre est définie avant le lancement du programme (par exemple, dans un fichier de configuration). A titre d'exemple, l'interpréteur du langage PHP peut charger des modules d'extensions (pour prendre en compte le format ZIP, pour permettre l'accès à une base MySQL, etc) selon les besoins décrits dans le fichier d'initialisation (php.ini).

Dans les architectures véritablement dynamiques, c'est l'application qui va elle même recenser les plugins présents, bien souvent par examen de fichiers présents dans un répertoire dédié aux plugins. L'ajout et la suppression d'éléments dans le répertoire permet d'activer ou de désactiver les plugins correspondants. Certaines applications permettent le démarrage et l'arrêt d'un plugin alors qu'elles sont en fonctionnement. On parle alors de configuration à chaud ou hot-plug, essentiellement utilisée dans les serveurs pour gérer la tolérance aux pannes (système RAID). Ces changements peuvent être déclenchés par l'utilisateur ou à l'occasion d'un autre événement au sein de l'application. Toutefois, ce type d'architecture devient vite complexe du fait des dépendances qui peuvent exister entre les plugins. Pour illustrer le concept d'architecture dynamique, on peut considérer les systèmes d'exploitation où les services systèmes sont comparables à des plugins ajoutés et retirés autour noyau. On retrouve également la notion de dépendances, par exemple au niveau du lien entre un service HTTP et un service TCP/IP.

Exemples

  • Parmi les plus fréquents se trouvent ceux ajoutant les supports de certains formats :
    • Adobe Flash pour les animations Flash, surtout au format SWF
    • Java pour les applets Java, utilisant des fichiers au format class
    • QuickTime pour certains formats de sons et de vidéos
  • Microsoft propose des powertoy, qui sont des plugins pour Microsoft Windows.

Une partie des modules pour les navigateurs web comme par exemple Firefox, Seamonkey (et autres de la famille Mozilla) sont souvent nommés comme étant des plugins mais ne le sont pas ; il s'agit d'extensions.

Page générée en 0.040 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise