c2fc583bae
- Updated `validate_scenario.py` to handle V2 scenario YAML files, introducing new required keys and validation logic. - Added support for legacy V1 scenarios with an option to allow migration. - Modified `run_content_checks.sh` to validate V2 scenarios and associated audio and printables manifests.
Zacus WebUI (Story V2)
// TODO NO DEV FINISH (need KILL_LIFE ?)
Frontend Mission Control pour les devices Zacus.
📝 Description
Interface web de pilotage, design et diagnostic pour les firmwares Zacus (Story V2 et legacy).
📦 Fonctionnalités principales
- Sélecteur de scénario avancé (recherche, tri, mode legacy, CTA adaptés)
- Orchestrateur live (statut runtime, recovery, filtres, contrôles réseau)
- Story Designer nodal (Cytoscape.js, import/export YAML, édition guidée, auto-layout)
- UI harmonisée (glass modern, labels FR, accessibilité)
🚀 Installation & démarrage rapide
npm install
npm run dev
Accès local : http://localhost:5173 Accès LAN : http://:5173
Preset ESP :
npm run dev:esp
🛠️ Usage
Détection automatique du firmware connecté :
story_v2: endpoints/api/story/*+ WebSocketfreenove_legacy: endpoints/api/status,/api/scenario/*,/api/stream(SSE)
Diagnostics firmware :
- Version, OTA, reboot détectés automatiquement
- État affiché dans le panneau "Firmware"
Variables d'environnement :
VITE_API_BASE(ex:http://192.168.0.91)VITE_API_PROBE_PORTS(défaut:80,8080)VITE_API_FLAVOR(auto|story_v2|freenove_legacy, défautauto)VITE_API_ACCESS_MODE(hybrid|direct|proxy, défauthybrid)VITE_ZACUS_STUDIO_AI_URL(ex:http://127.0.0.1:8787/story_generate) pour activer la génération IA locale des scénarios et du manifeste imprimables.
Intégration IA locale (Docker) :
cd tools/dev/docker-studio-ai
cp .env.example .env
docker compose up -d --build
docker exec -it zacus-ollama ollama pull qwen2.5-coder:14b
Puis lancer le frontend avec fronted dev web UI/.env.local :
VITE_ZACUS_STUDIO_AI_URL=http://127.0.0.1:8787/story_generate
🤝 Contribuer
Les contributions sont bienvenues ! Merci de lire ../../CONTRIBUTING.md avant toute PR.
🧑🎓 Licence
- Code : MIT (
../../LICENSE)
👤 Contact
Pour toute question ou suggestion, ouvre une issue GitHub ou contacte l’auteur principal :
-
Clément SAILLANT — github.com/electron-rare
-
Preview local:
http://localhost:4173 -
Preview LAN:
http://<ip-machine>:4173
Build + preview:
npm run preview:esp:build
Tests / gates frontend
npm run lint
npm run build
npm run test:unit
npm run test:e2e
npm run test:e2e:live
test:unit: validation parser/generation YAML Story Designer.playwright @mock: detection Story V2/legacy, UX et regressions principales.playwright @live: tests live sur192.168.0.91(actions mutantes autorisees).
Notes live
- La suite
@liveexecute des actions de controle (unlock,next,wifi reconnect,espnow off/on). - Un finalizer force
espnow onen fin de run. - A lancer sur une fenetre de test dediee (pas pendant une partie active).