docs: ADR-003 mode street Mapillary (architecture), README 5 modes, deploiement token PUBLIC_MAPILLARY_TOKEN

This commit is contained in:
sucupira
2026-07-18 20:15:13 -04:00
parent e4a0bfd045
commit 79b2ef72a9
3 changed files with 32 additions and 5 deletions
+14 -1
View File
@@ -1,6 +1,8 @@
# JWE v2 — Guide de déploiement auto-hébergé
Cible : un petit VPS (1 vCPU / 1 Go RAM suffit) sous Debian/Ubuntu, derrière nginx ou Caddy. Aucun service propriétaire, aucune clé API.
Cible : un petit VPS (1 vCPU / 1 Go RAM suffit) sous Debian/Ubuntu, derrière nginx ou Caddy. Aucun service propriétaire, aucune clé API payante.
> **Exception documentée (mode street)** : le 5e mode « An lari a » utilise la visionneuse Mapillary (images CC BY-SA 4.0, lib MIT) et requiert un **token client Mapillary gratuit** — voir §2.1. Sans ce token, les 4 autres modes fonctionnent normalement ; seul le mode street affiche un message d'indisponibilité.
## 1. Application SvelteKit
@@ -32,6 +34,7 @@ WorkingDirectory=/srv/jwe/app
Environment=PORT=3000
Environment=ORIGIN=https://jwe.o-k-i.net
Environment=PUBLIC_TILES_URL=https://tiles.o-k-i.net/styles/oki/style.json
Environment=PUBLIC_MAPILLARY_TOKEN=MLY|xxxxxxxx|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ExecStart=/usr/bin/node build
Restart=on-failure
@@ -39,6 +42,16 @@ Restart=on-failure
WantedBy=multi-user.target
```
## 2.1 Token Mapillary (mode street « An lari a »)
1. Créez un compte sur [mapillary.com](https://www.mapillary.com) puis une application sur le [dashboard développeurs](https://www.mapillary.com/dashboard/developers) : récupérez le **client token** (format `MLY|…|…`).
2. Exposez-le via `PUBLIC_MAPILLARY_TOKEN` (service systemd ci-dessus, ou `app/.env` en développement — voir `app/.env.example`). C'est un **token client** : conçu pour être visible côté navigateur, rate-limité par application — ce n'est pas un secret.
3. Vérifiez périodiquement le corpus street (images parfois retirées par leurs auteurs) :
```bash
cd app && node scripts/validate-street.mjs # lit le token depuis .env
```
## 2. Reverse proxy (exemple nginx)
```nginx