Procédure de développement local + tunnel SSH
- Nouveau script scripts/dev-local.sh : lance Flask (port 8080) et le serveur Vite dev (port 5173) en parallèle avec nettoyage propre (trap EXIT/INT/TERM). VITE_API_URL est injecté pour pointer vers Flask local, accessible depuis le client via tunnel SSH. - docs/INSTALL_ROCKY.md : nouvelle section 16 avec schéma ASCII, procédure pas-à-pas et commande tunnel SSH exacte. - docs/INSTALL_ROCKY.md : corrige les deux références cassées à vite.config.selfhost.ts (sections 9 et 15.1) supprimé lors de la dé-Replit-isation. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+64
-2
@@ -25,6 +25,7 @@
|
||||
13. [Vérification finale](#13-vérification-finale)
|
||||
14. [Disaster Recovery](#14-disaster-recovery)
|
||||
15. [Maintenance et mises à jour](#15-maintenance-et-mises-à-jour)
|
||||
16. [Développement local avec tunnel SSH](#16-développement-local-avec-tunnel-ssh)
|
||||
|
||||
---
|
||||
|
||||
@@ -233,7 +234,7 @@ pnpm install
|
||||
# Construire le frontend (lit VITE_APP_URL depuis .env)
|
||||
source .env
|
||||
export VITE_APP_URL
|
||||
pnpm --filter @workspace/voix-du-peuple run build --config vite.config.selfhost.ts
|
||||
pnpm --filter @workspace/voix-du-peuple run build
|
||||
|
||||
# Vérifier que le build est présent
|
||||
ls artifacts/voix-du-peuple/dist/public/
|
||||
@@ -439,7 +440,7 @@ pnpm install
|
||||
|
||||
# Reconstruire le frontend (toujours faire après un pull)
|
||||
source .env && export VITE_APP_URL
|
||||
pnpm --filter @workspace/voix-du-peuple run build --config vite.config.selfhost.ts
|
||||
pnpm --filter @workspace/voix-du-peuple run build
|
||||
|
||||
# Appliquer
|
||||
systemctl restart voix-du-peuple-api
|
||||
@@ -540,3 +541,64 @@ crontab -e
|
||||
| Backup BDD | `pg_dump -U voix_user -h 127.0.0.1 voix_du_peuple > backup.sql` |
|
||||
| Purger les données | `psql -U voix_user -h 127.0.0.1 voix_du_peuple -c "TRUNCATE ideas; TRUNCATE synthesis;"` |
|
||||
| Health check | `curl http://127.0.0.1:8080/health` |
|
||||
|
||||
---
|
||||
|
||||
## 16. Développement local avec tunnel SSH
|
||||
|
||||
Cette procédure permet de prévisualiser l'application directement depuis votre
|
||||
machine sans avoir à configurer Nginx ni reconstruire le frontend à chaque
|
||||
modification.
|
||||
|
||||
### 16.1 Principe
|
||||
|
||||
```
|
||||
Votre machine locale Serveur distant
|
||||
┌─────────────────┐ ┌──────────────────────────┐
|
||||
│ navigateur │ tunnel │ Vite dev server :5173 │
|
||||
│ localhost:5173 │◄─────────►│ │
|
||||
│ localhost:8080 │ │ Flask API :8080 │
|
||||
└─────────────────┘ └──────────────────────────┘
|
||||
```
|
||||
|
||||
Le tunnel SSH redirige les deux ports localement — aucun port n'est ouvert sur
|
||||
Internet.
|
||||
|
||||
### 16.2 Démarrer les serveurs
|
||||
|
||||
```bash
|
||||
cd /opt/voix-du-peuple
|
||||
bash scripts/dev-local.sh
|
||||
```
|
||||
|
||||
Le script :
|
||||
1. Charge `.env`
|
||||
2. Démarre l'API Flask sur le port `PORT` (défaut : 8080)
|
||||
3. Démarre le serveur Vite sur le port 5173
|
||||
4. Affiche la commande tunnel SSH à exécuter depuis votre machine
|
||||
5. S'arrête proprement (Ctrl+C) en tuant les deux processus
|
||||
|
||||
> **Note** : PostgreSQL doit être en cours d'exécution et `DATABASE_URL`
|
||||
> correctement renseignée dans `.env`.
|
||||
|
||||
### 16.3 Ouvrir le tunnel SSH
|
||||
|
||||
Depuis **votre machine locale** (pas le serveur) :
|
||||
|
||||
```bash
|
||||
ssh -L 5173:localhost:5173 -L 8080:localhost:8080 utilisateur@votre-serveur
|
||||
```
|
||||
|
||||
Maintenez cette connexion SSH ouverte pendant toute la session de travail.
|
||||
|
||||
### 16.4 Accéder à l'interface
|
||||
|
||||
Ouvrez `http://localhost:5173` dans votre navigateur local.
|
||||
|
||||
Le rechargement à chaud (HMR) fonctionne : toute modification dans
|
||||
`artifacts/voix-du-peuple/src/` est reflétée instantanément sans rebuild.
|
||||
|
||||
### 16.5 Arrêter
|
||||
|
||||
- Ctrl+C dans le terminal où tourne `dev-local.sh` (arrête Flask et Vite)
|
||||
- Fermer la connexion SSH (ou Ctrl+C dans le terminal du tunnel)
|
||||
|
||||
Reference in New Issue
Block a user