Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction à la plateforme Eclipse

Introduction à la plateforme Eclipse

Ce support de cours débute une longue série liée au développement de clients riches avec la plateforme Eclipse.

Nous débutons par une introduction rapide de la plateforme Eclipse en trois parties : une première partie tente de montrer qu'Eclipse n'est pas qu'un IDE Java, une deuxième partie démontre que la plateforme Eclipse RCP est parfaitement adaptée à devenir un "Bureau Métier" et finalement une troisième partie s'intéresse à lister les outils pour développer des applications Eclipse RCP.

Mickael BARON

June 14, 2007
Tweet

More Decks by Mickael BARON

Other Decks in Programming

Transcript

  1. Développement de clients
    riches : Plateforme Eclipse RCP
    Mickaël BARON - 2007 (Rév. Janvier 2009)
    mailto:[email protected] ou mailto:[email protected]
    mickael-baron.fr
    mickaelbaron
    Avant Propos …
    Chapitre 1 : Introduction

    View full-size slide

  2. 2
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Creative Commons
    Contrat Paternité
    Partage des Conditions Initiales à l'Identique
    2.0 France
    http://creativecommons.org/licenses/by-sa/2.0/fr
    Licence

    View full-size slide

  3. 3
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    3
    À propos de l’auteur …
    † Mickaël BARON
    † Ingénieur de Recherche au LIAS
    † https://www.lias-lab.fr
    † Equipe : Ingénierie des Données et des Modèles
    † Responsable des plateformes logicielles, « coach » technique
    † Ancien responsable Java de Developpez.com (2011-2021)
    † Communauté Francophone dédiée au développement informatique
    † https://java.developpez.com
    † 4 millions de visiteurs uniques et 12 millions de pages vues par mois
    † 750 00 membres, 2000 forums et jusqu'à 5000 messages par jour
    mickael-baron.fr
    mickaelbaron

    View full-size slide

  4. 4
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Le cours
    † L’objectif de ce cours
    † Initiation à la conception d’applications avec la plateforme Eclipse
    † Architecture logicielle (création d’une application par modules)
    † Intérêt spécifique à la partie présentation (SWT, JFace, RCP)
    † Structuration rapide du cours
    † Introduction à la plateforme Eclipse
    † Boîte à outils SWT / JFace (Standard Widget Toolkit)
    † Introduction au plugin Eclipse
    † Introduction à la plateforme Eclipse RCP

    View full-size slide

  5. 5
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Déroulement du cours
    † Pédagogie du cours
    † Présentation des concepts
    † Illustration avec de nombreux exemples
    † Des bulles d’aide tout au long du cours
    † Pré-requis
    † Connaissance de Java
    † Mise en place du cours
    † Internet : www.developpez.com, www.eclipse.org
    † Livres : Eclipse Building Commercial-Quality Plugin-ins – Eric
    Clayberg Dan Rubel – Addison Wesley et The Definitive Guide to
    SWT and JFace – Rob Warner - APress
    Ceci est une alerte Ceci est une astuce

    View full-size slide

  6. 6
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Déroulement du cours
    † Rappel pour le schéma UML (diagramme de classes)
    VoitureElectrique
    - disjoncteur:booléen
    + démarre()
    Voiture
    + démarre()
    Batterie
    + getEtat():int
    Héritage
    Association
    Démarrable << Interface >>
    + démarre
    Implémentation
    A besoin de

    View full-size slide

  7. 7
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Organisation du cours …
    † Chapitre 1 : Introduction à la plateforme Eclipse
    † Chapitre 2 : Boîtes à outils (SWT, JFace)
    † Chapitre 3 : Conception de plug-ins
    † Chapitre 4 : Modélisation
    † Chapitre 5 : Outils

    View full-size slide

  8. Développement de clients
    riches : Plateforme Eclipse RCP
    Mickaël BARON - 2007 (Rév. Janvier 2009)
    mailto:[email protected] ou mailto:[email protected]
    mickael-baron.fr
    mickaelbaron
    Eclipse n’est pas qu’un IDE Java
    Chapitre 1 : Introduction

    View full-size slide

  9. 9
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse
    † Eclipse est un projet développé initialement par IBM
    † Projet Open-Source sous licence EPL
    † Site officiel du projet : www.eclipse.org
    † Eclipse c’est quoi ?
    † IDE Java
    † IDE Framework
    † Tools Framework
    † Application Framework
    † Une communauté

    View full-size slide

  10. 10
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse
    Private Joke : Eclipse … Soleil … Sun ??

    View full-size slide

  11. 11
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse = IDE Java
    † Dans la plupart des esprits, Eclipse est un environnement de
    développement intégré (IDE)
    † Caractéristiques de l’environnement Eclipse
    † Editeur évolué et spécialisé (complétion, gabarits, …)
    † Support du refactoring pour re-travailler le code source de manière à
    améliorer la lisibilité et la maintenance
    † Compilation incrémentale
    † Tests unitaires
    † Débuggeur de code Java
    † Support du développement par équipe (CVS par défaut, SVN, …)

    View full-size slide

  12. 12
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse = IDE Java

    View full-size slide

  13. 13
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse = IDE Framework
    † Eclipse + JDT (Java Development Tooling) = Java IDE
    † Pas nécessairement limité au langage Java
    † Eclipse + CDT (C/C++ Development Tooling) = C/C++ IDE
    † Eclipse + AspectJ = Programmation orientée aspect IDE
    † Eclipse + PDT (PHP Development Tooling) = PHP IDE
    † Eclipse + Cobol = Cobol IDE
    † Eclipse + B = Méthode B IDE
    † Eclipse + JDT + CDT + PHP = (Java + C/C++ + Cobol) IDE

    View full-size slide

  14. 14
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse = Tools Framework
    † Toute l’architecture est basée sur la notion de plug-ins. Les
    fonctionnalités sont conçues à partir de plug-ins
    † Architecture modulaire et incrémentale
    † Minimiser l’occupation mémoire et optimiser les performances
    † Mécanisme de chargement souple et incrémental (architecture OSGi)
    † Mise à jour transparente des plug-ins
    † Des outils étend la plateforme Eclipse via les plug-ins
    † Web Tools project (WTP) : éditeur xml, javascript, web services, …
    † Eclipse Modelling Framework (EMF) : méta-modélisation
    † Graphical Editing Framework (GEF) : pour dessiner des graphes
    † Test and Performance Tooling Project (TPTP) : tests de charge
    † Et pleins d’autres encore …

    View full-size slide

  15. 15
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse = Application Framework
    † En supprimant les plug-ins liés à la notion d’environnement
    de développement, Eclipse fournit un framework pour le
    développement d’applications
    † Caractéristiques du framework
    † Support multi-plateformes
    † Cadre de développement stricte et évolutif
    † Composants graphiques riches via SWT et JFace
    † Intégration d’éléments natifs (OLE, Drag and Drop, …)
    † Une plateforme pour le développement de clients riches

    View full-size slide

  16. 16
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse = Application Framework [clients riches]
    Application de
    gestion bancaire
    basée sur le
    framework
    Eclipse RCP

    View full-size slide

  17. 17
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse = Application Framework [clients riches]
    IBM et
    WebSphere
    utilise la
    plateforme
    Eclipse

    View full-size slide

  18. 18
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse = Application Framework [clients riches]
    Des logiciels
    Open-Source
    exploités
    massivement

    View full-size slide

  19. 19
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse = une communauté
    † Tous les projets de la fondation Eclipse sont disponibles en
    téléchargement libre
    † De très nombreux plug-ins sont fournis par des entreprises,
    des organisations et par des particuliers
    † De nombreux sites communautaires
    † Developpez.com : www.developpez.com
    † EclipseTotale : www.eclipsetotale.com
    † EclipseZone : eclipsezone.com
    † EclipseWiki : wiki.eclipse.org
    † Eclipse Plug-in Central : eclipseplugincentral.com
    † Eclipse Evangelism : www.eclipse.org/evangelism
    † Planet Eclipse : www.planeteclipse.org

    View full-size slide

  20. 20
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse = une communauté
    † Des blogs de commiters, de particuliers ou de communautés
    † Lars Vogel : www.vogella.de/blog
    † Ankur Sharma : eclipsepde.wordpress.com
    † Chris Aniszczyk : mea-bloga.blogspot.com, eclipsesource.com/blogs/author/zx
    † Wayne Beaton : dev.eclipse.org/blogs/wayne
    † Benjamin Cabé : blog.benjamin-cabe.com
    † Kim Horne : eclipse.pookzilla.net
    † Steve Northover : inside-swt.blogspot.com
    † Tom Schindl : tomsondev.bestsolution.at
    † Mickaël Baron ;-) : keulkeul.blogspot.com, mbaron.developpez.com
    † Patrick Paulin : www.modumind.com

    View full-size slide

  21. 21
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse = une bibliothèque
    † The Definitive Guide to SWT and JFace
    † Auteur : Rob Warner, Robert Harris
    † Éditeur : Apress
    † Edition : 2004 - 864 pages - ISBN : 1-59059-325-1
    † Eclipse – Building Commercial-Quality
    Plug-ins
    † Auteur : Eric Clayberg, Dan Rubel
    † Éditeur : Addison Wesley
    † Edition : 2004 - 864 pages - ISBN : 0-321-22847-2
    † Eclipse – Rich Client Platform
    † Auteur : Jeff Mc Affer, Jean-Michel Lemieux
    † Éditeur : Addison Wesley
    † Edition : 2005 – 552 pages - ISBN : 0-321-33461-2

    View full-size slide

  22. Développement de clients
    riches : Plateforme Eclipse RCP
    Mickaël BARON - 2007 (Rév. Janvier 2009)
    mailto:[email protected] ou mailto:[email protected]
    mickael-baron.fr
    mickaelbaron
    Vers le « Bureau Métier » avec Eclipse RCP
    Chapitre 1 : Introduction

    View full-size slide

  23. 23
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse RCP est un client lourd riche ?
    † Depuis peu un nouveau type d’application fait son apparition
    † Clients « riches »
    † Les clients riches représentent une fusion des clients
    « lourds » et « légers »
    † Interfaces utilisateurs riches
    † Déploiement et maintenance
    † Ce sont des applications distantes avec les avantages des
    applications locales
    † Technologie permettant de développer la couche présentation
    d’une application
    † Informations supplémentaires concernant les technologies du
    marché : keulkeul.blogspot.com/2007/12/clients-riches-les-
    technologies-du.html

    View full-size slide

  24. 24
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse RCP est un client lourd riche ?
    Richesse de l’IHM*
    Accessibilité de
    l

    IHM*
    +
    Client Lourd
    Client Léger
    Terminaux
    IHM* = Interfaces Homme-Machine

    View full-size slide

  25. 25
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse RCP est un client lourd riche ?
    † Pas de standardisation du terme client riche
    † Pour simplifier, on peut voir les choses de la façon suivante
    † Clients lourds riches ?
    † Un client lourd offrant des fonctionnalités de déploiement et de mise à
    jour facilité
    † Clients légers riches ?
    † Un client léger offrant des possibilités d’interactions évoluées comme
    celles proposées par le client lourd
    † C’est quoi alors le Web 2.0 ?
    † Généralement cela s’adresse à la « bulle Internet » donc pour le client
    léger riche
    † Un réseau social où les utilisateurs partagent des photos, du texte, de
    la vidéo

    View full-size slide

  26. 26
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Eclipse RCP est un client lourd riche ?
    † Une application Eclipse RCP est déployable au travers de la
    technologie Java Web Start (JWS)
    † Installation par un simple lien hypertexte
    † Installation implicite de l’application et de ses bibliothèques utilisées
    † Mise à jour à chaque chargement de l’application et des bibliothèques
    † Le framework RCP fournit un système interne de mise à jour
    appelé « UpdateManager »
    † Ajout de nouvelles fonctionnalités de manière dynamique
    † Composants graphiques évolués (c’est du client lourd)
    † Intégration de conteneurs hétérogènes
    † Navigateur WEB
    † Intégration OLE
    † Intégration d’applications natives

    View full-size slide

  27. 27
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Vers le « Bureau métier » avec Eclipse RCP
    † Contexte : la majorité des Systèmes d’Information (SI) ont
    été réalisée de manière atomique où chaque sous-système
    est adossé à des technologies hétérogènes
    † Plusieurs types de client
    † Client léger, client lourd, terminaux
    † Plusieurs langages de développement
    † Java, .NET, Delphi, Cobol, …
    † Plusieurs systèmes d’exploitation
    † Windows, Linux, AS/400, MAC OS, Unix, …
    † Plusieurs bases de données
    † Oracle, SQLServer, MySQL, DB2
    † Plusieurs moniteurs transactionnels
    † Tuxedo, serveurs d’application

    View full-size slide

  28. 28
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Vers le « Bureau métier » avec Eclipse RCP
    † Un Système d’Information est généralement disponible via un
    ensemble d’applications fournissant chacun un ensemble de
    services
    † Le Système d’Information doit être vu en terme de services et
    non plus en terme d’applications où chaque domaine métier
    est responsable des services qu’il propose
    † Le Système d’Information s’oriente donc vers une Architecture
    Orientée Service (SOA)
    † L’utilisateur a besoin d’utiliser conjointement tous ces services
    † Le « Bureau Métier » articulé autour des besoins métiers doit
    ainsi pouvoir fournir ces services de manière intégrée

    View full-size slide

  29. 29
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Intégrer des services dans le « Bureau métier »
    † Eclipse RCP peut intégrer des applications WEB avec des
    communications bidirectionnelles (WEB / Eclipse RCP)
    † Eclipse RCP peut embarquer un serveur d’application Java EE
    † Eclipse peut intégrer des applications existantes avec une
    intégration OLE (logiciels de bureautique)
    † Eclipse peut intégrer des applications Client / Serveur
    développées sous des plateformes différentes (.NET, Delphi)
    † Eclipse peut intégrer des applications d’anciens systèmes
    terminaux en fournissant un conteneur adapté

    View full-size slide

  30. 30
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Pourquoi pas un client léger riche « Web 2.0 »
    † Le développement de la couche présentation est beaucoup
    plus complexe et généralement moins ergonomique
    † Pas de multi-fenêtrage
    † Difficulté de construire des dialogues complexes
    † Ne peut intégrer des applications existantes
    † Ne peut intégrer des applications bureautiques
    † Ne peut intégrer des applications WEB différentes
    † Ne fonctionne pas s’il n’y a pas de réseau
    † Ne peut gérer efficacement l’impression

    View full-size slide

  31. 31
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Modularité et extensibilité via la notion de plugins
    † La plateforme Eclipse repose sur la technologie OSGi
    † Programmation orientée composant (plugin = composant)
    † Architecture orientée service (composant expose des services)
    † Gestion des plugins
    † Gestion des différents chargeurs de classes
    † Gestion des versions des dépendances
    † Cycle de vie des plugins
    † Cycle de vie du composant lors de son entrée dans le conteneur OSGi
    † Cycle de vie du composant lors de son utilisation
    † Services exposés par les plugins
    † Gestion des services définis dans des interfaces Java

    View full-size slide

  32. 32
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Modularité et extensibilité via la notion de plugins
    † Dans l’architecture OSGi le concept de composant est mise
    en œuvre par l’intermédiaire des Bundles
    † Un bundle correspond à un composant ou à un plugin
    † Un bundle est décrit dans un fichier Jar
    † Les informations de déploiement sont indiquées dans le
    fichier MANIFEST.MF (informations spécifiques à OSGi)
    † Interactions entre Bundles
    † Mise à disposition de packages (préciser dans MANIFEST.MF quels
    sont les packages à exporter)
    † Importation de packages (quels sont les packages issus d’autres
    bundles à utiliser)

    View full-size slide

  33. 33
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Riches en interactivité
    † La plateforme Eclipse RCP fournit deux boîtes à outils
    † SWT et JFace
    † Des composants additionnels sont également disponibles
    † Nebula (www.eclipse.org/nebula)
    † Comme Eclipse RCP a été développée en Java la boîte à
    outils Swing fournie avec la JDK est également disponible
    † Il est par conséquent possible de mixer des composants
    SWT et des composants Swing ou tout autre bibliothèques
    « tiers » basées sur Swing

    View full-size slide

  34. 34
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Riches en interactivité : SWT
    † SWT : Standard Widget Toolkit
    † Fournit des composants de base (bouton, label, …)
    † SWT procure des composants graphiques natifs
    † Combinaison de classes Java et JNI spécifiques à chaque plateforme
    † JNI utilisé pour invoquer le système d’exploitation
    † De part son architecture, il est relativement facile d’intégrer
    des applications natives avec SWT (exemple : Browser)
    Système graphique : X11, Windows, etc.
    SWT.dll, SWT.so, …
    SWT
    Application Java
    Machine
    virtuelle
    Tracé graphique

    View full-size slide

  35. 35
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Riches en interactivité : SWT
    Shell
    Composite
    CoolBar
    ToolBar
    Combo
    Spinner
    Canvas
    Browser

    View full-size slide

  36. 36
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Riches en interactivité : SWT
    Tree
    Table
    StyledText
    CTabFolder
    ExpandBar
    Group ScrolledComposite
    TabFolder

    View full-size slide

  37. 37
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Riches en interactivité : JFace
    † JFace s’appuie sur la bibliothèque SWT pour fournir une API
    de développement plus évoluée et plus structurée
    † JFace a pour fonction de simplifier les développements en
    SWT, sans pour autant masquer totalement SWT
    † Combinée à SWT, JFace est utilisée pour le développement
    d’applications pour la plateforme Eclipse
    La boîte à outils connectée
    aux composants natifs
    L’extension et
    l’encapsulation de SWT
    La plateforme Eclipse
    s’appuie sur JFace et SWT

    View full-size slide

  38. 38
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Riches en interactivité : JFace
    TableViewer
    TreeViewer
    TableTreeViewer
    (TreeViewer avec
    colonnes)

    View full-size slide

  39. 39
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Riches en interactivité : JFace
    ListViewer
    ComboViewer
    CheckboxTreeViewer
    CheckboxTableViewer

    View full-size slide

  40. 40
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Riches en interactivité : SWT + Swing
    † L’API SWT permet d’intégrer des composants basés sur la
    boîte à outils Swing
    † L’avantage est de pouvoir intégrer des
    composants qui n’existe pas dans la boîte à outils SWT
    † L’inconvénient est de se trouver avec des composants
    hétérogènes dans la manière de les utiliser
    † Abonnement à des écouteurs différents
    † Gestion du « dessin » différent
    † Agents de placement différents
    † Bref beaucoup de différences
    Evitez si possible de mixer
    des composants Swing
    avec SWT

    View full-size slide

  41. 41
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Riches en interactivité : SWT + Swing
    JGraph
    JFreeCharts

    View full-size slide

  42. 42
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Riches en interactivité : Web
    † Le composant Browser de SWT fournit un conteneur permet-
    tant d’intégrer des applications WEB dans une application
    Eclipse RCP
    † Possibilité de choisir le moteur de rendu
    † Internet Explorer
    † Mozilla
    † Ce conteneur WEB est une porte ouverture à l’intégration
    d’applications déployées via un navigateur
    † Applications Flash
    † Applet, Active X
    † Applications de type XUL dans le cas du moteur Mozilla
    † Via la méthode execute(…), il est possible d’injecter du
    Javascript dans les pages WEB

    View full-size slide

  43. 43
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Riches en interactivité : espace de travail
    † Le framework Eclipse RCP fournit une API pour l’organisation
    de l’espace de travail de l’utilisateur : Eclipse Workbench
    † Possibilité d’organiser l’agencement du contenu par
    † Métier
    † Profile utilisateur
    † Utilisateur
    † Différentes notions liées à l’organisation de l’espace de travail
    † View (conteneur d’IHM)
    † Editor (conteneur d’IHM unique)
    † Perspective (agencement des Views et de l’Editor)
    † Docking (gestion de l’interaction des Views et de l’Editor)

    View full-size slide

  44. 44
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Riches en interactivité : espace de travail
    Deux Views
    placées en
    onglet
    Trois Views
    placées en
    onglet
    L’Editor
    Une View
    Une View
    Perspective Java :
    agencement des
    Views et de l’Editor
    prédéfinie

    View full-size slide

  45. 45
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Riches en interactivité : espace de travail
    Perspective Debug :
    des Views
    différentes et un
    Editor identique
    Deux Views
    placées en
    onglet
    L’Editor
    Une View
    Deux Views
    placées en
    onglet

    View full-size slide

  46. Développement de clients
    riches : Plateforme Eclipse RCP
    Mickaël BARON - 2007 (Rév. Janvier 2009)
    mailto:[email protected] ou mailto:[email protected]
    mickael-baron.fr
    mickaelbaron
    Outils pour développer des applications Eclipse RCP
    Chapitre 1 : Introduction

    View full-size slide

  47. 47
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Environnements de développement
    † Différentes distributions disponibles en fonction du type de
    développement souhaité (WEB, Desktop, Mobile)
    † Chaque distribution fournie un ensemble pré-installé de
    plugins
    † Distributions officielles de la fondation Eclipse
    † Eclipse : www.eclipse.org
    † Distributions prêtes à l’emploi
    † EasyEclipse : www.easyeclipse.org
    † Des solutions payantes qui fournissent des outils à fortes
    valeurs ajoutées
    † MyEclipse : www.myeclipseide.com

    View full-size slide

  48. 48
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Outils de développement d’interfaces homme-machine
    † Projet VEP : Visual Editor
    † Adresse : www.eclipse.org/vep
    † Outils de construction d’interfaces graphiques de type
    WYSIWYG
    † Génération automatique du code à partir du modèle de l’IHM
    en construction
    † Boîte à outils cible : SWT/JFace et AWT/Swing
    † Alternatives payantes
    † SWT Designer : www.swt-designer.com
    † Jigloo : cloudgarden.com/jigloo
    † Test : www.instantiations.com/PDFs/published/eclipse_mag_de.pdf

    View full-size slide

  49. 49
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Outils de conception et de modélisation
    † Projet EMF : Eclipse Modeling Framework
    † Adresse : www.eclipse.org/emf
    † Framework permettant la meta-modélisation et la génération
    de code
    † Projet GEF : Graphical Editing Framework
    † Adresse : www.eclipse.org/gef
    † Framework permettant la construction d’éditeurs graphiques
    † Possibilité de combiner EMF et GEF dans le but de générer le
    modèle « Business » à partir du modèle de la vue et
    inversement
    † Outils de modélisation UML (quelques outils gratuits)
    † Omondo
    † …

    View full-size slide

  50. 50
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Outils de gestion de rapports
    † Projet BIRT : Business Intelligence and Reporting Tools
    † Adresse : www.eclipse.org/birt
    † Projet permettant la création et la visualisation de rapports
    † Outils de constructions de rapport graphique (texte, image,
    tableau, liste, graphique, …)
    † La liaison des données est réalisée de manière graphique est
    l’originie peut être
    † Statique
    † Jeux de données extraits d’une base de données
    † Utilisation de formules prédéfinies
    † Le rendu du rapport peut être réalisé soit d’une page HTML
    soit dans un fichier PDF

    View full-size slide

  51. 51
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Outils de tests
    † Projet TPTP : Test & Performance Tools Platform
    † Adresse : www.eclipse.org/tptp
    † Tracing and Profiling Tools Project
    † Ensemble d’outils pour analyser une application Java
    † Exécution de l’application en mode ‘Profiling’ pour collecter des
    informations sur l’occupation mémoire et les temps d’exécution
    † Test Tools Project
    † Tests unitaires
    † Tests automatisés pour les IHM
    † Monitoring Tools Project
    † Outil générique de supervision sur différentes sources
    † OS, serveurs d’applications JBoss et JOnAS, base de données MySQL
    † Intégration avec Birt pour la génération des rapports

    View full-size slide

  52. 52
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Outils de gestion de base de données
    † Projet DTP : Data Tools Platform
    † Adresse : www.eclipse.org/datatools
    † Ensemble d’outillage pour la manipulation et la visualisation
    du contenu d’une base de donnée
    † Possibilité de se connecter à tous types de base de données
    relationnelle (JDBC)
    † Possibilité de lancer des requêtes SQL et de visualiser le
    résultat
    † Visualisation du contenu complet d’une table avec possibilité
    d’interaction (modification)

    View full-size slide

  53. 53
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Outils pour le développement WEB
    † Projet WTP : Web Tools Platform
    † Adresse : www.eclipse.org/webtools
    † Ensemble d’outillage pour le développement à base de
    technologies client/server
    † Editeurs graphiques relatifs à de nombreux langages
    † Wizard et squelettes d’applications
    † Outils et APIs pour le support, déploiement et le test d’application
    † EJB : outils pour le développement d’EJB
    † Web Services Tools : outils pour le développement et
    l’interaction avec des Web Services

    View full-size slide

  54. 54
    Plateforme Eclipse - M. Baron - Page
    mickael-baron.fr mickaelbaron
    Outils de gestion des tâches des développeurs
    † Différents outils pour la gestion de l’intégration continue
    † Projet Mylyn : www.eclipse.org/mylyn
    † Gestion des tâches utilisateurs avec possibilité d’interaction
    avec des gestionnaires de bugs (Bugzilla, Trac, JIRA)
    † Outils de gestion de source : CVS et SVN
    † Un client CVS est installé par défaut dans Eclipse
    † Eclipse Subversive (SVN) est en incubation et est basé sur le
    client de Polarion (www.polarion.org)
    † Outils pour l’audit de code
    † Metrics : statistiques sur le code (metrics.sourceforge.net)
    † CheckStyle : propreté du code (checkstyle.sourceforge.net)
    † Findbugs : analyse sémantique du code (findbugs.sourceforge.net)
    † PMD : analyse sémantique du code (pmd.sourceforge.net)

    View full-size slide