1. Institut Supérieur d’Informatique et de Gestion Kairouan
Eclipse
Ali BEN MESSAOUD 2ème Sciences de l’Informatique | Groupe 2
Décembre 2009
2. Le mot "eclipse"?
Une éclipse correspond à l'occultation d'une source de lumière par
un objet physique. En astronomie, une éclipse se produit lorsqu'un
objet (comme une planète ou un satellite naturel) occulte une source
de lumière (comme une étoile ou un objet éclairé) pour un
observateur.
Ce nom choisi par IBM n’est pas une hasard mais elle veut, par
provocation, éclipser le soleil qui est Sun, le créateur de java!
2
1
3. C’est quoi Eclipse?
Eclipse est un environnement de développement intégré (IDE)
développé par la fondation Eclipse.
Eclipse est un IDE principalement écrit en Java.
Il est libre (Open source), extensible, universel et
polyvalent, permettant de créer des projets de développement
mettant en œuvre n'importe quel langage de programmation.
Eclipse et l'ensemble des sous-projets sont construits sous-forme de
plugins. Le noyau d'Eclipse gère le cycle de vie des plugins
(découverte, chargement, mise à jour, déchargement…).
La spécificité d'Eclipse IDE vient du fait de son architecture
totalement développée autour de la notion de plug-in
3
2
4. Histoire
Le projet Eclipse a été lancé en Avril 1999 à l’intérieur d’IBM et OTI.
IBM a voulu offrir une solution multi-plateforme open source c’est
pourquoi en novembre 2001 a fait don du code initial.
Jusqu'en 2004, l'organisation en consortium a fait un important
progrès sur le projet et pour permettre l’entrée de nouveaux
partenaires et continuer le développement d’Eclipse le consortium a
changé le statut à la fondation Eclipse Eclipse est devenu une
organisation a but non lucratif
Nom de projet Callisto Europa Ganymede Galileo
4
3
5. Les Membres d'Eclipse
Il y a approximativement 170 membres an sein de la fondation Eclipse représentant la plupart
des régions du monde ainsi que de nombreux secteurs industriels et technologiques.
Les membres sont répartis en différentes catégories en fonction de leur niveau d'engagement:
Les membres stratégiques sont :
Actuate, Brox, CA, Cloudsmith, Genuitec, IBM, Innoopract, itemis, Nokia, Obeo, Oracle, SAP,
Les 'Add-in Providers' sont des sociétés qui doivent proposer des produits s'intégrant dans Les membres 'Associate' sont des universités, des organisations à but non lucratif, des
Sonatype, Sopera. Eclipse. La participation financière est de 5000 euros par an. éditeurs de livres ou de revues.
Chacun est dédiés au développement de sous-projets ou une participation financière annuelle
d'un montant de 350000 euros.
5
4
6. Projets d'Eclipse
Eclipse développe plus que 110 projets à développer organisées en catégories nommées 'Top-Level projects'
Business Intelligence and Reporting Tools (BIRT) Galileo Simultaneous Release
contient 17 sous-projets. contient 92 sous-projets et des sous-sous-projets.
Eclipse Technology Project (21): Eclipse
rassemble une vingtaine de sous- Modeling Eclipse Web
Device projets aux objectifs très variés Project (11): Tools Platform
Software Eclipse Project abordant des sujets innovants. Les divers sous- Project (12):
Development (5): divers sous- sous-projets arrivant à maturité sont projets outils de
Data Tools développement
Platform (5): Platform (7): projets pouvant amenés à rejoindre l'un des autres concernant la
outils de servir de socle à projets principaux… modélisation. Web et J2EE
outils de
manipulation de développement d'autres projets
structures de pour les ou bien
données. systèmes inclassables Test and
embarqués… dans les autres SOA Tools (2): Performance
catégories... outillage pour la Tools Platform
mise en œuvre Eclipse RT (11) Tools Project (13) Project (4):
d'architectures outillage de test et
orientées services. de mesure de
performance
6
5
7. Langages de programmation gérés
De nombreux langages
sont supportés en 2009. Ruby Cobol via
La plupart grâce à l'ajout LegacyJ
de plugins, parmi COBOL
lesquels : Pascal Objective Caml
Java Python
PHP (PDT)
GAP pour system i
JavaScript Perl (EPIC)
C#
XML Magik
Ada
HTML SQL
C++
XUL Action script
C
Coldfusion
7
6
8. La question qui se pose, comment Eclipse a pu
supporter ce grand nombre de projets et langages
??
C’est l’architecture et les
plug-ins
8
7
9. Les plug-ins
La spécificité d'Eclipse IDE vient Architecture modulaire et
du fait de son architecture incrémentale
totalement développée autour de Minimiser l’occupation mémoire et
la notion de plug-in: optimiser les performances
Toutes les fonctionnalités de cet Mécanisme de chargement souple
atelier logiciel sont développées en et incrémental (architecture OSGi)
tant que plug-in.
Mise à jour transparente des plug-
ins
Basiquement, un plug-in au sens
d'Eclipse est un ou plusieurs
fichiers jar qui peuvent agir sur
Eclipse en ajoutant de nouvelles
fonctionnalités, perspectives, vue
s, etc.
9
8
10. Architecture de la plateforme Eclipse
Eclipse Platform
Workbench Serveur Un Plug-
Java
Development (Plan de travail) D’Aide in ou un
Tools (JDT) outil
JFace
Support
Autre
SWT d’Equipe Plug-in ou
Standard Widget Tool
un outil
Debug
Plug-in Workspace
Development (Espace de travail) JVM
Environment Ton Plug-
(PDE) in ou ton
Platform Runtime outil
10
9
11. L’universel Eclipse
Parmi mes les caractéristiques Le dernier mois
d’Eclipse est l’extensibilité, en mars, Red Hat a annoncé
effet certains applications peut
s’intégrer dans Eclipse en tant la réussite de l’intégration
que plugin comme de la plate-forme
JBOSS, MULE, SPRING… Jboss, son serveur
d'applications, son
portail, son serveur
d'intégration (etc.), à
l'infrastructure de
développement Eclipse
via le kit d'outils JBoss
11
pour Eclipse.
10
12. Architecture générale
Eclipse est constitué de plugins qui peuvent se découper en plusieurs couches
applicatives comme suit :
PDE Core, PDE Build, PDE : Plug-in development environment
PDE UI
Compiler, Refactoring,
JDT UI, JDT Debug,… JDT : Java development tools SDK
Resources, Equipe,
Debug,
Plateforme Eclipse
Aide, Update, SWT, UI,…
JVM
12
11
13. L’interface d’Eclipse
Barre de menu
L’outil à utiliser
Barre d’outils
Liste des tâches
Visionneuse des
ressources
Outline view
L’éditeur
Console
Messages
d’erreurs
Statut de l’éditeur
Java Doc
13
12
14. Conclusion
Eclipse est un IDE complexe et puissant:
Environnement de programmation dans un langage connu
Riche en fonctionnalités
Personnalisation de l’environnement pour des nouveaux langages et
fonctionnalités
Répond aux objectifs concrets fixés :
Conception d’un éditeur pour un nouveau langage
Intégration possible des outils existants
« Prise en main » moyennement facile
Compréhension rapide de l’organisation
Mais architecture de plug-ins complexe
14
13