Cours eclipse

Tutoriel d’introduction à Eclipse pour débutant


Télécharger Tutoriel d’introduction à Eclipse pour débutant

★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


Cours d’introduction à Eclipse pour débutant

...

Le logiciel ECLIPSE est un environnement intégré de développement (IDE) pour le langage JAvA (et d’autres langages). Gratuit, il peut être téléchargé sur le site www.eclipse.org. Nous utiliserons également le plugin JUnit4 ainsi qu’un plugin qui permet d’éditer des diagrammes UML, il s’agit du plugin EUML2 téléchargeable sur le site ... (version “Free”, pour Eclipse 3.7).

Il n’est pas question de présenter exhaustivement les fonctionnalités de l’outil ECLIPSE. Seules les principales fonc¬tionnalités seront présentées ici, charge à vous de découvrir les autres possibilités offertes afin d’accroître encore votre efficacité dans votre travail de développement. L’intérêt d’un tel outil, quand il est bien utilisé, est de permettre au programmeur de se concentrer sur l’essentiel de son travail et de se dégager de certains petits détails techniques sans importance. Pour cela ECLIPSE fournit des outils facilitant et encourageant la bonne écriture de code et la bonne conception d’application. A vous d’explorer les différents menus et différentes possibilités proposées par les fenêtres de dialogue.

Pour utiliser ECLIPSE, ajoutez la ligne suivante alias eclipse=/home/enseign/eclipse/coo s5 eclipse/eclipse à votre fichier .bashrc. Ensuite, dans un nouveau terminal, lancez ECLIPSE par eclipse &. N’utilisez pas le raccourci pour Eclipse proposé dans le menu Applications de votre environnement.

Au premier lancement d'Eclipse vous aurez une fenêtre “Workspace Launcher" qui apparaît, elle propose un em¬placement par défaut pour le Workspace. Le Workspace est un répertoire où ECLIPSE stocke un certain nombre d’informations et de fichiers qui lui sont utiles.

Vous pouvez ou non modifier l’emplacement proposé puis cochez la case située en dessous et intitulée Use this as default and do not ask again. Vous pouvez ensuite valider par OK. Cette fenêtre ne devrait plus apparaître lors des lancements ultérieurs d'Eclipse.

Toujours uniquement pour le premier lancement, si vous arrivez sur une fenêtre “Welcome". Fermez cette fenêtre. Vous arrivez alors sur l’espace de travail. Si elles apparaissent, fermez la fenêtre “Tasks list" (en bas à droite) et “Font and Colors" (sur la droite) qui ne nous seront pas utiles, vous n’en aurez pas besoin.

Créer un projet

ECLIPSE fonctionne par projet. Pour créer un projet faites File→New→Java Project..., ou dans la fenêtre Package Explorer (sur la gauche) faites clic droit puis New, etc. Choisissez un nom de projet.

Dans la partie Project layout (dans la seconde moitié de la fenêtre) vous pouvez demander à distinguer les dossiers pour les fichiers de sources et de classes. C’est évidemment ce qu’il faut faire. Si ce n’est pas déjà fait, sélectionnez donc Create separate source and output folders, puis cliquez sur Configure Defaults... et dans les Folders nommez les dossiers de source et de classes (par exemple src et classes). Cliquez Ok.

De retour dans la fenêtre “New Java Project", en décochant Use default location (“en haut” dans la fenêtre) vous avez la possibilité de ne pas placer les fichiers du projet dans un dossier workspace géré par ECLIPSE mais de préciser le répertoire de travail. Prenez cette seconde option et indiquez un répertoire dans votre espace de travail où seront rangés les fichiers de ce projet (vous pouvez créer un nouveau dossier via ECLIPSE via Browse...).

Faites Next, vous pouvez alors vérifier dans l’onglet Source que le dossier src a bien été ajouté1. Vous pouvez aussi ajouter un dossier test à vos sources pour y placer vos classes de tests.

