feat(atelier): bouton Déployer avec sélecteur de carte #115

Merged
electron merged 1 commits from feat/zacus-hotload-hub into main 2026-06-10 08:42:11 +00:00
Owner

Bouton « Déployer » dans l'Atelier (studio Blockly) avec sélecteur de carte : sauvegarde le YAML de l'espace de travail sur le gateway (PUT /v1/studio/scenario/atelier_live.yaml) puis flashe la carte choisie (POST /v1/flash/{board}). Les cartes sans IP relayées par le master en ESP-NOW (plip, box3, p7_coffre) sont signalées dans le sélecteur et routées via le master automatiquement ; le panneau affiche les étapes FlashResult et le fan-out du relay. Le gateway gagne un CORSMiddleware (ZACUS_HUB_CORS_ORIGINS, défaut *) pour le client navigateur — l'auth reste sur le bearer token. Vérifié : tsc --noEmit propre, vite build vert, py_compile OK.

Bouton « Déployer » dans l'Atelier (studio Blockly) avec sélecteur de carte : sauvegarde le YAML de l'espace de travail sur le gateway (PUT /v1/studio/scenario/atelier_live.yaml) puis flashe la carte choisie (POST /v1/flash/{board}). Les cartes sans IP relayées par le master en ESP-NOW (plip, box3, p7_coffre) sont signalées dans le sélecteur et routées via le master automatiquement ; le panneau affiche les étapes FlashResult et le fan-out du relay. Le gateway gagne un CORSMiddleware (ZACUS_HUB_CORS_ORIGINS, défaut *) pour le client navigateur — l'auth reste sur le bearer token. Vérifié : tsc --noEmit propre, vite build vert, py_compile OK.
electron added 1 commit 2026-06-10 08:41:34 +00:00
feat(atelier): deploy button with board selector
Repo State / repo-state (pull_request) Failing after 10m11s
Repo State / repo-state (push) Failing after 11m11s
Validate Zacus refactor / validate (pull_request) Successful in 11m31s
6ad17ab3ec
DeployPanel + useDeploy hook: saves the current Blockly workspace YAML
to the gateway (PUT /v1/studio/scenario/atelier_live.yaml) then flashes
the selected board (POST /v1/flash/{board}). Boards without an IP that
the master relays over ESP-NOW (plip, box3, p7_coffre) are flagged in
the selector and routed through the master automatically; the panel
shows the FlashResult steps and relay fan-out. Gateway gains a
CORSMiddleware (ZACUS_HUB_CORS_ORIGINS, default *) so the browser
client can reach it — auth stays on the bearer token
(VITE_GATEWAY_TOKEN / VITE_GATEWAY_BASE_URL).

Verified: tsc --noEmit clean, vite build green, py_compile OK.
electron merged commit 57dd1fcd5d into main 2026-06-10 08:42:11 +00:00
Sign in to join this conversation.