@echo off
rem ---------------------------------------------------------------
rem  Branche Claude Code sur votre compte Supabase (jeton personnel),
rem  reveille le projet s'il est en pause, verifie la base du TP2.
rem  Appele par INSTALLER.bat ; relancable a tout moment, et meme
rem  depuis Telechargements : il retrouve alors le dossier d'installation.
rem ---------------------------------------------------------------
setlocal enableextensions
title Culture Numerique L3SPS - Connexion Supabase
cd /d "%~dp0"
set "ROOT=%~dp0"
if "%ROOT:~-1%"=="\" set "ROOT=%ROOT:~0,-1%"
rem  Lance depuis l'archive (double-clic dans le ZIP) ? Windows l'execute alors depuis un
rem  dossier temporaire (...\AppData\Local\Temp\Temp1_xxx.zip\...) : rien ne marcherait.
set "CHK=%ROOT%\"
set "CHK1=%CHK:\AppData\Local\Temp\=%"
set "CHK2=%CHK:.zip\=%"
if not "%CHK1%|%CHK2%"=="%CHK%|%CHK%" (
  echo [ERREUR] Ce fichier est lance depuis l'archive ZIP, sans l'avoir extraite.
  echo Fermez cette fenetre, faites clic droit sur le ZIP ^> "Extraire tout...",
  echo puis lancez le fichier depuis le dossier extrait.
  echo(
  pause
  exit /b 1
)
if exist "%ROOT%\bundle\Connecter-Supabase.ps1" goto :lancer

echo Recherche du dossier d'installation CultureNum...
set "ROOT="
for /f "usebackq delims=" %%R in (`powershell -NoProfile -Command "$d = Get-ChildItem $env:USERPROFILE -Directory -ErrorAction SilentlyContinue | Where-Object { $_.Name -match '^(Documents|Desktop|Downloads|OneDrive)' }; $f = $d | ForEach-Object { Get-ChildItem $_.FullName -Recurse -Depth 5 -Filter Connecter-Supabase.ps1 -ErrorAction SilentlyContinue } | Where-Object { $_.Directory.Name -eq 'bundle' } | Sort-Object LastWriteTime -Descending | Select-Object -First 1; if ($f) { $f.Directory.Parent.FullName }"`) do set "ROOT=%%R"
if not defined ROOT (
  echo [ERREUR] Dossier d'installation introuvable.
  echo Placez ce fichier dans le dossier CultureNum-L3SPS ^(a cote de INSTALLER.bat^) et relancez-le.
  pause
  exit /b 1
)
echo Dossier trouve : %ROOT%

:lancer
rem  Le script est lu puis execute en memoire : les postes qui refusent les
rem  fichiers .ps1 non signes (strategie de groupe) l'acceptent ainsi.
rem  La derniere version est prise sur le portail (correctifs sans retelecharger l'archive) ;
rem  a defaut (pas de reseau), celle de l'archive.
powershell -NoProfile -ExecutionPolicy Bypass -Command "$f = '%ROOT%\bundle\Connecter-Supabase.ps1'; try { [Net.ServicePointManager]::SecurityProtocol = 'Tls12'; $w = New-Object Net.WebClient; $w.Encoding = [Text.Encoding]::UTF8; $n = $w.DownloadString('https://culturenum.professeurpetitchat.com/correctif/Connecter-Supabase.ps1'); if ($n -match 'Connexion a votre compte Supabase') { [IO.File]::WriteAllText($f, $n, (New-Object Text.UTF8Encoding $false)) } } catch {}; $s = [IO.File]::ReadAllText($f, [Text.Encoding]::UTF8); & ([ScriptBlock]::Create($s)) -Root '%ROOT%'"
if /i not "%~1"=="/sanspause" (
  echo(
  echo Si VS Code etait deja ouvert : fermez-le et relancez Lancer-CultureNum.bat.
  pause
)
exit /b 0
