Environnements de développement (intégrés)



Documents pareils
Projet de développement

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

S T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction , Frédéric Peschanski

Installation et prise en main

Eclipse atelier Java

TP1 : Initiation à Java et Eclipse

Introduction à Eclipse

Bases Java - Eclipse / Netbeans

Tutoriel code::blocks

Environnements et Outils de Développement Cours 1 Introduction

Point sur les solutions de développement d apps pour les périphériques mobiles

Programmation Mobile Android Master CCI

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

TD/TP 1 Introduction au SDK d Android

Remise à niveau d un programme JAVA du domaine public

CONSERVATOIRE NATIONAL DES ARTS ET METIERS CENTRE REGIONAL RHÔNE-ALPES CENTRE D'ENSEIGNEMENT DE GRENOBLE EXAMEN PROBATOIRE

DotNet. Plan. Les outils de développement

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 20/06/2007. AUTEUR : Equipe technique Syfadis

Configuration requise pour l utilisation de la plateforme EnlightKS Online Certification Management Services ET2.13 Juin 2011

Machine virtuelle Java pour Palm TX

TP1 : Initiation à Java et Eclipse

ECLIPSE ET PDT (Php development tools)

Intégration de l interface graphique de Ptidej dans Eclipse

Apprendre Java et C++ avec NetBeans

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Environnements de développement (intégrés)

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Initiation à JAVA et à la programmation objet.

JOnAS Day 5.1. Outils de développements

Chapitre I Notions de base et outils de travail

Exigences système Edition & Imprimeries de labeur

Silk Central Notes de Release

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Éléments de programmation et introduction à Java

Projet De Stijl Plate-forme pour robots mobiles

Quelques mots à propos de Sage

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 12/09/2008. AUTEUR : Equipe technique Syfadis

Annexe : La Programmation Informatique

Introduction à l informatique en BCPST

Messagerie & Groupeware. augmentez l expertise de votre capital humain

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Accès au Serveur de PAIE «SPV» par INTERNET Paramétrage du poste de travail «Windows»

TP1. Outils Java Eléments de correction

Les logiciels indispensables à installer sur votre ordinateur

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Exigences système Edition & Imprimeries de labeur

Single User. Guide d Installation

Installation Client (licence réseau) de IBM SPSS Modeler 14.2

Module d anonymisation

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

Mozilla Firefox 3.5. Google Chrome 3.0 LES NAVIGATEURS WEB. (pour Windows) Opéra 10. Internet Explorer 8. Safari 4.0

Famille IBM WebSphere Application Server

< Atelier 1 /> Démarrer une application web

Vulgarisation Java EE Java EE, c est quoi?

Chapitre 2 : Abstraction et Virtualisation

Vérifier la qualité de vos applications logicielle de manière continue

IBM DB2 Alphablox. d administration GC

Évaluation et implémentation des langages

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

emuseum PUBLIEZ VOS COLLECTIONS SUR INTERNET Pourquoi choisir emuseum? Intégration facile avec TMS Puissante fonction de recherche

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

wxwidgets dans un environnement Microsoft Windows

Sessions en ligne - QuestionPoint

Chapitre 1 Retour en arrière

Livret 1 Poste de travail de l utilisateur :

Guide d installation JMap 5.0

Installation / Sauvegarde Restauration / Mise à jour

DEVELOPPEMENT MOBILE - ETAT DE L ART DES SOLUTIONS

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Manuel logiciel client Java

Présentation du Framework BootstrapTwitter

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Atelier Le gestionnaire de fichier

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Plan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB.

Compte Rendu d intégration d application

Traitement de données

Asterisk QuickRecord. ANTOINE MANSUY IUT DE COLMAR

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training

bbc Launch Pad Juillet 2011 Version 10.0

Programmeur Java 1.4 et 5.0

Armand PY-PATINEC 2010

Calcul Scientifique avec 3

Paul FLYE SAINTE MARIE

MANUEL D INSTALLATION DES PRE REQUIS TECHNIQUES SALLE DES MARCHES V.7

IBM Power Systems - IBM i IBM Rational

Systèmes en réseau : Linux 1ère partie : Introduction

Catalogue Formations Jalios

CAHIER DES CHARGES D IMPLANTATION

Le partenaire tic de référence. Gestion des ressources humaines INOVA RH

CATALOGUE DES OFFRES O2i INGÉNIERIE POUR LES PLATEFORMES ÉDITORIALES

CONDITIONS D UTILISATION VERSION NOMADE

Transcription:

Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure Centre d enseignement et de recherche en technologies de l information et systèmes École des ponts Transparents inspirés de ceux du cours de Mihaela Sighireanu en 2006-2007.

