feat(stt): app de bureau (fenêtre type Discord) + auto-update

Rend STT lançable comme une application de bureau et ajoute la mise à jour intégrée.

- Mode fenêtre « app » : _open_browser ouvre le HUD en fenêtre chromeless
  (--app=, type Discord) en plus du kiosk plein écran ; support Brave ajouté.
  Sélection via --window {app,kiosk,none} ou [ui].window_mode.
- stt --install-desktop / --uninstall-desktop : entrée .desktop + icône
  (stt/hud/icon.svg, aussi favicon du HUD) → STT dans le menu/dock, lance --window app.
- stt --update : pipx reinstall depuis la source git (via clé SSH), affiche
  « ancienne → nouvelle » ; stt --version.
- Docs (admin/ia/stt.md, stt/README) + config (window_mode) + bump 0.3.0 → 0.4.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017Qjq5jHiqNepnobJpHYpCa
This commit is contained in:
Claude 2026-06-18 20:39:32 +00:00
parent d1bf20c86d
commit c0da379755
No known key found for this signature in database
9 changed files with 191 additions and 12 deletions

View file

@ -14,9 +14,9 @@ Objectif ultérieur : « agir sur le homelab » via les outils de Hermes (phase
> (5e).
> ✅ **2026-06-18** — HUD avancé (4) + auto-start (6). HUD : design **Claude Design** (avatar
> portrait réactif, transcript à bulles, drawer Réglages **câblé au backend** : reset / mode
> cerveau / mot de réveil à chaud). Auto-start : `stt --install-service` (systemd --user,
> `graphical-session.target`). Reste : test audio bout-en-bout (phase 1), portraits réels +
> test sur cible, outils Hermes (7).
> cerveau / mot de réveil à chaud). Auto-start : `stt --install-service` (systemd --user).
> App de bureau : `stt --install-desktop` (fenêtre type Discord) ; auto-update : `stt --update`.
> Reste : test audio bout-en-bout (phase 1), portraits réels + test sur cible, outils Hermes (7).
---
@ -182,6 +182,36 @@ la session graphique démarre au boot et tire le service.
---
## Application de bureau & mise à jour
**Lancer STT comme une appli** (fenêtre dédiée type Discord, pas un onglet) :
```bash
stt --install-desktop # entrée de menu (.desktop) + icône → épinglable au dock
stt --uninstall-desktop # la retirer
```
Le lanceur exécute `stt --window app` : le HUD s'ouvre en fenêtre *chromeless* (`--app=` de
Chromium/Brave). Modes via `--window` ou `[ui].window_mode` : `app` (fenêtre), `kiosk` (plein
écran, défaut du service), `none` (n'ouvre rien). L'icône est `stt/hud/icon.svg` (aussi favicon).
> ⚠️ Le lanceur de bureau et le service systemd (kiosk) utilisent les **mêmes ports** (9300/9301) :
> n'en faire tourner qu'un à la fois. Borne dédiée → service kiosk ; usage à la demande → lanceur
> de bureau (et `stt --uninstall-service`).
**Mettre à jour** (sans désinstaller/réinstaller à la main) :
```bash
stt --update # pipx reinstall depuis la source git (via ta clé SSH) — affiche ancienne → nouvelle
stt --version # version installée
```
`--update` re-récupère la dernière version depuis la branche/source d'installation. Pré-requis :
avoir installé via `pipx` depuis git. Astuce : toujours bumper la version du paquet à chaque
release, sinon le cache de build pipx/uv peut resservir l'ancienne (cf. `pyproject.toml`).
---
## Roadmap
| Phase | Objectif | État |