Administration depuis le site : bouton Connexion sur l'accueil

site.toml [administration] adresse : l'accueil affiche un bouton
« Connexion » vers l'interface. Celle-ci peut tourner derrière le serveur
web du site (rtg interface --proxy --prefixe /admin) : adresses
préfixées, mot de passe obligatoire, visiteur identifié par
X-Forwarded-For, cookie Secure limité au préfixe quand le site est en
HTTPS. Exemples nginx et Apache dans le README. Le bouton Arrêter ne
remplace plus le bloc de la tâche en même temps que la relève.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Mf2kATMtqVABHSYdxJMnim
This commit is contained in:
FabriceandClaude Opus 5.5 committed 2026-10-09 14:49:47 +00:00
1 parent 71779f6f53
commit 4366db94ed
22 files changed
+229 -86

No files matched your search

+37
View File
@@ -143,8 +143,44 @@ L'interface permet de modifier le site et de lire les fichiers de l'ordinateur :
- servir l'interface derrière le serveur web du site, en HTTPS, sur une adresse à part ;
- `--certificat cert.pem --cle cle.pem` ;
- le plus simple : un tunnel SSH. Sur le serveur, lancer `rtg interface --sans-navigateur` (sans `--distant`). Sur le Mac, ouvrir `ssh -L 8765:127.0.0.1:8765 serveur`, puis l'adresse avec la clé affichée sur le serveur.
- **Bouton « Connexion » sur l'accueil du site** : voir ci-dessous.
- Les fichiers de réglages (`site.toml`, `voyage.toml`) sont dans les dossiers du site. Si le serveur web publie ce dossier tel quel, ils sont lisibles par tous, avec les chemins de tes disques. Rien de secret n'y est écrit, mais on peut les refuser au serveur web (par exemple `location ~ \.toml$ { deny all; }` pour nginx, ou `<FilesMatch "\.toml$"> Require all denied </FilesMatch>` pour Apache).
### Administration depuis le site
Pour administrer le site depuis son adresse publique (bouton « Connexion » en haut à droite de l'accueil, qui mène à `https://roadtrip.ouaibe.fr/admin/`), l'interface tourne sur la machine qui sert le site, derrière son serveur web en HTTPS. Les sources (rushs, traces, photos) doivent alors être accessibles depuis cette machine pour encoder et générer.
1. Sur cette machine, une fois : `rtg mot-de-passe`.
2. Lancer l'interface, en permanence de préférence (service, `tmux`…) :
```
rtg --racine /chemin/vers/Road-Trips interface --proxy --prefixe /admin --port 8765
```
Elle n'écoute que sur 127.0.0.1 : seul le serveur web peut la joindre. Le mot de passe est obligatoire.
3. Transmettre `/admin/` à l'interface depuis le serveur web.
- nginx, dans le bloc `server` du site en HTTPS :
```nginx
location /admin/ {
proxy_pass http://127.0.0.1:8765;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
}
location ~ \.toml$ { deny all; }
```
- Apache (modules `proxy`, `proxy_http`, `headers`) :
```apache
ProxyPass /admin/ http://127.0.0.1:8765/admin/
ProxyPassReverse /admin/ http://127.0.0.1:8765/admin/
RequestHeader set X-Forwarded-Proto "https"
<FilesMatch "\.toml$">
Require all denied
</FilesMatch>
```
4. Dans l'interface, Réglages → « Administration depuis le site » : adresse `/admin/`. Après « Refaire l'accueil », le bouton « Connexion » apparaît sur la page d'accueil.
Le bouton n'est qu'un lien : la protection est celle de l'interface (mot de passe, blocage après plusieurs essais faux, cookie de session limité à `/admin/`, envoyé seulement en HTTPS).
Tout ce que fait l'interface s'écrit dans `site.toml` et les `voyage.toml`. On peut toujours utiliser les commandes ci-dessous ou modifier ces fichiers à la main. Une réécriture par l'interface conserve les valeurs mais pas les commentaires.
## Utilisation : la commande `rtg`
@@ -160,6 +196,7 @@ rtg analyser Balades/Vexin-10-2026 # ce que RTG trouve dans les sources
rtg verifier # tout est-il installé ?
rtg interface # l'interface dans le navigateur
rtg mot-de-passe # mot de passe de l'interface (accès distant)
rtg interface --proxy --prefixe /admin # derrière le serveur web du site (bouton Connexion)
```
Les sources d'un voyage peuvent rester où elles sont, nommées n'importe comment : on les indique dans son `voyage.toml`.