Dans l’onglet Libraries vous devriez voir apparaître la référence à la librairie du jdk utilisé (ici la 1.6 priori) 2.

Ces données peuvent être modifiées par la suite en accédant aux Properties d’un projet (clic droit sur le nom du projet). Enfin cliquez Finish. Si vous avez un message vous proposant de passer en mode java perspective, acceptez.

Le projet est créé et vous le voyez apparaître, ainsi qu’un dossier src dans la zone de gauche de l’écran.

Créer un paquetage

Pour créer un paquetage, placez-vous sur l’icône du dossier src, cliquez droit puis New et Package. Nommez ce paquetage, faune par exemple.

Créer une classe/interface



Sur l’icône du paquetage, cliquez droit et New puis choisissez Class ou Interface.

Créez une classe Animal puis une interface Predateur : il suffit de donner le nom et de cliquer sur Finish. Prenez le temps de jeter un œil aux possibilités offertes dans cette fenêtre de dialogue de création de classe.

1Sinon il faut l’ajouter en choisissant Create new source folder.

2c'est à cet endroit que l’on définit le CLASSPATH du projet, en ajoutant éventuellement des références vers d’autres libraires tels que des “jars externes” par exemple.

Des éditeurs pour ces entités s’ouvrent automatiquement. Créez une signature de méthode public void chasse() pour Predateur, et pour la classe Animal deux attributs, poids un entier et nom de type String, un constructeur avec deux paramètres représentant le nom de l’animal et son poids et une méthode public void crie()3.

Dans la fenêtre d’édition de cette classe, cliquez droit puis Source (ou Shift+Alt+S), puis Generate Getter and Setter, une fenêtre s’ouvre vous permettant de provoquer la génération automatique au choix des méthodes getNom et setNom. Créez les. Faites de même pour l’attribut poids mais en ajoutant que le getter.

Dans la partie droite de l'IDE vous pouvez consulter l'Outline du type édité (attributs, méthodes, etc.), il est possible via cette fenêtre d’accéder directement à un élément en le sélectionnant.

Sauvegardez les fichiers édités.

Nous allons créer un classe Loup qui implémente l’interface Predateur et hérite de Animal.

Pour cela, lors de la création, à l’aide des boutons fournis ; Browse... pour la super-classe et Add... pour l’interface remplissez les champs Superclass et Interfaces. Dans la partie inférieure, activez Constructors from superclass et vérifiez que Inherited abstract methods est activée. Cliquez Finish.

Vous remarquez la génération automatique du constructeur et de la méthode chasse.

Recommencez en créant une classe Mouton qui hérite d’animal et dispose d’une méthode tondre et une classe Requin qui hérite d’Animal et implémente Predateur et une autre interface Aquatique qui impose une méthode nage().

Dans la classe Requin, faites clic droit puis Source et Override/Implement methods... qui vous permet de choisir parmi les méthodes des super-types celles que vous souhaitez définir ou surcharger. Par exemple choisissez la méthode crie de Animal. Vous pouvez alors modifier le code pour qu’un requin crie en silence....

Autre création et code

Créez un second paquetage humain. Créez “dedans” une classe Enfant dans laquelle vous créez un attribut de type Animal : private Animal animalPrefere. Ajoutez les getter et setter pour cet attribut.

Vous remarquez un symbole qui apparaît dans la marge gauche du code. Celui-ci signale une erreur (la croix blanche sur fond rouge). Le code que vous saisissez est analysé au fur et à mesure et en cas d’erreur la source d’erreur (estimée) est soulignée de rouge dans le code (ici Animal). En plaçant le curseur au-dessus de ce signe le message d’erreur supposée est affiché.

La petite ampoule jaune dans la marge mentionne qu’une proposition d’aide de correction est disponible. Cliquez sur l’ampoule en vis-à-vis de la ligne de délcaration de l’attribut animalPrefere, les suggestions de correction s'affichent. Le premier choix de correction suggère l’import, c’est ce qu’il faut faire donc appliquez cette correction en la sélec¬tionnant. Le code nécessaire est alors ajouté.

