petitspas/docs/03_DEPLOYMENT.md
Julien Martin a5dae7a017 docs: Workflow création de compte + refonte documentation
- Ajout Cahier des Charges v1.3
- Ajout Workflow technique création de compte (v1.0)
- Réorganisation docs avec préfixes numériques (00_, 01_, etc.)
- Ajout données de test CSV
- Modifications principales :
  * Champ téléphone unique (suppression mobile/fixe)
  * Inscription sans mot de passe (Parents + AM)
  * Création MDP par email après validation (7j)
  * Genre enfant obligatoire (H/F)
  * Date agrément obligatoire pour AM
2025-11-25 00:28:35 +01:00

4.0 KiB

🚀 Déploiement YNOV - Architecture Complète

🌐 URLs d'accès

🏗️ Architecture

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│  Frontend       │    │  Backend        │    │  Database       │
│  (Flutter)      │───▶│  (NestJS)       │───▶│  (PostgreSQL)   │
│  ynov-frontend  │    │  ynov-backend   │    │  ynov-postgres  │
│  Port: 80       │    │  Port: 3000     │    │  Port: 5432     │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         │                       │                       │
         └───────────────────────┼───────────────────────┘
                                 │
                        ynov_network (réseau interne)
                                 │
                        proxy_network (Traefik)
                                 │
                            Internet

📁 Structure des fichiers

/home/ynov/project/
├── docker-compose.yml          # Orchestration globale
├── backend/
│   ├── Dockerfile             # Build NestJS
│   ├── src/                   # Code source
│   └── package.json           # Dépendances
├── frontend/
│   └── frontend/
│       ├── Dockerfile         # Build Flutter
│       ├── pubspec.yaml       # Config Flutter
│       └── lib/               # Code source
└── database/
    ├── docker-compose.yml     # Config spécifique DB
    └── migrations/            # Scripts SQL

🔑 Credentials

Base de données

  • Host : ynov-postgres (interne) ou localhost:5433 (externe)
  • User : admin
  • Password : admin123
  • Database : ptitpas_db

PgAdmin

  • Email : admin@ynov.local
  • Password : admin123

🚀 Commandes de déploiement

Déploiement complet

cd /home/ynov/project
docker compose up -d --build

Déploiement par service

# Base de données seulement
docker compose up -d database pgadmin

# Backend seulement  
docker compose up -d --build backend

# Frontend seulement
docker compose up -d --build frontend

Monitoring

# Voir les logs
docker compose logs -f

# Statut des services
docker compose ps

# Redémarrer un service
docker compose restart backend

🔧 Configuration réseau

Réseaux Docker

  • ynov_network : Communication interne entre services
  • proxy_network : Exposition via Traefik

Priorités Traefik

  • Frontend : Priority 10 (plus basse = défaut)
  • Backend : Priority 20
  • PgAdmin : Priority 30 (plus haute = prioritaire)

📝 Variables d'environnement

Backend

  • DATABASE_URL : Connexion PostgreSQL
  • NODE_ENV : Mode production

Frontend

  • API_URL : URL de l'API backend

🔄 Webhooks de déploiement

Repository Frontend

  • Trigger : Push sur main
  • Action : docker compose up -d --build frontend

Repository Backend

  • Trigger : Push sur main
  • Action : docker compose up -d --build backend

Repository Database

  • Trigger : Push sur main
  • Action : docker compose up -d --build database

🛠️ Dépannage

Logs par service

docker compose logs frontend
docker compose logs backend  
docker compose logs database

Rebuild complet

docker compose down
docker compose up -d --build --force-recreate

Vérifier la connectivité réseau

docker network ls
docker network inspect project_ynov_network