Vue d'Ensemble de l'Infrastructure
Ce fichier documente où tournent les services, comment ils sont connectés, et qui a accès à quoi.
Carte des Services
| Service | Technologie | Version | Hébergement | URL |
|---|---|---|---|---|
| Backend | FastAPI | Python 3.11 | Dokploy/VPS | api.stageconnect.app |
| Database | PostgreSQL | 15 | Supabase | Interne (non exposé) |
| Cache | Redis | - | Dokploy/VPS | Interne (non exposé) |
| Discover (L1/L2) | Next.js | 16.1.6 | Vercel | discover.stageconnect.app |
| Career (L3/M) | Next.js | 16.0.7 | Vercel | career.stageconnect.app |
| Admin | Next.js | 16.1.6 | Vercel | admin.stageconnect.app |
| Documentation | Docusaurus | - | Cloudflare Pages | docs.stageconnect.app |
Diagramme Réseau
Environnements
Environnements Actuels
| Environnement | Usage | Branche |
|---|---|---|
| Local | Développement individuel | - |
| Production | Utilisateurs réels | main |
Environnement de Staging
Absence de staging
Il n'y a actuellement pas d'environnement de staging. C'est une lacune technique importante qui doit être corrigée.
Risques actuels :
- Les tests en production sont risqués
- Pas de prévisualisation des changements avant mise en prod
- Impossible de tester les migrations de base de données en conditions réelles
Plan pour Ajouter Staging
Objectif : Créer un environnement de staging pour tester les changements avant production.
-
Infrastructure :
- Créer un projet staging sur Vercel pour chaque frontend
- Créer un environnement staging sur Dokploy pour le backend
- Provisionner une base de données staging sur Supabase
-
Configuration :
- Dupliquer les variables d'environnement avec les valeurs staging
- Configurer
DEBUG=truepour le staging - Utiliser des tokens de test pour les intégrations tierces
-
Déploiement :
- Chaque push sur la branche
stagingdéclenche un déploiement automatique - Les PRs génèrent des URLs de preview pour review
- Chaque push sur la branche
-
Livrables :
- Environment staging Vercel configuré
- Environment staging Dokploy configuré
- Base de données staging opérationnelle
- Pipeline CI/CD mis à jour pour staging
Accès et Permissions
Qui a accès à quoi
| Service | Accès |
|---|---|
| Vercel (frontends) | Toute l'équipe |
| Dokploy (backend) | Développeurs seniors uniquement |
| Supabase (DB) | Développeurs seniors uniquement |
| Cloudflare Pages (docs) | Toute l'équipe |
Comment demander un accès
- Accès Vercel/Dokploy : Contacter le lead technique
- Accès Supabase : Contacter le lead technique (accès lecture seulement pour la plupart des devs)
- Accès production : Requiert validation du lead technique
Gestion des credentials
Ne jamais stocker de credentials dans le code. Les credentials sont gérés via :
- Fichiers
.envlocaux (non commités) - Variables d'environnement sur Vercel/Dokploy
- Coffre-fort d'équipe (Bitwarden)
Voir infrastructure/secrets.md pour plus de détails.