Aller au contenu principal
Accueil

Main navigation

  • Actualités
    • Toutes les actualités
    • Séminaires - Soutenances
  • Présentation
    • CREATIS
    • Organigramme
    • Personnels
    • Effectifs
    • Contacts
    • Accès
  • Recherche
    • Equipes de recherche
    • Projets transversaux
    • Projets Structurants
    • Plateformes d'imagerie
    • Rapports d'activités
    • Notes d'information données
  • Contributions
    • Publications
    • Brevets
    • Logiciels
    • Organisation de challenges
    • Démarches environnementales
  • Formations
    • Implications dans les formations
    • Ecoles doctorales
  • Emplois et Stages
  • French French
  • English English
Search API form
User account menu
  • Account
    • Se connecter

Fil d'Ariane

  1. Accueil
  2. Job opportunities
  3. Stage génie logiciel : Fiabilisation et refonte du client Python de VIP (Virtual Imaging Platform)

Stage génie logiciel : Fiabilisation et refonte du client Python de VIP (Virtual Imaging Platform)

Contexte scientifique

VIP (Virtual Imaging Platform) est une plateforme de calcul dédiée à l'imagerie médicale. Elle permet à des chercheurs et d’autres utilisateurs de simuler et des traiter des données d’imagerie médicale sur des infrastructures de calcul distantes.

VIP est utilisable de différentes façons :
- par un portail web (https://vip.creatis.insa-lyon.fr)
- par une API REST
- par un client python se basant sur cette API REST (package : https://pypi.org/project/vip-client et code source : https://github.com/virtual-imaging-platform/VIP-python-client )

Ce client python est fonctionnel et est déjà utilisé pour interagir avec la plateforme, mais son architecture et sa couverture de tests peuvent être améliorées. Le stage a pour objectif de renforcer la qualité et la fiabilité du logiciel.

Problématique

La priorité dans le cadre de l’évolution d’un logiciel existant est de maintenir le même comportement sans ajouter de régression. Cela nécessite une base de tests automatisés aussi grande et couvrante que possible. Une base de tests existe déjà mais elle est imparfaite. Le premier travail consistera donc à comprendre les fonctionnalités du client python et à finaliser cette base de tests. L’intégration de ces tests dans une CI (github actions) sera également effectuée.

Ensuite, une fois que ce sera fait, il sera possible de concevoir et d’implémenter des refactorings dans le code du client python avec la sécurité des tests qui détecteront toute régression ou changement de comportement. Pour cela, une analyse approfondie de l'architecture et du code permettra d'identifier les points pouvant être améliorés : complexité, responsabilités des différentes classes, gestion des erreurs, interfaces avec l'API, dépendances, typage, maintenabilité, etc.

Intérêt du stage

Ce stage permettra au stagiaire de travailler sur un véritable logiciel open source utilisé dans le contexte de la recherche en imagerie médicale, tout en abordant des problématiques concrètes de génie logiciel. Il permettra notamment d'acquérir une expérience sur une problématique fréquente en entreprise comme dans les projets scientifiques : faire évoluer et moderniser un logiciel existant sans casser son comportement.

Le stagiaire interviendra sur l'ensemble de la démarche, depuis l'analyse d'un logiciel existant jusqu'à la conception et l'implémentation de ses évolutions. Les contributions réalisées seront publiées directement dans le projet open source VIP-python-client.

Objectifs

Le stage sera organisé autour de deux axes principaux.
 

1. Fiabiliser et consolider les tests

Le stagiaire devra notamment :

  • prendre en main le fonctionnement du client Python et de l'API VIP ;
  • étudier les tests déjà présents ;
  • identifier les fonctionnalités insuffisamment couvertes ;
  • définir une stratégie de tests ;
  • développer de nouveaux tests unitaires ;
  • développer des tests d'intégration lorsque cela est pertinent ;
  • simuler les interactions avec les services distants ;
  • tester les cas nominaux mais également les erreurs et cas limites ;
  • intégrer et/ou améliorer l'exécution automatique des tests dans la CI ;
  • mettre en place des indicateurs permettant de suivre la couverture et la qualité des tests.

Cette première phase devra aboutir à une suite de tests fiable permettant de détecter
efficacement les régressions.

2. Analyser et moderniser le code

Une fois la couverture de tests suffisamment solide, le stagiaire réalisera une analyse de la qualité et de l'architecture du code. Il pourra notamment étudier :

  • la séparation des responsabilités ;
  • la complexité du code ;
  • la gestion des erreurs et des exceptions ;
  • les interfaces entre les différentes couches du client ;
  • la gestion des communications HTTP/REST ;
  • les dépendances externes ;
  • la documentation ;
  • les possibilités de simplification ou de factorisation ;
  • les pratiques modernes de développement Python.

À partir de cette analyse, le stagiaire proposera des améliorations et les mettra en
œuvre.

Compétences requises

Bonnes compétences en ingénierie logicielle (Git, Github/Gitlab)

  • Bonnes compétences en programmation Python
  • Compétences en API REST
  • intérêt pour la qualité logicielle et les tests automatisés
  • intérêt pour les problématiques d'architecture logicielle et de refactorisation ;

Environnement de travail

Le/La stagiaire sera accueilli au laboratoire CREATIS ( https://www.creatis.insa-lyon.fr ) sous la supervision d’Axel Bonnet. Il/Elle interagira avec les autres ingénieurs VIP et les membres du laboratoire CREATIS. Il travaillera dans un cadre bienveillant ayant pour objectif de supporter au mieux la recherche scientifique.

Durée

3 à 6 mois

Téléchargements

Type

Sujet de master

Statut

Recrutement en cours

Periode

2027-2027

Contact

Axel Bonnet (axel.bonnet@creatis.insa-lyon.fr)

Barre liens pratiques

  • Authentication
  • Intranet
  • Flux rss
  • Creatis sur Twitter
  • Webmail
Accueil

Footer menu

  • Contact
  • Accès
  • Newsletter
  • Mentions Légales