Le constat est familier à tout DSI ou CTO : des applications critiques, parfois vieilles de plusieurs décennies, dont la connaissance repose sur une poignée d’experts et une documentation devenue obsolète. Retro-Doc s’attaque frontalement à cette dette de connaissance.
Retro-Doc, qu'est-ce que c'est ?
Concrètement, vous chargez une archive de votre code source, et Retro-Doc :
- analyse automatiquement sa structure à partir d’arbres syntaxiques, de graphes de flot de contrôle et de graphes de flot de données ;
- rend le tout explorable via une interface interactive ;
- répond à vos questions grâce à un chatbot RAG ;
- et conduit des analyses approfondies via un agent autonome.
Pour répondre à des usages complémentaires, nous avons découpé le mécanisme de Retro-Doc en deux volets :
- Le premier volet s’adresse aux développeurs. Il utilise les AST, DFG et CFG pour représenter le code sous forme de graphe, puis le traverser intelligemment afin d’améliorer la qualité des réponses lorsqu’une question porte sur le fonctionnement, les dépendances ou la logique d’un morceau de code.
- Le second volet est pensé pour les métiers. Il repose sur une représentation de type graphe BPM, afin de rendre les processus applicatifs plus lisibles et exploitables par des profils non techniques. Cette partie est en cours de finalisation et sera disponible prochainement.
Publié sous licence Apache 2.0, Retro-Doc rejoint SCORE, notre outil d’analyse de référentiels documentaires d’entreprise, lancé récemment, dans une démarche assumée d’open source par défaut.
Retro-Doc : l’open source au service de l’innovation collective
Cette conviction, nous la portons au sein du TOSIT (The Open Source I Trust), l’association qui réunit grands groupes et acteurs publics français autour de logiciels libres de confiance. Un outil forgé dans les exigences du service public a vocation à devenir un commun, au service de tous : entreprises, administrations, laboratoires de recherche et communautés open source.
Nous vous invitons à explorer Retro-Doc, à le tester et à contribuer : nouveaux langages, algorithmes d’analyse, visualisations… toutes les contributions sont les bienvenues.