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



Documents pareils
Projet de développement

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

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

ECLIPSE ET PDT (Php development tools)

Générer du code à partir d une description de haut niveau

Serveur de travail collaboratif Michaël Hoste -

Introduction à Eclipse

Bases Java - Eclipse / Netbeans

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

Visual Paradigm Contraintes inter-associations

JOnAS Day 5.1. Outils de développements

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

TP1 : Initiation à Java et Eclipse

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

Eclipse atelier Java

Tutoriel code::blocks

BIRT (Business Intelligence and Reporting Tools)

TP1 : Initiation à Java et Eclipse

Expert technique J2EE

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

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

Installation et prise en main

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Serveur Subversion Debian GNU/Linux

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

Analyse comparative entre différents outils de BI (Business Intelligence) :

IBM Power Systems - IBM i IBM Rational

Programmation Mobile Android Master CCI

SQL Server Installation Center et SQL Server Management Studio

Silk Portfolio : Une démarche allégée pour les tests, le développement et la gestion de vos applications

[Projet S9] Rédacteurs & Contributeurs Entité Rédacteurs Contributeurs Imededdine HOSNI Olivier MARTY. Validation du document Nom Date Visa

Le moteur de workflow JBPM

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Maîtrisez la modernisation de votre patrimoine applicatif

Intégration de l interface graphique de Ptidej dans Eclipse

Java pour le Web. Cours Java - F. Michel

Silk Central Notes de Release

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

Paul FLYE SAINTE MARIE

Armand PY-PATINEC 2010

Projet De Stijl Plate-forme pour robots mobiles

Machine virtuelle Java pour Palm TX

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

Applications distribuées: le retour du client "riche"

TP1. Outils Java Eléments de correction

Évaluation et implémentation des langages

Module d anonymisation

Export et Import de modèles ICAR sous Trnsys 17


Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

1 Actuate Corporation de données. + d analyses. + d utilisateurs.

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

Notre Catalogue des Formations IT / 2015

Procédure d'installation complète de Click&Decide sur un serveur

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

Annexe : La Programmation Informatique

Famille IBM WebSphere Application Server

Construire des plug-ins pour SAS Management Console SAS 9.1

Compte Rendu d intégration d application

TD/TP 1 Introduction au SDK d Android

Quelques mots à propos de Sage

Éléments de programmation et introduction à Java

Business Intelligence avec SQL Server 2012

InstallShield 2014 FICHE TECHNIQUE. Création de programmes d installation pour Microsoft Windows

Usine de développement : étude comparative

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

Messagerie & Groupeware. augmentez l expertise de votre capital humain

Les BRMS Business Rules Management System. Groupe GENITECH

Présentation du Framework BootstrapTwitter

< Atelier 1 /> Démarrer une application web

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

GEDEXPERT. La Gestion Electronique de Documents spécialement conçue pour les Experts Comptables VOTRE NOUVEL ASSISTANT POUR

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

S10 - Automatisez la compilation et le déploiement de vos applications IBM i avec Arcad Pack for Rational

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors

Fournir un accès rapide à nos données : agréger au préalable nos données permet de faire nos requêtes beaucoup plus rapidement

IBM DB2 Alphablox. d administration GC

Comment accéder à d Internet Explorer

Petit Déjeuner Pépinière du Logiciel Libre. 25 juin 2008

USTL - Licence ST-A 1ère année Initiation à la programmation TP 1

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

Tutoriel QSOS. Version /02/2013

Compétences fonctionnelles et techniques

Transport de marchandises (messagerie nationale, express, affrètement) ; Domaine médical (gestion administrative, paie hospitalière).

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

Offre Référentiel d échange

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Apprendre Java et C++ avec NetBeans

Business Intelligence

Squale Le portail qualimétrie open-source

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP - MAGENT O. 30 ans - 6 ans d'expérience

Nouveautés joomla 3 1/14

CATALOGUE FORMATION. Product Lifecycle Management. Juin 2013

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

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

Introduction à Microsoft InfoPath 2010

Transcription:

1 Organisation Projet de développement Introduction à Eclipse Philippe Collet Licence 3 Informatique Cours 1 : principes généraux - svn Cours 2 : Redmine et gestion de projet Cours 3 : Introduction à Eclipse Cours 4 : Eclipse C / PHP, V&V et tests unitaires en Java Cours 5 : Tests C / PHP Cours 6 : conclusion, questions 2011-2012 Ph. Collet 2 Plan Application de redmine à votre projet Eclipse : Introduction et historique Application à votre projet Architecture d Eclipse Environnement de développement JDT Support SVN Application à votre projet Ph. Collet 3

