The engine to come must be proven against oracles under node in seconds, so the skeleton sets three test projects: node, watched; node-long; and a real Chromium that reads computed styles in both themes. The version lives in version.json alone; a check refuses eight divergences — technical form, generated module, changelog head, stray version strings — and a build guard keeps test files and fixture assets out of the bundle. Checked: on this commit alone, 73 node tests, 7 browser tests and the version check pass; the guard fails on a fixture joined as an asset. --- FR --- [ADD] squelette : application web Capacitor qui affiche sa version datée Le moteur à venir doit s'éprouver contre des oracles sous node en quelques secondes : le squelette pose trois projets d'épreuve — node, sous surveillance ; node-long ; et un vrai Chromium qui lit le style calculé dans les deux thèmes. La version vit dans version.json seul ; un contrôle refuse huit divergences — forme technique, module engendré, tête du changelog, chaînes de version égarées — et une garde de construction tient fichiers et données d'épreuve hors du paquet. Vérifié : sur ce commit seul, 73 épreuves node, 7 navigateur et le contrôle de version passent ; la garde échoue sur une donnée jointe. Assisted-by: Claude Opus 5.5
52 lines
1.6 KiB
Svelte
52 lines
1.6 KiB
Svelte
<!-- © 2026 TechnoLibre (http://www.technolibre.ca)
|
|
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) -->
|
|
|
|
<script>
|
|
// Racine de l'interface. Le bandeau d'application, présent sur tout écran,
|
|
// porte le nom, la version affichée et la provenance de la construction ;
|
|
// le nom suivi de la version affichée devient aussi le titre de la fenêtre
|
|
// (§ 8.4, § 18.6). La provenance vient du mode de Vite, que pose la
|
|
// commande de construction.
|
|
import './jetons.css';
|
|
import { VERSION } from '../version.genere.js';
|
|
import { libelleProvenance, titreAvecVersion } from './libelles.js';
|
|
|
|
const titre = titreAvecVersion(VERSION.affichee);
|
|
const provenance = libelleProvenance(import.meta.env.MODE);
|
|
</script>
|
|
|
|
<svelte:head>
|
|
<title>{titre}</title>
|
|
</svelte:head>
|
|
|
|
<header class="bandeau">
|
|
<span class="titre">{titre}</span>
|
|
<span class="provenance">{provenance}</span>
|
|
</header>
|
|
|
|
<style>
|
|
:global(body) {
|
|
margin: 0;
|
|
background-color: var(--couleur-page-fond);
|
|
color: var(--couleur-page-texte);
|
|
font-family: var(--police-interface);
|
|
}
|
|
|
|
.bandeau {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: baseline;
|
|
gap: var(--espace-3);
|
|
padding: var(--espace-2) var(--espace-4);
|
|
border-bottom: 1px solid var(--couleur-bandeau-filet);
|
|
background-color: var(--couleur-bandeau-fond);
|
|
color: var(--couleur-bandeau-texte);
|
|
font-size: var(--taille-texte-bandeau);
|
|
}
|
|
|
|
.provenance {
|
|
padding: 0 var(--espace-2);
|
|
border: 1px solid var(--couleur-bandeau-filet);
|
|
border-radius: var(--rayon-1);
|
|
}
|
|
</style>
|