Files
Alfredv2/alfred/README_INSTALLATION.md
T
2026-10-24 17:55:05 +02:00

3.4 KiB

Alfred — Interface mise à jour depuis interface.zip (24/10/2026)

Modifications

  • Coin supérieur gauche : état réel de l'agent (idle, listening, thinking, speaking, error) avec libellé en français. Le titre « Alfred » est supprimé de la page.
  • Coin supérieur droit : bouton « réglages audio » ouvrant un panneau flottant (volume sortie, sensibilité micro ALSA, mute micro), et bouton « couper/réactiver le son » (mute haut-parleur).
  • Coin inférieur droit : transcription Vosk partielle puis finale, conservée pendant le retour à la veille. Les données arrivent des événements Socket.IO alfred_state existants (partial et transcript).
  • Coin inférieur gauche : prévisualisation webcam MJPEG en direct. La caméra s'ouvre uniquement sur clic pour ne pas occuper en permanence la caméra utilisée par le MCP facial, et s'arrête lorsque l'onglet devient invisible.
  • Protection supplémentaire : le texte d'Hermes est rendu sans injection de code HTML dans la page.

Installation

À effectuer sur la machine Alfred après transfert du ZIP, en étant dans son dossier parent /opt/alfred :

sudo systemctl stop alfred
sudo cp -a /opt/alfred/app /opt/alfred/app.sauvegarde-$(date +%Y%m%d-%H%M%S)
cd /opt/alfred
sudo unzip -o /tmp/Alfred_Interface_Reorganisation_V1.zip
python3 -m py_compile /opt/alfred/app/app.py /opt/alfred/app/services/camera.py
sudo systemctl start alfred
sudo journalctl -u alfred -n 50 --no-pager

Le ZIP remplace uniquement :

app/app.py
app/templates/index.html
app/static/css/alfred.css
app/static/css/alfred-controls.css
app/static/js/alfred.js
app/static/js/alfred-controls.js
app/static/js/alfred-camera.js       (nouveau)
app/services/camera.py

Webcam

  • Index de la caméra par défaut : 0, réglable avec CAMERA_INDEX=1 (ou autre) dans l'environnement du service Alfred.
  • Options facultatives : CAMERA_WIDTH=640, CAMERA_HEIGHT=480, CAMERA_FPS=8, CAMERA_JPEG_QUALITY=75.
  • cv2 / OpenCV doit être installé dans l'environnement Python d'Alfred, par exemple python -m pip install opencv-python-headless depuis son venv (uniquement si absent).
  • Tester le périphérique : ls -l /dev/video*.
  • URL du flux : http://IP_ALFRED:54321/api/camera/stream.
  • Si le MCP de reconnaissance faciale utilise déjà la webcam en exclusivité, le flux peut échouer. Désactiver la prévisualisation avant une capture MCP si nécessaire. Cette version ne partage pas les images entre les processus.
  • Attention : le flux est actuellement accessible à toute personne ayant accès au serveur Flask (aucune authentification intégrée à l'application de départ). Ne pas exposer le port 54321 sur Internet sans contrôle d'accès.

Audio

Le bouton « Mute » en haut à droite agit sur le haut-parleur. Le mute du microphone se trouve dans le popup audio. Tous les réglages utilisent l'API POST /api/audio/settings existante.

Tests réalisés

  • Compilation syntaxique de app.py et camera.py.
  • Vérification syntaxique des trois scripts JavaScript au moyen de node --check.
  • Validation des identifiants des contrôles de l'interface.
  • Test du générateur MJPEG, du verrou d'accès à la caméra et de sa libération sur fermeture, avec une caméra simulée.

Non testés : affichage en conditions réelles sous Chromium, accès à la caméra physique du MINISFORUM, intégration réelle à Vosk/ALSA. L'environnement de test empêche la navigation Chromium locale.