2 Redmine : application à votre projet Pour votre projet : Démo en ligne modifiable : http://demo.redmine.org Essai du wiki, modification de page, différentes fonctionnalités Dès que votre redmine de projet est disponible Inscription (ou vérification d inscription) de chaque membre Création d un milestone «prise en main» Création d un ticket «prise en main» pour chaque membre Ecriture d un commentaire relatif au ticket, et au milestone Fermeture et validation de son ticket par chaque membre Ajout de fichiers (du projet ou d essai) dans le subversion Modification des fichiers / nouveau commit (ligne de commande ou eclipse/subclipse) Navigation dans le subversion par redmine Création de ticket «bidon» et association à un commit fait sur le subversion! Redmine : application à votre projet Par la suite Première séance Découpage du travail en components et milestones Création de tickets dans les milestones pour les tâches Attribution des tâches et validation par le tuteur Autres séances Fermeture/Ouverture de tickets en fonction des commits, des tests La vision «redmine» résultante du projet fait très largement partie de votre évaluation Qui fait quoi Traçabilité tout au long du projet La roadmap peut être utilisée pour la soutenance Ph. Collet 5 Ph. Collet 6 Eclipse Introduction : objectif Un Environnement de Développement Intégré (EDI) Un logiciel regroupant un ensemble d outils nécessaires au développement des applications dans un langage de programmation Objectifs généraux : fournir des fonctionnalités un éditeur de texte spécialisé un compilateur un débogueur des outils automatiques de gestion d applications ayant plusieurs fichiers source (projets) un gestionnaire de versions un générateur de documentation Ph. Collet 8

3 Historique Préhistoire : 1950 : cartes perforées 1960 : terminaux, éditeurs de texte basique, compilateur et débogueur en ligne de commande 1970 : introduction des makefiles et des fichiers de configurations 1980 : environnement graphique et premiers EDI (1981 Turbo Pascal) 1983 : Borland Turbo Pascal (DOS) à 50 $ 1987 : Borland Turbo C 1991 : Microsoft Visual Basic 1 1997 : Microsoft Visual Studio (C++) Eclipse et ses concurrents Logiciels libres : Emacs, XEmacs : basique, mais adaptables à tout langage OpenOffice.org : langages de script Kdevelop (KDE) : C, C++, basé sur les outils GNU Netbeans (Sun/Oracle) : initialement conçu pour Java, maintenant C, C++, XML et HTML Au départ plus lourd et lent, maintenant plus léger (et vraisemblablement plus rapide) Eclipse (OTI-IBM) : Java, C/C++, PHP, HTML, etc. Logiciels propriétaires : Visual Studio (Microsoft) : C/C++,.NET, C#, etc. JBuilder (Borland) : Java Abandonné au profit de plugins Eclipse! JCreator : Java WinDev (PC Soft) : application PC Pocket et Mobile Ph. Collet 9 Ph. Collet 10 Eclipse Logiciel libre Destiné à l origine pour le développement en Java Conçu sur la base d un EDI Java (VA4J), Eclipse devient un EDI pour développer des EDIs et d autres outils Objectif : Offrir une plateforme ouverte pour le développement d applications Non dédiée à un langage ou système d exploitation ou interface graphique Facile à comprendre mais aussi facile à étendre Paramétrable selon les besoins/goûts du programmeu Capable d automatiser les taches lourdes du développement Ayant une base stable Utilisable pour son propre développement (bootstrap-able) Promouvant l utilisation de Java Historique d Eclipse 1996 : IBM rachète OTI, qui développe la suite d EDI Visual Age (en SmallTalk), et en particulier VA4J 2001 : après un investissement de 40 M$, IBM lance Eclipse 1 Grand succès populaire car suite ouverte et gratuite (licence CPL). Création du consortium Eclipse (IBM, Borland, RedHat, SuSE, Intel,...) 2002 : Eclipse 2.0 2004 : Eclipse 3.0 2006 : Eclipse 3.2 Europa Première release nommée pour stabiliser les références aux sous-projets 2009 : Eclipse 3.5 Galileo 2011 : Eclipse 3.7 Indigo Ph. Collet 11 Ph. Collet 12

