Files
sasedev-knowledge/deltas/0.0.1/alpha.4.md
2026-09-28 00:53:47 +02:00

127 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- 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.