Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com



Documents pareils
S T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction , Frédéric Peschanski

Projet de développement

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Environnements de développement (intégrés)

ECLIPSE ET PDT (Php development tools)

Bases Java - Eclipse / Netbeans

Introduction à Eclipse

Eclipse atelier Java

Intégration de l interface graphique de Ptidej dans Eclipse

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse

JOnAS Day 5.1. Outils de développements

Installer Enterprise Miner 5.1 en SAS environnement Windows

Comparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA

CONSERVATOIRE NATIONAL DES ARTS ET METIERS CENTRE REGIONAL RHÔNE-ALPES CENTRE D'ENSEIGNEMENT DE GRENOBLE EXAMEN PROBATOIRE

Point sur les solutions de développement d apps pour les périphériques mobiles

Valorisez vos actifs logiciels avec Rational Asset Manager. Jean-Michel Athané, Certified IT Specialist IBM Rational Software

Tutoriel code::blocks

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

TechSoftware Présentations

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

Installation et prise en main

Code Produit Nom Produit Dernière mise à jour. AM003 Alias Mobile On Demand Licence 1 mois 27/04/2015

Applications distribuées: le retour du client "riche"

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

IBM DB2 Alphablox. d administration GC

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Créer et partager des fichiers

Groupe Eyrolles, 2004 ISBN :

TD/TP 1 Introduction au SDK d Android

Extensions, Documentation, Tutoriels, Astuces

Un business model d éditeur open source

1 JBoss Entreprise Middleware

BIRT (Business Intelligence and Reporting Tools)

Hassene BELGACEM. Expériences Professionnelles. JEE architect / Technical leader. Ingénieur Informatique. Cycle Préparatoire

Joomla! Création et administration d'un site web - Version numérique

Sauvegarde et Restauration d un environnement SAS

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Approche Contract First

ECLIPSE RCP. Introduction

Guide d installation JMap 5.0

Dafoe Présentation de la plate-forme UIMA

Architecture client riche Evolution ou révolution? Thomas Coustenoble IBM Lotus Market Manager

THALES et le Logiciel Libre

Générer du code à partir d une description de haut niveau

Java pour le Web. Cours Java - F. Michel

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Documentation de conception

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

Présentation du Framework BootstrapTwitter

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Analyse comparative entre différents outils de BI (Business Intelligence) :

Construire des plug-ins pour SAS Management Console SAS 9.1

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Compte Rendu d intégration d application

Le moteur de workflow JBPM

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

26 Centre de Sécurité et de

Quelques mots à propos de Sage

Pentaho : Comparatif fonctionnel entre la version Communautaire (gratuite) et la version Entreprise (payante) Table des matières

A. Architecture du serveur Tomcat 6

Programmation Mobile Android Master CCI

Un serveur d'archivage

Modernisation et développement d applications IBM i Stratégies, technologies et outils

Messagerie & Groupeware. augmentez l expertise de votre capital humain

Android 4 Les fondamentaux du développement d'applications Java

Exigences système Edition & Imprimeries de labeur

Logiciels Open Sources et le Secteur Privé

Annexe : La Programmation Informatique

[Projet S9] Rédacteurs & Contributeurs Entité Rédacteurs Contributeurs Imededdine HOSNI Olivier MARTY. Validation du document Nom Date Visa

Orchestrer son cloud OpenStack avec Heat

JOnAS 5 Enterprise OSGi javaee compliant

Vérifier la qualité de vos applications logicielle de manière continue

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3

Formation en Logiciels Libres. Fiche d inscription

Notre Catalogue des Formations IT / 2015

CAHIER DES CHARGES D IMPLANTATION

Whitepaper. Méthodologie de création de rapports personnalisés SQL Server Reporting Services

Fabien Pinckaers Geoff Gardiner. OpenERP. Tiny. Pour une. gestion d entreprise efficace et intégrée. Groupe Eyrolles, 2008, ISBN :

Formation Découverte du Web

MATRICE DES FONCTIONNALITES

Développer avec les technologies ESRI. ESRI Developer Network (EDN) Gaëtan LAVENU ESRI France Jérémie MAJEROWICZ ESRI France

UserLock Guide de Démarrage rapide. Version 8.5

Validation de la création des groupes ABM et ajout de l utilisateur SASDEMO

