Les coulisses de JHipster UML

Carl Klagba et Mathieu Abou-Aichi ont eu l’opportunité durant leurs stages de contribuer à JHipster.

Désormais consultants Ippon, ils reviennent avec nous sur ce projet.

Le projet

Parlez moi un peu de JHipster UML : que propose cette solution ?

Carl :

“JHipster UML est un module NPM (Node Package Manager) qui est utilisé en complément de JHipster pour créer toutes les entités à partir d’un diagramme UML (Unified Modeling Language) de classes. “

Qu’apporte cette solution à l’utilisateur ?

Mathieu :

“JHipster fonctionne sur le principe de questions/réponses auxquelles l’utilisateur va répondre, ces réponses permettront de créer des entités.

JHipster UML, en revanche, apporte une véritable valeur ajoutée à JHipster à savoir :

– Plus d’agilité car les modifications sont plus simples à effectuer (il n’y a plus de questions/réponses),

– Une vision plus globale du projet grâce au diagramme,

– Un important gain de temps (on ne perd plus de temps à répondre aux questions, à corriger ses erreurs, etc.).

En effet, avec JHipster UML, plutôt que de passer par des questions réponses, comme le propose JHipster pour créer des entités, l’utilisateur va pouvoir créer un diagramme de classes et JHipster UML va récupérer ce diagramme UML et générer automatiquement les entités.”

Avez vous rencontré des difficultés durant ce projet ?

Carl :

“Une difficulté, oui, principalement liée au parser de fichiers XMI (XML Metadata Interchange) car nous ne savions pas trop comment récupérer les informations que nous voulions. Nous avons dû comprendre la structure interne de fichiers pour chaque éditeur.

Un autre frein qui nous a posé problème était le fait d’être à jour par rapport à JHipster, il ne fallait pas être en retard et toujours tenir compte des nouveautés pour proposer aux utilisateurs tout ce que JHipster propose.”

En combien de temps le projet a été réalisé ?

Mathieu :

“Le projet a été réalisé en 1 mois et demi, de mi-avril à fin juin.”

Qu’avez vous apprécié et moins aimé dans ce projet ?

Carl :

Points positifs: “Nous nous sommes bien organisé à deux, on (Julien Dubois) nous a fait confiance sur ce projet nous étions totalement autonome.  De plus le fait que se soit un projet open source cela nous a permis d’avoir un retour de la communauté et donc d’améliorer la solution au fur et à mesure. Aussi grâce au consulting UX de Faten nous avons pu mieux considérer quelles étaient les valeurs ajoutées de l’UML et donc de pouvoir se concentrer la dessus notamment sur la partie retour utilisateur.”

Mathieu :

Points négatifs : ” Les éditeurs UML exportent leur diagrammes en ne respectent pas vraiment la spécification (OMG) du XMI, ce qui a rendu le travail difficile”.

Qu’est ce que cela vous a apporté, personnellement, de réaliser un tel projet ?

Carl :

“Ce projet m’a permis d’apprendre à présenter un projet en public grâce aux Ippevents IPPON, monter en compétence en javascript sur NodeJS, et implémenter des algorithmes sympas”.

Mathieu :

“Participer et concevoir ce projet a été une belle expérience humaine. C’était un vrai travail d’équipe et dans le cadre d’un stage c’est vraiment une chance. Cela permet de créer des liens, d’apprendre à tenir compte des avis des autres et être force de proposition.

De plus avec le retour de la communauté, il n y a pas juste les développeurs et les concepteurs : tout le monde participe au projet à sa manière sur GitHub (en donnant des idées, des points de vues, en remontant des problèmes, etc.), ce qui permet de faire avancer de façon constructive”.

L’IPPEVENT

Concernant l’ippevent que vous avez donné, comment vous êtes vous préparés, comment l’avez-vous appréhendé ?

Carl :

“Nous l’avons bien appréhendé pas de difficultés particulières, pas de stress car nous avions déjà fait deux présentations : en interne chez IPPON et pour notre soutenance de stage, nous étions donc habitués, nous avions juste à rajouter les dernières fonctionnalités de JHipster UML et notamment le JDL.”

Quel(s) sentiment(s) cela vous a procuré de pouvoir le présenter et en parler lors du second meetup de JHipster ?

Mathieu :

“Ce fut une belle expérience, je suis assez fier et content du résultat car nous avons fait une présentation devant des personnes qui sont plus expérimentées que nous, d’autant plus que notre solution est utilisée pour d’importants projets partout dans le monde “

Quelles sont les nouveautés de JHipster UML ?

Carl :

“La nouveauté est le JDL (JHipster Domain Language), qui était à la base une idée donnée en juin par Jérôme Mainaud (un architecte Ippon). JDL, c’est un Domain-Specific Language pour certains développeurs qui ne sont pas très friands des diagrammes de classes et qui préfèrent coder dans un langage agréable.”

IPPON

Aujourd’hui quelles sont vos missions au sein d’IPPON ?

Carl :

“ Actuellement je développe des fonctionnalités de site internet par exemple : ajouter une fonctionnalité de parrainage + mise en place d’un système de test fonctionnel utilisant Cucumber comme framework et Selenium “

Mathieu :

“Jusque-là j’ai pu travailler avec AngularJS, Swagger, et j’ai également participé à la migration de certains projets vers Spring Boot.”

Quelles doivent être, selon vous, les qualités personnelles et professionnelles pour rejoindre IPPON ?

Carl :

“Il faut être autonome, savoir se mettre en avant soi même sans attendre que quelqu’un le fasse à ta place”.

Mathieu :

“Il faut être curieux, avoir de la personnalité, avoir soif d’apprendre .”

Et vous, qu’est-ce qui vous plaît chez IPPON ?

Carl :

“IPPON te permet d avoir des opportunités de carrière si tu sais les prendre

Ce qui est intéressant chez IPPON c’est aussi  la possibilité de faire des ippevents, des conférences, des formations. Il y a aussi l’aspect social / humain d’IPPON qui est très présent.”

Mathieu :

“ Ce que j’apprécie chez IPPON c’est la bonne ambiance, IPPON tire son épingle du jeu en mettant en avant l’esprit humain / social (sport, soirées). IPPON propose des formations intéressantes (ex coding dojo, code retreat) “

Quels sont vos projets professionnels sur le long terme ?

Carl :

“M’orienter dans la gestion de projet technique (chef de projet) mais toujours avoir une bonne connaissance technique, m’orienter vers des domaines tels que Big Data et le Machine learning.”

Mathieu :

“ L’architecture pour rester dans le domaine technique.”

En savoir plus