You are on page 1of 12

Environnements de développement

Mihaela Sighireanu

UFR d’Informatique Paris 7, LIAFA, 175 rue Chevaleret, Bureau 6A7


http://www.liafa.jussieu.fr/∼sighirea/cours/edi/

Extension de la plate-forme Eclipse

Mihaela Sighireanu EDI


Résumé

1 Rappels de la plate-forme Eclipse

2 Contributions

3 Introduction à XML

4 Exemples

Mihaela Sighireanu EDI


Rappels de la plate-forme Eclipse
Contributions
Introduction à XML
Exemples

Plate-forme Eclipse

Eclipse = plate-forme + contributions (plug-ins)


plate-forme
un exécutif (run-time) indépendant du SE (JVM)
un ensemble basique de plug-ins extensibles
mécanismes (API), règles et outils pour construire de plug-in
un moteur pour découvrir, charger et exécuter des plug-ins
contribution (plug-in)
remplit une tache (pas forcement exécutable)
se connecte à (implémente) un ou plusieurs points d’extension
offre des points d’extension
coexiste avec d’autres plug-ins
instance (feature) = ensemble de plug-ins qui coopèrent

Mihaela Sighireanu EDI


Rappels de la plate-forme Eclipse
Contributions
Introduction à XML
Exemples

Architecture de la plateforme Eclipse

Mihaela Sighireanu EDI


Rappels de la plate-forme Eclipse
Contributions
Introduction à XML
Exemples

Discipline de contribution
E. Gamma & K. Berk : Eclipse — Principes, patterns et plug-in
1 Tout est contribution.
2 Une contribution n’est chargée en mémoire qu’au moment où elle
devient nécessaire.
3 On ajoute mais on ne remplace pas.
4 Les contribution doivent respecter les interfaces.
5 Commencer toujours par récupérer la structure d’une contribution
similaire.
6 Ne contribuez que lorsque vous avez a apporter quelque chose
d’utile au niveau fonctionnel.
7 A chaque fois que possible, laisser aux autre la possibilité de
contribuer à votre contribution.
8 En tant que fournisseur d’un point d’extension, votre contribution
doit se protéger des comportements erratiques des extensions.

Mihaela Sighireanu EDI


Rappels de la plate-forme Eclipse
Contributions
Introduction à XML
Exemples

Constituants de contribution

Interfaces configurables (extension points) : nom, type, paramètres


[Search > Plug-in Search > Extension Points]
connectable : ...Declarations, All
implémentées : ...References, All
Sources internes : src/, doc/
code Java, archives Jar
ressources non-exécutables
Sources/exécutables externes : JRE, Plug-in Dependencies
librairies externes
plate-forme d’exécution
Description : plugin.xml, META-INF
d’identification : nom, version, fournisseur
d’interfaces (implémentées et introduites)
d’organisation interne

Mihaela Sighireanu EDI


Rappels de la plate-forme Eclipse
Contributions
Introduction à XML
Exemples

Constituants de contribution

Interfaces configurables (extension points) : nom, type, paramètres


[Search > Plug-in Search > Extension Points]
connectable : ...Declarations, All
implémentées : ...References, All
Sources internes : src/, doc/
code Java, archives Jar
ressources non-exécutables
Sources/exécutables externes : JRE, Plug-in Dependencies
librairies externes
plate-forme d’exécution
Description : plugin.xml, META-INF
d’identification : nom, version, fournisseur
d’interfaces (implémentées et introduites)
d’organisation interne

Mihaela Sighireanu EDI


Rappels de la plate-forme Eclipse
Contributions
Introduction à XML
Exemples

Environnement de développement de contributions

(Plug-in Developement Environment) Permet de construire des plug-in en


utilisant les points d’extension disponibles.
Choix du projet de plug-in à développer :
Projet de plug-in : standard.
Projet de fragment : ajout à un plug-in.
Projet de d’instance (feature) : conteneur de un ou plusieurs plug-in
Projet de mise à jour de site : publication des instances.
Ressources : fichiers, répertoires, projets, etc.
Assistant de plug-in : modèles de plug-in classiques.
Editeurs et formulaires spécialisés pour l’écriture des fichiers des
plug-in (XML, Ant, Properties, META-INF).
Perspective spécialisée.
Plan de travail d’exécution : outil de test de plug-in

Mihaela Sighireanu EDI


Rappels de la plate-forme Eclipse
Contributions
Introduction à XML
Exemples

Que dit la pratique ?

L’expérience montre que :


Le développement par exemple (règle 5) est majoritaire.
L’extension des niveaux bas de la plate-forme demandent plus
d’attention.
Le plus d’extensions sont au niveau UI (org.eclipse.ui).
Le JDT est indispensable.
Il faut connaı̂tre XML, Ant, Properties.

Mihaela Sighireanu EDI


Rappels de la plate-forme Eclipse
Contributions
Introduction à XML
Exemples

XML (eXtensible Markup Language)

Langage textuel pour la spécification de données structurées.

Constituants :
Syntaxiques : balises (markup) bien parenthésées et texte
(semi-)libre.
Sémantiques : ELEMENT (nom de balise), ATTRLIST (propriétés
de la balise), type (structure de la balise).

La sémantique est décrite dans un fichier DTD, donc autant de


sématiques que de DTD.

Les fichiers DTD sont des grammaires hors contexte.

Mihaela Sighireanu EDI


Rappels de la plate-forme Eclipse
Contributions
Introduction à XML
Exemples

Exemple d’utilisation en Eclipse

Le fichier plugin.xml décrit l’interface de la contribution.


Son type plugin.dtd.
Chaque point d’extension a son propre schéma, à consulter dans la
page Extensions > Open extension point description.
Quand on déclare un point d’extension, il faut préciser un schéma
(DTD) pour son utilisation.
Les CDATA correspondant aux noms de contributions on une syntaxe
spéciale, “hiérarchique”.

Mihaela Sighireanu EDI


Rappels de la plate-forme Eclipse
Contributions
Introduction à XML
Exemples

Exemples

Pour UI d’Eclipse :
1 Contribution d’une action.
Ex. : Salut ou Hello, World
2 Contribution d’un éditeur multi-pages.
Ex. : Editeur de texte avec tri.
3 Contribution à un menu contextuel.
4 Contribution d’une vue.
5 Contribution d’un éditeur spécialisé.
Ex. : Editeur d’expressions régulières.

Mihaela Sighireanu EDI

You might also like