# Alfred — Micro muet dans la barre supérieure ## Modifications - `app/templates/index.html` : déplace `#micMute` depuis la fenêtre audio vers la barre supérieure, à gauche du mute haut-parleur. Bouton avec deux icônes SVG (micro activé / micro coupé). - `app/static/js/alfred-controls.js` : conserve l'API existante `POST /api/audio/settings` et actualise `aria-pressed` ainsi que le libellé du bouton en fonction de `mic_muted`. - `app/static/css/alfred-controls.css` : affiche l'icône appropriée selon l'état du micro (état coupé rouge via la règle globale existante). La fenêtre des réglages conserve les curseurs de volume et de sensibilité du microphone. Le bouton de mute du haut-parleur reste inchangé. Aucune modification Python, Vosk, Hermes, Home Assistant ou calendrier. ## Installation **Ce patch s'applique sur Alfred Calendrier V1**, et contient uniquement les trois fichiers ci-dessus. 1. Copier `Alfred_Micro_Mute_Barre_V1.zip` dans `/tmp/` sur le mini-PC. 2. Sauvegarder les trois fichiers, puis extraire le ZIP depuis `/opt/alfred` (et non `/opt/alfred/app`). ```bash sudo systemctl stop alfred sudo cp -a /opt/alfred/app/templates/index.html /opt/alfred/app/templates/index.html.bak sudo cp -a /opt/alfred/app/static/js/alfred-controls.js /opt/alfred/app/static/js/alfred-controls.js.bak sudo cp -a /opt/alfred/app/static/css/alfred-controls.css /opt/alfred/app/static/css/alfred-controls.css.bak sudo unzip -o /tmp/Alfred_Micro_Mute_Barre_V1.zip -d /opt/alfred sudo systemctl start alfred ``` Rechargez Chromium avec `Ctrl+F5` pour éviter l'ancien JavaScript en cache. ## Vérification - Bouton micro visible en haut à droite, **à gauche du haut-parleur**. - Appui : l'icône devient rouge et le micro est coupé ; nouvel appui : il est réactivé. - Le bouton de réglages ouvre uniquement les curseurs de volume et de sensibilité. - Le bouton haut-parleur reste indépendant. Le mute du micro continue à agir sur l'écoute d'Alfred via le backend existant. Lorsque le micro est coupé, les commandes vocales ne peuvent pas le réactiver : il faut utiliser le bouton tactile. ## Tests effectués Syntaxe JavaScript vérifiée (`node --check`). Test Chromium automatisé : états micro activé/coupé/réactivé, lecture/écriture de `mic_muted` sur une simulation de l'API, présence des autres commandes, ouverture du popup. Ces tests ne remplacent pas une vérification réelle sur le mini-PC (ALSA, systemd et Vosk).