[DEFINITION DES OUTILS DE TRAVAIL] I. Error! Use the Home tab to apply Titre 1 to the text that you want to appear here. Environnement de Développement Intégré Java A. Définition Les IDE sont des programmes qui regroupent un ensemble d'outils pour le développement de logiciels. De façon générale, un IDE contient un éditeur de texte, un compilateur, des outils automatiques de fabrication, et très souvent un débogueur. Il existe des IDE pour de nombreux langages, cependant il est très courant qu’un IDE soit conçu pour un seul langage de programmation. Il est également possible qu’un IDE dispose d’un système de gestion de versions et différents outils pour faciliter la création des interfaces graphiques. B. Fonctionnalités requises & besoins Afin d’être le plus efficace possible lors du développement de l’application SubJects, il est nécessaire d’énumérer les différents critères à partir desquels sera réalisé le choix de l’IDE. La solution utilisée devra, au mieux, répondre aux besoins suivants : - Possibilité de déploiement d’applications Web ; - Rapidité de fonctionnement ; - Léger au lancement ; - Compilation possible du projet ; - Gestion de plusieurs projets ; - Débogueur précis ; - Visualisation aisée de la JavaDoc ; - Interfaçage avec un gestionnaire de versions ; - Logiciel simple et facilité d’utilisation. [DEFINITION DES OUTILS DE TRAVAIL] Error! Use the Home tab to apply Titre 1 to the text that you want to appear here. C. Outils existants Les besoins maintenant exprimés, il a fallut réaliser une présélection des IDE afin de ne pas se disperser avec un comparatif trop large. Les environnements retenus sont donc NetBeans et Eclipse. Cela principalement du fait que ce sont les IDE java connues pour être les plus performantes et les plus largement utilisées. 1. NetBeans Cet IDE a été créé à l'initiative de Sun Microsystems. Il présente toutes les caractéristiques indispensables à un environnement de qualité, que ce soit pour développer en Java, Ruby, C/C++ ou même PHP. NetBeans est sous licence OpenSource, il permet de développer et déployer rapidement et gratuitement des applications graphiques Swing, des Applets, des JSP/Servlets, des architectures J2EE, dans un environnement fortement personnalisable. L'IDE NetBeans repose sur un noyau robuste, la plateforme NetBeans, que vous pouvez également utiliser pour développer vos propres applications Java, et un système de plugins performant, qui permet d'avoir un IDE modulable. A coté de la version complète de l'IDE NetBeans, il existe différentes déclinaisons qui se concentrent sur une plateforme ou un langage précis (Java ME, Java : SE + ME + EE, Ruby, C/C++, PHP). NetBeans contient, en plus du support pour CVS et SubVersion, un support pour ClearCase, mais aussi pour Mercurial. Il permet également de déployer des applications Web, non seulement vers Tomcat et Glassfish qui sont livrés avec le "Pack Web", mais aussi vers JBoss, WebSphere 6.1, WebLogic 9. NetBeans détient un support de développement d'applications Web avec des améliorations pour l'édition des JSP, la gestion serveur et le support des dernières versions de Tomcat. Enfin cet IDE possède un débogueur de grande qualité ainsi qu’une interface graphique améliorée. [DEFINITION DES OUTILS DE TRAVAIL] Error! Use the Home tab to apply Titre 1 to the text that you want to appear here. 2. Eclipse C’est une plateforme de développement écrite en Java, fruit du travail d'un consortium de grandes entreprises (IBM, Borland, Rational Rose, HP...). Il en resulte un IDE performant et openSource qui a su trouver sa place comme l'un des environnements de développement Java les plus populaires. Elle intègre pour cela la prise en charge des outils comme Ant, SVN, JUnit... Pour ce qui est de l’ergonomie, Eclipse n'a rien à envier à ses concurrents. Cette plateforme contient en effet toutes les fonctionnalités indispensables (création de projet, de template, refactoring, debuggage). Elle est également très aisée à prendre en main. Mais la grande force de cet IDE réside dans l'ouverture de son noyau qui permet l'ajout de très nombreux plugins. Il est par exemple possible d'intégrer des éditeurs XML, HTML, JSP, etc. ou encore de déployer ses applications vers la quasi totalité des serveurs du marché. Eclipse est distribué sous la forme de bundles, qui contiennent un certain nombre de plugins pré-configurés pour une tache donnée comme par exemple eclipse-jee pour le développement Java EE ou encore eclipse-sdk pour le développement de plugins. Enfin, Eclipse n'est pas limité au développement Java mais supporte aussi d'autres langages comme PHP (via PDT) et C/C++ (via CDT), etc. A noter l'apparition de version "bundle" d'Eclipse contenant un certain nombre de plugins préconfigurés depuis la version 3.2 (et le projet Callisto) visant à synchroniser la sortie de plusieurs projets pour en assurer la compatibilité. Renouvelé chaque année, la nouvelle version d'Eclipse propose toujours davantage de projets en standard. D. Critères de comparaisons 1. Fonctionnalités Les deux outils cités précédemment possèdent les fonctionnalités et besoins désirés. En effet, ils ont : - Déploiement d’applications web ; - Interfaçage avec un gestionnaire de versions ; - un compilateur ; [DEFINITION DES OUTILS DE TRAVAIL] - Error! Use the Home tab to apply Titre 1 to the text that you want to appear here. Un débogueur permettant de détecter des bogues dans l’application (il peut aussi servir à tester cette dernière). 2. Connaissance Ce critère s’avère déterminant dans le choix de l’IDE qui sera utilisé. Le fait que la totalité de l’équipe est déjà une connaissance complète de la plateforme Eclipse offre un sérieux avantage à cet environnement. En effet, Eclipse est l’environnement de développement java préconisé par nos enseignants et sur lequel nous avons été formés. Certaines personnes de l’équipe possèdent, néanmoins, une forte expérience sur NetBeans du fait de leurs travaux en entreprise. Le fait que l’IDE Eclipse soit connu par la totalité de l’équipe, à l’instar de son concurrent NetBeans, est un avantage indéniable en ce qui concerne le choix de l’environnement qui sera utilisé. 3. Ergonomie Ces deux applications doivent être installées. Pour ce critère d’ergonomie, nous recherchons une application qui puisse être facile de compréhension et rapide à prendre en main. Mais il faut aussi que celui-ci dispose d’une interface agréable et permettant de pouvoir rapidement effectuer toutes les actions nécessaire rapidement. NetBeans sort ici vainqueur dans le sens où il dispose d’une interface plus intuitie. En effet, il propose toutes les fonctionnalités en « one-clic » ce qui permet de pouvoir réaliser toutes les actions, dont l’équipe a besoin, très rapidement. [DEFINITION DES OUTILS DE TRAVAIL] Error! Use the Home tab to apply Titre 1 to the text that you want to appear here. E. Solution retenue Après réalisation de ce workbench : Workbench des environnements de développement Gratuité 10 NetBeans 5 Connaissance 0 Fonctionnalités Ergonomie L’IDE choisi est donc la plateforme Eclipse. Eclipse