S10 - Automatisez la compilation et le déploiement de vos applications IBM i avec Arcad Pack for Rational

PRESENTATION D ADOBE LIVECYCLE ES4

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Loïc Rossignol Ingénieur Consultant

Visual Paradigm Contraintes inter-associations

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

Mise en place d'un serveur d'application SIG au Conseil général de Seine-et-Marne

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Exigences système Edition & Imprimeries de labeur

Transcription:

Cours Plugin Eclipse Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com 1

Qui suis-je? Ancien étudiant de Jussieu - Paris VI Diplomé du Master Technologies Applicatives (TA) en 2006 Développeur au sein d Iktek (SSII spécialisée dans la gestion d identités) Committer et membre du PMC (Project Managment Committee) du projet Directory de la fondation Apache Responsable du sous-projet Apache Directory Studio 2

Qu est ce qu Apache Directory Studio? Application RCP multi-plateforme (Mac OS X, Linux, Windows) 130 000 lignes de code Java, 28 projets Eclipse Formée d un ensemble de plugins Eclipse (éditeur de schéma LDAP, navigateur LDAP, éditeur de fichier LDIF, etc.) Finaliste dans la catégorie Meilleure Application RCP Open Source aux Eclipse Community Awards 2008 Version 1.1.0 sortie le 7 avril dernier 3

Qu est ce qu Apache Directory Studio? 4

Plan du cours Généralités sur Eclipse Architecture d Eclipse et de ses plugins Anatomie d un plugin Eclipse Quelques exemples de points d extension usuels Création en parallèle d un projet concret à partir de ces point d extensions Packaging et installation des plugins Références (liens web, livres) 5

Généralités sur Eclipse Initialement développé chez IBM, puis passé en Open Source et offert à la Fondation Eclipse En grande partie ecrit en Java, interface graphique SWT Environnement de Développement Intégré (EDI) supportant de nombreux langages (Java, C/C++, PHP, Cobol) Extensible par l ajout de plugins (OSGI) De nombreuses versions disponibles suivant les besoins (Eclipse IDE for Java Developers, Eclipse IDE for C/C++ developpers, Eclipse for RCP/Plug-in Developers, etc.) 6

Architecture d Eclipse Vue d ensemble Eclipse Project Eclipse Platform User Interface Workbench JDT Java Development Tools JFace Plugin A SWT Plugin B PDE Plugin Development Environment Core Workspace Plugin C Runtime 7

Architecture d Eclipse Vue détaillée Plugin - la plus petite entitée de fonction Eclipse - Permet une architecture modulaire - Exemple : Subclipse pour SVN Point d extenstion - l entitée nommée collectant les contributions - Permet un couplage faible entre les plugins pour plus de flexibilité - Exemple : point d extension pour les éditeurs Extension - une contribution Eclipse Project Eclipse Platform User Interface - Exemple : une éditeur spécifique à un domaine JDT Java Development Tools Workbench JFace Plugin A SWT Plugin B PDE Plugin Development Environment Core Workspace Plugin C Runtime 8

Architecture d Eclipse Vue détaillée Plugin - la plus petite entitée de fonction Eclipse - Permet une architecture modulaire - Exemple : Subclipse pour SVN Point d extenstion - l entitée nommée collectant les contributions - Permet un couplage faible entre les plugins pour plus de flexibilité - Exemple : point d extension pour les éditeurs Extension - une contribution Eclipse Project Eclipse Platform User Interface - Exemple : une éditeur spécifique à un domaine JDT Java Development Tools Workbench JFace Plugin A SWT Plugin B PDE Plugin Development Environment Core Workspace Plugin C Runtime 8

Architecture d Eclipse Vue détaillée Plugin - la plus petite entitée de fonction Eclipse - Permet une architecture modulaire - Exemple : Subclipse pour SVN Point d extenstion - l entitée nommée collectant les contributions - Permet un couplage faible entre les plugins pour plus de flexibilité - Exemple : point d extension pour les éditeurs Extension - une contribution Eclipse Project Eclipse Platform User Interface - Exemple : une éditeur spécifique à un domaine JDT Java Development Tools Workbench JFace Plugin A SWT Plugin B PDE Plugin Development Environment Core Workspace Plugin C Runtime 8

