0.0.1-alpha.4
This commit is contained in:
126
deltas/0.0.1/alpha.4.md
Normal file
126
deltas/0.0.1/alpha.4.md
Normal 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.
|
||||
Reference in New Issue
Block a user