EclipseCon France 2017

Cyril Lagarde

Pour cette 5e édition, la conférence EclipseCon à Toulouse s'est déroulée le 21 et 22 juin 2017 au centre des congrès Pierre Baudis. Nous vous proposons ici un résumé des principales conférences auxquelles la rédaction de Developpez.com a assisté.

Pour réagir à ce contenu, un espace de dialogue vous est proposé sur le forum : Commentez .

- Titre : EclipseCon France 2017

- Auteur : Cyril Lagarde

- Parution : 20 août 2017

- Public visé :

- Licence : Copyright ® 2017 Cyril Lagarde. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- II. Les sessions du mercredi

- II-A. How can you contribute to Eclipse?

- II-B. A new aircraft fuselage configuration? Easy with GEF4!

- II-C. A new framework for Text Edition in Platform: why, what, how?

- II-D. Java 9

- II-E. PAL Robotics

- III. Les sessions du jeudi

- III-A. Code Coverage in Practice

- III-B. Charts to the Eclipse people - The making-of

- III-C. Debug Java code like a Pro

- III-D. How to use the E4 Model Editor for your modular RCP applications

- III-E. Getting started with Jubula - an UI test automation framework

- III-F. Lesson learned from using EMF to build desktop & web Applications

- IV. Remerciements

I - Introduction

Pour cette 5e édition, la conférence Eclipsecon à Toulouse s'est déroulée le 21 et 22 juin 2017 au centre des congrès Pierre Baudis. Nous rappellerons que cette conférence est un des événements majeurs de la communauté Eclipse présentant entre autres les évolutions futures de la plateforme Eclipse. Durant ces deux jours, plus de 50 sessions ont été présentées sur différents thèmes sachant qu'il y a quatre sessions en même temps (à vous de choisir celle qui vous intéresse). Ces sessions se déroulent sur environ 30 min, puis se terminent par des questions avec un interlude d'une dizaine de minutes pour la suite des sessions.