Plan 1 Introduction aux EDI Définition et composantes Historique Les environnements de développement logiciel aujourd hui 2 Eclipse Un EDI (de plus) pour Java? Origine et ressources Plateforme Eclipse Installer/Utiliser Eclipse 3 Organisation du module Plan du cours En pratique

Définition et composantes Environnement de développement (intégré) Un environnement de développement intégré (EDI) 1, est un logiciel regroupant un ensemble d outils nécessaires au développement logiciel dans un (ou plusieurs) langage(s) de programmation. Outils inclus au minimum dans un EDI : 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. 1 Integrated Development Environment (IDE) en anglais.

Définition et composantes Outils souvent également présents : un système de gestion de versions (ou l intégration avec un système existant comme CVS ou Subversion), des outils de conception d interface graphique (IG) 2 (qui générent des squelettes de code d interface graphique à partir d une description graphique), un navigateur de classes (pour explorer la hiérarchie des classes), des outils de tests unitaires (vérification systématique du code) et de couverture du code, des outils de maintenance/remaniement du code (refactoring en anglais), un générateur de documentation (ou l intégration avec un système existant comme Javadoc ou Doxygen). 2 User Interface (UI), en anglais.

Définition et composantes But des EDI 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 dépôt de versions,... ), en minimisant le temps d apprentissage requis par les differents 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. Évidemment, l utilisation d un EDI ne dispense pas complètement d une certaine familiarité avec chacune des étapes du cycle de développement...

Historique Rappel sur les progrès réalisés en développement logiciel... «Préhistoire» : 1950-1960 : cartes perforées, 1960-1970 : apparitions des premiers terminaux et systèmes d exploitation (SE) : éditeurs de texte très basiques (ligne par ligne : ed (1969), puis plein écran : vi, EMACS (1976)) assembleur, compilateur C (1972), et débogueur. 1970-1980 : make (1977), systèmes d automatisation de la compilation.

Historique Avec le développement des SE grand public ayant une interface graphique (1980-1990) et l augmentation progressive de la taille des programmes, le besoin d outils de développement plus avancés se fait ressentir et les premiers EDI apparaissent ; quelques dates : DÉMO 1983 : Borland Turbo Pascal, très accessible ($50) 1987 : Borland Turbo C 1991 : Microsoft Visual Basic 1992 : Microsoft Visual C++

Aujourd hui : développement sans EDI Le cycle édition/compilation 3 /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,... ) Examples : Emacs : libre, multiplateforme, fonc. :, appr. :, Vim : libre, multiplateforme, fonc. :, appr. :, Kate/Kwrite : libre, Unix uniquement, fonc. :, appr. :, gedit : libre, Unix uniquement, fonc. :, appr. :, TextMate : payant, Mac OS X uniquement, fonc. :, appr. :. 3 avec le compilateur natif : gcc sous Linux...

Aujourd hui : développement sans EDI 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,... ).

Aujourd hui : développement avec EDI 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 (gratuit/payant, Windows uniquement),... : -

Aujourd hui : développement avec EDI Logiciels libres : KDevelop (KDE) : C/C++, Java, basé sur les outils GNU (GCC, make, GDB) et sur d autres outils répandus (CVS, Doxygen) (Unix uniquement), Anjuta (GNOME) : C/C++ uniquement, aussi basé sur les outils GNU (multiplateforme), Netbeans (Sun) : initialement Java uniquement, maintenant C/C++, Java Micro Edition 4, Ruby, JavaScript,... (multiplateforme), Eclipse : Java, C/C++, Java Micro Edition, PHP,... (multiplateforme). Pourquoi choisir Eclipse? Java, libre, multiplateforme. DÉMO 4 Java pour terminaux mobiles.

Un EDI (de plus) pour Java? Initialement un simple EDI Java (IBM/OTI VisualAge for Java), Eclipse est devenu un EDI pour développer des EDI et d autres outils. Objectif 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 aussi facile à étendre, paramétrable selon les besoins/goûts du développeur, capable d automatiser les tâches lourdes du développement, ayant une base stable, utilisable pour son propre développement 5, promouvoir l utilisation de Java. 5 bootstrap-able, en anglais.

Origine et ressources 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 à but non lucratif qui regroupe plusieurs grandes entreprises (AMD, Borland, IBM, Intel, Motorola, Nokia, Oracle,... ) dans le but de conduire le dévelopement de la plateforme Eclipse.... : - Juin 2006 : Eclipse 3.2 (depuis, une nouvelle version par an) Juin 2007 : Eclipse 3.3 Juin 2008 : Eclipse 3.4

