Outils pour utilisateurs

Outils du site


ujusum:2-implantation:1-repository

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

ujusum:2-implantation:1-repository [2026/06/20 15:23] – créée 88.174.75.218ujusum:2-implantation:1-repository [2026/06/29 22:01] (Version actuelle) – supprimée 83.202.252.200
Ligne 1: Ligne 1:
-====== Repository Initial Complet ====== 
  
-===== Objectif ===== 
- 
-Ce document décrit le premier livrable logiciel réellement exécutable. 
- 
-À l'issue de cette étape, un développeur doit pouvoir exécuter : 
- 
-<code bash> 
-git clone rental-platform 
- 
-cd rental-platform 
- 
-docker compose up -d 
- 
-pnpm install 
- 
-pnpm dev 
-</code> 
- 
-et obtenir : 
- 
-  * Frontend accessible 
-  * Backend accessible 
-  * Swagger accessible 
-  * PostgreSQL accessible 
-  * Redis accessible 
-  * Mailhog accessible 
-  * MinIO accessible 
- 
----- 
- 
-====== Architecture du repository ====== 
- 
-<code> 
-rental-platform/ 
- 
-├── apps/ 
- 
-│   ├── frontend/ 
-│   └── backend/ 
- 
-├── packages/ 
- 
-│   ├── sdk/ 
-│   ├── ui/ 
-│   ├── shared/ 
-│   └── eslint-config/ 
- 
-├── deployment/ 
- 
-│   ├── docker/ 
-│   ├── kubernetes/ 
-│   └── helm/ 
- 
-├── docs/ 
- 
-├── scripts/ 
- 
-├── .github/ 
- 
-├── docker-compose.yml 
- 
-├── pnpm-workspace.yaml 
- 
-├── turbo.json 
- 
-└── package.json 
-</code> 
- 
----- 
- 
-====== Gestionnaire de monorepo ====== 
- 
-===== Choix retenu ===== 
- 
-<code> 
-Turborepo 
-+ 
-PNPM 
-</code> 
- 
----- 
- 
-===== package.json racine ===== 
- 
-<code json> 
-{ 
-  "name": "rental-platform", 
-  "private": true, 
-  "packageManager": "pnpm@10", 
- 
-  "scripts": { 
- 
-    "dev": "turbo run dev", 
- 
-    "build": "turbo run build", 
- 
-    "lint": "turbo run lint", 
- 
-    "test": "turbo run test" 
-  } 
-} 
-</code> 
- 
----- 
- 
-====== Frontend ====== 
- 
-===== Stack ===== 
- 
-<code> 
-NextJS 15 
- 
-React 19 
- 
-TypeScript 
- 
-Tailwind 
- 
-TanStack Query 
- 
-React Hook Form 
- 
-Zod 
- 
-shadcn/ui 
-</code> 
- 
----- 
- 
-===== Structure ===== 
- 
-<code> 
-apps/frontend 
- 
-├── src 
- 
-├── app 
- 
-├── components 
- 
-├── features 
- 
-├── generated 
- 
-├── hooks 
- 
-├── providers 
- 
-├── styles 
- 
-└── types 
-</code> 
- 
----- 
- 
-===== Route de validation ===== 
- 
-<code> 
-http://localhost:3000 
-</code> 
- 
-Affichage : 
- 
-<code> 
-Rental Platform 
- 
-Frontend OK 
-</code> 
- 
----- 
- 
-====== Backend ====== 
- 
-===== Stack ===== 
- 
-<code> 
-NestJS 
- 
-Prisma 
- 
-PostgreSQL 
- 
-Redis 
- 
-Swagger 
- 
-Passport 
- 
-JWT 
-</code> 
- 
----- 
- 
-===== Structure ===== 
- 
-<code> 
-apps/backend 
- 
-├── src 
- 
-├── modules 
- 
-├── core 
- 
-├── infrastructure 
- 
-├── shared 
- 
-├── prisma 
- 
-└── test 
-</code> 
- 
----- 
- 
-===== Endpoint de validation ===== 
- 
-<code> 
-GET /health 
-</code> 
- 
-Réponse : 
- 
-<code json> 
-{ 
-  "status": "UP" 
-} 
-</code> 
- 
----- 
- 
-====== Swagger ====== 
- 
-===== URL ===== 
- 
-<code> 
-http://localhost:8080/docs 
-</code> 
- 
----- 
- 
-===== Configuration ===== 
- 
-<code ts> 
-const config = 
-  new DocumentBuilder() 
-    .setTitle("Rental Platform API") 
-    .setVersion("1.0.0") 
-    .addBearerAuth() 
-    .build(); 
-</code> 
- 
----- 
- 
-====== Prisma ====== 
- 
-===== Structure ===== 
- 
-<code> 
-apps/backend/prisma 
- 
-├── schema.prisma 
- 
-├── migrations 
- 
-├── seed.ts 
-</code> 
- 
----- 
- 
-===== Première migration ===== 
- 
-<code bash> 
-pnpm prisma migrate dev 
-</code> 
- 
----- 
- 
-====== PostgreSQL ====== 
- 
-===== Version ===== 
- 
-<code> 
-PostgreSQL 16 
-</code> 
- 
----- 
- 
-===== Base ===== 
- 
-<code> 
-rental_platform 
-</code> 
- 
----- 
- 
-===== Utilisateur ===== 
- 
-<code> 
-rental_admin 
-</code> 
- 
----- 
- 
-====== Redis ====== 
- 
-===== Utilisations ===== 
- 
-  * Cache 
-  * Sessions 
-  * Queue 
-  * Rate Limiting 
- 
----- 
- 
-===== URL ===== 
- 
-<code> 
-redis://localhost:6379 
-</code> 
- 
----- 
- 
-====== Mailhog ====== 
- 
-===== Objectif ===== 
- 
-Capturer les emails en local. 
- 
----- 
- 
-===== URL ===== 
- 
-<code> 
-http://localhost:8025 
-</code> 
- 
----- 
- 
-====== MinIO ====== 
- 
-===== Objectif ===== 
- 
-Simulation S3 locale. 
- 
----- 
- 
-===== URL ===== 
- 
-<code> 
-http://localhost:9001 
-</code> 
- 
----- 
- 
-====== Docker Compose ====== 
- 
-===== Services ===== 
- 
-<code> 
-frontend 
- 
-backend 
- 
-postgres 
- 
-redis 
- 
-mailhog 
- 
-minio 
-</code> 
- 
----- 
- 
-===== Ports ===== 
- 
-^ Service ^ Port ^ 
-| Frontend | 3000 | 
-| Backend | 8080 | 
-| PostgreSQL | 5432 | 
-| Redis | 6379 | 
-| Mailhog | 8025 | 
-| MinIO Console | 9001 | 
- 
----- 
- 
-====== Variables d'environnement ====== 
- 
-===== Backend ===== 
- 
-<code> 
-DATABASE_URL= 
- 
-REDIS_URL= 
- 
-JWT_SECRET= 
- 
-JWT_REFRESH_SECRET= 
- 
-SMTP_HOST= 
- 
-SMTP_PORT= 
- 
-S3_ENDPOINT= 
- 
-S3_ACCESS_KEY= 
- 
-S3_SECRET_KEY= 
-</code> 
- 
----- 
- 
-===== Frontend ===== 
- 
-<code> 
-NEXT_PUBLIC_API_URL= 
- 
-NEXT_PUBLIC_APP_NAME= 
-</code> 
- 
----- 
- 
-====== GitHub Actions ====== 
- 
-===== Pipeline Frontend ===== 
- 
-<code> 
-Install 
- 
- 
- 
-Lint 
- 
- 
- 
-TypeCheck 
- 
- 
- 
-Tests 
- 
- 
- 
-Build 
-</code> 
- 
----- 
- 
-===== Pipeline Backend ===== 
- 
-<code> 
-Install 
- 
- 
- 
-Lint 
- 
- 
- 
-Tests 
- 
- 
- 
-Build 
- 
- 
- 
-Prisma Validate 
-</code> 
- 
----- 
- 
-====== Qualité ====== 
- 
-===== ESLint ===== 
- 
-<code> 
-typescript-eslint 
-</code> 
- 
----- 
- 
-===== Formatage ===== 
- 
-<code> 
-Prettier 
-</code> 
- 
----- 
- 
-===== Hooks Git ===== 
- 
-<code> 
-Husky 
-</code> 
- 
----- 
- 
-===== Commit Convention ===== 
- 
-<code> 
-feat: 
- 
-fix: 
- 
-refactor: 
- 
-test: 
- 
-docs: 
-</code> 
- 
----- 
- 
-====== Sécurité ====== 
- 
-===== Dépendances ===== 
- 
-<code> 
-npm audit 
- 
-snyk 
- 
-dependabot 
-</code> 
- 
----- 
- 
-===== Secrets ===== 
- 
-Aucun secret dans Git. 
- 
-Utilisation : 
- 
-<code> 
-.env 
- 
-.env.local 
- 
-.env.production 
-</code> 
- 
----- 
- 
-====== Sprint Bootstrap ====== 
- 
-===== Jour 1 ===== 
- 
-  * Création Monorepo 
-  * Configuration PNPM 
-  * Configuration Turborepo 
- 
----- 
- 
-===== Jour 2 ===== 
- 
-  * Création Frontend 
-  * Création Backend 
-  * Docker Compose 
- 
----- 
- 
-===== Jour 3 ===== 
- 
-  * PostgreSQL 
-  * Prisma 
-  * Redis 
- 
----- 
- 
-===== Jour 4 ===== 
- 
-  * Swagger 
-  * Health Check 
-  * CI GitHub 
- 
----- 
- 
-===== Jour 5 ===== 
- 
-  * Documentation 
-  * Validation environnement 
- 
----- 
- 
-====== Définition de terminé ====== 
- 
-Le bootstrap est terminé lorsque : 
- 
-  * Frontend démarre 
-  * Backend démarre 
-  * Prisma migre 
-  * Swagger fonctionne 
-  * Redis fonctionne 
-  * Mailhog fonctionne 
-  * MinIO fonctionne 
-  * Pipeline GitHub passe 
-  * Docker Compose démarre sans erreur 
- 
----- 
- 
-====== Livrables Sprint Bootstrap ====== 
- 
-  * Repository Git 
-  * Monorepo 
-  * NextJS 
-  * NestJS 
-  * Prisma 
-  * PostgreSQL 
-  * Redis 
-  * Docker Compose 
-  * GitHub Actions 
-  * Swagger 
-  * Documentation de démarrage 
- 
----- 
- 
-====== Sprint suivant ====== 
- 
-Une fois ce socle validé, le premier sprint métier recommandé est : 
- 
-===== Sprint 1 ===== 
- 
-Module Authentification 
- 
-  * Register 
-  * Login 
-  * JWT 
-  * Refresh Token 
-  * RBAC 
-  * User Profile 
-  * Swagger 
-  * Tests 
- 
-À la fin du Sprint 1, les développeurs disposeront d'une plateforme sécurisée sur laquelle construire tous les autres modules métiers. 
ujusum/2-implantation/1-repository.1781961802.txt.gz · Dernière modification : 2026/06/20 15:23 de 88.174.75.218 · Actuellement bloqué par : 192.168.0.100,216.73.216.20

DokuWiki Appliance - Powered by TurnKey Linux