Files
rpa_vision_v3/docs/demo/GUIDE_INSTALL_AGENT_TIM.md
Dom 4f61741420
Some checks failed
security-audit / Bandit (scan statique) (push) Successful in 14s
security-audit / pip-audit (CVE dépendances) (push) Successful in 10s
security-audit / Scan secrets (grep) (push) Successful in 8s
tests / Lint (ruff + black) (push) Successful in 13s
tests / Tests unitaires (sans GPU) (push) Failing after 14s
tests / Tests sécurité (critique) (push) Has been skipped
feat: journée 17 avril — tests E2E validés, dashboard fleet+audit, VWB bridge, cleaner C2
Pipeline E2E complet validé :
  Capture VM → streaming → serveur → cleaner → replay → audit trail
  Mode apprentissage supervisé fonctionne (Léa échoue → humain → reprise)

Dashboard :
  - Cleanup 14→10 onglets (RCE supprimée)
  - Fleet : enregistrer/révoquer agents, tokens, ZIP pré-configuré téléchargeable
  - Audit trail MVP (/audit) : filtres, tableau, export CSV, conformité AI Act/RGPD
  - Formulaire Fleet simplifié (nom + email, machine_id auto)

VWB bridge Léa→VWB :
  - Compound décomposés en N steps (saisie + raccourci visibles)
  - Layout serpentin 3 colonnes (plus colonne verticale)
  - Badge OS 🪟/🐧, filtre OS retiré (admin Linux voit Windows)
  - Fix import SQLite readonly

Cleaner intelligent :
  - Descriptions lisibles (UIA/C2) + détection doublons
  - Logique C2 : UIElement identifié = jamais parasite
  - Patterns parasites resserrés
  - Message Léa : "Je n'y arrive pas, montrez-moi comment faire"

Config agent (INC-1 à INC-7) :
  - SERVER_URL + SERVER_BASE unifiés
  - RPA_OLLAMA_HOST séparé
  - allow_redirects=False sur POST
  - Middleware réécriture URL serveur

CI Gitea : fix token + Flask-SocketIO + ruff propre
Fleet endpoints : /agents/enroll|uninstall|fleet + agent_registry SQLite
Backup : script quotidien workflows.db + audit

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 17:46:40 +02:00

9.0 KiB

GUIDE D'INSTALLATION — Agent Léa sur poste TIM

