Thèse de Benoit Verhaeghe

Approche Incrémentale pour la Migration des Interfaces Graphiques d'Applications utilisant les Métamodèles

Les développeurs utilisent des frameworks d'interface graphique (GUI frameworks) pour concevoir l'interface utilisateur graphique de leurs applications. Cela leur permet de réutiliser des composants graphiques existants et de construire des applications rapidement. Cependant, avec la généralisation des appareils mobiles et des applications Web, les GUI frameworks évoluent à un rythme rapide : JavaFX a remplacé Java Swing, Angular~8 a remplacé Angular~1.4 qui avait remplacé GWT (Google Web Toolkit). De plus, les anciens GUI frameworks ne sont plus supportés. Cette situation oblige les organisations à migrer régulièrement leurs applications vers des frameworks modernes afin qu'elles ne deviennent pas obsolètes. Pour faciliter la migration des applications, des recherches antérieures ont conçu des approches automatiques dédiées à certains projets de migration. Bien qu'elles fournissent de bons résultats, elles sont difficiles à adapter à plusieurs contextes. Par exemple, chez Berger-Levrault, notre partenaire industriel, les applications sont écrites dans des langages de programmation génériques (Java/GWT), des langages propriétaires de ``4ème génération'' (VisualBasic 6, PowerBuilder), ou des langages de balisage (Silverlight). Il est donc nécessaire d'adopter une approche de migration indépendante du langage, qui permette de faire migrer diverses interfaces graphiques héritées vers les technologies les plus récentes. En outre, lors de la migration automatique, une partie de l'application migrée doit encore être corrigée manuellement. Ce problème est encore plus important pour les grandes applications où cette dernière étape peut durer des mois. Ainsi, les entreprises doivent migrer leur application de manière incrémentielle afin de garantir la livraison à l'utilisateur final tout au long du processus. Dans cette thèse, nous proposons une nouvelle approche de migration incrémentale. Elle vise à permettre la migration de grandes applications afin d'assurer la livraison à l'utilisateur final. Elle consiste à migrer des pages à l'aide de notre outil de migration automatique de GUI, à les corriger et à les intégrer dans une application hybride. Pour créer notre outil de migration de GUI, nous avons conçu un méta-modèle pivot de GUI composé de plusieurs paquetages représentant les aspects visuels et comportementaux de toute GUI. Nous avons détaillé plusieurs implémentations de notre outil de migration de GUI qui extraient et génèrent des GUI utilisant différents frameworks. Nous avons appliqué avec succès notre approche de migration incrémentale sur une application industrielle de Berger-Levrault. L'application migrée est maintenant en production. Nous avons également validé notre outil de migration automatique d'interface graphique sur plusieurs projets de migration incluant des applications développées avec des langages de programmation et de balisage. L'entreprise utilise actuellement notre approche pour d'autres projets de migration.

Jury

M. Nicolas ANQUETIL Université de Lille Directeur de Thèse Mme Anne ETIEN Université de Lille Co-directrice de Thèse M. Franck BARBIER Université de Pau et des Pays de l'Adour Examinateur M. Salah SADOU Université Bretagne Sud Rapporteur M. Jean-Rémy FALLERI Université de Bordeaux Rapporteur M. Abderrahmane SERIAI Berger-Levrault Examinateur

Thèse de l'équipe RMoD soutenue le 21/10/2021