Institut Supérieur d’Informatique et de Gestion Kairouan




                                                    Eclipse
      Ali BEN MESSAOUD        2ème Sciences de l’Informatique | Groupe 2

                                                    Décembre 2009
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
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
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
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
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
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
   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
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
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
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
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
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
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
Netographie

   http://www.epi-
    eclipse.ch/index.php?option=com_content&view=article&id=12&Itemid=8
   http://fr.wikipedia.org/wiki/Eclipse_%28logiciel%29
   http://www.eclipsetotale.com/articles/Fondation_et_projet_Eclipse.html
   http://wiki.eclipse.org/index.php/Development_Resources
   http://www.eclipse.org/eclipse/presentation/eclipse-slides_files/v3_document.htm
   http://www-igm.univ-mlv.fr/~dr/XPOSE2004/adessaig/eclipse.html
   http://www.journaldunet.com/developpeur/breve/37450/la-plate-forme-jboss-affine-
    son-integration-dans-eclipse.shtml
   http://fr.wikipedia.org/wiki/Eclipse
   http://www.eclipse.org/projects/project-plan.php?projectid=eclipse
          15

Eclipse Impress

  • 1.
    Institut Supérieur d’Informatiqueet 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 Eclipsedé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 programmationgé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 laplateforme 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 estconstitué 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 demenu 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
  • 15.
    Netographie  http://www.epi- eclipse.ch/index.php?option=com_content&view=article&id=12&Itemid=8  http://fr.wikipedia.org/wiki/Eclipse_%28logiciel%29  http://www.eclipsetotale.com/articles/Fondation_et_projet_Eclipse.html  http://wiki.eclipse.org/index.php/Development_Resources  http://www.eclipse.org/eclipse/presentation/eclipse-slides_files/v3_document.htm  http://www-igm.univ-mlv.fr/~dr/XPOSE2004/adessaig/eclipse.html  http://www.journaldunet.com/developpeur/breve/37450/la-plate-forme-jboss-affine- son-integration-dans-eclipse.shtml  http://fr.wikipedia.org/wiki/Eclipse  http://www.eclipse.org/projects/project-plan.php?projectid=eclipse 15