Stage - Chargement du Référentiel Mia-Discovery - Centre de Modernisation du Si - Nantes H/F
- Stage 
- FRANCE 
Description de l'offre
Description
 
Mia-Discovery est un logiciel conçu pour effectuer la cartographie des systèmes d'information (SI) des organisations. À partir de l'analyse des codes sources des applications (Java, COBOL, .NET, etc.), il permet de reconstituer automatiquement une vue globale et détaillée du patrimoine applicatif, de ses dépendances, de ses flux et de ses interactions. Les responsables IT, urbanistes ou architectes d'entreprise utilisent ainsi Mia-Discovery pour mieux comprendre, rationaliser et moderniser leur SI : analyse de l'obsolescence, détection des redondances, préparation à la migration vers le cloud, gestion des risques, etc. Grâce à l'analyse des codes sources et des métadonnées, Mia-Discovery alimente un référentiel central où chaque élément du SI est modélisé comme un graphe : des noeuds (entités, applications, bases de données, scripts, etc.) et des relations (dépendances, communications, flux, usages). Actuellement, lors de chaque nouvelle analyse ou rechargement du SI, le processus de chargement du référentiel repart de zéro : l'ensemble du graphe existant est intégralement supprimé, puis régénéré entièrement à partir des nouvelles sources. Si cette approche from scratch garantit l'alignement complet du référentiel avec l'état courant du SI, elle comporte cependant d'importantes limitations : - Coût élevé en ressources et en temps : la suppression puis la reconstruction intégrale d'un référentiel volumineux (comptant parfois des dizaines ou centaines de milliers de noeuds et de relations) engendre des traitements longs, mobilise de la bande passante, sollicite intensément les bases de données, et peut impacter la disponibilité du service. - Perte de traçabilité et d'historique : ce mode destructif rend difficile, voire impossible, la détection des évolutions fines entre deux versions du SI (ajouts, suppressions, modifications). Les équipes ne peuvent pas facilement exploiter l'historique ou comprendre les changements, ce qui nuit à l'analyse d'impact et au suivi dans le temps. - Risques opérationnels accrus : toute erreur, interruption ou incohérence lors d'un rechargement complet peut laisser le référentiel dans un état instable, voire le rendre temporairement inutilisable. Dans ce contexte, la mise en oeuvre d'un chargement incrémental représente un levier majeur d'amélioration. Une telle approche consisterait à analyser les différences entre l'état actuel du SI et le référentiel existant afin de n'appliquer que les modifications nécessaires : ajout, suppression ou mise à jour de noeuds/relation spécifiquement concernés. L'objectif est multiple : - Accélérer les traitements - Réduire la charge système - Permettre la conservation de l'historique des évolutions - Offrir une meilleure robustesse, traçabilité et réactivité aux évolutions du SI L'intégration de ce mécanisme au coeur de Mia-Discovery renforcerait significativement la qualité, la performance et la valeur ajoutée du produit pour toutes les organisations soucieuses de l'excellence dans la gestion de leur système d'information.
 
Date de début
 
28 oct., 2025
 
Expérience
 
Inf_1
 
Profil
 
Votre rôle et vos missions : Vous étudiez, proposez et prototypez une solution de "diff" et de chargement incrémental, capable d'identifier et d'appliquer uniquement les changements détectés entre deux versions du modèle (ajout, modification, suppression de noeuds et de relations). - Analyse de l'existant - Comprendre la structure du référentiel Mia-Discovery (noeuds, relations, propriétés). - Étudier le processus actuel de chargement/suppression/génération. - Veille technologique - Explorer les mécanismes de synchronisation incrémentale et d'outils de gestion de données (algos de diff, change data capture, etc.). - Rechercher des solutions open source de diff/merge de fichiers et/ou de graphes. - Conception d'un algorithme/protocole - Définir un format d'échange pour deux versions du référentiel (timestampées). - Concevoir l'algorithme permettant : - De comparer deux états pour extraire les ajouts, suppressions, modifications (noeuds et relations). - Générer/suggérer un « patch » contenant les opérations à appliquer. - Prototypage - Implémenter un prototype réalisant le diff et appliquant les changements incrémentaux au référentiel cible. - Évaluation et tests - Expérimenter le prototype sur des référentiels de taille et complexité variées. - Mesurer les gains en temps/ressources et la robustesse de la solution. - Documentation et restitution - Rédiger la documentation technique et utilisateur. - Proposer des axes d'industrialisation ou d'optimisation futurs. Livrables - Algorithme documenté, code source du prototype. - Rapport complet (état de l'art, spécifications, résultats de tests). - Jeu de scripts/tests automatisés. - Présentation synthétique des apports et axes d'amélioration. Environnement technique - Java, C++ - Bases de données NoSQL (Neo4j) - Git, Docker, GitLab CI - API REST Votre profil : En école d'Ingénieurs, ou en Master informatique ou formation équivalente, vous êtes curieux(se) et logique, bon communiquant(e) et adhérez à l'idée que le développement de la société s'appuie sur l'esprit d'innovation de ses collaborateurs. Postulez !
 
Fonction
 
Assistanat_admin_accueil
 
Formation
 
RJ/Qualif/Ingenieur_B5
 
Secteur
 
Informatique