76 lines
2.2 KiB
Markdown
76 lines
2.2 KiB
Markdown
<!-- file: deltas/0.0.1/alpha.5.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# 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 :
|
|
|
|
```text
|
|
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 :
|
|
|
|
```text
|
|
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 :
|
|
|
|
```text
|
|
KNOWLEDGE_PGR_BIND_ADDRESS
|
|
KNOWLEDGE_HOWTOS_BIND_ADDRESS
|
|
KNOWLEDGE_SNIPPETS_BIND_ADDRESS
|
|
```
|
|
|
|
La source d'assets est exclusive :
|
|
|
|
```text
|
|
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.
|