Files
sasedev-knowledge/deltas/0.0.1/alpha.5.md
2026-09-28 09:50:20 +02:00

2.2 KiB

Delta 0.0.1-alpha.5 — composition Actix/Maud et manifest Vite

Base requise

État 0.0.1-alpha.4.fix.2 committé et poussé après application du history PASS.

La version devient 0.0.1-alpha.5.

Scope

La tranche matérialise :

knowledge-web-lib
knowledge-pgr-server
knowledge-howtos-server
knowledge-snippets-server

knowledge-web-lib possède la composition Actix Web/Maud partagée, la résolution des assets Vite et les deux routes publiques minimales / et /healthz. Les trois packages serveur restent des launchers minces.

Dépendances Web Rust

Versions vérifiées à la préparation de la tranche :

actix-web   4.15.0
actix-files 0.7.0
maud        0.27.0
serde       1.0.229
serde_json  1.0.151

Les dépendances restent dans knowledge-web-lib, seul owner qui les consomme directement.

Configuration runtime

Chaque launcher exige sa variable de bind :

KNOWLEDGE_PGR_BIND_ADDRESS
KNOWLEDGE_HOWTOS_BIND_ADDRESS
KNOWLEDGE_SNIPPETS_BIND_ADDRESS

La source d'assets est exclusive :

KNOWLEDGE_VITE_DEV_ORIGIN

ou

KNOWLEDGE_VITE_MANIFEST_PATH

En production KNOWLEDGE_ASSET_BASE_PATH peut remplacer le préfixe /.

Aucun origin Vite, port de déploiement ou hostname n'est codé en dur.

Rendu et assets

Le rendu runtime Maud reprend les invariants de classes/assets utiles du template lab. En développement, il charge @vite/client avant src/main.ts. En production, il lit .vite/manifest.json, résout l'entrée stable src/main.ts et sert le répertoire d'assets produit par Vite via Actix Files.

Une configuration absente, ambiguë ou un manifest invalide produit une erreur récupérable avant l'écoute réseau ; aucun panic!, unwrap, expect ou ? n'est introduit.

Hors scope

La tranche n'ajoute ni auth, ni administration fonctionnelle, ni routes admin/login, ni PostgreSQL, ni Gitea, ni publication Git, ni logging transverse sans besoin observé.

Cargo.lock n'est pas préfabriqué dans le delta : Cargo doit le régénérer dans l'environnement opérateur avec les nouvelles dépendances, puis le versionner.

Ne pas committe alpha.5 avant production de son history à partir des preuves opérateur.