Administration native sur le Mac, réencodage sélectif et aide intégrée

- admin.sh : RTG lancé directement sur le Mac (plus de conteneur), nginx
  joint l'interface par host.docker.internal:8765 ; variante conteneur
  conservée (admin-docker.sh, docker-compose-conteneur.yml)
- Compression : réglages lus dans les fichiers (CRF, codec), refaire
  seulement le 1080p ou le 720p, seulement si les réglages ont changé ;
  réglages vidéo propres à chaque voyage ; « Compression actuelle » affichée
- Plus d'arrêt automatique après 2 h d'inactivité (--arret-inactif, 0 par défaut) ;
  arrêt propre qui attend la fin des encodages en cours
- Aide contextuelle dans l'interface (rtg/interface/aide) ; README centré
  sur l'installation et la mise en place
- Cœurs attribués au conteneur détectés (cgroup) et signalés

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-19 05:32:05 +00:00
1 parent b54ae69b19
commit ada3d76f50
38 files changed
+1067 -264

No files matched your search

Executable → Regular
+39 -8
View File
@@ -1,16 +1,47 @@
#!/bin/sh
# Ouvre ou ferme l'administration RTG du site.
# ./admin.sh ouvrir
# Ouvre ou ferme l'administration RTG du site, lancée directement sur le Mac.
# ./admin.sh ouvrir (https://roadtrips.ouaibe.fr/admin/)
# ./admin.sh stop fermer
# À placer à côté du docker-compose.yml du site.
# Option --arret-inactif MINUTES : fermeture automatique sans activité.
# Le nginx du site la joint par host.docker.internal:8765 (exemples/nginx-admin.conf).
# Journal : rtg-admin.log, à côté de ce script.
RACINE=/Volumes/CLEROADTRIPS/Road-Trips
RTG="" # chemin de la commande rtg si elle n'est pas trouvée toute seule
cd "$(dirname "$0")" || exit 1
PID="$PWD/rtg-admin.pid"
JOURNAL="$PWD/rtg-admin.log"
ouverte() { [ -f "$PID" ] && kill -0 "$(cat "$PID")" 2>/dev/null; }
if [ "$1" = "stop" ]; then
docker compose stop rtg && echo "Administration fermée."
if ouverte; then kill "$(cat "$PID")" && echo "Administration fermée."
else echo "L'administration n'était pas ouverte."; fi
rm -f "$PID"
exit
fi
[ -d /Volumes/LaCie ] || echo "LaCie débranché : les rushs ne seront pas accessibles (pas d'encodage vidéo)."
# --force-recreate : le conteneur voit les disques branchés au moment de l'ouverture.
docker compose up -d --force-recreate rtg \
&& echo "Administration ouverte : https://roadtrips.ouaibe.fr/admin/ (se ferme seule après 2 h sans activité)"
if ouverte; then
echo "Déjà ouverte : https://roadtrips.ouaibe.fr/admin/"
exit
fi
# rtg : celui du chemin des commandes, sinon l'emplacement habituel de pipx.
[ -n "$RTG" ] || RTG=$(command -v rtg 2>/dev/null)
for c in "$HOME/.local/bin/rtg" /opt/homebrew/bin/rtg /usr/local/bin/rtg; do
[ -n "$RTG" ] && break
[ -x "$c" ] && RTG="$c"
done
[ -n "$RTG" ] || { echo "❌ Commande rtg introuvable : tapez « type rtg » dans le Terminal et mettez son chemin dans RTG= en haut de ce script."; exit 1; }
nohup "$RTG" --racine "$RACINE" interface --proxy --prefixe /admin > "$JOURNAL" 2>&1 &
echo $! > "$PID"
# Attendre qu'elle réponde (quelques secondes au premier lancement).
i=0
while [ $i -lt 15 ] && ouverte && ! curl -s -o /dev/null http://127.0.0.1:8765/admin/connexion; do
sleep 1; i=$((i + 1))
done
if ouverte; then
echo "Administration ouverte : https://roadtrips.ouaibe.fr/admin/ (journal : $JOURNAL)"
else
echo "❌ L'administration n'a pas démarré :"
tail -5 "$JOURNAL"
rm -f "$PID"
fi