# πŸš€ DΓ©ploiement YNOV - Architecture ComplΓ¨te ## 🌐 URLs d'accΓ¨s - **Application principale** : https://ynov.ptits-pas.fr/ - **API Backend** : https://ynov.ptits-pas.fr/api/ - **Administration DB** : https://ynov.ptits-pas.fr/pgadmin/ ## πŸ—οΈ 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 ```bash cd /home/ynov/project docker compose up -d --build ``` ### DΓ©ploiement par service ```bash # 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 ```bash # 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 ```bash docker compose logs frontend docker compose logs backend docker compose logs database ``` ### Rebuild complet ```bash docker compose down docker compose up -d --build --force-recreate ``` ### VΓ©rifier la connectivitΓ© rΓ©seau ```bash docker network ls docker network inspect project_ynov_network ```