Évidemment je n'ai pas pu assister à toutes les sessions, mais vous pouvez jeter un coup d'œil aux slides des différentes sessions sur (https://www.eclipsecon.org/france2017/program/sessions/accepted)

Voici un bref bilan de quelques sessions auxquelles j'ai pu assister.

II - Les sessions du mercredi

II-A - How can you contribute to Eclipse?

Présenté par : Olivier Prouvost (OPCoach), contributeur sur Eclipse RCP et mon formateur.

Olivier nous a énoncé les différentes façons de contribuer à Eclipse. Première chose à faire avant de commencer, c'est l'ouverture d'un compte sur le site Eclipse.

Plusieurs façons de contribuer à Eclipse, la plus basique, c'est d'aller sur les forums pour poser, mais surtout répondre aux questions des utilisateurs.

Vous pouvez aussi aller déposer un bogue quand vous en trouvez sur le site dédié bugzilla au lieu d'attendre que quelqu'un d'autre ne le trouve et que la correction soit reportée ad vitam æternam.

Ce bogue vous désespère et vous n'avez pas peur d'aller le corriger : pas de problème, les différents projets Eclipse n'attendent que vous et vos corrections, mais pour cela il vous faudra signer le CLA (Contributor License Agreement), avoir un compte sur Gerrit et enfin respecter la procédure de soumission de votre contribution. Il est aussi recommandé d'utiliser la dernière version d'Eclipse pour les contributeurs (Eclipse IDE for Eclipse Committers).

Vous avez aussi des idées d'améliorations à proposer pour la plateforme Eclipse, venez les renseigner ici (https://dev.eclipse.org/ipzilla/). Vous pouvez aussi proposer vos projets à la fondation.

Pour plus d'informations sur comment contribuer, je vous conseille de lire ceci.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/v/rrIcA4QTY84

II-B - A new aircraft fuselage configuration? Easy with GEF4!

Présenté par : Xavier JACQUES (CIMPA)

Xavier nous a exposé son projet de placement de différents éléments (sièges, etc.) dans le fuselage d'un avion suivant différents points de vue. Le placement devait se faire de manière intuitive (drag&drop, menu, etc.) et facile pour l'utilisateur. De plus, un besoin sur des vérifications des géométries était nécessaire pour contrôler les bonnes positions spatiales et les intersections avec les autres éléments. Xavier nous a aussi fait une simulation des déplacements des passagers pour atteindre leur siège respectif.

Pour cela, GEF4 a été utilisé avec JavaFx pour le rendu graphique.

Les premières difficultés pour utiliser GEF4 étaient la grosse marche pour apprendre à utiliser l'API ensuite l'insuffisance des tutoriels disponibles à la sortie de GEF4 en 2015, néanmoins après deux ans de développement, le bilan est plutôt positif que ce soit sur les performances constatées, le rendu graphique avec JavaFx ou le bon retour utilisateur.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/v/G3--A-CTP5c

II-C - A new framework for Text Edition in Platform: why, what, how?

Présenté par : Michael Istria (Red Hat)

Le but de cette session était de montrer le nouvel éditeur textuel conçu de manière générique et qui sera disponible dans la nouvelle version d'Eclipse Oxygen. Actuellement, trop d'éditeurs textuels dupliquent certaines parties de code pour faire la même chose (autocomplétion, colorisation textuelle, vérification des erreurs syntaxiques, etc.). Ceci pourra désormais être évité avec ce nouvel éditeur générique. Désormais plus besoin de créer un nouvel éditeur spécifique à chaque langage, il suffira d'utiliser ce nouvel éditeur générique avec les nouvelles extensions (org.eclipse.ui.genericeditor.xxx) associées à ce dernier pour enrichir certains comportements spécifiques.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/v/NfStwq3ZUkE

II-D - Java 9

Présenté par : Jay Arthanareeswaran (IBM)

Jay a présenté les nouveautés les plus importantes dans Java 9 (qui sortira cet été) et notamment les modules. Oxygen ne supporte pas encore la prise en compte des fonctionnalités de Java 9, mais vous pouvez les récupérer et les installer via la Marketplace et en tapant ‘'Java 9 Support (BETA) for Oxygen'.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/v/hMoRNkBYwKU

II-E - PAL Robotics

Présenté par : Francesco Ferro (PAL Robotics)

PAL Robotics est une société espagnole (implantée à Barcelone), spécialisée dans la robotique, Francesco nous a présenté l'évolution des robots à travers les décennies passées et futures.

Évolutions concernant aussi bien le déplacement (bipédie, chariot) que l'intégration spécifique d'outils dans la main (pince, doigt, etc.), mais aussi sur la façon dont les robots vont collaborer dans nos vies aussi bien professionnelles que quotidiennes.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/v/idiJQgYThKk

III - Les sessions du jeudi

III-A - Code Coverage in Practice

Présenté par : Evgeny Mandrikov (SonarSource)

EclEmma, basé sur la bibliothèque Jacoco (Java Code Coverage), est un plugin Eclipse RCP pour la couverture de code lors des lancements de tests unitaires et/ou d'intégration.

Ce plugin permet de visualiser facilement, via un code de couleur, les lignes de codes source qui ont été exécutés ou pas par vos tests.

EclEmma sera inclus par défaut dans la version d'Oxygen en version 3.0.0 avec la prise en compte de Java 9 ainsi que d'autres améliorations.

EclEmma est aussi disponible sur d'autres IDE comme IDEA ou Netbeans et fonctionne avec les principaux outils de build comme Maven, Gradle ou Ant. L'intégration continue n'est pas oubliée avec la prise en charge par Jenkins, etc.

EclEmma peut être facilement récupérable en passant par le Marketplace d'Eclipse.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/v/BoiVrdlxB_M

III-B - Charts to the Eclipse people - The making-of

Présenté par : Philip Wenig (Lablicate GmbH)

La session nous a présenté l'utilisation de SWTChart, qui comme son nom l'indique, permet de dessiner différents types de diagrammes sous SWT uniquement. SWTChart a été utilisé dans le cadre du projet scientifique (ChemClipse) basé sur l'acquisition et l'analyse de données en chromatographie.

SWTChart répondait à certaines exigences : légèreté et offrant une API bien conçue avec certaines fonctionnalités comme pouvoir synchroniser deux diagrammes lors du scrolling.

La session a aussi présenté Eavp (Eclipse Advanced Visualization Project) qui permet de faire de la visualisation dans le posttraitement de données un peu plus complexes que des diagrammes.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/v/EdEk5o9_wjk

III-C - Debug Java code like a Pro

Présenté par : Michael Barbero (Eclipse Foundation)

Michael nous a présenté les différentes fonctionnalités pour déboguer du code Java et nous a montré quelques astuces.

Il nous a rappelé ce qu'étaient les points d'arrêt basés sur l'accès en lecture et/ou écriture d'une variable, ainsi que les points d'arrêt basés sur l'entrée dans une méthode ou sa sortie. Vous pouvez aussi mettre un point d'arrêt lors d'un lancement d'une exception ou sur la détection d'un deadlock (threads bloqués mutuellement). Il nous a également montré comment faire du remote debugging sur une machine distante.

Vous pouvez inspecter des expressions Java, mais aussi changer l'arborescence de la structure logique d'un objet que vous êtes en train d'explorer afin d'afficher uniquement les champs qui vous intéressent (à noter que des points d'extension existent (org.eclipse.jdt.debug.javaLogicalStructures).

Enfin, nouveauté dans la prochaine version d'Eclipse, la possibilité de rajouter un « trigger point » qui permet d'ignorer tous les points d'arrêt jusqu'à ce qu'un « trigger point » soit atteint. Autre nouveauté, les points d'arrêt pourront être triés par ordre de création (actuellement, ils sont triés par ordre alphabétique).

Il ne faut pas oublier que rajouter ces points d'arrêt a une influence parfois non négligeable sur la performance d'exécution du code à déboguer.

En conclusion, n'hésitez pas à aller voir certaines options dans le menu des préférences et de vous plonger dans la documentation.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/v/orNfK76NVRI

III-D - How to use the E4 Model Editor for your modular RCP applications

Présenté par : Olivier Prouvost (OPCoach) et Patrik Suzzi (Asegno)

Olivier nous a expliqué comment étendre une application Eclipse RCP4 à l'aide de fragments de modèle E4 (fichier e4xmi) à partir du Model Editor. Avec ce fragment, vous allez pouvoir ajouter des menus, des vues, des barres d'outils, mais aussi des perspectives, des commandes/handlers, etc.

La session s'est terminée par une démonstration de Patrik.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/v/OeAa11BnxLA

III-E - Getting started with Jubula - an UI test automation framework

Présenté par : Markus Tiede

Markus nous a fait une démonstration sur les tests IHM en utilisant le framework Jubula. Jubula existe depuis un peu plus de cinq ans, disponible sur les OS traditionnels (Window, Linus, Mac) et prend en charge les environnements graphiques sous Java (SWT, JavaFX, Swing).

De nouvelles fonctionnalités seront disponibles dans la version 5.0.0 de Jubula pour Eclipse Oxygen.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/v/H3DD_5xGHnI

III-F - Lesson learned from using EMF to build desktop & web Applications

Présenté par : Lorenzo Bettini, Vincenzo Caselli (RCP Vision) et Francesco Guidieri (RCP Vision)

Durant cette session, Lorenzo a présenté comment, à partir d'une grosse application Eclipse RCP client-serveur, RCP vision l'a migré pour en faire une application Web (avec RAP) sans faire beaucoup d'effort. Étonné par la rapidité d'en faire une appli web, il en tire les conclusions d'une bonne pratique des designs patterns (MVC,etc.), de l'adoption de certaines technologies EMF, de l'utilisation des ressources EMF pour la persistance, de l'utilisation d'IOC avec Guice, etc.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/v/hCTDzpKmb8M

IV - Remerciements

Je tiens à remercier Alain Bernard pour m'avoir obtenu un pass pour l'accès à cette conférence ainsi que sa relecture de ce document et la mise au gabarit. Je le remercie aussi sur toutes les connaissances qu'il m'a apportées sur Eclipse RCP.

Je voudrais aussi remercier Gaël Blondelle ainsi que toutes les personnes ayant organisé cette conférence, sans oublier bien sûr tous les sponsors présents.

Enfin, l'équipe Eclipse de Developpez.com remercie Claude LELOUP pour sa relecture orthographique.