Ajoutez maintenant à la classe Enfant une méthode public void ecoute().

Dans le corps de cette méthode tapez “this."(avec le point). Si vous patientez un (très) bref instant après la saisie du point, les complétions possibles (càd autorisées dans ce contexte donc pour le type de this) apparaissent par ordre alphabétique, vous pouvez les parcourir et choisir celle sélectionnée par la touche entrée. Sinon, au fur et à mesure que vous tapez des lettres les propositions se réduisent.

Ici choisissez animalPrefere. Ensuite tapez . (point), à nouveau les complétions apparaissent, choisissez crie.

D’une manière plus général la séquence de touche CTRL+ESPACE permet de faire apparaître les propositions de complétion en fonction du contexte du code (nom d’exception, de méthodes, etc.).

Exploration de code

Dans un fichier de classe, en se plaçant sur le nom de la classe ou un nom de méthode, un clic droit puis le choix Quick Type Hierarchy, ou son raccourci CTRL+T, fait apparaître pour une classe la hiérarchie des classes (super et sous–classes) et pour une méthode les éventuelles surcharges qui lui sont associées. Il est alors possible d’accéder directement aux éléments proposés. Essayez avec le mot Loup dans l’entête de déclaration de la classe ou avec la définition de la méthode crie de Requin.

Maintenant, placez votre pointeur de souris sur l’appel à la méthode “crie()” dans la méthode ecoute. Faites CTRL¬clic gauche4, vous accédez alors directement au code de définition de cette méthode. Il en est de même si vous opérez sur un nom de classe ou d’interface.

