Role CTO : 3 migrations majeures (React class vers hooks, Node.js v12 vers v18, JS vers TS), separation WebSocket du monolithe HAPI, extraction microservices Docker Compose.
Le codebase initial etait un monolithe HAPI en JavaScript avec des composants React class, tournant sur Node.js v12. Le serveur REST API et le serveur WebSocket (Socket.io) partageaient le meme processus, ce qui rendait les deployments risques : un crash du temps-reel entrainait l'API avec lui. Les dependances n'avaient pas ete mises a jour depuis plus d'un an.
La strategie a ete de derouler les trois migrations comme des chantiers progressifs, fichier par fichier. La conversion React class vers hooks a commence par les composants feuille pour remonter vers les containers. L'upgrade Node v12 vers v18 a necessite de gerer les breaking changes d'OpenSSL, les changements d'API de Buffer, et la mise a jour de chaque dependance. La conversion JS vers TS a ete faite en mode strict avec des declarations de types extraites du code existant.
L'extraction du WebSocket a ete realisee en creant un service independant communiquant avec l'API via Redis pub/sub. Cette separation a permis de scaler le temps-reel independamment de l'API REST. Le deploiement Docker Compose a encapsule chaque service (API, WebSocket, Redis, worker) dans son propre conteneur avec des health checks dedies.
Migration React class components vers functional components avec hooks sur tout le frontend.
Upgrade Node.js v12 vers v18, gestion des breaking changes et mise a jour des dependances.
Conversion JavaScript vers TypeScript sur backend HAPI et frontend React.
Separation du serveur WebSocket (Socket.io) du monolithe HAPI REST API.
Extraction microservices avec Docker Compose, mise en place Redis caching.
Workflows JIRA/GitHub, code reviews, mentorship equipe.
Extraction du monolithe HAPI vers Docker Compose
React hooks, Node v18, TypeScript
Code reviews, ADRs, mentorship
Brief, repo, ou appel rapide - on s'adapte.