#!/bin/sh # 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 # 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 if ouverte; then kill "$(cat "$PID")" && echo "Administration fermée." else echo "L'administration n'était pas ouverte."; fi rm -f "$PID" exit fi 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