Après un clic droit sur un élément du code (classe, méthode, attribut, etc.), le menu qui s’ouvre offre différentes possibilités. Notamment le choix References→Workspace permet de connaître tous les endroits du code ou cet élément apparaît (cette commande a pour raccourci SHIFT+CTRL+G. Ces occurrences sont affichées dans une fenêtre à part de nom Search (en bas de la fenêtre de l~IDE généralement) et sont accessibles par un clic. Essayez sur la définition de la méthode crie de la classe Animal, vous retrouvez son usage dans la classe Enfant.



3Mettez quelque chose comme System.out.println(this.nom+" crie") dans le corps... 4ou cliquez droit puis Open declaration ou encore F3.

Javadoc Placez votre curseur dans la signature de la méthode ecoute. Cliquez droit puis Source, puis Generate Element Comment (ou SHIFT+ALT+J). Le “template" pour la javadoc est automatiquement inséré. Testez également avec une méthode qui a des paramètres ou une valeur de retour.

Le menu contextuel (celui obtenu par clic droit) offre beaucoup d’autres fonctionnalités utiles. Elles sont à découvrir par vous-même.

JUnit

Création de classes de tests. Pour générer une classe de tests, il suffit d’un clic droit sur le nom de la classe à tester puis de choisir New puis JUnit Test Case. Dans la fenêtre de dialogue qui apparaît vous pouvez définir différents éléments pour la classe de test, notamment son nom, mais aussi le dossier dans laquelle vous la définissez.

Pour pouvoir placer les classes dans le dossier test, il vous faut préalablement avoir ajouter ce dossier aux sources de votre projet. Pour cela, cliquez droit sur votre projet, choisissez Properties (dernier choix en bas de la liste), sélectionnez la rubrique Java Build Path et dans l’onglet Source, ajoutez le dossier test grâce à Add Folder... (vous pouvez même créer le dossier à ce moment là).

Après avoir vérifié que les informations dans cette fenêtre vous conviennent, cliquez sur Next. Vous pouvez alors choisir les méthodes de la classe pour lesquelles vous souhaitez écrire des tests. Les squelettes des méthodes de tests seront alors automatiquement générés une fois que vous aurez cliqué sur Finish.

Lors de la création de la première classe de test du projet, l’ajout de la bibliothèque junit4 au projet est proposé, il faut évidemment accepter.

Vous pouvez maintenant modifier cette classe pour définir le contenu de vos méthodes de test.

Exécution des tests. Pour exécuter les tests d’une classe, il suffit de cliquer droit sur le nom de la classe de test (ou du fichier), de choisir Run As puis Junit Test. Un nouvel onglet JUnit apparaît alors à côté de l’onglet Package Explorer. Vous pouvez y observer le rapport de vos tests, notamment la barre verte ou rouge selon que vos tests ont été passés avec succès ou non. Vous y trouvez également des boutons pour manipuler vos tests.

Exécutez le code

Créez une classe Main et dans la fenêtre de création cochez la création de la méthode main, ensuite complétez le code de cette méthode : contentez-vous de créer un animal et de lui faire invoquer la méthode crie puis créer un enfant et dont l’animal créé sera l’animal préféré puis d’invoquer la méthode ecoute.

Sélectionnez dans le menu Run→Run Configurations (ou icône “lecture” – flêche blanche dans un rond rouge – dans la barre du bouton), choisissez Java Application.

Cliquez sur le bouton News. Le champ Project: doit être déjà à jour. Cliquez sur Search... , les classes du projet contenant un main sont proposées (ici il n'y en a qu’une, elle a donc dû être proposée par défaut).

Validez et cliquez Run. Le programme est alors exécuté. La trace apparaît dans une fenêtre console dans la partie inférieure de la fenêtre de l'IDE.

Refactoring

Des outils vous aident à réorganiser votre projet : déplacer des classes, modifier des noms de méthodes, etc.

Dans le code de Animal.java, sélectionnez la méthode crie, cliquez droit puis Refactor (SHIFT+ALT+T) puis Re¬name... (SHIFT+ALT+R) et changez le nom de la méthode en parle par exemple et validez. En recherchant les occurrences de cette méthode (SHIFT+CTRL+G dans la déclaration) vous pouvez vérifier dans Enfant que le code de la méthode ecoute a été adapté, ainsi que dans la méthode main.

Vous pouvez également changer la signature d’une méthode.

Dans l’explorateur de paquetages sur la gauche de l'IDE, sélectionnez Loup.java, cliquez droit puis Refactor, puis Move... et choisissez le paquetage humains. La classe est déplacée et les modifications nécessaires ont été faites, notamment la mise à jour des import. Un glisser/déposer des icônes de fichiers d’un paquetage à l’autre est également possible.

Jar

La génération de jar se fait via la commande Export... du menu File. Dans la rubrique Java choisissez JAR File. Les différents écrans successifs (via Next>) qui sont proposés permettent de définir le contenu de l’archive, notamment la Main-Class.

Explorez cette fonctionnalité en générant un jar exécutable avec le main de Main. Testez-le.

UML

Nous utilisons la version “free edition" du plugin eUML2 de la compagnie “Soyatec".

5c'est l'icône en haut à gauche avec un petit “+" jaune 6L'homme est un loup pour l’homme...

Génération de lIUML à partir du code Java. Commencez par redéplacer la classe Loup.java dans le package faune. Puis dans la fenêtre Package Explorer, sélectionnez le paquetage faune, faites clic droit, eUML2→Class diagram editor.

Une fenêtre apparaît proposant de choisir le type d’association à considérer, inheritance est proposé par défaut, c’est ce que l’on veut donc validez.

Validez également si une fenêtre apparaît à propos d’annotations ajoutées pour favoriser le “reverse engineering”. Vous arrivez à une fenêtre qui vous propose de choisir les types que vous voulez voir apparaître dans le diagramme UML. Déployez les répertoire et sélectionnez toutes les classes et interfaces de faune. Choisissez ok...



Le diagramme avec les relations entre les entités apparaît.

Faites de même avec le paquetage humain.

Après un clic droit sur un diagramme de classe, le choix View content selector... permet de choisir le niveau de détail de présentation du diagramme (les paramètres de méthodes, visibilité des éléments en fonction de leur modificateur d’accès, etc.). Sélectionnez ce qu’il faut pour afficher les attributs avec leurs types, ainsi que les paramètres des méthodes et leurs types ainsi quele typ des valeurs de retour.

Vous pouvez définir une fois pour toute les propriétés de visibilité des éléments dans vos diagrammes en fixant les paramètres dans Window→Preferences puis déployez Soyatec et eUML2 Free Edition→Class/Package Diagram et dans le choix Element views parcourrez les onglets pour activer les élaments à afficher pour les Attributes et Methods. Dans les méthodes activez l'affichage des arguments, nom et type, et types de retour. N’oubliez pas le Apply.

Création de code Java à partir de diagramme UML La démarche adoptée dans le paragraphe précédent n’est pas celle d’un (bon) développeur puisqu’a priori les diagrammes de classes doivent précéder l’écriture de code.

Nous allons donc maintenant, comme il se doit, commencer par la création des diagrammes puis à partir de ces diagrammes générer le code.

Dans la zone de diagramme du paquetage faune, faites clic droit, puis New→Class (ou utilisez l’une des icônes de la barre d’outils). Nommez la classe créée BaleineBleue.

Ensuite sélectionnez cette classe, puis faites un clic droit sur le diagramme de classe, la commande New permet d'y ajouter des méthodes, attributs, etc. (ou utilisez la barre d’outils qui s'affiche lorsque l’on sélectionne la classe). Ajoutez une méthode public kilosPlanctonParJour dont le type de retour est un int. Ajoutez un attribut (privé) longueur de type int et pour lequel vous ferez générer les accesseurs automatiquement : tout se fait via la fenêtre proposée.

Double-cliquez ensuite sur le diagramme de BaleineBleue. Un éditeur avec le (squelette de) code de la classe au¬tomatiquement généré apparaît. Plus besoin de saisir ce code fastidieux...

A partir du diagramme UML, ajoutez un constructeur public prenant un int en paramètre. Le code source est automatiquement généré.

De même, dans l’éditeur, ajoutez une méthode et/ou un attribut et sauvegardez, le diagramme est modifié.

Il en est de même pour les suppressions ou les changements de type, de signatures, etc. Le diagramme UML et le code source sont synchronisés.

Si la synchronisation n’est pas assez rapide pour vous, il est possible via le menu contextuel du diagramme d’une classe de choisir Model Synchronize (ou éventuellement vérifier dans le View Content Selector si certains éléments ne sont pas désactivés).

Créez maintenant (via l’éditeur UML !) dans ce paquetage une interface Herbivore qui définit une méthode public int broute().

Toujours dans le diagramme UML, sélectionnez le bouton représentant la flèche de généralisation (trait plein, flèche à pointe creuse, ce bouton sert donc à la fois pour l’implémentation d’interface et l’héritage), cliquez sur le diagramme de la classe Mouton puis sur celui de Herbivore, cela pour indiquer que la classe Mouton implémente cette interface. Une fenêtre s’ouvre afin de vous proposer d’ajouter dans la classe Mouton les méthodes induites par l’implémentation de l’interface Herbivore (ici broute()). Acceptez. Le code de Mouton est modifié. Il faut “simplement” compléter le code de la méthode broute dans Mouton, remarquez le return généré.

NB : il est possible d’exporter sous forme d’images les diagrammes UML, commande exporter du menu contextuel de la zone de diagramme.

… … …

4.2. Débuggage

Après validation, on ouvre la perspective dédiée au débuggage : Window / Open Perspective / Debug. On peut placer un breakpoint : double click dans la marge à gauche de la ligne sur laquelle vous souhaitez placer le point d’arrêt.

Ensuite on va dans : Run / Debug Configurations… On sélectionne « PHP Web Page » et on clique sur « New launch configuration » en haut à gauche. Paramétrez ensuite comme sur les figures suivantes :

Exemple de session de debuggage PHP sous Eclipse

Par défaut, on utilise le navigateur Web interne d’Eclipse. Il est tout à fait possible, ou plutôt souhaitable, de paramétrer votre favori.


297