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++. Migration de l'interface d'Angular vers Vue 3 + TypeScript, avec un gros travail sur les visualisations D3.
Mon approche
Le brief : passer un outil scientifique d'Angular à Vue + 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, retravailler la lisibilité des graphs et ajouter les interactions qui manquaient.
- Migration complète Angular → Vue 3 + TypeScript, plugins mis à jour, comportement préservé à l'identique pour ne pas casser les habitudes des utilisateurs.
- Visualiseur de code source reconstruit : navigation par fichier, lignes annotées, popups détaillées sur les allocations mémoire par ligne et par fonction.
- Graphs D3 retravaillés (lisibilité, design, interactions) + TanStack Query pour cacher les appels — indispensable sur des datasets de profiling qui pèsent vite plusieurs Mo.
Stack & choix techniques
Vue.js + TypeScript 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 conservé de la V1, parfait pour des visualisations ultra-customisées comme un visualiseur de code annoté. J'ai ajouté TanStack Query pour le cache : sur ce type de dataset, on ne refait jamais deux fois le même appel.
Résultat & apprentissages
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 : interface et code source plus clairs et plus lisibles que la V1. Côté perso, c'est le projet qui m'a forcé à creuser D3 sur des visualisations vraiment complexes — un terrain qu'on retrouve rarement sur des projets web classiques.