feat: UI vue Review + backend sert le SPA, fin Phase 4 v1 (v0.24.0)

Vue Review (liste assets, approuver/refuser + confirm, refresh, 401→logout).
Backend sert le SPA same-origin (@fastify/static + fallback) si CHLOVA_WEB_ROOT.
Dockerfile multi-stage build web+API (contexte racine), image embarque /app/web.
Compose contexte .., image chlova/backend:0.2.0. 65 tests, 0 vuln, compose OK.

Palier de risque : privilégié (surface exposée complète) — non déployée ;
auth + CHLOVA_PHASE requis pour activer.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Kantin-Petit
2026-06-23 05:56:01 +02:00
parent aee86b811e
commit e6edf1a8bc
9 changed files with 324 additions and 14 deletions
+12
View File
@@ -6,6 +6,18 @@ incompatibles. Chaque ligne renvoie à un commit dédié (un artefact = un commi
## [Unreleased]
## [0.24.0] — 2026-06-23 — fin Phase 4 (UI v1 : chat + review)
### Added
- UI : vue **Review** (`web/src/pages/Review.tsx`) — liste des assets en attente,
approuver / refuser (confirmation sur refus, palier coloré), refresh, 401→logout.
- Backend sert le **SPA same-origin** (`@fastify/static` 9.1.3 + fallback routes
client) si `CHLOVA_WEB_ROOT` présent ; config `webRoot`.
### Changed
- Dockerfile multi-stage : build **web + API** (contexte = racine dépôt), image
embarque le SPA (`/app/web`, `CHLOVA_WEB_ROOT` par défaut). Compose : contexte
`..`, `dockerfile: orchestrator/Dockerfile`, image `chlova/backend:0.2.0`.
Compose revalidé. 65 tests, 0 vuln.
## [0.23.0] — 2026-06-23
### Added
- UI : vue **Chat** (`web/src/pages/Chat.tsx`) — conversation avec l'agent via