Stage ingénieur VIP
Recrutement: 
Recrutement en cours/passé: 
Recrutement en cours
Periode: 
2020-2021
Contact: 
Axel Bonnet, email:axel.bonnet @ creatis.insa-lyon.fr
Fichiers: 

Environnement/contexte

VIP (Virtual Imaging Platform) est un portail web (https://vip.creatis.insa-lyon.fr) pour la simulation et le traitement de données massives en imagerie médicale. En exploitant efficacement les ressources de calcul et stockage de la grille européenne EGI, VIP offre à ses utilisateurs des services de haut niveau leur permettant d’exécuter simplement et de manière distribuée des applications d’imagerie médicale. VIP compte, en novembre 2020, plus de 1200 utilisateurs enregistrés et une vingtaine d’applications ouvertes à tous ses utilisateurs. 61 publications internationales ont été réalisées par des utilisateurs de VIP depuis 2011.

Position

Le stagiaire accueilli au laboratoire Creatis (https://www.creatis.insa-lyon.fr/site7) sous la supervision d’Axel Bonnet. Il interagira avec les autres ingénieurs VIP et les membres du laboratoire CREATIS.

Sujet

Le code de VIP est ouvert et disponible en accès-libre sur github (https://github.com/virtual-imaging-platform/VIP-portal). Il suit une méthodologie de développement bien définie afin d'assurer la bonne qualité du logiciel mis à la disposition des utilisateurs à chaque livraison. Cependant, l'architecture actuelle de VIP ne permet pas de vérifier de façon automatique l'absence de régression à chaque évolution, et ne permet pas non plus d'automatiser les tâches importantes telles que les déploiements ou la surveillance. Remédier à cela serait une grande avancée pour VIP car cela permettrait, entre autres :

  • de réduire la part des choses faites manuellement, et ainsi de réduire le risque d'erreurs humaines et de gagner du temps à long-terme

  • de réduire le risque de régressions, de bugs, et ainsi d'améliorer la qualité du logiciel fourni

  • de pouvoir livrer plus souvent et de proposer les évolutions plus rapidement aux utilisateurs

Ces changements sont intrinsèquement liés à la création d'une plateforme d'intégration continue (CI) pour VIP, se basant probablement sur Jenkins (https://www.jenkins.io/). Le travail à fournir consistera dans un premier temps à :

  • mettre en place et configurer cette plateforme

  • mettre en place une instance de test de VIP (différente et sans lien avec l'instance de production)

  • écrire les scripts pour livrer automatiquement VIP

  • créer une batterie de tests fonctionnels automatisés qui valide l'absence de régression à chaque livraison

  • modifier le code de VIP pour que les tâches précédentes soient possibles

Dans un second temps, en fonction de la durée du stage, le tâches suivantes seront envisagées :

  • faire le même travail pour d'autres briques logicielles liées à VIP (outils de transfert de fichier, de gestion de workflow, etc), afin d'avoir un environnement de test le plus proche possible de celui de production.

  • bien prendre en compte les systèmes externes qui sont en interaction avec VIP sur l'instance de test : il faut les déployer, les simuler ou les bouchonner en fonction des possibilités

  • étoffer les suites de tests automatisés pour ajouter plus de tests fonctionnels, des tests unitaire et des tests d'intégration

Ces travaux se feront sous la supervision d'ingénieurs expérimentés qui accompagneront le stagiaire afin de le former à ces concepts rarement approfondis en école. Il est également à noter qu'une plateforme d'intégration Jenkins et des tests fonctionnels ont déjà été mis en place par le passé sur VIP et pourront servir de base pour ce stage.

Compétences requises

  • Bonnes compétences en informatique, programmation Java et systèmes Linux

  • Notions de python

  • Connaissances ou intérêt porté sur l'intégration continue et les tests

Durée

de 3 à 6 mois

Contact

Axel Bonnet, email:axel.bonnet @ creatis.insa-lyon.fr