0.0.1-alpha.4

This commit is contained in:
2026-09-28 00:53:47 +02:00
parent 91e596eb51
commit 50599da1b3
21 changed files with 2613 additions and 24 deletions

126
deltas/0.0.1/alpha.4.md Normal file
View File

@@ -0,0 +1,126 @@
<!-- file: deltas/0.0.1/alpha.4.md -->
<!-- version: 1 -->
# Delta 0.0.1-alpha.4 — baseline Web indépendante et template lab
## Base requise
État `0.0.1-alpha.3.fix.3` committé et poussé après application du history :
```text
history/0.0.1/alpha.3.fix.3.md = PASS
```
La version devient :
```text
0.0.1-alpha.4
```
## Objectif
Matérialiser le skeleton Web PGR `003-WEB_FRONTEND` sans démarrer encore Actix/Maud.
La tranche introduit un package unique :
```text
Web/knowledge-template-lab/
```
Ce package est un laboratoire de templates statiques partagé par les trois façades. Il n'est ni une application produit supplémentaire ni un renderer de production.
## Décisions matérialisées
```text
package manager npm
lockfile package-lock.json versionné
TypeScript strict
Vite build/dev/preview + manifest
styles Sass via sass-embedded
framework CSS Bootstrap
Bootstrap runtime @popperjs/core explicite
```
Le package commun est retenu tant qu'aucune divergence réelle ne justifie plusieurs toolchains.
## Versions sélectionnées
La tranche fixe explicitement :
```text
typescript 7.0.2
vite 8.3.1
sass-embedded 1.105.0
bootstrap 5.3.8
@popperjs/core 2.11.8
@types/bootstrap 5.2.11
```
`@types/bootstrap` est justifié par l'import TypeScript du runtime Bootstrap. Aucun `@types/node` n'est ajouté : la configuration Vite ne consomme pas d'API Node typée.
## Build externe
Le cache et l'output sont configurés hors du dépôt :
```text
../builds/sasedev-knowledge/vite-cache/template-lab/
../builds/sasedev-knowledge/web/template-lab/
```
Aucun `dist/`, cache Vite ou `node_modules/` n'est versionné.
## Manifest et future intégration Maud
Le build Vite active :
```text
build.manifest = true
```
L'entrée stable :
```text
src/main.ts
```
importe également `src/styles/main.scss`.
Le manifest doit donc permettre à la future intégration Actix/Maud de résoudre les sorties JavaScript et CSS hashées à partir d'une clé logique stable, sans coder leurs noms de fichiers.
`alpha.4` ne contient aucun loader Rust du manifest. Ce contrat appartient à `alpha.5`.
## Template statique de référence
`index.html` matérialise une référence minimale commune :
- trois familles PGR/HOWTOs/snippets ;
- layout responsive Bootstrap ;
- styles Sass ;
- un exemple d’interaction JavaScript Bootstrap via tooltip.
Aucune URL admin/login ni hostname de production n'est introduit.
## Lockfile npm
Le delta ne préfabrique pas `package-lock.json`.
L'opérateur doit le générer avec npm à partir du manifest réel, puis vérifier une restauration reproductible avec `npm ci`. Le lockfile généré devient partie du staging et du commit de tranche.
## Scope exclu
La tranche n'ajoute pas :
- Actix Web ;
- Maud ;
- les trois crates serveur ;
- PostgreSQL/migrations ;
- adapter Gitea ;
- routes `/admin`, `/login` ou équivalentes ;
- loader Rust du manifest ;
- UI d'administration fonctionnelle.
## Validation attendue
La gate combine les preuves Rust existantes et le skeleton Web réel. Elle est fournie dans `docs/validation/001-VALIDATION_MATRIX.md`.
Ne pas committe `alpha.4` avant production de son history à partir des résultats opérateur.