JA.ENG
FICHE R-01 / RÔLE·CLIENT Naept · ID-1·PÉRIODE 2019 — 2025·PAGE 01 / 01
R-01 · Rôle · Naept · ID-1 · ~6 ans

Architecte logiciel & système

Porter une vision d'architecture cohérente sur la durée — arbitrer entre complexité, robustesse, coût et délai — chez Naept comme chez ID-1.

EntreprisesNaept · ID-1
DomaineArchitecture logicielle
RôleArchitecte & lead technique
ContextePetites équipes, souvent seul
Lecture~ 5 min
Architecture logicielleModernisation incrémentaleAPI designProseMirrorC++ (composition)Tests unitaires
##

Contexte.

§ 01 — Contexte

J'endosse le rôle d'architecte logiciel et système lorsque la complexité d'un produit dépasse la simple addition de composants techniques. C'est généralement le cas lorsque plusieurs technologies doivent cohabiter, que le produit est destiné à durer, et que les décisions prises aujourd'hui conditionnent fortement les évolutions futures.

Chez Naept et ID-1, j'ai occupé ce rôle dans des contextes de petites équipes, parfois sans véritable pair technique pour challenger les choix. Mon rôle consistait alors à maintenir une vision globale cohérente, tout en arbitrant en permanence entre complexité, robustesse, coût et délai.

##

Architecture comme outil d'arbitrage.

§ 02 — Arbitrage

Je ne cherche pas à concevoir une architecture « idéale » ou académique, mais une architecture adaptée à son contexte, capable d'évoluer sans refonte permanente.

Chez ID-1, j'ai par exemple repris un logiciel legacy pour lequel une refonte complète avait été engagée pendant près d'un an. L'analyse du périmètre fonctionnel, de la taille de l'équipe et des choix techniques existants m'a conduit à considérer cette refonte comme irréaliste. J'ai alors orienté le projet vers une modernisation incrémentale, permettant de sécuriser l'existant tout en introduisant progressivement de nouvelles architectures et technologies.

##

Découpage et responsabilités.

§ 03 — Découpage

Je porte une attention particulière au découpage fonctionnel et à la clarté des responsabilités. Chez ID-1, certaines fonctionnalités ont été isolées dans des applications distinctes, interconnectées par des API. Il ne s'agissait pas de microservices au sens strict, mais d'une application pragmatique de leurs principes : limiter les couplages et rendre les évolutions indépendantes possibles.

Chez Naept, cette logique s'est traduite par une architecture frontend / API, permettant de proposer une expérience utilisateur fluide, proche d'une application, tout en conservant une structuration claire côté backend.

##

Frontend complexe et choix structurants.

§ 04 — Frontend

Un choix marquant a été l'utilisation de ProseMirror comme socle d'édition de texte chez Naept. Ce choix visait à obtenir un contrôle total sur le modèle documentaire et le comportement de l'éditeur, tout en dissociant clairement le rendu visuel de la logique métier. La complexité initiale était assumée, car elle permettait des évolutions futures sans remise en cause profonde de l'existant.

Ce type de décision illustre bien ma manière d'aborder l'architecture : accepter une complexité maîtrisée lorsqu'elle permet d'éviter une dette structurelle à long terme.

##

Apprentissage par l'erreur.

§ 05 — Erreurs

Mon approche actuelle est aussi le fruit d'erreurs assumées.

Héritage multiple (C++)
Architecture firmware initiale difficile à tester et à faire évoluer, chez ID-1 → refonte en « composition over inheritance », gain immédiat en lisibilité et en testabilité.
Absence de tests unitaires
Gain de temps à court terme, contre-productif à moyen terme → l'absence de stratégie de test est aujourd'hui pour moi un indicateur fort de future dérive architecturale.
##

Convictions d'architecte.

§ 06 — Convictions

Je privilégie des architectures capables de durer :

01
Compréhensibles
Par ceux qui les reprennent, pas seulement par leur auteur.
02
Réversibles
Lorsque c'est possible — éviter les décisions à sens unique.
03
Capables de survivre à leurs premiers auteurs
Ne pas dépendre d'une seule personne pour rester intelligibles.

Je suis volontairement méfiant vis-à-vis des effets de mode. Un concept pertinent mal appliqué est souvent plus dangereux qu'une solution simple bien maîtrisée.

« Mon objectif reste constant : construire des systèmes qui tiennent dans le temps, autant sur le plan technique que humain. »

— convictions d'architecte