4 Sous-projets Eclipse Eclipse : architecture et structure de la plateforme Eclipse Tools : outils pour permettre l enrichessement de la plateforme PDT, CDT sont basés sur ce sous-projet Eclipse Technology : recherche sur l évolution de la plateforme Très actif pour le passage de Eclipse 2.x à Eclipse 3.x Test and Performance Tools Platform (TPTP) : outils de test et d analyse Business Intelligence and Reporting Tools (BIRT) : outils de génération d états Composé de 4 autres sous-projets Sous-projets Eclipse Eclipse Modeling : Plusieurs sous-projets dont EMF (Eclipse Modeling Framework) : pour la manipulation de modèles et projection vers du code UML2 : métamodèle complet d UML2 pour création d outils conforme Data Tools Platform (DTP) : Manipulation de source de données (BD relationnelles essentiellement) Device Software Development Platform : Outils pour plugins de développement dédié aux applications mobiles Eclipse SOA Tools Platform (STP) : Outil pour le développement d applications selon des architectures orientées services (web services, standard SCA ) Ph. Collet 13 Ph. Collet 14 Installation Simplissime : Téléchargez l archive (dédiée au système ou générique) Décompactez la dans un répertoire système Créez un lien/raccourci vers l exécutable eclipse Ca roule Un peu moins simple : quels plugins et comment les installer? Décompactez le plugin dans le répertoire dédié Utilisez la fonction d update (tutoriaux en ligne) Moins simple : quelle version prendre? Classic J2EE (Java Entreprise ) Etc. Votre installation Page web : http://deptinfo.unice.fr/twiki/bin/view/linfo/projetdev2012outils Java Eclipse 3.7 JEE edition : http://www.eclipse.org/downloads/ plugin subclipse 1.8 (accès au référentiel svn) : http://subclipse.tigris.org/update_1.8.x (par update) PHP/MySQL PDT 3.0 http://www.eclipse.org/pdt/downloads/ : envt standard PHP dans Eclipse plugin subclipse 1.8 (accès au référentiel svn) : http://subclipse.tigris.org/update_1.8.x (par update) SimpleTest (ne pas utiliser le plugin) : http://www.simpletest.org/fr/start-testing.html En cours d installation Ph. Collet 15 Ph. Collet 16

5 Constituants Eclipse = plateforme + plug-ins Plateforme Un support d exécution (runtime) indépendant du système d exploitation (JVM) Un ensemble basique de plug-ins extensibles De mécanismes (API), règles et outils pour construire de plug-in Un moteur pour découvrir, charger et exécuter des plug-ins Plug-in = la plus petite unité qui peut être développée et utilisée séparément se connecte à un point précis de la plateforme remplit une tache (pas forcement exécutable) offre des points d extension coexiste avec d autres plug-ins instance (feature) = ensemble de plug-ins qui coopèrent pour offrir un EDI Eclipse : support d exécution Support d exécution = Platform Runtime Exécute la JVM (Java Virtual Machine) Définit les points d extension et le modèle plug-in Modèle de plugin point d extension = interface plug-in = interfaces implémentées + archive Jar + interfaces utilisées déclaration de plug-in = manifeste (dépendences à l exécution) + interface (type) Le support d exécution Découvre dynamiquement les plug-ins et maintient une base relative à leur déclaration Charge les plug-ins à la demande. Met à jour automatiquement des instances (features) Ph. Collet 17 Ph. Collet 18 Environnement de développement Plan de travail Plan de travail = Workbench Fournit l interface visuelle pour l utilisateur de la plateforme (Spécificité Eclipse) : l interface graphique (UI) a l apparence d une application native du système d exploitation est basé sur deux outils (SWT Standard Widget Tool, JFace) qui peuvent être utilisés directement pour développer des applications Composantes physiques de l UI : menus, barre d actions, boutons, onglets, fenêtres Composantes logiques de l UI (paramétrable par des plug-ins) Ph. Collet 20

6 Workbench Vue Vues et perspectives fournit des informations sur les objets (structure, composantes, etc.) en communiquant avec d autres vues ou éditeurs Exemple: Navigateur, packages Editeur Edition plus ou moins dédié (langage avec coloration syntaxique, complétion) Exemple : éditeur de texte, éditeur Java Perspective ensemble d éditeurs et vues ayant une disposition précise dans le plan de travail Afin de faciliter la réalisation de certaines taches Exemple : navigation, édition Java, exploration de référentiel cvs/svn, synchronisation avec un référentiel Le plus étendu des points d extension Ph. Collet 21 Ph. Collet 22 Perspective Vues et éditeurs Ph. Collet 23 Ph. Collet 24

