feat(deploy): installation 1-clic non-IT — raccourci Bureau + Demarrage auto
Some checks failed
tests / Lint (ruff + black) (push) Failing after 1m45s
tests / Tests unitaires (sans GPU) (push) Failing after 1m47s
tests / Tests sécurité (critique) (push) Has been skipped

Ajoute Installer-Lea.bat (CRLF/ASCII, chcp 65001) au paquet Lea complet :
- copie le paquet (python-embed inclus) vers %LOCALAPPDATA%\Lea (per-user,
  emplacement stable via robocopy, fallback xcopy) ;
- cree un raccourci Bureau + un raccourci dans le dossier Demarrage
  (lancement auto a l'ouverture de session) via WScript.Shell, cibles
  python-embed\pythonw.exe run_agent_v1.py (pas de console) ;
- icone optionnelle si un .ico est present dans le paquet (best-effort,
  sinon icone par defaut) ;
- lance Lea une premiere fois, message de fin clair.

Application SYSTRAY -> pas de service Windows (session 0 sans UI) :
dossier Demarrage + raccourci, per-user, sans admin/UAC.

LISEZMOI.txt du paquet remplacee par LISEZMOI-autonome.txt (le flux
install.bat + Python systeme n'existe plus dans ce paquet). build_package_full.sh
integre ces deux assets et les valide dans le ZIP.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dom
2026-06-22 17:04:20 +02:00
parent e212f4141c
commit d686c3ac22
3 changed files with 276 additions and 0 deletions

View File

@@ -140,6 +140,24 @@ if not content.endswith("\r\n"):
open(out_path, "wb").write(content.encode("ascii"))
print(f" Lea.bat genere depuis configure_embed.ps1 ({len(content)} octets)")
PYEOF
# Installateur 1-clic non-IT (raccourci Bureau + Demarrage automatique,
# per-user, sans admin). Asset statique CRLF/ASCII copie tel quel dans Lea/.
INSTALLER_BAT_SRC="$INSTALLER_DIR/Installer-Lea.bat"
if [[ ! -f "$INSTALLER_BAT_SRC" ]]; then
echo -e "${RED} ERREUR : $INSTALLER_BAT_SRC introuvable${NC}"
exit 1
fi
cp "$INSTALLER_BAT_SRC" "$ASSEMBLY_DIR/Lea/Installer-Lea.bat"
echo " Installer-Lea.bat (installation 1-clic) ajoute"
# Notice utilisateur dediee a l'install autonome (remplace la LISEZMOI legacy
# du staging, qui decrit l'ancien flux install.bat + Python systeme).
LISEZMOI_SRC="$INSTALLER_DIR/LISEZMOI-autonome.txt"
if [[ -f "$LISEZMOI_SRC" ]]; then
cp "$LISEZMOI_SRC" "$ASSEMBLY_DIR/Lea/LISEZMOI.txt"
echo " LISEZMOI.txt (version install autonome) pose"
fi
echo ""
# ---------------------------------------------------------------
@@ -183,6 +201,7 @@ REQUIRED=(
"Lea/agent_v1/main.py"
"Lea/lea_ui/server_client.py"
"Lea/Lea.bat"
"Lea/Installer-Lea.bat"
"Lea/config.txt"
"Lea/python-embed/python.exe"
"Lea/python-embed/pythonw.exe"

View File

@@ -0,0 +1,152 @@
@echo off
chcp 65001 >nul 2>&1
title Lea - Installation 1-clic
setlocal EnableDelayedExpansion
:: ============================================================
:: Installer-Lea.bat - Installation 1-clic per-user (sans admin)
:: ------------------------------------------------------------
:: - Copie le paquet Lea (y compris python-embed) vers
:: %LOCALAPPDATA%\Lea (emplacement stable per-user).
:: - Cree un raccourci sur le Bureau.
:: - Cree un raccourci dans le dossier Demarrage (lancement
:: automatique a chaque ouverture de session Windows).
:: - Lance Lea une premiere fois (pythonw, sans console).
::
:: Aucun droit administrateur requis. Aucun service Windows
:: (Lea est une application systray, doit tourner dans la
:: session utilisateur).
:: ============================================================
echo.
echo ============================================================
echo Lea - Installation
echo ============================================================
echo.
:: --- Emplacement source (dossier de ce script) -------------
set "SRC=%~dp0"
:: Retirer l'antislash final eventuel
if "%SRC:~-1%"=="\" set "SRC=%SRC:~0,-1%"
:: --- Emplacement cible per-user ----------------------------
set "DEST=%LOCALAPPDATA%\Lea"
echo Installation vers : %DEST%
echo (copie du runtime embarque, cela prend quelques secondes)
echo.
:: --- Verification du runtime embarque dans la source -------
if not exist "%SRC%\python-embed\pythonw.exe" (
echo ERREUR : python-embed\pythonw.exe introuvable dans le paquet.
echo Le paquet semble incomplet. Re-telechargez Lea depuis le tableau de bord.
echo.
pause
exit /b 1
)
:: --- Si Lea tourne deja depuis la cible, l'arreter ----------
if exist "%DEST%\lea_agent.lock" (
for /f "usebackq tokens=* delims=" %%i in ("%DEST%\lea_agent.lock") do (
taskkill /F /PID %%i >nul 2>&1
)
del /f /q "%DEST%\lea_agent.lock" >nul 2>&1
timeout /t 1 >nul
)
:: --- Copie du paquet vers la cible -------------------------
:: robocopy : robuste pour la grosse arborescence python-embed.
:: /E sous-dossiers (vides inclus), /NFL /NDL /NJH /NJS /NP silencieux.
:: Codes de sortie robocopy < 8 = succes ; >= 8 = echec.
if not exist "%DEST%" mkdir "%DEST%" >nul 2>&1
robocopy "%SRC%" "%DEST%" /E /NFL /NDL /NJH /NJS /NP >nul
if %ERRORLEVEL% GEQ 8 (
echo robocopy a echoue, tentative avec xcopy...
xcopy "%SRC%\*" "%DEST%\" /E /I /H /Y >nul
if errorlevel 1 (
echo.
echo ERREUR : la copie vers %DEST% a echoue.
echo Verifiez l'espace disque et les droits sur votre profil.
echo.
pause
exit /b 1
)
)
echo Copie terminee - OK
echo.
:: --- Ne pas laisser l'installeur se relancer en boucle -----
:: (on supprime la copie de l'installeur dans la cible : inutile une fois installe)
del /f /q "%DEST%\Installer-Lea.bat" >nul 2>&1
:: --- Detection d'une icone optionnelle ---------------------
:: Cherche un .ico dans le paquet installe (best-effort).
set "ICON="
for /f "delims=" %%f in ('dir /b /s "%DEST%\*.ico" 2^>nul') do (
if not defined ICON set "ICON=%%f"
)
:: --- Cibles des raccourcis ---------------------------------
set "TARGET=%DEST%\python-embed\pythonw.exe"
set "ARGS=run_agent_v1.py"
set "WORKDIR=%DEST%"
set "DESKTOP_LNK=%USERPROFILE%\Desktop\Lea.lnk"
set "STARTUP_LNK=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\Lea.lnk"
:: --- Creation des raccourcis via PowerShell (WScript.Shell) -
echo Creation des raccourcis (Bureau + Demarrage automatique)...
powershell -NoProfile -ExecutionPolicy Bypass -Command ^
"$ws = New-Object -ComObject WScript.Shell;" ^
"foreach ($p in @('%DESKTOP_LNK%','%STARTUP_LNK%')) {" ^
" $dir = Split-Path $p -Parent;" ^
" if (-not (Test-Path $dir)) { New-Item -ItemType Directory -Path $dir -Force | Out-Null }" ^
" $s = $ws.CreateShortcut($p);" ^
" $s.TargetPath = '%TARGET%';" ^
" $s.Arguments = '%ARGS%';" ^
" $s.WorkingDirectory = '%WORKDIR%';" ^
" $s.Description = 'Lea - Assistante IA';" ^
" if ('%ICON%' -ne '' -and (Test-Path '%ICON%')) { $s.IconLocation = '%ICON%' }" ^
" $s.Save();" ^
"}"
if errorlevel 1 (
echo ATTENTION : la creation des raccourcis a partiellement echoue.
echo Vous pourrez tout de meme lancer Lea via %TARGET%.
) else (
echo Raccourcis crees - OK
)
echo.
:: --- Premier lancement de Lea (sans console) ---------------
echo Demarrage de Lea...
pushd "%DEST%"
start "" /b "%TARGET%" %ARGS%
popd
:: --- Verification rapide (via le lock PID) -----------------
timeout /t 3 >nul
set "LEA_ALIVE=0"
if exist "%DEST%\lea_agent.lock" (
for /f "usebackq tokens=* delims=" %%i in ("%DEST%\lea_agent.lock") do (
tasklist /FI "PID eq %%i" /NH 2>nul | findstr /I "pythonw" >nul && set "LEA_ALIVE=1"
)
)
echo.
echo ============================================================
if "%LEA_ALIVE%"=="1" (
echo Lea est installee et demarree !
) else (
echo Lea est installee.
)
echo ============================================================
echo.
echo - Lea apparait en bas a droite, dans la barre des taches
echo (petite icone ronde, a cote de l'horloge).
echo - Lea demarrera AUTOMATIQUEMENT a chaque ouverture de session.
echo - Un raccourci "Lea" a ete ajoute sur votre Bureau.
echo.
echo Vous pouvez fermer cette fenetre.
echo.
pause
endlocal
exit /b 0

View File

@@ -0,0 +1,105 @@
============================================================
Lea - Votre assistante intelligente
============================================================
Bienvenue ! Lea est une assistante qui apprend vos taches
repetitives sur l'ordinateur pour pouvoir vous aider.
Cette version est 100% autonome : aucun Python a installer,
aucun droit administrateur necessaire.
INSTALLATION (une seule fois)
-----------------------------
1. Si Lea est dans un fichier ZIP, faites un clic droit
dessus puis "Extraire tout..." (ne lancez pas Lea
directement depuis le ZIP).
2. Ouvrez le dossier extrait et double-cliquez sur
"Installer-Lea.bat".
3. Patientez quelques secondes (copie du programme).
A la fin, le message "Lea est installee et demarree"
s'affiche.
C'est tout. Lea est installee dans votre profil utilisateur
et :
- un raccourci "Lea" est ajoute sur votre Bureau ;
- Lea demarrera AUTOMATIQUEMENT a chaque fois que vous
ouvrez votre session Windows.
Vous pouvez ensuite supprimer le dossier extrait et le ZIP :
Lea continue de fonctionner (elle a ete copiee a part).
LANCER LEA MANUELLEMENT
-----------------------
Si besoin, double-cliquez sur le raccourci "Lea" du Bureau.
Lea apparait en bas a droite de votre ecran, dans la barre
des taches (petite icone ronde, a cote de l'horloge).
Clic droit sur l'icone pour ouvrir le menu :
- "Apprenez-moi une tache" : Lea observe ce que vous faites
et memorise les etapes. Travaillez normalement, Lea
apprend en vous regardant.
- "C'est termine" : Arrete l'enregistrement quand vous
avez fini la tache. Si vous oubliez, Lea s'arrete
automatiquement apres 1 heure.
- "Discuter avec Lea" : Ouvre une fenetre de discussion
pour poser des questions.
- "ARRET D'URGENCE" : Arrete immediatement tout ce que
Lea est en train de faire.
- "Quitter Lea" : Ferme le programme.
INFORMATIONS IMPORTANTES
------------------------
Quand Lea enregistre vos actions, elle capture votre ecran,
vos clics et vos frappes clavier.
- Lea vous previent AVANT chaque enregistrement
- Les donnees sensibles (mots de passe, informations
medicales) sont automatiquement floutees
- L'enregistrement s'arrete automatiquement apres 1 heure
- Vous pouvez arreter a tout moment via le menu
Lea est un systeme base sur l'intelligence artificielle
(Article 50, Reglement europeen sur l'IA).
CONFIGURATION
-------------
Si vous devez modifier l'adresse du serveur, ouvrez le fichier
"config.txt" (dans le dossier d'installation de Lea) avec le
Bloc-notes et changez les valeurs.
Ne modifiez rien d'autre sans l'accord de votre administrateur.
EN CAS DE PROBLEME
-------------------
- Lea ne demarre pas : double-cliquez a nouveau sur le
raccourci "Lea" du Bureau, ou relancez "Installer-Lea.bat".
- Lea est deconnectee : Verifiez votre connexion
reseau. Le serveur est peut-etre en maintenance.
- Pour desinstaller : supprimez le dossier "Lea" dans
votre profil (dossier %LOCALAPPDATA%\Lea) ainsi que les
raccourcis "Lea" du Bureau et du Demarrage.
- En cas de doute, contactez votre administrateur.
============================================================