Eclipse (logiciel)
Un article de Wikipédia, l'encyclopédie libre.
![]() Logo de Eclipse |
|
| Développeur | Eclipse Foundation |
|---|---|
| Dernière version | 3.5 Galileo (le 24 juin 2009) [+/-] |
| Environnements | Multiplate-forme |
| Langues | Multilingue |
| Type | IDE |
| Licence | EPL |
| Site Web | www.eclipse.org |
Eclipse IDE[note 1] est un environnement de développement intégré libre extensible, universel et polyvalent, permettant de créer des projets de développement mettant en œuvre n'importe quel langage de programmation. Eclipse IDE est principalement écrit en Java (à l'aide de la bibliothèque graphique SWT, d'IBM), et ce langage, grâce à des bibliothèques spécifiques, est également utilisé pour écrire des extensions.
La spécificité d'Eclipse IDE vient du fait de son architecture totalement développée autour de la notion de plugin (en conformité avec la norme OSGi) : toutes les fonctionnalités de cet atelier logiciel sont développées en tant que plug-in.
Plusieurs logiciels commerciaux sont basés sur ce logiciel libre, comme par exemple IBM Lotus Notes 8, IBM Symphony ou WebSphere Studio Application Developer.
Sommaire |
[modifier] Architecture
La base de cet environnement de développement intégré est l'Eclipse Platform, composée de :
- Platform Runtime démarrant la plateforme et gérant les plug-ins
- SWT, la bibliothèque graphique de base de l'EDI
- JFace, une bibliothèque graphique de plus haut niveau basée sur SWT
- Eclipse Workbench, la dernière couche graphique permettant de manipuler des composants, tels que des vues, des éditeurs et des perspectives.
Ces composants de base peuvent être réutilisés pour développer des clients lourds indépendants d'Eclipse grâce au projet Eclipse RCP (Rich Client Platform).
L'ensemble des outils de développement Java sont ensuite ajoutés en tant que plugins, regroupés dans le projet Java Development Tools (JDT). Ces plugins sont architecturés selon les recommandations de OSGi.
[modifier] Projets Eclipse
[modifier] Projets de la Fondation Eclipse
Liste exhaustive accessible depuis le site eclipse.org
- Eclipse Project le projet fondateur comprenant Eclipse Platform, Eclipse RCP (RCP) et le JDT (JDT)
- Web Tools Platform project (WTP) propose de nombreux outils pour le développement d'applications web en Java.
- C/C++ Development Tools Project (CDT) est un environnement complet de développement pour les langages C et C++ pour Eclipse.
- Business Intelligence and Reporting Tools Project (BIRT)
- Test and Performance Tools Platform (TPTP)
- Visual Editor project (VE)
- Eclipse Modeling Framework (EMF) la partie modèle du design pattern MVC (le framework propose un visuel pour représenter le model nommé "ecorediag" qui reprend le visuel d'un diagramme de classe UML). Le modèle peut être persisté sous différentes manières : XSL, fichiers Java avec annotations XDoclet, XMI..., puis la possibilité de rajouter son système de persistance. EMF gère la persistance sous forme de plusieurs fichiers ressources reliées. (EMF)
- Graphical Editing Framework (GEF) est un environnement pour le développement de visuels graphiques (la partie vue du MVC et un support de la partie contrôleur) avec abstraction totale du modèle mais possibilité de le modifier via une infrastructure qui organise une série d'implémentations du pattern Command. Cette infrastructure est aussi utilisée pour le fonctionnement interne de GEF (GEF)
- Graphical Modeling Framework, venu historiquement après GEF et EMF, relie les deux frameworks. Il remplace EclipseUML. (GMF)
- Generative Modeling Technology (GMT)
- ATLAS Transformation Language (ATL)
- ATLAS Model Weaver (AMW)
- ATLAS Megamodel Manager (AM3)
- UML2 est un projet pour le développement de modèles UML 2.0 dans Eclipse (UML2)
- AspectJ est un projet permettant la programmation orientée aspect pour Java dans Eclipse (AspectJ)
- Eclipse Communication Framework (ECF)
- Data Tools Platform Project (DTP)
- Device Software Development Project (DSDP)
- COBOL IDE for Eclipse Subproject (COBOL)
- Parallel Tools Platform (PTP)
- Embedded Rich Client Platform (eRCP)
- AJAX Toolkit Framework est un projet visant à proposer des outils pour le développement d'applications AJAX (ATF)
- PHP Development Tools framework (PDT) est destiné au développement d'application web basées sur le langage PHP côté serveur.
- Java Workflow Tooling (JWT) est un ensemble d'outils destinés à faciliter le développement et l'utilisation de workflows.
[modifier] Autres projets
Une liste plus complète et à jour peut être trouvée sur le site Eclipse plug-in central. Cependant, on ne peut dresser une liste exhaustive de projets ou d'extensions d'Eclipse car l'écosystème autour d'Eclipse est très actif.
[modifier] Langages de programmation gérés
De nombreux langages sont supportés en 2008 (la plupart grâce à l'ajout de plugins), parmi lesquels :
- Java,
- GAP pour system i,
- C#,
- Ada,
- C++,
- C,
- Cobol via LegacyJ,
- Objective Caml,
- Python,
- Perl (EPIC),
- Ruby,
- COBOL,
- Pascal,
- PHP (PDT),
- Javascript,
- XML,
- HTML,
- XUL,
- SQL,
- Action script,
- Coldfusion,
- Magik.
[modifier] Internationalisation/Traduction
Il est possible de traduire Éclipse dans de nombreuses langues via des packs:
- NLpack1 : Allemand, Français, Italien, Japonais, Coréen, Portugais (Brésil),Chinois Traditionnel et Simplifié.
- NLpack2 : Tchèque, Hongrois, Polonais et Russe.
- NLpack2a : Danois, Hollandais, Finlandais, Grec, Norvégien, Portugais, Suédois et Turc.
- NLpackBidi : Arabe et Hébreu.
[modifier] Histoire du projet
Eclipse est un environnement de développement libre. Le projet a été initié par IBM pour remplacer, en utilisant Java, les IDE Visual Age, basé sur Smalltalk. Dès l'origine du projet, IBM a voulu offrir une solution multi-plate-forme, pouvant être exécutée sur les différents systèmes d'exploitation de ses clients. De même le projet s'est voulu extensible par le biais de plugins. En novembre 2001, Eclipse, en tant que logiciel libre, voit le jour, porté par un regroupement de sociétés. La fondation Eclipse est constituée en janvier 2004 afin d'assurer son développement.
Le nom serait une farce : le créateur de Java est Sun (en français, « soleil »), concurrent qu'IBM semble vouloir « éclipser ».
Les progrès d'Eclipse peuvent être observés dans une vidéo relativement synthétique[1].
| Date | Version | Commentaire |
|---|---|---|
| 24 Juin 2009 | 3.5 (Galileo) | annonce |
| Mars 2009 | 3.5 M6 (Galileo) | Milestone 6 (sixième ébauche de la future version 3.5) |
| Février 2009 | 3.4.2 | |
| Février 2009 | 3.5 M5 (Galileo) | Milestone 5 (cinquième ébauche de la future version 3.5) |
| Décembre 2008 | 3.5 M4 (Galileo) | Milestone 4 (quatrième ébauche de la future version 3.5) |
| Novembre 2008 | 3.5 M3 (Galileo) | Milestone 3 (troisième ébauche de la future version 3.5) |
| Septembre 2008 | 3.5 M2 (Galileo) | Milestone 2 (deuxième ébauche de la future version 3.5) |
| Septembre 2008 | 3.4.1 | |
| août 2008 | 3.5 M1 (Galileo) | Milestone 1 (première ébauche de la future version 3.5) |
| Juin 2008 | 3.4 (Ganymede) | |
| Juin 2007 | 3.3 (Europa) | 21 projets. 17 millions de lignes de codes écrites par 310 développeurs répartis dans 19 pays. |
| Septembre 2006 | 3.2.1 | dix projets concernés |
| Juin 2006 | 3.2 (Callisto) | |
| Janvier 2006 | 3.1.2 | |
| Septembre 2005 | 3.1.1 | |
| Juin 2005 | 3.1 | |
| Mars 2005 | 3.0.2 | |
| Septembre 2004 | 3.0.1 | |
| Juin 2004 | 3.0 | |
| Mars 2004 | 2.1.3 | |
| Novembre 2003 | 2.1.2 | |
| Juillet 2003 | 2.1.1 | |
| Avril 2003 | 2.1 | |
| Novembre 2002 | 2.0.2 | |
| Septembre 2002 | 2.0.1 | |
| Juillet 2002 | 2.0 | |
| Novembre 2001 | 1.0 |
[modifier] Références
[modifier] Notes
[modifier] Articles connexes
- IntelliJ IDEA
- JBuilder
- JCreator
- JDeveloper
- Mylyn, "facilitateur" associé à Eclipse
- NetBeans
- Plateforme client riche
[modifier] Liens externes
- (en) Site officiel
- (fr) FAQ Eclipse
- (fr) Forums d'entraide des utilisateurs francophones d'Eclipse
- (fr) Cours et ressources francophones pour Eclipse
- (en) Tutorial Eclipse RCP. Ce tutorial présente le développement d'applications Eclipse RCP avec Eclipse 3.3.
- (fr) Jean-Michel Doudoux, « Développons en Java avec Eclipse »


