En informatique, un plugin (ou plug-in), aussi nommé "module", "greffon" est un programme qui complète un logiciel hôte pour lui apporter de nouvelles fonctionnalités. La plupart du temps, ils sont caractérisés de la façon suivante : ils ne peuvent pas 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.
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.
[...] On crée un nouveau projet puis on importe l'interface que les plugins ont implémentée Puis, nous allons créer la class qui va ajouter les jars des plugins dans le classpath de manière dynamique dans la class ClasspathUtils Puis on crée l'interface appelée PluginService qui va contenir les méthodes utiles pour importer les plugins et les initialiser 4. Dans la version 1.6 du JRE on retrouve la class ServiceLoader qui permet de chercher importer les plugins. Nous allons écrire une implémentation de l'interface PluginService appelée : StandardPluginService 5. Nous allons créer une class PluginServiceFactory qui va se chargée de créer l'objet PluginService 6. [...]
[...] Une fois cela fait, nous allons maintenant créer le repertoire META-INF/services dans le répertoire source de notre plugin. A l'intérieur nous allons créer un fichier ayant le nom complet de l'interface que le plugin implémente à l'occurrence : dicoplugin.DictionnaryPlugin (chemin permettant d'accéder à l'interface implémentée par les plugins) et à l'intérieur de ce fichier nous allons mettre le nom de notre plugin à l'occurrence : anglaisplugin.Anglais ce qui nous donne comme résultat pour le plugin en anglais le projet suivant : 6. La même chose peut être faite avec le plugin français 7. [...]
[...] L'ajout ou la suppression d'élément dans la mémoire 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. [...]
[...] Ils sont mis au point par des personnes n'ayant pas nécessairement de elation avec les auteurs du logiciel principal. 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 sont 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. [...]
[...] On retrouve également la notion de dépendances, par exemple au niveau du lien entre un service http et un service TCP/IP. Implémentation des plugins en java Réalisation d'un petit dictionnaire multilingue Création des plugins 1. On définit l'interface que devra implémenter tous les plugins de notre application 2. Une fois la création de l'interface terminée, on compile le projet afin d'avoir le .jar que nous allons importer comme package dans les différents plugins 3. Puis on peut écrire les différents plugins qui auront besoin d'implémenter notre interface DictionnaryPlugin. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture