3.0 KiB
Frontend Web local Knowledge
Scope
Cet owner regroupe les contrats Web réellement utilisés par Knowledge : TypeScript, npm, Vite, Sass, Bootstrap et l'articulation entre le template statique de référence et le rendu runtime Maud.
Il remplace, pour le développement courant de Knowledge, la nécessité de relire plusieurs profils Web externes séparés.
Package et dépendances
Le package de référence est Web/knowledge-template-lab/ et utilise npm. package.json possède les scripts explicites typecheck, dev, build et preview nécessaires au workflow courant.
package-lock.json est versionné. node_modules/, caches Vite et sorties de build restent générés et hors Git.
Les versions de dépendances sont décidées dans le package Knowledge ; aucune version externe n'est adoptée automatiquement parce qu'un template ou référentiel plus récent existe.
TypeScript
Le frontend utilise TypeScript strict. Le typecheck doit couvrir le code applicatif et la configuration Vite selon les tsconfig locaux.
Une dépendance de types n'est ajoutée que lorsqu'elle est réellement nécessaire à l'IDE, au compilateur ou au package consommé.
Vite
vite.config.ts est le propriétaire de root, base, cache, dev server, preview, outputs et manifest. Les caches et builds sont dirigés vers les outputs Knowledge hors source.
Le build de production doit générer un manifest machine-readable et conserver l'entrée stable src/main.ts. Les noms d'assets hashés ne sont pas codés en dur dans le backend Rust.
Sass et Bootstrap
Sass est la chaîne de styles sélectionnée et Bootstrap est un choix local Knowledge. Les warnings de dépréciation provenant d'une dépendance tierce sont suivis comme dette/compatibilité mais ne deviennent bloquants que si la gate locale l'exige ou s'ils annoncent une rupture effective de la toolchain retenue.
Template statique et Maud
Le template sous Web/knowledge-template-lab/ sert de harness de conception et de validation. Il ne constitue pas une seconde implémentation runtime.
Le markup de production est rendu par knowledge-web-lib avec Maud. L'adaptation depuis le template doit préserver les contrats utiles de structure, classes, attributs et assets.
En développement, KNOWLEDGE_VITE_DEV_ORIGIN fournit l'origin Vite. En production, KNOWLEDGE_VITE_MANIFEST_PATH désigne le manifest et KNOWLEDGE_ASSET_BASE_PATH peut remplacer le préfixe public.
Validation
Lorsqu'un changement touche le package Web ou son contrat d'intégration, la preuve normale est :
(
cd Web/knowledge-template-lab
npm ci
npm run typecheck
npm run build
)
Les smokes Actix/Maud pertinents sont ajoutés lorsqu'un changement touche réellement le runtime ou la résolution d'assets. Une tranche exclusivement documentaire ou Rust sans diff Web ne rejoue pas automatiquement le build frontend si aucune preuve n'est invalidée.