7 Assistants Assistant Facilite la saisie et/ou sélection d information par des panneaux successifs Très nombreux et très utilisés L espace de travail : Workspace Workspace 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, site Web. Le workspace implémente un mécanisme d historique locale (backup) pour tracer les changements des ressources Ph. Collet 25 Ph. Collet 26 Perspective Ressource Par défaut, cette perspective contient les fenêtres suivantes : la vue "Navigateur" qui affiche les ressources (arborescence des fichiers) de l'espace de travail un éditeur qui permet d'éditer une ressource sélectionnée dans la vue "Navigateur" la vue "Structure" qui permet d'obtenir une arborescence présentant les grandes lignes de certaines ressources en cours de traitement la vue "Tâches" qui affiche une liste de tâche à effectuer Fonctions pratiques Recherche Dans tout l espace Dans des fichiers Une recherche dédiée à Java Taches actions à réaliser erreurs de compilation à corriger points d'arrêt pour le débogage Ph. Collet 27 Ph. Collet 28

8 Aide en ligne F1 : aide contextuelle Dépend de la vue, l éditeur, etc. JDT Dans un éditeur : CTRL + ESPACE => complétion Ph. Collet 29 JDT : Java Develoment Tooling Projet Java Composants les perspectives "Java" et "Navigation Java" les vues "Packages" et "Hierarchie" les éditeurs "Java" et "Scrapbook" les assistants : pour créer de nouveaux projets, packages, classes, interfaces,... Outils de création Projet Packages Classes Interfaces Ph. Collet 31 Ph. Collet 32

9 Vues du JDT Package Arborescence du code source Hiérarchie Editeur de code Spécifique Java avec les fonctionnalités suivantes coloration syntaxique complétion de code (CTRL+ESPACE) formatage du code source (CTRL+SHIFT+F) l'importation et l'exportation de code via un assistant forte synergie avec le débogueur Javadoc, déclarations, erreurs, historique Ph. Collet 33 Ph. Collet 34 Editeur de code Coloration syntaxique Complétion Proposition de correction Bulle d aide Formatage, masquage de portion de code, etc. Ph. Collet 35 Ph. Collet 36

10 Compilation et erreur Par défaut La compilation se fait «tout le temps», en arrière plan Exécution Sur une classe : Erreurs Par des configurations Classe Paramètre JRE Bibliothèques CLASSPATH Ph. Collet 37 Ph. Collet 38 Refactoring Structure du code Renommer, déplacer Changer la signature d une méthode Encadrer (try/catch) Structure au niveau de la classe Transférer/Extraire méthode ou attribut Extraire une interface Structure à l intérieur d une classe Intégrer méthode/attribut Extraire une méthode, variable locale, constante CVS/SVN dans Eclipse Ph. Collet 39

11 Gestion de versions Team support = gestion de versions 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 visualise les différences entre les versions CVS (Concurrent Version System) est utilisé par défaut Eclipse fournit une API pour l interface avec d autres systèmes Subclipse : Support SVN dans Eclipse subclipse.tigris.org Subversive : support en standard dans Eclipse Finalement moins stable que Subclipse, à éviter pour l instant Ph. Collet 41 Perspective «SVN Repository Exploring» Perspective pour administrer les différents référentiels svn utilisés Ajout d un référentiel Ph. Collet 42 Création de projet Un projet sous svn dans le workbench Référence au svn Ph. Collet 43 Ph. Collet 44

12 Synchronisation / gestion des conflits Commit Lors d un commit, on peut sélectionner Tout le projet Une sous-partie Un seul fichier On entre un commentaire qui sera stocké dans le svn (et visible dans le trac pour nous) Ph. Collet 45 Ph. Collet 46 Application à votre projet Eclipse : application à votre projet Synchronisation du svn fourni avec subclipse Compilation, exécution, débogage dans Eclipse Pilotage des tests unitaires pour Java et PHP Ph. Collet 48

13 Références Site Eclipse http://www.eclipse.org/ Questions Tutoriaux de JM Doudoux (le roi du screenshot!) http://www.jmdoudoux.fr/accueil_java.htm#dejae Divers supports de cours pour Eclipse (très bien aussi pour les screenshots) : http://eclipse.developpez.com/cours/ Ph. Collet 49 Ph. Collet 50