#!/usr/bin/env bash
# Upload de l'app famille-letzelter vers l'hébergement OVH (~/famille-letzelter).
# Pré-requis : `ssh ovh` configuré. Voir DEPLOY.md pour les étapes Manager (DNS/DB/SSL).
set -euo pipefail

APP_DIR="$(cd "$(dirname "$0")" && pwd)"
REMOTE="ovh"
REMOTE_DIR="famille-letzelter"          # relatif au home OVH (~)

echo "→ Archive de l'app (hors vendor/node_modules/.git/.env/sqlite)…"
TMP="$(mktemp -t famille-letzelter).tar.gz"
tar --exclude='.git' \
    --exclude='node_modules' \
    --exclude='.env' \
    --exclude='database/database.sqlite' \
    --exclude='storage/app/public/photos' \
    --exclude='storage/app/public/avatars' \
    --exclude='public/storage' \
    --exclude='storage/app/prive' \
    --exclude='storage/logs' \
    --exclude='bootstrap/cache' \
    -czf "$TMP" -C "$APP_DIR" .

echo "→ Transfert + extraction sur $REMOTE:~/$REMOTE_DIR…"
ssh "$REMOTE" "mkdir -p ~/$REMOTE_DIR"
cat "$TMP" | ssh "$REMOTE" "tar -xzf - -C ~/$REMOTE_DIR"
rm -f "$TMP"

echo "✓ Upload terminé."
echo "  Ensuite, sur le serveur (voir DEPLOY.md) :"
echo "    ssh ovh && cd ~/$REMOTE_DIR"
echo "    cp .env.production .env   # complété MySQL"
echo "    composer install --no-dev -o   # (ou php composer.phar …)"
echo "    php artisan key:generate && php artisan migrate --force && php artisan db:seed --force"
echo "    php artisan storage:link && php artisan config:cache view:cache
echo '    # JAMAIS route:cache sur ce projet : un cache de routes perime a deja'
echo '    # masque toutes les nouvelles routes pendant une semaine.'"
