Architecture Next.js pour SaaS : le guide domain-driven

SaaS
6 min de lecture

Le problème des architectures classiques

La plupart des projets Next.js finissent avec un dossier components/ de 50 fichiers, un dossier utils/ fourre-tout et des API routes qui mélangent validation, auth et logique métier. Ça fonctionne au début, mais ça ne scale pas.

L'approche domain-driven

Au lieu d'organiser par type technique (components, hooks, utils), j'organise par domaine métier :

src/domains/
├── projects/
│   ├── projects.schemas.ts    # Validation Zod
│   ├── projects.services.ts   # Requêtes Prisma pures
│   ├── projects.actions.ts    # Server Actions
│   └── components/            # UI spécifique
├── articles/
│   ├── articles.schemas.ts
│   ├── articles.services.ts
│   ├── articles.actions.ts
│   └── components/
└── auth/
    └── components/

Les 3 couches essentielles

1. Schemas (validation)

Un fichier Zod par domaine, partagé entre client (React Hook Form) et serveur (Server Actions). Single source of truth pour la validation.

2. Services (données)

Des fonctions pures qui appellent Prisma. Pas d'auth, pas de revalidation, juste des requêtes. Faciles à tester, faciles à réutiliser.

3. Actions (orchestration)

Les Server Actions orchestrent tout : vérification auth → validation Zod → appel service → revalidatePath. C'est le seul endroit où ces concerns se rencontrent.

Data flow

Le pattern est simple et prévisible :

  • Lecture : Server Component → Service → Prisma → HTML statique
  • Écriture : Client form → Server Action → Service → Prisma → revalidatePath

Zéro API route nécessaire pour le CRUD. Les Server Actions remplacent élégamment les endpoints REST classiques.

Pourquoi ça marche

Après 7 SaaS avec cette architecture :

  • Je retrouve n'importe quel code en 10 secondes
  • Ajouter un nouveau domaine prend 15 minutes (avec un skill Claude Code)
  • Les bugs sont isolés : un problème de validation ne casse pas la couche données
  • Le onboarding de nouveaux devs est rapide, la structure est auto-documentée

Envie d'en discuter ?

Réservez un appel pour parler de vos projets SaaS ou de vos besoins en consultant Claude Code.

Réserver un appel gratuit

Articles similaires