(doc) : ajout et modification de docs après arbitrage

This commit is contained in:
jpgiannetti
2026-01-31 21:09:59 +01:00
parent f99fb3c614
commit 841028d1b2
24 changed files with 3081 additions and 301 deletions

View File

@@ -106,51 +106,77 @@ TTL cache : 5 minutes (le contenu ne bouge pas).
## Architecture Services
```
┌─────────────────────────────────────────────┐
OVH VPS (Gravelines, France) │
│ │
┌─────────────────┐ │
NGINX Cache │ Cache HLS │
│ │ + Let's Encrypt│ SSL, rate limiting │
│ └────────┬────────┘ │
│ │ │
│ ┌────────┴────────┐ │
│ │ API Gateway │ Go + Fiber │
│ └────────┬────────┘ │
│ │ │
│ ┌────┴────┬─────────────┬──────────┐ │
│ │ │ │ │ │
│ ┌───▼───┐ ┌──▼───┐ ┌───────▼────┐ ┌──▼─────┐
│ │ Auth │ │ User │ │Content/Geo │ │Zitadel │
│ │Service│ │Svc │ │ Service │ │ IdP │
│ └───┬───┘ └──┬───┘ └──────┬─────┘ └───┬────┘
│ │ │ │ │ │
│ └────────┴────────────┴───────────┘ │
│ │ │
│ ┌───────────┴──────────┐ │
│ │ │ │
│ ┌────▼────┐ ┌──────▼──────┐ │
│ │ Redis │ │ PostgreSQL │ │
│ │ Cluster │ │ + PostGIS │ │
│ └─────────┘ │ │ │
│ │ Schémas: │ │
│ │ - roadwave │ │
│ │ - zitadel │ │
│ └─────────────┘ │
└─────────────────────────────────────────────┘
┌──────────┴──────────┐
│ │
┌────────▼────────┐ ┌────────▼────────┐
│ OVH Object │ │ Mobile Apps │
│ Storage (S3) │ │ iOS/Android │
│ Fichiers audio │ │ │
└─────────────────┘ └─────────────────┘
```mermaid
flowchart TB
subgraph clients["Clients"]
mobile["Mobile Apps<br/>iOS/Android<br/>Flutter"]
carplay["CarPlay /<br/>Android Auto"]
end
Souveraineté : 100% données en France
subgraph ovh["OVH VPS Essential (Gravelines, France)"]
nginx["NGINX Cache<br/>+ Let's Encrypt<br/>TLS 1.3, Rate Limiting"]
api["API Gateway<br/>Go + Fiber :8080"]
subgraph services["Backend Services (Monolithe Modulaire)"]
auth["Auth Service<br/>JWT validation"]
user["User Service<br/>Profils, Jauges"]
content["Content/Geo Service<br/>Recommandations<br/>PostGIS queries"]
streaming["Streaming Service<br/>HLS generation"]
payment["Payment Service<br/>Mangopay integration"]
notif["Notification Service<br/>FCM/APNS"]
end
zitadel["Zitadel IdP<br/>OAuth2 PKCE<br/>:8081"]
ip2loc["IP2Location DB<br/>SQLite ~50MB<br/>Mode dégradé"]
subgraph data["Données"]
pgbouncer["PgBouncer<br/>Connection pooling<br/>:6432"]
postgres["PostgreSQL 16<br/>+ PostGIS 3.4<br/>Schémas:<br/>- roadwave<br/>- zitadel"]
redis["Redis 7 Cluster<br/>Cache + Geospatial<br/>GEORADIUS"]
end
end
subgraph external["Services Externes"]
storage["OVH Object Storage<br/>Fichiers audio HLS"]
mangopay["Mangopay<br/>Paiements, KYC"]
brevo["Brevo<br/>Emails transactionnels"]
fcm["FCM / APNS<br/>Push notifications"]
end
mobile --> nginx
carplay --> nginx
nginx --> api
api --> auth
api --> user
api --> content
api --> streaming
api --> payment
api --> notif
api --> ip2loc
auth --> zitadel
user --> pgbouncer
user --> redis
content --> pgbouncer
content --> redis
streaming --> storage
payment --> mangopay
notif --> fcm
zitadel --> pgbouncer
pgbouncer --> postgres
brevo -.email.-> mobile
fcm -.push.-> mobile
style ovh fill:#e3f2fd
style external fill:#fff3e0
style clients fill:#f3e5f5
style data fill:#e8f5e9
```
**Souveraineté** : 100% données en France (RGPD compliant)
---
## Scaling 10M Utilisateurs