Lors de la réalisation de la SAE de 3e année, nous avions besoin d'un outil permettant de créer un diagramme des classes à partir du code source. Ne trouvant pas d'outils convenant à nos attentes, j'ai choisi d'en créer un. Il est actuellement dsponible ici (Github)
Actuellement, il n'est capable de générer un diagramme qu'à partir de code Python, mais sa conception à base de module permet de facilement ajouter le support d'autres langages.
Le fonctionnement interne repose sur les AST (Wikipedia), utilisés par les interpréteurs de certains langages, comme Python ou Javascript (Node.js)
Ce programme se veut simple d'utilisation, il s'exécute en ligne de commande, en lui donnant l'entrée du programme dont on veut créer le diagramme, et le nom du fichier svg où mettre la figure. Il parcourt automatiquement les imports, afin de trouver toutes les classes définies. Il détecte automatiquement les énumérations et les liens d'héritage.
Diagramme de classe de ce projet, généré automatiquement.
Réaliser ce projet a également été l'occasion pour moi d'en apprendre beaucoup sur le fonctionnement des interpréteurs de code, comme ceux de Python et Javascript.