From d055b511324850edfff396f14e5461741408cfeb Mon Sep 17 00:00:00 2001 From: Daniel Allaire Date: Fri, 13 Mar 2026 12:12:54 -0400 Subject: [PATCH] Correction --- docs/DEPLOIEMENT.md | 66 +++++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 29 deletions(-) diff --git a/docs/DEPLOIEMENT.md b/docs/DEPLOIEMENT.md index 4f732e8..043dc47 100644 --- a/docs/DEPLOIEMENT.md +++ b/docs/DEPLOIEMENT.md @@ -27,11 +27,11 @@ sudo systemctl enable postgresql sudo systemctl start postgresql ``` -Créer l'utilisateur et la base : +Créer l'utilisateur et la base. **Choisissez votre mot de passe maintenant** — il sera réutilisé à l'étape 6 : ```bash sudo -u postgres psql << 'SQL' -CREATE USER grpmed WITH PASSWORD 'CHANGEZ_CE_MOT_DE_PASSE'; +CREATE USER grpmed WITH PASSWORD 'votre_mot_de_passe_ici'; CREATE DATABASE groupe_meditation OWNER grpmed; GRANT ALL PRIVILEGES ON DATABASE groupe_meditation TO grpmed; \c groupe_meditation @@ -39,10 +39,10 @@ GRANT ALL ON SCHEMA public TO grpmed; SQL ``` -Vérifier : +Vérifier que la connexion fonctionne avec le mot de passe choisi : ```bash -sudo -u postgres psql -c "SELECT version();" +PGPASSWORD='votre_mot_de_passe_ici' psql -U grpmed -h localhost -d groupe_meditation -c "SELECT 1;" ``` --- @@ -108,38 +108,45 @@ sudo /opt/groupe-meditation/backend/venv/bin/pip install -r requirements.txt ## 6. Configurer le backend -```bash -cd /opt/groupe-meditation/backend -sudo cp .env.example .env -sudo nano .env -``` - -Modifier `.env` : - -``` -DATABASE_URL=postgresql+asyncpg://grpmed:VOTRE_MOT_DE_PASSE@localhost:5432/groupe_meditation -JWT_SECRET=COLLEZ_ICI_LA_SORTIE_DE_LA_COMMANDE_SUIVANTE -CORS_ORIGINS=["https://groupe-meditation.chezlepro.ca"] -INVITATION_EXPIRE_HOURS=48 -``` - Générer le secret JWT : ```bash openssl rand -base64 48 ``` +Créer le `.env` : + +```bash +cd /opt/groupe-meditation/backend +sudo cp .env.example .env +sudo nano .env +``` + +Modifier `.env` avec le **même mot de passe** que l'étape 1 : + +``` +DATABASE_URL=postgresql+asyncpg://grpmed:votre_mot_de_passe_ici@localhost:5432/groupe_meditation +JWT_SECRET=valeur_generee_ci-dessus +CORS_ORIGINS=["https://groupe-meditation.chezlepro.ca"] +INVITATION_EXPIRE_HOURS=48 +``` + +**Important :** le mot de passe dans `DATABASE_URL` doit être identique à celui de l'étape 1. Si les deux ne correspondent pas, le seed et l'API échoueront avec `InvalidPasswordError`. + --- ## 7. Initialiser la base de données (23 tables) +**Le seed doit être lancé depuis le dossier `backend/`** pour que le fichier `.env` soit trouvé : + ```bash -cd /opt/groupe-meditation -sudo /opt/groupe-meditation/backend/venv/bin/python deploy/seed.py +cd /opt/groupe-meditation/backend +/opt/groupe-meditation/backend/venv/bin/python ../deploy/seed.py ``` -Le script crée **interactivement** : +Si le `.env` n'est pas trouvé, le script utilisera les valeurs par défaut de `config.py` (qui ont un autre mot de passe) et la connexion échouera. +Le script crée **interactivement** : - Les 23 tables - Les 10 postes prédéfinis - La répartition par défaut des contributions (30/30/30/10) @@ -246,13 +253,14 @@ curl -s https://groupe-meditation.chezlepro.ca/api/health | python3 -m json.tool ## Dépannage -| Problème | Commande | -|------------------------|-------------------------------------------------------------------------------| -| API ne démarre pas | `sudo journalctl -u groupe-meditation -f` | +| Problème | Commande | +|----------|----------| +| seed.py InvalidPasswordError | Vérifier que le seed est lancé **depuis `backend/`** et que le `.env` contient le bon mot de passe | +| API ne démarre pas | `sudo journalctl -u groupe-meditation -f` | | Erreur base de données | `sudo -u postgres psql -d groupe_meditation -c "SELECT count(*) FROM groupes;"` | -| NGINX 502 | `sudo systemctl status groupe-meditation` | -| WeasyPrint échoue | `sudo apt install libpango-1.0-0 libpangocairo-1.0-0` | -| [seed.py](http://seed.py) ImportError | Vérifier les noms de classes dans `backend/app/models/` | +| NGINX 502 | `sudo systemctl status groupe-meditation` | +| WeasyPrint échoue | `sudo apt install libpango-1.0-0 libpangocairo-1.0-0` | +| seed.py ImportError | Vérifier les noms de classes dans `backend/app/models/` | ## Mise à jour de l'application @@ -270,4 +278,4 @@ sudo cp -r dist/* /var/www/groupe-meditation/ --- -**Hébergé au Québec · 100% logiciel libre · Zéro traçage** \ No newline at end of file +**Hébergé au Québec · 100% logiciel libre · Zéro traçage**