Aller au contenu principal

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

ServiceTechnologieVersionHébergementURL
BackendFastAPIPython 3.11Dokploy/VPSapi.stageconnect.app
DatabasePostgreSQL15SupabaseInterne (non exposé)
CacheRedis-Dokploy/VPSInterne (non exposé)
Discover (L1/L2)Next.js16.1.6Verceldiscover.stageconnect.app
Career (L3/M)Next.js16.0.7Vercelcareer.stageconnect.app
AdminNext.js16.1.6Verceladmin.stageconnect.app
DocumentationDocusaurus-Cloudflare Pagesdocs.stageconnect.app

Diagramme Réseau

Environnements

Environnements Actuels

EnvironnementUsageBranche
LocalDéveloppement individuel-
ProductionUtilisateurs réelsmain

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.

  1. 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
  2. Configuration :

    • Dupliquer les variables d'environnement avec les valeurs staging
    • Configurer DEBUG=true pour le staging
    • Utiliser des tokens de test pour les intégrations tierces
  3. Déploiement :

    • Chaque push sur la branche staging déclenche un déploiement automatique
    • Les PRs génèrent des URLs de preview pour review
  4. 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

ServiceAccè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

  1. Accès Vercel/Dokploy : Contacter le lead technique
  2. Accès Supabase : Contacter le lead technique (accès lecture seulement pour la plupart des devs)
  3. 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 .env locaux (non commités)
  • Variables d'environnement sur Vercel/Dokploy
  • Coffre-fort d'équipe (Bitwarden)

Voir infrastructure/secrets.md pour plus de détails.