#!/bin/bash
# SEO semaine 1 sur alchimistes.fr (testé sur la copie le 8 octobre 2026).
# Avant : envoyer sur le serveur le dossier jour-j/, le thème (warehouse-alchimistes-1.0.0.zip) et htaccess-a-ajouter.txt.
# Retour en arrière : bash ~/jour-j/seo-semaine1.sh retour
cd ~/alchimistes.fr || exit 1
S=~/sauvegardes; mkdir -p "$S"
if [ "$1" = "retour" ]; then
  cp "$S/PageNotFoundController-avant-seo.php" controllers/front/PageNotFoundController.php
  cp "$S/htaccess-avant-seo" .htaccess
  [ -f ~/hors-web-2026-10-06/advance_sitemap.xml ] && mv ~/hors-web-2026-10-06/advance_sitemap.xml .
  php ~/jour-j/executer-sql.php ~/jour-j/seo-semaine1-retour.sql
  [ -d var/cache/prod ] && mv var/cache/prod "var/cache/prod-retour-seo-$(date +%H%M)"
  echo "== retour fait"; exit 0
fi
echo "1. Sauvegardes"
[ -f "$S/PageNotFoundController-avant-seo.php" ] || cp -p controllers/front/PageNotFoundController.php "$S/PageNotFoundController-avant-seo.php"
[ -f "$S/htaccess-avant-seo" ] || cp -p .htaccess "$S/htaccess-avant-seo"
echo "2. Vraie page 404 (fichier officiel de PrestaShop 1.7.6.0)"
cp ~/jour-j/PageNotFoundController-officiel-1.7.6.0.php controllers/front/PageNotFoundController.php && php -l controllers/front/PageNotFoundController.php
echo "3. Redirections et cache navigateur (.htaccess)"
cat ~/htaccess-a-ajouter.txt "$S/htaccess-avant-mise-en-ligne" > .htaccess.nouveau && mv .htaccess.nouveau .htaccess && echo "   $(grep -c 'R=301' .htaccess) redirections, cache : $(grep -c mod_expires .htaccess)"
echo "4. Thème (canonique, aperçus de partage, textes alternatifs)"
cd themes/warehouse-alchimistes && unzip -oq ~/warehouse-alchimistes-1.0.0.zip && cd ~/alchimistes.fr && echo "   ok"
echo "5. Réglages (base)"
php ~/jour-j/executer-sql.php ~/jour-j/seo-semaine1.sql
echo "6. Ancien plan du site en double mis de côté"
[ -f advance_sitemap.xml ] && mv advance_sitemap.xml ~/hors-web-2026-10-06/ && echo "   advance_sitemap.xml rangé"
[ -d var/cache/prod ] && mv var/cache/prod "var/cache/prod-seo-$(date +%H%M)"
echo "7. Nouveau plan du site"
T=$(php -r '$p=(include "app/config/parameters.php")["parameters"]; echo substr(md5($p["cookie_key"]."gsitemap/cron"),0,10);')
U="${ALCH_URL:-https://alchimistes.fr}/index.php?fc=module&module=gsitemap&controller=cron&token=$T&id_shop=1"
for n in $(seq 1 60); do
  H=$(curl -s -L --max-redirs 50 -m 600 -D - -o /dev/null "$U")
  R=$(echo "$H" | tr -d '\r' | grep -i '^refresh:' | sed 's/.*url=//I')
  [ -z "$R" ] && break
  echo "   suite $n…"; U="$R"; sleep 2
done
ls -l *sitemap*.xml
echo "   adresses : $(grep -o '<loc>' 1_fr_0_sitemap.xml 2>/dev/null | wc -l) (dont $(grep -c 'content/' 1_fr_0_sitemap.xml) pages de contenu)"
echo "== fin"
