ujusum:1-projet:11-artefacts-techniques
Table des matières
Génération des artefacts techniques
Objectif
À ce stade, le projet dispose :
- du cahier des charges,
- de l'architecture fonctionnelle,
- du modèle de données,
- du modèle UML,
- de l'architecture Frontend,
- de l'architecture Backend,
- du backlog,
- du plan DevOps.
L'étape suivante consiste à produire les artefacts techniques directement exploitables par les développeurs.
Ordre recommandé de génération
L'ordre est important car certains artefacts dépendent des précédents.
| Ordre | Livrable | Priorité |
|---|---|---|
| 1 | Monorepo Frontend/Backend | Critique |
| 2 | Configuration NestJS | Critique |
| 3 | Configuration NextJS | Critique |
| 4 | OpenAPI YAML complet | Critique |
| 5 | DTO TypeScript | Critique |
| 6 | Entités Prisma / TypeORM | Critique |
| 7 | Docker Compose | Haute |
| 8 | GitHub Actions | Haute |
| 9 | Helm Charts Kubernetes | Haute |
| 10 | Terraform Infrastructure | Moyenne |
Monorepo cible
rental-platform/ ├── apps/ │ │ ├── frontend/ │ └── backend/ │ ├── packages/ │ │ ├── shared-types/ │ ├── ui-kit/ │ ├── sdk/ │ └── eslint-config/ │ ├── docs/ │ ├── deployment/ │ ├── scripts/ │ └── .github/
Frontend
Arborescence
apps/frontend ├── src │ ├── public │ ├── generated │ ├── tests │ ├── package.json │ └── next.config.ts
Backend
Arborescence
apps/backend ├── src │ ├── prisma │ ├── test │ ├── package.json │ └── nest-cli.json
OpenAPI
Objectif
L'OpenAPI devient la source de vérité.
Tout est généré à partir de lui :
- SDK
- DTO
- Validation
- Swagger
- Documentation
Livrable attendu
docs/openapi/ openapi.yaml
Taille estimée :
- 8000 à 12000 lignes
Génération SDK
Frontend
openapi-generator-cli generate \
-g typescript-fetch
Résultat
packages/sdk ├── api.ts ├── models.ts ├── services.ts └── index.ts
Entités Prisma
Source
Le schéma PostgreSQL précédemment défini.
Exemple
model Property {
id String @id @default(uuid())
code String @unique
title String
status String
ownerId String
owner Owner @relation(
fields: [ownerId],
references: [id]
)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
Entités TypeORM
Exemple
@Entity("properties")
export class Property {
@PrimaryGeneratedColumn("uuid")
id: string;
@Column()
title: string;
@Column()
status: string;
}
Docker Compose
Objectif
Démarrage local complet.
Services
frontend backend postgres redis mailhog minio
Commande
docker compose up -d
GitHub Actions
Pipeline Frontend
lint typecheck test build docker deploy
Pipeline Backend
lint unit-test integration-test build docker deploy
Helm Charts
Structure
deployment/ helm/ ├── frontend ├── backend ├── postgres ├── redis └── ingress
Variables Kubernetes
DATABASE_URL REDIS_URL JWT_SECRET SMTP_HOST S3_ENDPOINT STRIPE_SECRET
Repository Git
Branches
main develop feature/* release/* hotfix/*
Livrables techniques restants
Les documents qui n'ont pas encore été détaillés et qui représentent le plus de valeur sont :
- OpenAPI YAML complet (250 endpoints)
- Prisma Schema complet (80+ tables)
- Entités NestJS TypeORM
- Monorepo Turborepo
- Docker Compose complet
- GitHub Actions complètes
- Helm Charts Kubernetes
- Terraform Infrastructure AWS/OVH
Recommandation
Le prochain document à produire devrait être :
OpenAPI YAML complet
car il permettra ensuite de générer automatiquement :
- SDK Frontend
- DTO NestJS
- Validation Zod
- Swagger
- Documentation API
- Mock Server
- Tests contractuels
et deviendra la véritable source de référence technique du projet.
ujusum/1-projet/11-artefacts-techniques.txt · Dernière modification : 2026/06/06 03:04 de 91.170.108.99