3.2 KiB
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 :
history/0.0.1/alpha.3.fix.3.md = PASS
La version devient :
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 :
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
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 :
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 :
../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 :
build.manifest = true
L'entrée stable :
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,/loginou é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.