Vous êtes sur la page 1sur 20

Environnements de d eveloppement

Mihaela Sighireanu
UFR dInformatique Paris 7, LIAFA, 175 rue Chevaleret, Bureau 6A7 http://www.liafa.jussieu.fr/sighirea/cours/edi/

Introduction aux EDI, la plateforme Eclipse

R esum e

Introduction aux EDI D enition et composantes Historique Exemples Eclipse Un EDI (de plus) pour Java ? Sources et ressources Plateforme Eclipse Utiliser Eclipse Organisation du cours

Introduction aux EDI

Eclipse

Organisation du cours

R esum e

Introduction aux EDI D enition et composantes Historique Exemples Eclipse Un EDI (de plus) pour Java ? Sources et ressources Plateforme Eclipse Utiliser Eclipse Organisation du cours

Introduction aux EDI D enition

Eclipse

Organisation du cours

D enition et composantes
Denition (EDI) Un environnement de d eveloppement int egr e, EDI (ou IDE en anglais), est un logiciel regroupant un ensemble doutils n ecessaires au d eveloppement des applications dans un langage de programmation L. Exemples doutils inclus dans un L-EDI : editeur de texte sp ecialis e, compilateur, d ebogueur, outils automatiques de gestion dapplications ayant plusieurs chiers source (projets), gestionnaire de versions et de sauvegardes, g en erateur de documentation.

Introduction aux EDI Historique

Eclipse

Organisation du cours

Historique
Pr ehistoire : 1950-60 : cartes perfor ees. 1960-70 : terminaux, editeurs de texte basique, compilateur et d eboguer en ligne de commande. 1970-80 : introduction de makeles et de chiers de congurations permettant de contr oler convenablement la compilation. Avec le d eveloppement des SE ayant une interface graphique (1980-90), les premiers EDI apparaissent (1981 Turbo Pascal). Quelques dates : 1983 : Borland Turbo Pascal (DOS), prix d emocratique (50$) 1987 : Borland Turbo C 1991 : Microsoft Visual Basic 1 1997 : Microsoft Visual Studio (C++)

Introduction aux EDI Exemples

Eclipse

Organisation du cours

Exemples
Logiciels libres : Emacs, XEmacs : basique, mais adaptables ` a tout langage OpenOce.org : langages de script Kdevelop (KDE) : C, C++, bas e sur les outils GNU Netbeans (Sun) : initialement con cu pour Java, maintenant C, C++, XML et HTML Eclipse (OTI-IBM) : Java, C/C++, PHP, HTML, etc. Logiciels propri etaires : Visual Studio (Microsoft) : C/C++, .NET, C#, etc. JBuilder (Borland) : Java JCreator : Java WinDev (PC Soft) : application PC Pocket et Mobile

Introduction aux EDI

Eclipse

Organisation du cours

R esum e

Introduction aux EDI D enition et composantes Historique Exemples Eclipse Un EDI (de plus) pour Java ? Sources et ressources Plateforme Eclipse Utiliser Eclipse Organisation du cours

Introduction aux EDI Objectifs

Eclipse

Organisation du cours

Un EDI (de plus) pour Java ?


Con cu sur la base dun EDI Java (VA4J), Eclipse devient un EDI pour d evelopper des EDIs et dautres outils. Objectif : orir une plateforme ouverte pour le d eveloppement dapplications, cest-` a-dire : non-d edi ee ` a un langage ou SE ou UI facile ` a comprendre mais aussi facile ` a etendre param etrable selon les besoins/go uts du programmeur capable dautomatiser les taches lourdes du d eveloppement ayant une base stable utilisable pour son propre d eveloppement (bootstrap-able) promouvoir lutilisation de Java

Introduction aux EDI Sources

Eclipse

Organisation du cours

Sources et ressources
1996 : IBM ach` ete OTI qui d eveloppe la suite dEDI Visual Age (en SmallTalk), et en particulier VA4J. 2001 : apr` es un investissement de 40 M$, IBM lance Eclipse 1, grand succ` es populaire car ouverte et gratuite (licence CPL). Le consortium Eclipse est cr ee (IBM, Borland, RedHat, SuSE, Intel,...) 2009 : Eclipse Galileo 3.6 2010 : en pr eparation Eclipse Helios 3.7 Bibliographie : www.eclipse.org (cours, API, etc.) Le manuel (tr` es complet, HTML) dans la distribution Steve Holzner, Eclipse, OReilly 2004

Introduction aux EDI Plateforme Eclipse

Eclipse

Organisation du cours

Plateforme Eclipse
Eclipse = plateforme + plug-ins plateforme
un ex ecutif (run-time, JVM) ind ependant du SE un ensemble basique de plug-ins extensibles m ecanismes (API), r` egles et outils pour construire de plug-in un moteur pour d ecouvrir, charger et ex ecuter des plug-ins

plug-in = la plus petite unit e qui peut etre d evelopp ee et utilis ee s epar ement
se connecte ` a un point pr ecis de la plateforme remplit une tache (pas forcement ex ecutable) ore des points dextension coexiste avec dautres plug-ins instance (feature) = ensemble de plug-ins qui coop` erent pour orir un EDI

Introduction aux EDI Plateforme Eclipse

Eclipse

Organisation du cours

Architecture de la plateforme Eclipse

Introduction aux EDI Plateforme Eclipse

Eclipse

Organisation du cours

Ex ecutif

(Platform Runtime) Ex ecute la JVM. D enit les points dextension et le mod` ele plug-in.
point dextension = interface plug-in = interfaces impl ement ees + archive Jar + interfaces utilis ees d eclaration de plug-in = manifeste (d ependences ` a lex ecution) + interface (type)

