# MAIL-BROWSER-HERMES-TT Runbook du service de lecture/reponse mail O365 pour hermes-tt, via un navigateur Edge deja authentifie tournant dans le conteneur `hermes-mail-browser` (session MFA maintenue cote serveur). ## Architecture - Conteneur : `hermes-mail-browser` (reseau Docker `n8n`) - API interne : `http://hermes-mail-browser:8000` (joignable par `hermes-agent-tt` sur le meme reseau, pas besoin du port 3110 expose) - noVNC : port 8810 (LAN uniquement) — pour reconnexion manuelle O365/MFA - Envoi des projets de reponse : SMTP ik.me vers la boite pro de Nabil (nabil.derouiche@tunisietelecom.tn) ## Statut — Phase 2 : COMPLETE (deployee et testee avec succes) Endpoints construits, deployes et testes le 2026-07-23 : - `GET /health` — conteneur sain, `authenticated: true` - `GET /inbox?limit=N` — liste (expediteur / objet / heure / apercu) ; `aria_label` contient "pieces jointes" si le mail en a - `GET /message/{index}` — corps texte complet du mail - `GET /message/{index}/attachments` — teste : liste des PJ, OK - `GET /message/{index}/attachments/{filename}/text` — teste sur .docx ET .pdf, extraction correcte confirmee (extraction auto PDF/DOCX/XLSX) - `POST /draft-reply` `{"subject":"...","body_text":"..."}` — teste : mail reellement recu dans la boite O365 pro. Envoie un PROJET vers la boite de Nabil (jamais vers le correspondant). Prefixe de sujet `[REPONSE PROPOSEE] Re: ` ajoute automatiquement par l'API. - Reseau : `hermes-agent-tt` joint `http://hermes-mail-browser:8000/health` sans probleme (meme reseau Docker `n8n`) — teste, OK. ## Skill hermes-tt `/opt/data/skills/mail-o365-tt.md` (dans `hermes-agent-tt`) reecrit le 2026-07-23 : les anciennes sections "ENVOI MAIL — SMTP Infomaniak" et "LECTURE MAIL — OWA Navigateur" (methode `browser_snapshot`, obsolete car bloquee par le MFA) ont ete entierement remplacees par des instructions pointant vers l'API ci-dessus. Regle centrale conservee : hermes-tt ne repond JAMAIS directement a un correspondant, il envoie toujours un projet a Nabil qui decide et envoie lui-meme depuis OWA. Les Cas d'usage 1 (Trouver+envoyer), 3 (Ingestion AO), 4 (Veille reglementaire) et le bloc REGLES COMPORTEMENTALES ont ete conserves, adaptes a la nouvelle API. ## Session expiree (code 409) Si l'API renvoie **409**, la session du navigateur a expire. NE JAMAIS tenter de re-authentifier depuis l'agent : signaler a Nabil qu'une reconnexion manuelle via noVNC (port 8810, LAN) est necessaire. ## PIEGE — recreate / docker compose up -d du conteneur Edge tue brutalement laisse des verrous perimes dans le volume persistant. AVANT tout `docker compose up -d` / recreate de `hermes-mail-browser`, TOUJOURS supprimer d'abord : ``` rm -f /volume1/docker/hermes-mail-browser/data/profile/SingletonLock \ /volume1/docker/hermes-mail-browser/data/profile/SingletonCookie \ /volume1/docker/hermes-mail-browser/data/profile/SingletonSocket ``` Incident deja rencontre et resolu deux fois — cause = verrous Singleton perimes empechant Edge de redemarrer dans le profil persistant.