Architecture d Eclipse Vue détaillée Plugin - la plus petite entitée de fonction Eclipse - Permet une architecture modulaire - Exemple : Subclipse pour SVN Point d extenstion - l entitée nommée collectant les contributions - Permet un couplage faible entre les plugins pour plus de flexibilité - Exemple : point d extension pour les éditeurs Extension - une contribution Eclipse Project Eclipse Platform User Interface - Exemple : une éditeur spécifique à un domaine JDT Java Development Tools Workbench JFace Plugin A SWT Plugin B PDE Plugin Development Environment Core Workspace Plugin C Runtime 8

Architecture d un plugin Eclipse Chaque plugin - Dépend d un certain nombre d autres plugins - Contient du code Java, des bibliothèques et d autres fichiers - Peut exporter une API pour d autres plugins - Défini une ou plusieurs extensions - Déclare éventuellement de nouveaux points d extension Eclipse Project Eclipse Platform User Interface Workbench JDT Java Development Tools JFace Plugin A SWT Plugin B PDE Plugin Development Environment Core Workspace Plugin C Runtime 9

Architecture d un plugin Eclipse Chaque plugin - Dépend d un certain nombre d autres plugins - Contient du code Java, des bibliothèques et d autres fichiers - Peut exporter une API pour d autres plugins - Défini une ou plusieurs extensions - Déclare éventuellement de nouveaux points d extension Eclipse Project Eclipse Platform User Interface Workbench JDT Java Development Tools JFace Plugin A SWT Plugin B PDE Plugin Development Environment Core Workspace Plugin C Runtime 9

Architecture d un plugin Eclipse Chaque plugin - Dépend d un certain nombre d autres plugins - Contient du code Java, des bibliothèques et d autres fichiers - Peut exporter une API pour d autres plugins - Défini une ou plusieurs extensions - Déclare éventuellement de nouveaux points d extension Eclipse Project Eclipse Platform User Interface Workbench JDT Java Development Tools JFace Plugin A SWT Plugin B PDE Plugin Development Environment Core Workspace Plugin C Runtime 9

Architecture d un plugin Eclipse Chaque plugin - Dépend d un certain nombre d autres plugins - Contient du code Java, des bibliothèques et d autres fichiers - Peut exporter une API pour d autres plugins - Défini une ou plusieurs extensions - Déclare éventuellement de nouveaux points d extension Eclipse Project Eclipse Platform User Interface Workbench JDT Java Development Tools JFace Plugin A SWT Plugin B PDE Plugin Development Environment Core Workspace Plugin C Runtime 9

Points d extension Façon structurée de permettre l ajout de nouvelles fonctionnalités - Facilite le couplage faible entre les plugins Eclipse Project Eclipse Platform User Interface - Un schéma décrit le format d extension Les outils externes étendent la plateforme JDT Java Development Tools Workbench JFace SWT Plugin A Plugin B - Java Development Tooling (JDT) PDE Plugin Development Environment Core Workspace Plugin C - Plug-in Development Environment (PDE) Runtime Les points d extension peuvent avoir une API associée - L API décrit ce qui doit être fourni dans l extension 10

Points d extension Façon structurée de permettre l ajout de nouvelles fonctionnalités - Facilite le couplage faible entre les plugins Eclipse Project Eclipse Platform User Interface - Un schéma décrit le format d extension Les outils externes étendent la plateforme JDT Java Development Tools Workbench JFace SWT Plugin A Plugin B - Java Development Tooling (JDT) PDE Plugin Development Environment Core Workspace Plugin C - Plug-in Development Environment (PDE) Runtime Les points d extension peuvent avoir une API associée - L API décrit ce qui doit être fourni dans l extension 10

Points d extension Façon structurée de permettre l ajout de nouvelles fonctionnalités - Facilite le couplage faible entre les plugins Eclipse Project Eclipse Platform User Interface - Un schéma décrit le format d extension Les outils externes étendent la plateforme JDT Java Development Tools Workbench JFace SWT Plugin A Plugin B - Java Development Tooling (JDT) PDE Plugin Development Environment Core Workspace Plugin C - Plug-in Development Environment (PDE) Runtime Les points d extension peuvent avoir une API associée - L API décrit ce qui doit être fourni dans l extension 10

