feat(aep): carte AEP — push Gitea 2026-04-28

This commit is contained in:
Jules Neny
2026-04-28 14:00:05 +02:00
commit 21c44d8193
86 changed files with 31855 additions and 0 deletions

111
V2-cadrage/VPS-check.md Normal file
View File

@@ -0,0 +1,111 @@
# VPS check — NAV V2 prérequis
Date : 2026-04-14
---
## NocoDB
- **Version exacte** : `0.301.5` (release `2026.04.0`)
- **Image Docker** : `nocodb/nocodb:latest` (tag latest, mais version réelle récupérée via API)
- **Port interne** : `8080` → mappé sur `8070` en externe
- **API version à utiliser** : **v1.x** (confirmé : `http://localhost:8080/api/v1/version` répond correctement)
- **Table IDs connues** (depuis `/opt/nav-carte/.env`) :
- `NUXT_ORG_TABLE_ID=m08t7g5v4wch6wb`
- `NUXT_AVIS_TABLE_ID=m4hub7cdutgec47`
- **Implications pour le dev** :
- API v1 (NocoDB >= 0.100.x) — utiliser `/api/v1/db/data/noco/{baseId}/{tableId}`
- Auth via token API (à récupérer dans NocoDB Settings > Tokens)
- Doc officielle v1 : https://docs.nocodb.com/developer-resources/rest-APIs/overview
---
## Listmonk SMTP
- **Provider** : Resend
- **Host** : `smtp.resend.com`
- **Port** : `465`
- **TLS** : oui (SSL implicite sur 465)
- **Username** : `resend`
- **From email** : `newsletter@trans-former.fr`
- **From name** : `Jules Neny`
- **Password** : **stocké dans** `/opt/vps-kit/.env` (variable `SMTP_PASSWORD`)
Jules : récupère-le avec :
```bash
ssh vps-hetzner "grep SMTP_PASSWORD /opt/vps-kit/.env"
```
- **Réutilisation dans NAV V2** : OUI — utiliser directement les mêmes credentials Resend en SMTP
- Alternative légère : utiliser l'**API HTTP Resend** (plus simple qu'SMTP dans un worker Python/Node)
- API key Resend dans `/opt/vps-kit/.env` variable `RESEND_API_KEY` (à vérifier)
```bash
ssh vps-hetzner "grep -i resend /opt/vps-kit/.env | grep -v SMTP"
```
---
## NAV V1 — Deploy path
- **Chemin** : `/opt/nav-carte/`
- **Type** : Build Nuxt statique (pas de container Docker — `.output/` présent)
- **Config** : `/opt/nav-carte/.env`
- `NUXT_NOCODB_URL=http://localhost:8070`
- Table IDs ci-dessus
- **Pas de docker-compose** — servi probablement via Caddy ou node process direct
---
## Bonus infra
- **Espace disque** : 38 GB total / **9.7 GB libre** (73% utilisé — attention)
- **RAM** : 7.5 GB total / 4.7 GB disponible (cache inclus) — correct
- **Swap** : 2 GB / 1.3 GB libre
- **crawl4ai installé** : **non** (ni container Docker, ni pip global)
### Stack Docker actif
| Container | Image | Port externe |
|-----------|-------|-------------|
| nocodb | nocodb/nocodb:latest | 8070 |
| astro-site | astro-site | 8090 |
| listmonk | listmonk/listmonk:v4.1.0 | 9000 |
| n8n | n8nio/n8n:1.40.0 | 5678 |
| coolify | coolify:4.0.0-beta.470 | 8000 |
| castopod | castopod:1.15.5 | 8081 |
| gitea | gitea:latest | 3030 |
| heyform | heyform community | 3000 |
| umami | umami:postgresql-v2.13.2 | 3001 |
| uptime-kuma | uptime-kuma:1.23.13 | 3002 |
---
## Recommandations pour NAV V2
- [x] **SMTP réutilisable : OUI** — Resend `smtp.resend.com:465`, username `resend`, from `newsletter@trans-former.fr`. Password dans `/opt/vps-kit/.env`
- [x] **NocoDB API à utiliser : v1.x** — endpoint `/api/v1/db/data/noco/{baseId}/{tableId}` avec token API
- [x] **crawl4ai : à installer** — pas présent sur le VPS. Option A : `docker run unclecode/crawl4ai` (container léger). Option B : `pip install crawl4ai` dans un venv Python sur le VPS.
- [x] **Espace disque : surveiller** — 9.7 GB libre. Si le worker NAV V2 génère des logs/cache, prévoir rotation.
- [x] **Alternative SMTP recommandée** : utiliser l'**API HTTP Resend** directement (pas SMTP) — plus fiable, pas de timeouts TLS, même provider.
```python
import resend
resend.api_key = "re_..."
resend.Emails.send({"from": "newsletter@trans-former.fr", "to": ["jules@..."], ...})
```
### Actions manuelles requises (Jules)
1. **Récupérer le SMTP password Resend** :
```bash
ssh vps-hetzner "grep SMTP_PASSWORD /opt/vps-kit/.env"
```
2. **Récupérer le token API NocoDB** (pour le worker NAV V2) :
- Aller sur `http://[VPS]:8070` → Settings → API Tokens → créer un token `nav-v2-worker`
3. **Vérifier si une API key Resend existe** (alternative plus propre que SMTP) :
```bash
ssh vps-hetzner "grep -i resend /opt/vps-kit/.env"
```