Plateforme Eclipse Eclipse = plateforme + greffons plateforme : un exécutif 6 indépendant du SE (JVM), un ensemble basique de greffons 7 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 : la plus petite unité qui peut être développée et utilisée séparément ; se connecte à 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. 6 runtime, en anglais 7 plug-in, en anglais

Architecture de la plateforme Eclipse

Exécutif Définit les points d extension et le modèle de greffon. point d extension interface greffon = archive JAR + interfaces implémentées + interfaces utilisées déclaration de greffon = manifeste (dépendences à l exécution) + interface (type) DÉMO Découvre dynamiquement les greffons et maintient un registre d informations sur les greffons et sur leurs points d extension. Charge à la demande les greffons. Met à jour automatiquement les instances.

Gestion des ressources : espace de travail 8 Ressources : fichiers, répertoires, projets, etc..., Espace de travail = un ou plusieurs projets, Projet = partie du système de fichiers qui a une personnalité (définie par les plug-ins). Exemples : projet Java, projet de greffon, projet Web, Implémente un mécanisme d historique local pour suivre les changements des ressources. DÉMO 8 workspace, en anglais.

Plan de travail 9 Fournit l IG pour l utilisateur de la plateforme. Spécificité Eclipse : l IG a l apparence d une application native du SE et est basée sur deux outils (SWT Standard Widget Tool, JFace) qui peuvent aussi être utilisés directement. Composantes physiques de l IG : menus, barre d outils, boutons, onglets, fenêtres. Composantes logiques de l IG (paramétrable par des greffons) : Éditeur : ouvre, modifie et sauvegarde des objets ; lance des actions. Vue : fournit des informations sur les objets (structure, composantes, etc... ) en communiquant avec d autres vues ou éditeurs. Perspective : ensemble d éditeurs et vues ayant une disposition précise dans le plan de travail. Exemples : navigation, documentation, débogage, etc... DÉMO C est le point d extension le plus étendu! 9 workbench, en anglais

Développement collaboratif Contrôle les versions et le partage d un projet entre différents développeurs. enregistre dans une archive, gère des modifications de fichiers, récupère toute modification enregistrée, permet de visualiser les différences entre les versions, Le système CVS (Concurrent Version System) est utilisé par défaut. API pour l interface avec d autres systèmes (Subversion par exemple).

Serveur d aide Définit des points d extensions pour la documentation en ligne. Sert de base pour le système d aide d Eclipse.

Installer/Utiliser Eclipse Installer un JDK (de Sun... ) récent (Windows/Linux : http://java.sun.com/javase/downloads/, Mac OS X : cf. le site web d Apple). Télécharger l archive Eclipse Classic ( Eclipse Platform, Java Development Tools, and Plug-in Development Environment ) qui correspond à votre SE sur http://www.eclipse.org/downloads/ 10. Extraire l archive à l endroit habituel pour votre SE. Lancer l exécutable extrait de l archive (eclipse ou eclipse.exe). 10 La dernière version est la 3.3 mais celle installée dans les salles informatiques est la 3.2. Aussi, il serait peut-être préférable d installer la 3.2 pour des raisons de compatibilité des projets. Elle est disponible sur : http://archive.eclipse.org/eclipse/downloads/drops/r-3.2.2-200702121330/

Installer/Utiliser Eclipse (Éventuellement) régler les paramètres (quelques exemples) : la machine virtuelle utilisée : eclipse -vm machine_virtuelle les paramètres de la machine virtuelle (ici la quantité maximum de mémoire à utiliser, par défaut 256 Mo) : eclipse -vmargs -Xmx512 l espace de travail utilisé (par défault, /workspace sous Unix) eclipse -data espace_de_travail (Éventuellement) Vérifier le réglage : Help / About Eclipse SDK / Configuration Details

Plan du cours Développement en Java avec Eclipse JDT : développement classique (éditer/compiler/exécuter) déboguer tests unitaires en Java (avec JUnit) développement collaboratif (avec CVS) compilation (avec Ant) création de documentation (Javadoc) Développement de greffons avec Eclipse PDE.

Pratique Informations/Supports de cours sur : http://www.di.ens.fr/~labatut/ Enseignements/Environnements de développement Cours et TP (normalement) en alternance une semaine sur deux (consulter régulièrement la page web... ). TP : exercices de programmation Java avec Eclipse. Examen : sur machine, exercices similaires à ceux des TP. Projet : application plus complexe à développer/étendre sous Eclipse avec les outils vues en cours et TP (avec une soutenance). Note finale : Nexamen+Nprojet 2