Chargement...
Chargement...
Portfolio EngineeringComment transformer du code 'maison' en briques propres, testées et utilisables sur n'importe quel projet — sans tomber dans l'over-engineering ?
Quand on enchaîne les projets, on se rend compte qu'on résout 3 fois le même problème : sync offline, cartographie haute densité, charts légers, validation de données. À chaque fois c'est 'recopier-adapter'. Portfolio Engineering, c'est l'inverse : j'extrais les patterns gagnants en bibliothèques autonomes, je les teste à 95 %+, je les documente. Aujourd'hui : 5 libs (`crdt-engine` pour la sync distribuée, `offline-core` pour la persistance, `map-engine` pour clusterer 50 000 points à 60 FPS, `chart-kit` pour des graphes SVG sans dépendance de 2 Ko, `backend-kit` pour les utils Fastify) + 4 apps de démo. Réutilisé sur 3 projets clients. Discipline architecturale : chaque lib est publiable indépendamment, zéro couplage, documentation de chaque pattern.
Je voulais arrêter de réécrire les mêmes patterns à chaque projet. C'est devenu mon labo d'extraction de patterns — et la preuve que mon code tient debout hors de son contexte d'origine.
Monorepo avec builds parallèles. Chaque bibliothèque est publiable indépendamment. Le service de synchronisation capture l'essence du offline en 3 méthodes abstraites.
packages (4 libs + 4 apps) dans le monorepo
couverture de tests
projets réutilisent ces bibliothèques
latence de synchronisation cross-tab
L'extraction a cristallisé des patterns réutilisables, notamment le service de sync offline qui a directement servi sur 3 projets. La couverture de 95%+ prouve qu'on peut maintenir une discipline de test même sur du code système.