D emo... D ecouvre dynamiquement les plug-ins et maintient une liste sur la base de leur d eclaration. Charge les plug-ins ` a la demande. Mise ` a jour automatique des instances (features).

Introduction aux EDI Plateforme Eclipse

Eclipse

Organisation du cours

Management des ressources : espace de travail

(Workspace) Ressources : chiers, r epertoires, projets, etc. Espace de travail = un ou plusieurs projets. Projet = partie du syst` eme de chiers (FS) qui a une personnalit e (d enie par les plug-ins). Exemples : projet Java, site Web. Impl emente un m ecanisme dhistoire locale (backup) pour tracer les changements des ressources. D emo...

Introduction aux EDI Plateforme Eclipse

Eclipse

Organisation du cours

Plan de travail
(Workbench) Fournit linterface visuelle pour lutilisateur de la plateforme (UI). Sp ecicit e Eclipse : lUI a lapparence dune application native du SE et est bas ee sur deux outils (SWT Standard Widget Tool, JFace) qui peuvent etre utilis es directement. Composantes physiques de lUI : menus, barre dactions, boutons, onglets, fen etres. Composantes logiques de lUI (param etrable par des plug-ins) :
Editeur : ouvre, modie et sauvegarde des objets ; active des actions. Vue : fournit des informations sur les objets (structure, composantes, etc.) en communiquant avec dautres vues ou l editeur. Perspective : ensemble editeur + vues ayant une disposition pr ecise dans le plan de travail. Exemples : navigation, documentation, debug, etc.

Le plus etendu point dextension !

Introduction aux EDI Plateforme Eclipse

Eclipse

Organisation du cours

Support d equipe

(Team support) Contr ole les versions et le partage dun projet entre di erents d eveloppeurs.
enregistre dans une archive g` ere des modications de chiers r ecup` ere toute modication enregistr ee visualise les di erences entre les versions

CVS (Concurrent Version System) est utilis e par d efaut. API pour linterface avec dautres syst` emes.

Introduction aux EDI Plateforme Eclipse

Eclipse

Organisation du cours

Serveur daide

(Help system) D enit des points dextensions pour la documentation en ligne. Base pour le syst` eme daide dEclipse.

Introduction aux EDI Pratique

Eclipse

Organisation du cours

Utiliser Eclipse

Installer Java (GNU ou Sun). Telecharger larchive (plateforme + extensions) qui correspond ` a votre SE sur www.eclipse.org ; desarchiver. Lancer lex ecutable extrait de larchive (eclipse ou eclipse.exe). Param etrer (quelques exemples) :
la machine virtuelle utilis ee : eclipse -vm vmPath le param` etres de la machine virtuelle, ici la m emoire ` a utiliser (par d efaut 256Mo) : eclipse -vmargs -Xmx512 lespace de travail utilis e eclipse -data wsPath

Visualiser le param etrage : Help About Eclipse SDK ... Details

Introduction aux EDI

Eclipse

Organisation du cours

R esum e

Introduction aux EDI D enition et composantes Historique Exemples Eclipse Un EDI (de plus) pour Java ? Sources et ressources Plateforme Eclipse Utiliser Eclipse Organisation du cours

Introduction aux EDI

Eclipse

Organisation du cours

Plan du cours

Eclipse pour Java ou C ou Ocaml ou PHP ou ... :


conguration dune perspective ou instance d eveloppement classique ( editer, compiler, ex ecuter) d eboguer et proler (valgrid, gprof) g en eration de documentations en ligne test unitaire avec XUnit travail en equipe (CVS) compilation avec Ant ou avec des outils externes (Makele)

D eveloppement de plug-ins avec PDE Eclipse.

Outils de paquetage GNU : autoscan, autoconf, automake

Introduction aux EDI

Eclipse

Organisation du cours

Pratique

Chaque s eance comporte une partie pratique.

Projet : application plus complexe ` a d evelopper sous Eclipse.

Examen : sur machine.

Note nale : (Exam + Projet) / 2

Vous aimerez peut-être aussi