Exemple de points d extension 11

Exemple de points d extension Vue Outline 11

Exemple de points d extension Actions d éditeur Vue Outline 11

Exemple de points d extension Actions d éditeur Perspectives Vue Outline 11

Exemple de points d extension Actions d éditeur Perspectives Vue Outline Actions de vue 11

Exemple de points d extension Actions d éditeur Perspectives Vue Outline Actions de vue Vues 11

Anatomie d un plugin Eclipse Vue d ensemble about.html (optionnel) - Description textuelle du plugin META-INF/MANIFEST.MF - Manifest décrivant le plugin plugin.properties (optionnel) - Propriétés du plugin plugin.xml - Manifest décrivant le plugin src/com/company/product/* - Code source du plugin 12

Anatomie d un plugin Eclipse Vue d ensemble about.html (optionnel) - Description textuelle du plugin META-INF/MANIFEST.MF - Manifest décrivant le plugin plugin.properties (optionnel) - Propriétés du plugin plugin.xml - Manifest décrivant le plugin src/com/company/product/* - Code source du plugin 12

Anatomie d un plugin Eclipse Vue d ensemble about.html (optionnel) - Description textuelle du plugin META-INF/MANIFEST.MF - Manifest décrivant le plugin plugin.properties (optionnel) - Propriétés du plugin plugin.xml - Manifest décrivant le plugin src/com/company/product/* - Code source du plugin 12

Anatomie d un plugin Eclipse Vue d ensemble about.html (optionnel) - Description textuelle du plugin META-INF/MANIFEST.MF - Manifest décrivant le plugin plugin.properties (optionnel) - Propriétés du plugin plugin.xml - Manifest décrivant le plugin src/com/company/product/* - Code source du plugin 12

Anatomie d un plugin Eclipse Vue d ensemble about.html (optionnel) - Description textuelle du plugin META-INF/MANIFEST.MF - Manifest décrivant le plugin plugin.properties (optionnel) - Propriétés du plugin plugin.xml - Manifest décrivant le plugin src/com/company/product/* - Code source du plugin 12

Anatomie d un plugin Eclipse Vue d ensemble about.html (optionnel) - Description textuelle du plugin META-INF/MANIFEST.MF - Manifest décrivant le plugin plugin.properties (optionnel) - Propriétés du plugin plugin.xml - Manifest décrivant le plugin src/com/company/product/* - Code source du plugin 12

Anatomie d un plugin Eclipse MANIFEST.MF MANIFEST.MF 13

Anatomie d un plugin Eclipse MANIFEST.MF Nom du plugin MANIFEST.MF 13

Anatomie d un plugin Eclipse MANIFEST.MF Nom du plugin Identifiant du plugin MANIFEST.MF 13

Anatomie d un plugin Eclipse MANIFEST.MF Nom du plugin Identifiant du plugin Version du plugin MANIFEST.MF 13

Anatomie d un plugin Eclipse MANIFEST.MF Nom du plugin Identifiant du plugin Version du plugin Classe d activation du plugin MANIFEST.MF 13

Anatomie d un plugin Eclipse MANIFEST.MF Nom du plugin Identifiant du plugin Version du plugin Classe d activation du plugin Organisme fournissant le plugin MANIFEST.MF 13

Anatomie d un plugin Eclipse MANIFEST.MF Nom du plugin Identifiant du plugin Version du plugin Classe d activation du plugin Organisme fournissant le plugin Plugins requis par le plugin MANIFEST.MF 13

Anatomie d un plugin Eclipse MANIFEST.MF Nom du plugin Identifiant du plugin Version du plugin Classe d activation du plugin Organisme fournissant le plugin Plugins requis par le plugin Packages du plugin exportés MANIFEST.MF 13

Anatomie d un plugin Eclipse MANIFEST.MF Nom du plugin Identifiant du plugin Version du plugin Classe d activation du plugin Organisme fournissant le plugin Plugins requis par le plugin Packages du plugin exportés Bibliothèques ajoutées au classpath MANIFEST.MF 13

Anatomie d un plugin Eclipse MANIFEST.MF Nom du plugin Identifiant du plugin Version du plugin Classe d activation du plugin Organisme fournissant le plugin Plugins requis par le plugin Packages du plugin exportés Bibliothèques ajoutées au classpath MANIFEST.MF 13

Anatomie d un plugin Eclipse plugin.xml 14

Anatomie d un plugin Eclipse plugin.xml 14

Anatomie d un plugin Eclipse plugin.xml 14

Plugin Development Environment (PDE) Un ensemble d outils pour la création de plugins Eclipse Construit au dessus de la Plateforme Eclipse et de JDT - Implémenté sous forme de plugins Eclipse - Utilise la Plateforme Eclipse, l API de JDT et des points d extension Inclus dans Eclipse for RCP/Plug-in Developers Buts: - Faciliter le développement de plugins Eclipse - Supporter les développement interne d Eclipse 15

Création d un plugin Eclipse Démonstration 16

Vues Les vues fournissent de l information sur certains objets Certaines vues complètent les éditeurs - Ex.: La vue Outline résume le contenu d un éditeur Certaines vues complètent d autres vues - Ex.: La vue Properties décrit l objet sélectionner dans une autre vue Il existe un point d extension pour définir de nouvelles vues La Plateforme Eclipse possède de nombreux vues standard - Ex.: Resource Navigator, Outline, Problems, etc. API et framework pour les vues - Les vues peuvent être implémentées avec les viewers JFace 17

Vues Déclaration 18

Vues Déclaration 18

Vues Déclaration 18

Vues Déclaration 18

Vues Exemple Démonstration 19

Vues VS Editeurs Vues et éditeurs diffèrent tant dans leur but que leur cycles de vie. Vue Editeur But Afficher de l information Modifier de l information Cycle de vie Les actions ont un effet immédiat sur le modèle Ouverture > Modification > Sauvegarde > Fermeture 20

Editeurs Les éditeurs sont affichés dans la zone d éditeurs du Workbench Ils peuvent contribuer des actions aux menus & barres d outils du Workbench Cycle de vie : Ouverture > Modification(s) > Sauvegardes > Fermeture Il existe un point d extension pour définir de nouveaux types d éditeurs Eclipse inclus de nombreux éditeurs standards - La Plateforme Eclipse inclus un simple éditeur de fichier de texte - JDT fournit un puissant éditeur de code source Java Sur Windows, il est possible d inclure un document OLE dans un éditeur De nombreuses API et frameworks sont disponibles pour les éditeurs 21

Editeurs Cycle de vie Ouverture createpartcontrol(composite parent) - créée l interface graphique de l éditeur init(ieditorsite site, IEditorInput input) - initialise le contenu de l éditeur Modification firepropertychanged(prop_dirty) - doit être appelée quand le contenu change isdirty() - doit retourner true si le contenu contient des modifications Sauvegarde dosave(iprogressmonitor monitor) - doit sauvegarder le contenu dosaveas() - demande où sauvegarder, puis appelle dosave(...) Fermeture dispose() - appelée lorsque l éditeur est fermé 22

Editeurs Déclaration 23

Editeurs Exemple Démonstration 24

Perspectives Les perspectives sont des arrangements de vues et d éditeurs Différentes perspectives servent des usages différents Les utilisateurs peuvent passer d une perspective à une autre rapidement Les perspectives contrôlent la visibilité des vues, des éditeurs et des actions Eclipse inclue des perspectives standards - Ex. : Resources, Java, Debug, Navigator, etc. Il existe une API spécifique aux perspectives 25

Perspectives Ajout d une vue dans une perspective : - Relative - à une autre vue ou à la zone des éditeurs - Ratio - une pourcentage de la vue de référence - Relation - empilée, gauche, droite, haut, bas - Initialement visible ou pas Ajout d un lien: - vers une ou plusieurs vues - vers une ou plusieurs perspectives Ajout d un ActionSet 26

Perspectives Déclaration 27

Perspectives Déclaration 27

Perspectives Déclaration 27

Perspectives Déclaration 27

Perspectives Exemple Démonstration 28

Wizards Utilisés pour des tâches modales constituées de multiples étapes (pages) nécessitant d être exécutées dans un ordre spécifique. Catégories de Wizards prédéfinis dans Eclipse (NewWizards, ImportWizards, ExportWizards) Message d erreur Page de Wizard Indicateur de progression Navigation 29

Wizards Déclaration 30

Pages de préférences Permettent à l utilisateur de définir leurs paramètres préférés Possibilité de revenir aux valeurs par défaut Centralisées dans une même fenêtre Eclipse fournit de nombreux champs d édition pour les valeurs usuelles - Ex. : Booléen, Couleur, Répertoire, Fichier(s), etc. Il est possible de créer une hiérarchie de pages de préférences 31

Pages de préférences Déclaration 32

API de préférences Permet d accéder en lecture et écriture aux préférences Les préférences sont stockées dans le dossier associé au plugin 33

Pages de propriétés Identiques aux pages de préférences Utilisées pour les ressources plutôt que pour l ensemble du workspace Les pages de propriétés peuvent être réutilisées en tant que pages de préférences Les propriétés d un élement peuvent être affichées dans la vue Properties si cet object implémente l interface IPropertySource Le dialogue Properties peut être utilisé pour éditer les propriétés d un objet qui possède des relations complexes avec d autres objets 34

Pages de propriétés Déclaration 35

Aide L aide est affichée dans le Navigateur d Aide intégré d Eclipse Les livres d aide sont des pages HTML Il existe des points d extensions pour contribuer - des livres entiers - des sections de livres existants - l aide dynamique (F1) pour des vues, editeurs, dialogs Les mécanismes d aides sont disponibles dans tous les plugins Le moteur de recherche de l aide est basé sur Apache Lucene Le serveur d aide est basé sur Apache Tomcat 36

Aide Structure & déclaration Il est conseillé de créer un plugin séparé pour l aide Le fichier plugin.xml référence des fichiers TOC (Table Of Contents) Les fichiers TOC référencent les pages de la documentation 37

Aide Infopop (touche F1) Aide dynamique spécifique à la partie de l interface graphique active Le fichier plugin.xml référence des fichiers contexts Des liens entre contexts et les parties graphiques sont créés dans le code Le fichier de contexts contient la description de l aide 38

Points d extension Les points d extension sont une excellente solution pour fournir un couplage faible entre plusieurs plugins La création d un nouveau point d extension passe par la création d un schéma pour la définition de l extension dans le fichier plugin.xml Ce schéma décrit les balises (éléments et attributs) a utiliser pour la définition d une nouvelle extension Chaque attribut peut être un booléean, une chaîne de caractères, une classe (ou interface) Java ou un lien vers une resources (fichier). 39

Points d extension Définition - XML Un nouveau point d extension est décrit dans le fichier plugin.xml Un fichier de schéma EXSD décrit le schéma du point d extension 40

Points d extension Définition - Editeurs 41

Points d extension Exemple Démonstration 42

Features Regroupe de multiples plugins sous la forme d une entité unique Permet la personnalisation du produit: - Licence - Pages d à propos (About) - Splash Screen Installation grâce à l utilisation d un update site 43

Features Structure Constituée d un projet de Feature Eclipse et un fichier features.xml contenant la liste de tous les plugins inclus 44

Features Exemple Démonstration 45

Update Site Généralement déployé sur un server Web Peut contenir de multiples features Permet d installer et de mettre à jour les plugins au sein d Eclipse Solution intégrée à Eclipse et la plus simple pour distribuer ses plugins aux utilisateurs Possibilité de spécifier une version spécifique d Eclipse, une plateforme ou une interface graphique particulière 46

Update Site Structure Constitué d un projet d Update Site Eclipse et un fichier site.xml contenant la liste de toutes les features incluses 47

Update Site Exemple Démonstration 48

Liens http://www.eclipse.org/ - Fondation Eclipse http://www.eclipse.org/resources/ - Ressources Eclipse (Articles, présentation, vidéos) http://eclipse.dzone.com/ - Eclipse Zone - Communauté d utilisateurs et de développeurs Eclipse (Actualité, Articles, Forums) http://www.eclipse.org/mail/ - Mailing Lists d Eclipse 49

Livres Eclipse, Building Commercial-Quality Plugins - Second Edition Eric Clayberg & Dan Rubel ISBN : 978-0321426727 50

Livres Eclipse, Rich Client Platform - Designing, Coding, and Packaging Java Applications Jeff McAffer & Jean-Michel Lemieux ISBN : 978-0321334619 51

Questions? 52