![Page 1: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/1.jpg)
POOProgrammation Orientée Objet
année 2010/2011
![Page 2: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/2.jpg)
Industrialisation
But : avoir une vision d’ensemble des outils, techniques, bonnes pratiques, méthodes d’un environnement de développement pour des projets en groupe
L’insdispensable :Utilisation d’Eclipse – développement JavaDebuggingGestion de la documentationGestion des sources/versionsOutils de qualimétrie du code
![Page 3: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/3.jpg)
Aujourd’hui…
![Page 4: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/4.jpg)
Exemples d’Outils
Stats/qualimétrieSur la collaboration dans le groupe [statsvn
]La qualité du code [checkstyle, pmd, cpd,
sonar]
![Page 5: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/5.jpg)
Plan de cette présentation
EDIDéfinitionHistoriqueLes EDI aujourd’hui
EclipseHistoriquePourquoi Eclipse ?Installation et exécutiondémo
![Page 6: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/6.jpg)
EDI : Définition Un environnement de développement intégré
(EDI, ou Integrated Developement Environement - IDE) est un logiciel regroupant un ensemble d'outils nécessaires au développement logiciel dans un (ou plusieurs) langage(s) de programmation
Un EDI c’est : un éditeur de texte spécialisé (avec coloration
syntaxique, indentation automatique, complétion automatique, . . . ),
un compilateur (ou au moins l'intégration d'un compilateur existant),
un débogueur (ou au moins l'intégration d'un débogueur existant),
des outils d'automatisation de la compilation et de gestion de projets
![Page 7: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/7.jpg)
EDI : Définition Des outils complémentaires :
un système de gestion de versions (eg CVS ou Subversion),
conception d'interface graphique un navigateur de classes (pour explorer la
hiérarchie des classes), des outils de tests unitaires et de couverture du
code, des outils de maintenance/remaniement du code
(refactoring), un générateur de documentation (eg Javadoc ou
Doxygen).
![Page 8: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/8.jpg)
EDI : buts Augmenter significativement la productivité
du développeur : en minimisant le temps passé à basculer entre les
différentes tâches intervenant dans le cycle de développement logiciel (édition, compilation, exécution, débogage, test, documentation, import/export vers le depôt de versions, . . . ),
en minimisant le temps d'apprentissage requis par les différents outils intervenant dans le cycle de développement : pas de syntaxe (e.g. celles des Makefile), ou de commandes/instructions (e.g. jdb/gdb) à apprendre.
l'utilisation d'un EDI ne dispense pas complètement d'une certaine familiarité avec chacune des étapes du cycle de développement. . .
![Page 9: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/9.jpg)
EDI : Un peu d’histoire
1983 : Borland Turbo Pascal, très accessible ($50)
1987 : Borland Turbo C 1991 : Microsoft Visual Basic 1992 : Microsoft Visual C++ 2001 : Eclipse
![Page 10: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/10.jpg)
EDI : alternatives Le cycle édition/compilation/exécution a lieu
dans un éditeur de texte avancé qui (en général) gère les fonctionnalités suivantes (entre autres) : coloration syntaxique indentation automatique complétion automatique intégration avec le compilateur (M-x compile/C-x `
sous Emacs, mode QuickFix sous Vim, . . . ) Exemples classiques :
Emacs : libre, multiplateforme, classique linux Vim : libre, multiplateforme, mode
commande/édition
![Page 11: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/11.jpg)
EDI : alternatives Ce type d'approche du développement
logiciel est limitée : la complétion automatique des éditeurs ne
dépend pas (assez) du contexte, il n'y a pas ou peu d'intégration avec le
débogueur, il n'y a pas ou peu d'intégration avec les outils de
gestion de version, des tâches laborieuses comme la
maintenance/remaniement de code restent entièrement manuelles,
requiert une expertise importante dans chacune des phases du cycle de développement (configuration de l'éditeur de texte, syntaxe des Makefile, commandes du débogueur, ... )
![Page 12: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/12.jpg)
EDI : état des lieux Logiciels propriétaires :
C++ Builder (Borland) : C/C++, gratuit/payant, Windows uniquement,
JBuilder (Borland) : Java (gratuit/payant, multiplateforme),
Xcode (Apple) : C/C++, Objective C, Java (payant, Mac OS X seulement),
Visual Studio (Microsoft) : C/C++, C#, Web ASP (gratuit/payant, Windows uniquement),
Rational Application Developper IBM : Java JEE, payant, multiplateforme
![Page 13: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/13.jpg)
EDI : état des lieux Logiciels « libres » :
KDevelop (KDE) : C/C++, Java, base sur les outils GNU (GCC, make, GDB) et sur d'autres outils répandus (CVS, Doxygen), Unix uniquement,
Anjuta (GNOME) : C/C++ uniquement, aussi base sur les outils GNU (multiplateforme),
Netbeans (Sun) : initialement Java uniquement, maintenant C/C++, Java Micro Edition4, Ruby, JavaScript, . . . (multiplateforme),
Eclipse : Java, C/C++, Java Micro Edition, PHP, . . . (multiplateforme)
...
![Page 14: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/14.jpg)
EDI : focus sur Eclipse Initialement un simple EDI Java (IBM/OTI
VisualAge for Java), Eclipse est devenu un framework
Offrir une plateforme ouverte pour le développement d'applications : non-dédiée à un langage ou un SE ou une IG, facile à comprendre mais surtout facile à étendre, paramétrable selon les besoins/goûts du
développeur, capable d'automatiser les tâches lourdes du
développement, open source, ouvert et EXTENSIBLE par plugin
![Page 15: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/15.jpg)
EDI : Eclipse 1996 : IBM achète OTI qui développe la suite d'EDI
VisualAge (en SmallTalk), et en particulier VisualAge for Java,
Nov. 2001 : lancement du projet libre Eclipse et création de l'Eclipse Consortium
Jan. 2004 : création de l'Eclipse Foundation, organisation a but non lucratif qui regroupe plusieurs grandes entreprises (AMD, Borland, IBM, Intel, Motorola, Nokia, Oracle, . . . ) dans le but de conduire le développement de la plateforme Eclipse
. . . Juin 2006 : Eclipse 3.2 (depuis, une nouvelle version
par an) Juin 2007 : Eclipse 3.3 Europa Juin 2008 : Eclipse 3.4 Ganymède Juin 2009 : Eclipse 3.5 Galiléo Juin 2010 : Eclipse 3.6 Hélios
![Page 17: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/17.jpg)
Pourquoi Eclipse ?
Sondage developpez.com
![Page 18: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/18.jpg)
Eclipse : un framework Eclipse = plateforme + greffons (plugins) plateforme :
un exécutif indépendant du SE (JVM), un ensemble basique de greffons extensibles, des mécanismes (API), règles et outils pour
construire des greffons, un moteur pour découvrir, charger et exécuter des
greffons greffon/plugin :
se connecte a des points précis de la plateforme, remplit une tâche (pas forcement exécutable), offre des points d'extension, coexiste avec d'autres greffons, instance : ensemble de greffons qui coopèrent pour
offrir un EDI
![Page 19: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/19.jpg)
Eclipse : un framework
Eclipse + JDT = Java IDE Eclipse + CDT = C/C++ IDE Eclipse + PDT = PHP IDE ... Eclipse + JDT + CDT + PDT = Java,
C/C++, PHP IDERuby, TCL, JavaScript, ...
![Page 20: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/20.jpg)
Eclipse : un framework
Construction de MON Eclipse avec les plugins que je veux
Des outils pour « tout » faireBusiness Intelligence
and Reporting Tools, Web Tools Project, Data Tools Project, Eclipse Modeling Framework, ...
![Page 21: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/21.jpg)
Eclipse : installation
Installer un JDK, Sun JDK 6 Télécharger UN zip d’Eclipse [version,
SE] Extraire l’archive [ pas d’espace
dans le chemin] Lancer l’exécutable (eclipse ou
eclipse.exe) Paramètres éventuels dans eclipse.ini
Eg la machine virtuelle Java à utiliser :-vm "C:\Program Files\Java\jdk1.6.X\bin\
javaw"
![Page 22: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/22.jpg)
UN Eclipse....
![Page 23: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/23.jpg)
Ressources
Eclipse : http://www.eclipse.orghttp://www.eclipsetotale.com/
Cours en ligne : http://www.jmdoudoux.fr/java/dejae/
Tutoriels en vidéo : http://eclipsetutorial.sourceforge.net/
Indispensable !!! : http://www.developpez.com
![Page 24: POO Programmation Orientée Objet année 2010/2011](https://reader035.vdocuments.pub/reader035/viewer/2022081507/551d9da4497959293b8d4cd7/html5/thumbnails/24.jpg)
Eclipse
Une petite démo quand même !