Public : TIM (Technicienne Information Médicale) ou son service informatique. Durée cible : 10 minutes (hors téléchargement). Prérequis : Windows 10/11, compte avec droits utilisateur standard (pas besoin d'admin sauf étape Python), accès Internet, DPI urgences fonctionnel sur le poste.

Avant de commencer : vérifier que la TIM peut ouvrir son DPI urgences habituel (Resurgences, Urqual, DxCare, CristalNet, Hôpital Manager…) et y naviguer normalement. Si le DPI passe par Citrix/VDI, le vérifier avant d'installer Léa. Si le DPI ne marche pas, l'agent ne servira à rien.


Pourquoi pas un installeur .exe ?

On livre un ZIP + scripts, pas un installeur Inno Setup. Raison : un .exe non signé (code-signing EV à 500 €/an) déclenche le SmartScreen rouge Windows ("Windows a protégé votre PC") + l'antivirus corporate. Sur le poste d'une TIM en clinique, c'est la pire première impression possible.

L'approche ZIP + .bat passe sous le radar du SmartScreen et s'installe dans le dossier utilisateur (pas besoin d'admin pour le copier).


Étape 1 — Récupérer le package (1 min)

  1. Télécharger Lea_v1.0.0.zip depuis l'URL fournie par Dom (lien Owncloud interne ou clé USB si réseau isolé).
  2. Fichier attendu : environ 5 Mo.
  3. Vérifier l'intégrité : clic droit sur le ZIP → Propriétés → si un bouton "Débloquer" est visible en bas, le cocher puis OK (sinon Windows peut bloquer l'exécution des .bat).

Étape 2 — Extraire dans C:\rpa_vision\Lea\ (1 min)

  1. Créer le dossier C:\rpa_vision\Lea\ (ou C:\Lea\ si l'admin préfère).

  2. Clic droit sur Lea_v1.0.0.zipExtraire tout… → choisir C:\rpa_vision\Lea\ → Extraire.

  3. Vérifier que le dossier contient :

    C:\rpa_vision\Lea\
    ├── install.bat
    ├── Lea.bat
    ├── config.txt
    ├── LISEZMOI.txt
    ├── requirements_agent.txt
    └── run_agent_v1.py
    

Piège : si Windows extrait un dossier intermédiaire (Lea_v1.0.0\Lea_v1.0.0\...), déplacer le contenu d'un cran pour que install.bat soit à la racine C:\rpa_vision\Lea\.


Étape 3 — Vérifier Python (1 min)

Ouvrir une invite de commandes (Démarrer → taper cmd → Entrée) et taper :

python --version
  • Si ça affiche Python 3.10.x à 3.12.x → OK, passer à l'étape 4.
  • Si erreur 'python' n'est pas reconnu → installer Python :
    1. Aller sur https://www.python.org/downloads/
    2. Télécharger Python 3.12.x
    3. Important : pendant l'installation, cocher "Add Python to PATH" (case du bas, souvent décochée).
    4. Terminer, fermer/rouvrir l'invite de commandes, re-tester python --version.

Python installé en "Microsoft Store" fonctionne aussi mais peut poser des soucis de PATH. Si ça bloque, désinstaller la version Store et installer celle de python.org.


Étape 4 — Configurer config.txt (2 min)

Ouvrir C:\rpa_vision\Lea\config.txt avec le Bloc-notes (clic droit → "Ouvrir avec" → Bloc-notes).

Vérifier/modifier ces 3 lignes :

RPA_SERVER_URL=https://lea.labs.laurinebazin.design/api/v1
RPA_API_TOKEN=<TOKEN_FOURNI_PAR_DOM>
RPA_SERVER_HOST=lea.labs.laurinebazin.design
  • URL du serveur : celle de prod publique OU une URL interne si on bascule sur un serveur clinique pendant la démo.
  • Token : Dom fournit un token dédié à la TIM (révocable). Ne pas réutiliser le token de dev.
  • Sauvegarder (Ctrl+S), fermer.

Ne pas toucher aux autres lignes (RPA_BLUR_SENSITIVE, etc.).


Étape 5 — Lancer install.bat (3-4 min)

  1. Double-cliquer sur install.bat.

  2. Une fenêtre noire s'ouvre avec le titre "Lea - Installation".

  3. Écrans attendus dans l'ordre :

    [1/5] Verification de Python...
           Python 3.12.2 detecte - OK
    [2/5] Creation de l'environnement isole...
           Environnement cree - OK
    [3/5] Activation de l'environnement...
           Active - OK
    [4/5] Installation des composants (cela peut prendre 1-2 min)...
           Composants installes - OK
    [5/5] Configuration Windows...
           Configuration terminee - OK
      Tous les composants sont OK !
      Installation terminee !
    
  4. Appuyer sur une touche pour fermer.

Durée typique : 2-3 minutes (dépend de la bande passante — pip install télécharge ~50 Mo).


Étape 6 — Lancer Léa (30 s)

  1. Double-cliquer sur Lea.bat.

  2. Une fenêtre noire affiche :

    Demarrage de Lea...
    (Lea apparait dans la barre des taches, en bas a droite)
    
  3. Au bout de 3-5 secondes, une icône ronde apparaît dans la barre des tâches (en bas à droite de l'écran, à côté de l'horloge, parfois cachée sous la flèche ^).

  4. Clic droit sur l'icône → menu :

    • Apprenez-moi une tâche
    • C'est terminé
    • Discuter avec Léa
    • ARRÊT D'URGENCE
    • Quitter Léa

Si l'icône apparaît et que le menu s'ouvre → installation réussie.

La fenêtre noire peut être fermée. L'agent tourne en arrière-plan via pythonw.exe.


Étape 7 — Vérifier côté dashboard (1 min)

Côté Dom, depuis un navigateur :

GET https://lea.labs.laurinebazin.design/api/v1/agents/fleet
Header: Authorization: Bearer <TOKEN_ADMIN>

La réponse doit contenir une entrée avec :

{
  "agent_id": "<nom_du_poste_TIM>",
  "status": "online",
  "last_seen": "2026-04-...",
  "version": "1.0.0"
}

Si le poste n'apparaît pas après 30 s, voir la section "Si ça plante" ci-dessous.

Alternative : ouvrir le dashboard web (http://<serveur>:5001) → onglet "Flotte" → le poste de la TIM doit s'afficher en vert.


Si ça plante (5 cas les plus probables)

1. "Token invalide" / erreur 401 dans les logs

  • Vérifier que RPA_API_TOKEN dans config.txt ne contient pas d'espace en début/fin, pas de guillemets, pas de retour à la ligne.
  • Le format attendu : RPA_API_TOKEN=abc123def... (sans espace autour du =).
  • Si le token a été copié-collé depuis un mail, il peut contenir un caractère invisible. Retaper à la main ou recopier depuis un éditeur brut.

2. "Python n'est pas installé" alors qu'il l'est

  • python --version marche dans un cmd "normal" mais install.bat le trouve pas → Python est installé pour l'utilisateur mais la TIM lance le .bat en mode admin (session différente).
  • Solution : double-cliquer sur install.bat en user normal, PAS en "Exécuter en tant qu'administrateur".

3. Firewall bloque la connexion au serveur

  • Au premier lancement, Windows Defender peut demander "Autoriser pythonw.exe à communiquer sur le réseau ?" → Autoriser.
  • Si firewall corporate plus strict : demander au service IT d'autoriser les connexions sortantes vers lea.labs.laurinebazin.design:443 (HTTPS).
  • Test rapide depuis le poste : ouvrir un navigateur sur https://lea.labs.laurinebazin.design/health → doit répondre {"status":"ok"}.

4. Antivirus bloque pythonw.exe

  • Certains AV corporate (Kaspersky, Sophos, Cortex XDR) mettent pythonw.exe en quarantaine dès qu'il capture l'écran.
  • Symptôme : Lea.bat affiche "Lea n'a pas demarre correctement" et le mode verbeux montre un pythonw.exe n'a pas pu se lancer ou rien du tout.
  • Solution : demander au service IT d'ajouter une exception pour le dossier C:\rpa_vision\Lea\.venv\Scripts\ (et pas juste pour pythonw.exe globalement — ce serait une faille de sécurité).

5. Double-clic sur Lea.bat ouvre le Notepad

  • Cause classique : la TIM a fait clic droit → "Ouvrir avec…" → "Toujours utiliser Notepad" une fois par erreur. Windows a associé .bat à Notepad.
  • Solution :
    1. Clic droit sur Lea.bat → "Ouvrir avec" → "Choisir une autre application" → "Plus d'applications" → "Rechercher une autre app sur ce PC" → C:\Windows\System32\cmd.exene PAS cocher "Toujours utiliser".
    2. Ou alternative rapide : ouvrir un cmd, taper cd C:\rpa_vision\Lea puis Lea.bat.

Désinstaller Léa (si besoin)

  1. Clic droit sur l'icône Léa → "Quitter Léa".
  2. Supprimer le dossier C:\rpa_vision\Lea\.
  3. (Optionnel) Supprimer les logs dans %LOCALAPPDATA%\Lea\ si existant.

Pas de désinstalleur, pas de clé registre, pas de service : Léa est un binaire portable. C'est voulu : aucune trace système, facile à auditer.


Check final avant la démo (à faire ensemble avec la TIM)

  • Icône Léa visible dans la tray.
  • Clic droit → menu s'ouvre.
  • Dashboard côté serveur affiche le poste en "online".
  • Le DPI urgences de la TIM s'ouvre et répond normalement (pas de lenteur).
  • Démo d'enregistrement de 30 s : clic droit → "Apprenez-moi une tâche" → faire 2-3 clics → clic droit → "C'est terminé". Vérifier côté serveur que la session arrive.

Si tout est vert → on est prêts pour le 26 avril.