MALT : Malloc Tracker (Inria)


Contexte
Refonte complète de MALT, un outil de memory profiling open-source développé par l'INRIA pour traquer les allocations mémoire (malloc/free) de programmes C/C++. J'ai migré l'interface d'Angular vers Vue 3 et TypeScript, avec un gros travail sur les visualisations D3.
Mon approche
Le brief était de faire passer un outil scientifique d'Angular à Vue et TypeScript, sans dégrader l'expérience des chercheurs qui l'utilisent au quotidien. Une fois la base stabilisée et les plugins remis à jour, j'ai retravaillé la lisibilité des graphs et ajouté les interactions qui manquaient.
- Migration complète d'Angular vers Vue 3 et TypeScript, plugins mis à jour, comportement préservé à l'identique pour ne pas casser les habitudes des utilisateurs.
- Un visualiseur de code source reconstruit, avec navigation par fichier, lignes annotées et popups détaillées sur les allocations mémoire par ligne et par fonction.
- Les graphs D3 ont été retravaillés (lisibilité, design, interactions), et j'ai ajouté TanStack Query pour cacher les appels, indispensable sur des datasets de profiling qui pèsent vite plusieurs Mo.
Stack & choix techniques
Vue.js et TypeScript étaient imposés par l'INRIA, un bon choix pour un outil qui passe son temps à afficher de la donnée : le typage limite les erreurs silencieuses. D3.js a été conservé de la V1, parfait pour des visualisations très customisées comme un visualiseur de code annoté. J'ai ajouté TanStack Query pour le cache, parce que sur ce type de dataset on ne refait jamais deux fois le même appel.
Résultat & apprentissages
C'est en production sur le repo officiel memtt/malt, open-source, utilisé par la communauté C/C++ qui fait du profiling mémoire. Le retour des mainteneurs : une interface et un code source plus clairs et plus lisibles que la V1. Pour moi, c'est le projet qui m'a forcé à creuser D3 sur des visualisations complexes, un terrain qu'on retrouve rarement sur des projets web classiques.