Architecture, software engineering senior et exécution technique pour produits exigeants.

Étude de cas

SaaS gestion de flotte : poser un socle produit exploitable

Le besoin n'était pas seulement de coder un premier produit. Il fallait poser une base SaaS capable d'évoluer : modèle métier, contrats applicatifs, runtime cloud, tests et standards de delivery.

LRJI est intervenu sur l'architecture et le développement end-to-end, de la structure TypeScript aux premiers flux produit, avec une attention forte à la maintenabilité et au transfert.

Contexte

Un produit à construire sans installer la dette initiale

Le contexte demandait de livrer vite tout en évitant le piège classique du prototype qui devient production sans boundaries, sans tests et sans modèle d'exploitation.

Contraintes principales

Vitesse sans socle jetable

Le produit devait avancer rapidement, mais les premières décisions allaient structurer les mois suivants.

Contrats full-stack

Frontend, backend et cas d'usage devaient rester alignés sans multiplier les ruptures de contrat pendant les itérations.

Cloud proportionné

La plateforme devait être exploitable sur GCP sans transformer un jeune SaaS en chantier plateforme prématuré.

Décisions

Les décisions qui ont donné de la tenue au produit

Le cadrage a privilégié un socle assez fort pour apprendre vite, sans figer une architecture d'entreprise trop lourde pour le stade du produit.

  1. 01

    DDD tactique sur les concepts utiles

    Le modèle a été structuré autour des concepts métier de gestion de flotte afin d'éviter un CRUD générique difficile à faire évoluer.

  2. 02

    Contrats TypeScript de bout en bout

    tRPC a permis de réduire les divergences entre API, frontend et backend pendant les incréments produit.

  3. 03

    Runtime GCP pragmatique

    L'architecture cloud a été gardée simple : suffisamment industrialisée pour déployer, observer et corriger, sans sur-ingénierie.

  4. 04

    Qualité dès le premier flux

    Tests, conventions, CI/CD et pratiques shift-left ont été intégrés comme des outils de delivery, pas comme une couche de contrôle tardive.

Delivery

Un bootstrap orienté risque produit

Le travail a combiné architecture, implémentation et transmission. L'objectif était de livrer un premier flux qui serve aussi de référence pour les suivants.

Fondations techniques

Repo, architecture backend, frontend, contrats, configuration et conventions ont été posés ensemble.

Premier flux référence

Un flux produit réel a servi de preuve pour les boundaries, les tests, la delivery et le style de code.

Transfert

Les choix structurants ont été rendus explicites pour que l'équipe puisse continuer sans dépendance invisible.

Impact

Ce que le socle a rendu possible

La valeur du bootstrap se mesure dans la capacité à livrer les incréments suivants sans réouvrir toutes les fondations.

0 -> prod
Base SaaS livrable, exploitable et compréhensible au-delà du premier incrément.
Contrats
Frontend et backend alignés par types et conventions, avec moins de friction d'intégration.
Boundaries
Modélisation métier plus claire grâce au DDD tactique et à des cas d'usage explicites.
Delivery
CI/CD, tests et runtime GCP prêts pour les prochains lots produit.

Stack

Technologies et sujets couverts

La stack publique renforce le positionnement LRJI : TypeScript-first, GCP pragmatique, architecture et qualité dès le départ.

  • TypeScript
  • Node.js
  • NestJS
  • React
  • tRPC
  • PostgreSQL
  • GCP
  • Docker
  • Vitest
  • DDD tactique
  • CI/CD
  • Shift-left

Leçon

Un bootstrap n'est pas un prototype maquillé.

La bonne base 0 to 1 décide assez pour livrer et apprendre, mais elle évite surtout les décisions implicites qui deviennent une dette structurelle.