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

3.2 KiB
Raw Blame History

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, /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.