1. InfoQFR : Bonjour Mikaël, peux-tu te présenter ?
Je m'appelle Mikaël Barbero. Je travaille chez Obeo maintenant deuis 5 ans. Je travaille sur des projets clients chez Obeo mais également sur des projets open source sur lesquels Obeo est contributeur ou leader, notamment Sirius et EMF Compare.
En fait, le projet Modeling est essentiellement organisé autour du projet EMF, qui est vraiment la fondation pour tous les projets Modeling. EMF est un framework qui vous permet de définir vos propres modèles de données, et autour de ça il y a un ensemble de frameworks utilitaires pour développer les applications, que ce soit des applications RCP ou même Web. Et il y a également un certain nombre d'outils qui se greffent au-dessus de ces frameworks, pour soit permettre de développer des DSL et des environnements de modélisation, ou des outils à l'aide de création d'applications, RCP par exemple.
Ericsson nous sponsorise depuis 2 ans maintenant sur EMF Compare. On a du coup effectué une réécriture de zéro d'EMF Compare parce qu'on avait des problèmes de performance sur la première version, c'était vraiment une première itération. Aujourd'hui, on arrive à un niveau de maturité qui est assez satisfaisant, voire même très satisfaisant. Essentiellement pour l'année prochaine, là on travaille sur la stabilisation et le support de la comparaison graphique. Aujourd'hui, quand vous comparez des modèles, bien souvent vous avez juste les TreeViewer d'affichés, et depuis la version de Kepler, et donc dans la version Luna avec énormément de stabilisations, il sera possible de comparer des modèles graphiques et donc d'afficher les différences avec les modeleurs graphiques que les gens utilisent au jour le jour, ce qui leur permettra de comprendre les différences et les conflits potentiels qu'il peut y avoir entre les modèles comparés.
4. Il y a aussi toute une série de réflexions autour de Git en tant que gestion de version de modèles ?
En fait, la comparaison de modèles est une première étape, puisque l'objectif est bien entendu de versionner les modèles dans un gestionnaire de code source, notamment Git, qui a vraiment le vent en poupe en ce moment. Donc on travaille aussi à intégrer EMF Compare et EGit, qui est l'intégration de Git dans Eclipse, pour pouvoir faire les opérations de base de Git (les rebase et les merge) avec EMF Compare et pour permettre d'utiliser des modèles versionnés.
5. Oui c'est un peu le rêve de faire un rebase sur un modèle sans tout perdre ?
Exactement, il y a une grosse difficulté dans ce travail là qui est de ne pas casser les modèles, car bien souvent ils sont répartis sur plusieurs fichiers, et les liens entre ces fichiers sont très importants. Beaucoup d'outils ne gèrent pas forcément bien le fait que certains liens soient cassés, c'est donc très important de ne pas casser ces modèles. Le travail qu'on effectue dans l'intégration sur Git, c'est de pouvoir calculer quel est le scope minimal de la comparaison pour éviter de casser les modèles au moment du merge.
Ce sont des travaux auxquels on réfléchit cette année pour une implémentation l'année prochaine. C'est de rajouter le support de la revue de modèles au sein du support Gerrit dans Eclipse, et bien entendu cela se fera à travers EMF Compare. On a implémenté EMF Compare avec cette idée en tête, donc on a aujourd'hui la possibilité de brancher la revue de modèles dans EMF Compare, et il reste l'intégration au sein de Mylyn Review à faire dans les prochains mois.