feat(deploy): installation 1-clic non-IT — raccourci Bureau + Demarrage auto
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:
@@ -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"
|
||||
|
||||
152
deploy/installer/Installer-Lea.bat
Normal file
152
deploy/installer/Installer-Lea.bat
Normal 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
|
||||
105
deploy/installer/LISEZMOI-autonome.txt
Normal file
105
deploy/installer/LISEZMOI-autonome.txt
Normal 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.
|
||||
|
||||
============================================================
|
||||
Reference in New Issue
Block a user