URL: https://linuxfr.org/users/galaux/journaux/plugin-eclipse-jean-qui-rit-et-jean-qui-pleure Title: Plugin Eclipse : Jean qui rit et Jean qui pleure? Authors: Guillaume ALAUX Date: 2010年07月12日T18:23:45+02:00 Tags: Score: 18 **De la puissance et de la simplicité d'utilisation** [Eclipse](http://www.eclipse.org/) est l'environnement de développement multi langage que l'on ne présente plus. C'est l'_IDE_ (_Integrated Development Environment_) incontournable du Java qui reignait sans partage sur les environnements de développements il y a encore quelques années avant que n'arrivent des concurrents sérieux. Le succès d'Eclipse doit beaucoup à son fonctionnement en _plugins_, ces extensions de fonctionnalités du logiciel de base qui permettent d'améliorer la plate-forme plutôt que de se lancer dans un développement _from scratch_ d'une autre solution. L'idée est alléchante : un [logiciel générique](http://08000linux.com/blogs/files/2010/03/notifications_0.png) qui se voit spécialisé par des _plugins_ pour se transformer en _IDE_ adapté aux spécificités de tel ou tel langage, telle ou telle technologie. Et dans ce domaine Eclipse est roi. On peut le transformer en tout ou presque : un éditeur avancé Java pour développer des clients lourds ou applications client/serveur, un éditeur de rapport ([Birt](http://www.eclipse.org/birt/)), un [client Subversion](http://www.eclipse.org/subversive/), un outil d'aide à la gestion de projet ([Remus](http://marketplace.eclipse.org/content/remus-information-management)) etc. Il m'avait été demandé il y a quelques années de développer une interface graphique pour un outil de validation syntaxique de XML et le choix s'est porté sur un _plugin_ Eclipse ce qui permettait de réutiliser les capacités avancées d'éditeur de texte d'Eclipse. En quelques temps nous avions ainsi un éditeur de texte avec coloration syntaxique XML, et tous les copier/coller et pliages/dépliages (_folding_) d'éléments XML nous évitant ainsi d'avoir à redévelopper ces fonctionnalités s'il avait fallut faire un logiciel _from scratch_. On trouve d'ailleurs beaucoup de [tutoriels sur internet qui permettent d'arriver à ce résultat rapidement](http://beuss.developpez.com/tutoriels/eclipse/plug-in/editor/bases/). Le déploiement sur le poste utilisateur du résultat est de plus un vrai plaisir via l'_Eclipse Update Site_. Saisissez simplement sous Eclipse l'_URL_ du site de l'éditeur du _plugin_ qui vous intéresse et quelques "Suivant" et un redémarrage d'Eclipse plus tard vous amèneront devant votre _IDE_ agrémenté de la fonctionalité souhaitée. **_Que diable allait-il faire dans cette galère ?_** Mais malheureusement tous les besoins ne trouvent pas leur réponse dans le simplissime [tutoriel qui permet de créer un éditeur de texte de base](http://beuss.developpez.com/tutoriels/eclipse/plug-in/editor/bases/) et il faut alors se plonger dans [la documentation](http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/text/TextViewer.html) de la bibliothèque des composants visuels d'Eclipse : [_Standard Widget Toolkit_ (_SWT_)](http://www.eclipse.org/swt/). Il faut aussi se familiariser avec les concepts d'[extensions et points d'extension](http://mbaron.developpez.com/eclipse/extension/) qui permettent de se brancher sur la plateforme Eclipse et de proposer d'autre points de branchement pour de futurs _plugins_. Car ceux-ci s'assemblent entre eux pour donner des suites logicielles complètes tel [Birt](http://www.eclipse.org/birt/phoenix/), [Web Tools Platform](http://www.eclipse.org/webtools/), [JBoss Tools](http://www.jboss.org/tools) qui sont chacun un aggrégat de plusieurs dizaines voir centaines de plugins à chaque fois. Web Tools platform par exemple est l'aglomération de plus de [400 plugins](http://08000linux.com/blogs/files/2010/03/WTP1.png)! Et ce qui ressemblait à un joyeux Légo peut vite se transformer en puzzle de _plugins_ à chaque fois nécessaires dans une version très précise ce qui se termine souvent sur le problème très connu de la gestion des dépendances. Les équipes de développement en sont souvent réduites à mettre en place leur environnement de développement avec les versions courantes des _plugins_ puis à garder précieusement une archive du répertoire Eclipse. Ce "gel" de l'environnement de développement permettra par la suite d'installer un nouveau poste de développement avec les versions exactes des _plugins_ nécessaires pour le projet. À partir de ce moment il n'est plus question de mettre les à jour _plugins_ sous peine de voir s'écrouler le fragile environnement de développement Java. Les _plugins_ Eclipse sont une alternative puissante au développement _from scratch_ d'une application dont beaucoup de composants existent déjà. Mais ils constituent un état dans l'état Java et dans ce contexte on ne s'étonnera plus de voir, des [offres d'emploi de "développeurs de _plugin_ Eclipse"](http://eclipse-plugins.2y.net/eclipse/job2.jsp) plutôt que de "Développeurs Java". L'expérience semble en effet montrer que "non", un développeur Java "Classique" ne possède pas les connaissances suffisantes pour développer un _plugin_ Eclipse, tellement ces derniers sont spécifiques.

AltStyle によって変換されたページ (->オリジナル) /