xpeditis2.0/docs/README.md
David b22f4e0b74 docs: procedure de mise en production pas a pas
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018BAUeCFpDkRD6tU5wGsc1C
2026-09-07 21:40:50 +02:00

140 lines
5.8 KiB
Markdown

# Xpeditis — Documentation
Documentation complète de la plateforme B2B SaaS de réservation de fret maritime.
---
## Démarrage rapide
| Objectif | Fichier |
|---|---|
| Démarrer en 5 minutes | [getting-started/quick-start.md](getting-started/quick-start.md) |
| Installation détaillée | [getting-started/installation.md](getting-started/installation.md) |
| Windows | [getting-started/windows.md](getting-started/windows.md) |
---
## Architecture
| Sujet | Fichier |
|---|---|
| Vue d'ensemble système | [architecture/overview.md](architecture/overview.md) |
| Schéma base de données | [architecture/database.md](architecture/database.md) |
| Backend (NestJS hexagonal) | [architecture/backend.md](architecture/backend.md) |
| Frontend (Next.js 14) | [architecture/frontend.md](architecture/frontend.md) |
---
## Fonctionnalités
| Fonctionnalité | Fichier |
|---|---|
| Recherche de tarifs (FCL + CSV) | [features/rate-search.md](features/rate-search.md) |
| Réservation standard | [features/bookings.md](features/bookings.md) |
| Réservation CSV + Portail Carrier | [features/csv-bookings.md](features/csv-bookings.md) |
| Authentification & RBAC | [features/auth.md](features/auth.md) |
| Abonnements Stripe | [features/subscriptions.md](features/subscriptions.md) |
| Notifications temps réel | [features/notifications.md](features/notifications.md) |
| Accès API (clés API) | [features/api-access.md](features/api-access.md) |
| Système CSV | [../csv-system/CSV_RATE_SYSTEM.md](../csv-system/CSV_RATE_SYSTEM.md) |
---
## Mise en production
**[mise-en-prod/](mise-en-prod/README.md)** — procédure complète, pas à pas, pour
ouvrir la plateforme au public sur Hetzner. C'est le point d'entrée à suivre
pour un déploiement réel. Les fichiers correspondants sont dans
[`infra/prod/`](../infra/prod/README.md).
| Étape | Fichier |
|---|---|
| Index, chronologie, blocages identifiés | [mise-en-prod/README.md](mise-en-prod/README.md) |
| Prérequis (comptes, outils, clés) | [mise-en-prod/01-prerequis.md](mise-en-prod/01-prerequis.md) |
| Provisioning Hetzner (Terraform) | [mise-en-prod/02-provisioning-hetzner.md](mise-en-prod/02-provisioning-hetzner.md) |
| Durcissement des serveurs | [mise-en-prod/03-durcissement-serveurs.md](mise-en-prod/03-durcissement-serveurs.md) |
| Nœud de données (PostgreSQL, Redis) | [mise-en-prod/04-noeud-donnees.md](mise-en-prod/04-noeud-donnees.md) |
| Cluster k3s | [mise-en-prod/05-cluster-k3s.md](mise-en-prod/05-cluster-k3s.md) |
| Secrets (SOPS + age) | [mise-en-prod/06-secrets-sops.md](mise-en-prod/06-secrets-sops.md) |
| Stockage objet | [mise-en-prod/07-stockage-objet-s3.md](mise-en-prod/07-stockage-objet-s3.md) |
| DNS, TLS, Cloudflare | [mise-en-prod/08-dns-tls-cloudflare.md](mise-en-prod/08-dns-tls-cloudflare.md) |
| Déploiement applicatif | [mise-en-prod/09-deploiement-application.md](mise-en-prod/09-deploiement-application.md) |
| CI/CD GitHub Actions | [mise-en-prod/10-cicd-github-actions.md](mise-en-prod/10-cicd-github-actions.md) |
| Observabilité | [mise-en-prod/11-observabilite.md](mise-en-prod/11-observabilite.md) |
| Sauvegardes et restauration | [mise-en-prod/12-sauvegardes-restauration.md](mise-en-prod/12-sauvegardes-restauration.md) |
| Sécurité | [mise-en-prod/13-securite-durcissement.md](mise-en-prod/13-securite-durcissement.md) |
| Runbook de mise en ligne | [mise-en-prod/14-runbook-go-live.md](mise-en-prod/14-runbook-go-live.md) |
| Exploitation et incidents | [mise-en-prod/15-exploitation-incidents.md](mise-en-prod/15-exploitation-incidents.md) |
| RGPD et conformité | [mise-en-prod/16-rgpd-conformite.md](mise-en-prod/16-rgpd-conformite.md) |
---
## Déploiement — autres environnements
| Sujet | Fichier |
|---|---|
| Preprod : Portainer / Docker Swarm | [deployment/portainer.md](deployment/portainer.md) |
| Étude Hetzner / Kubernetes (antérieure) | [deployment/hetzner/README.md](deployment/hetzner/README.md) |
| Stripe (paiements) | [deployment/STRIPE_SETUP.md](deployment/STRIPE_SETUP.md) |
> `deployment/hetzner/` est l'étude de cadrage qui a précédé la mise en œuvre.
> Elle reste utile pour comprendre les arbitrages, mais **la procédure à suivre
> est `mise-en-prod/`**, seule alignée sur les fichiers réellement livrés dans
> `infra/prod/`.
---
## Tests
| Sujet | Fichier |
|---|---|
| Guide tests (unité, intégration, E2E) | [testing/TEST_EXECUTION_GUIDE.md](testing/TEST_EXECUTION_GUIDE.md) |
| Tests locaux | [testing/LOCAL_TESTING.md](testing/LOCAL_TESTING.md) |
| Tests manuels | [testing/MANUAL_TEST_INSTRUCTIONS.md](testing/MANUAL_TEST_INSTRUCTIONS.md) |
| Postman | [testing/GUIDE_TESTS_POSTMAN.md](testing/GUIDE_TESTS_POSTMAN.md) |
| Couverture | [testing/TEST_COVERAGE_REPORT.md](testing/TEST_COVERAGE_REPORT.md) |
---
## Portail Carrier
| Sujet | Fichier |
|---|---|
| Recherche API carriers | [carrier-portal/CARRIER_API_RESEARCH.md](carrier-portal/CARRIER_API_RESEARCH.md) |
| Plan d'implémentation | [carrier-portal/CARRIER_PORTAL_IMPLEMENTATION_PLAN.md](carrier-portal/CARRIER_PORTAL_IMPLEMENTATION_PLAN.md) |
---
## Archives
Les rapports de sprint et notes de debug sont archivés dans [archive/](archive/).
---
## Pour les développeurs
### Lire dans cet ordre
1. [getting-started/quick-start.md](getting-started/quick-start.md) — démarrer le projet
2. `CLAUDE.md` à la racine — **architecture hexagonale, règles et conventions**
3. [architecture/overview.md](architecture/overview.md) — vision système
4. [architecture/database.md](architecture/database.md) — schéma BDD complet
### Commandes essentielles
```bash
# Infrastructure
docker-compose up -d
# Démarrer
npm run backend:dev # http://localhost:4000 — Swagger: /api/docs
npm run frontend:dev # http://localhost:3000
# Tests
npm run backend:test
npm run frontend:test
# Migrations
cd apps/backend && npm run migration:run
```