[ADD] skeleton: Capacitor web app that shows its dated version
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
2026-10-05 13:13:13 -04:00
|
|
|
|
# Changelog — Gestion table tournante Libre
|
|
|
|
|
|
|
|
|
|
|
|
## 2026.10.05.01 — 5 octobre 2026
|
|
|
|
|
|
|
|
|
|
|
|
**Ce qui change pour vous**
|
|
|
|
|
|
- L'application s'ouvre et affiche sa version dans un bandeau permanent et dans
|
|
|
|
|
|
le titre de sa fenêtre.
|
[UPD] spec: iteration 4 amendments, changelog for the badge sheet
The spec described several print and bench behaviours as planned rather
than as built: page cuts, table sheets split into tour groups, rows
continued across pages, the bench reading limited to the machine class,
the adopted thresholds, and capture inputs rasterised from the PDF.
Each amendment now states what the committed code does. The capture
manifest photographs both 07a captures on the large demo, as the walk
does. The changelog lists the badge sheet, print preview and guide.
Checked: 3852 node and 766 browser tests; version check conforms.
--- FR ---
[UPD] spec : amendements de l'itération 4, journal de la planche
Le spec décrivait plusieurs comportements de l'impression et du banc
comme prévus plutôt que comme bâtis : coupe en pages, feuilles par table
en groupes de tours, lignes continuées, relevé réduit à la classe de
machine, seuils adoptés, entrées des captures tirées du PDF. Chaque
amendement dit désormais ce que fait le code commis. Le manifeste
photographie les deux 07a sur la grande démonstration, comme le
parcours. Le journal annonce la planche, l'aperçu et le guide.
Vérifié : 3852 node et 766 navigateur ; contrôle de version conforme.
Assisted-by: Claude Opus 5.5
2026-10-10 17:27:41 -04:00
|
|
|
|
- La section « Badges » produit la planche de badges en PDF : quatre badges A6
|
|
|
|
|
|
par feuille A4, ou deux à plat par feuille Lettre, précédés d'une feuille de
|
|
|
|
|
|
contrôle à mesurer sous une règle avant d'imprimer la rame. Les badges se
|
|
|
|
|
|
rangent dans l'ordre alphabétique ou par table, feuille par feuille ou en pile
|
|
|
|
|
|
pour le massicot. Sous Windows, la planche se dépose à côté des fichiers de
|
|
|
|
|
|
l'événement et l'application en affiche le chemin.
|
|
|
|
|
|
- Le format de papier se demande une seule fois, à la première planche ou au
|
|
|
|
|
|
premier aperçu, puis la machine le retient ; il se change d'un clic.
|
|
|
|
|
|
- Avant de produire, l'application annonce le nombre de badges et de feuilles,
|
|
|
|
|
|
nomme les homonymes que rien ne distingue et les caractères que la police ne
|
|
|
|
|
|
sait pas dessiner ; un placement qui ne décrit plus la soirée est refusé, avec
|
|
|
|
|
|
la raison.
|
|
|
|
|
|
- Un badge perdu se réédite seul : la réédition produit une planche des seuls
|
|
|
|
|
|
badges choisis, identiques aux premiers tant que le placement n'a pas bougé.
|
|
|
|
|
|
- « Imprimer… » ouvre un aperçu de la page imprimée : le plan, découpé en pages
|
|
|
|
|
|
repérées quand il ne se lit plus sur une seule ; la liste d'accueil ; la
|
|
|
|
|
|
feuille par table, une pour la soirée ou une par tour. Les listes imprimées
|
|
|
|
|
|
replient les noms longs au lieu de les couper.
|
|
|
|
|
|
- L'aperçu et la planche restent disponibles en lecture et sur un plan bloqué,
|
|
|
|
|
|
et n'écrivent rien dans l'événement.
|
|
|
|
|
|
- Ce qui n'est pas le placement retenu s'imprime avec le filigrane BROUILLON,
|
|
|
|
|
|
planche de badges comprise ; chaque page porte au pied l'heure du placement
|
|
|
|
|
|
imprimé et la version.
|
|
|
|
|
|
- Agrandir une table dont la liste de noms passe sur une voisine le signale, et
|
|
|
|
|
|
propose de déplacer la voisine.
|
|
|
|
|
|
- L'interface et les badges emploient la même police, Noto Sans.
|
|
|
|
|
|
- Le guide d'usage suit la soirée étape par étape, captures d'écran à l'appui,
|
|
|
|
|
|
de la création de l'événement à la planche de badges.
|
[UPD] spec: tags, table goals, goal modes, priority tiers, format 2
The specification now describes what the software does for tags, table
goals and their rules, the goals CSV, the three goal modes, priority
tiers with weights, the facilitator criterion and file format 2, each
sentence checked against the code; captures 02, 02b and 03 are described
by what their images show. The changelog's head section lists the step
and names format 2; the guide says the default order is one order among
others. A test brings the criteria registry to full branch coverage.
Checked: node 4595, navigateur 963, node-long 124; captures stable over
two republications; six coverage thresholds met.
--- FR ---
[UPD] spec : étiquettes, objectifs, modes, paliers pondérés, format 2
La spécification décrit désormais ce que fait le logiciel pour les
étiquettes, les objectifs des tables et leurs règles, le CSV d'objectifs,
les trois modes, les paliers pondérés, le critère des animateurs et le
format 2, chaque phrase recoupée avec le code ; les captures 02, 02b et 03
sont décrites par ce que montrent leurs images. La section de tête du
journal des changements nomme l'étape et le format 2 ; le guide dit que
l'ordre par défaut n'est qu'un ordre parmi d'autres. Une épreuve porte le
registre des critères à 100 % de branches.
Vérifié : node 4595, navigateur 963, longues 124 ; captures stables sur
deux republications ; six seuils de couverture tenus.
Assisted-by: Claude Opus 5.5
2026-10-11 22:42:50 -04:00
|
|
|
|
- Chaque personne peut porter des **étiquettes** — « finance », « Montréal »,
|
|
|
|
|
|
« bénévole » —, vingt au plus, ajoutées et retirées sur sa fiche, ou
|
|
|
|
|
|
importées par une colonne « Étiquettes » du fichier des participants,
|
|
|
|
|
|
plusieurs par cellule, séparées par une virgule, un point-virgule ou une
|
|
|
|
|
|
barre verticale. Une étiquette écrite autrement qu'une étiquette déjà
|
|
|
|
|
|
présente — casse, accents, espaces — reçoit l'orthographe existante, et le
|
|
|
|
|
|
logiciel le dit ; une légende compte les personnes qui portent chacune. En
|
|
|
|
|
|
mise à jour, une cellule vide garde les étiquettes de la personne.
|
|
|
|
|
|
- L'export des participants écrit toujours la colonne `etiquettes`, en
|
|
|
|
|
|
dernière position ; le collage en bloc suit le même ordre de colonnes.
|
|
|
|
|
|
- Une table peut porter un **objectif** : les étiquettes des personnes qu'elle
|
|
|
|
|
|
attend, sous la règle « au moins une » ou « toutes », pour la soirée ou pour
|
|
|
|
|
|
un tour désigné, dont l'objectif remplace alors celui de la soirée. Un
|
|
|
|
|
|
objectif ne fixe personne : il oriente la recherche. La règle par défaut se
|
|
|
|
|
|
règle avec les places par défaut ; chaque objectif la suit ou porte la
|
|
|
|
|
|
sienne. Un objectif auquel aucune personne présente ne correspond est
|
|
|
|
|
|
signalé sous l'objectif ; retirer un tour retire les objectifs de ce tour,
|
|
|
|
|
|
et le logiciel l'annonce avant d'appliquer.
|
|
|
|
|
|
- Les objectifs s'importent d'un second fichier CSV — colonnes `table`,
|
|
|
|
|
|
`tour`, `objectif`, `regle` —, en cochant « Objectifs de table » avant de
|
|
|
|
|
|
choisir le fichier, par le même aperçu que les participants, en « Mettre à
|
|
|
|
|
|
jour » ou en « Remplacer ». « Exporter les objectifs » écrit ce même format,
|
|
|
|
|
|
en lecture et sur un plan bloqué aussi.
|
|
|
|
|
|
- La section « Génération » porte deux cases nouvelles : « Respecter les
|
|
|
|
|
|
objectifs des tables », cochée, et « Rencontrer le plus d'animateurs
|
|
|
|
|
|
différents », décochée. Anime à un tour la personne qui y pourvoit un titre
|
|
|
|
|
|
de place ; la seconde case fait rencontrer à chacun le plus d'animateurs
|
|
|
|
|
|
différents, à la table où ils animent.
|
|
|
|
|
|
- « Objectifs des tables : chercher d'abord » choisit ce que le critère des
|
|
|
|
|
|
objectifs poursuit : le plus de places servies, par défaut ; chacun au moins
|
|
|
|
|
|
une fois ; ou l'équité d'abord, qui sert d'abord la personne la plus mal
|
|
|
|
|
|
servie, puis le plus grand total.
|
|
|
|
|
|
- L'**ordre des priorités** se règle : des boutons montent ou descendent un
|
|
|
|
|
|
critère d'un palier, ou le joignent au palier du dessus, où chaque critère
|
|
|
|
|
|
reçoit un poids entier de 1 à 100 ; « Rétablir l'ordre par défaut » revient
|
|
|
|
|
|
au départ. La recherche poursuit l'ordre réglé et le classement l'applique ;
|
|
|
|
|
|
la phrase au-dessus du tableau nomme les paliers dans l'ordre. Un critère
|
|
|
|
|
|
décoché garde son rang et ne compte nulle part. Sans objectif, sans la case
|
|
|
|
|
|
des animateurs et sous l'ordre par défaut, une graine donne les mêmes
|
|
|
|
|
|
propositions qu'avant.
|
|
|
|
|
|
- Le tableau des propositions ajoute le groupe de colonnes des objectifs des
|
|
|
|
|
|
tables et des animateurs, quand l'un de ces critères compte ; le diagnostic
|
|
|
|
|
|
dit combien de tours hors objectif la configuration impose au moins, pour
|
|
|
|
|
|
ne pas relancer vers un zéro qu'elle interdit.
|
|
|
|
|
|
- Changer les étiquettes, les objectifs, les règles, les cases ou l'ordre des
|
|
|
|
|
|
priorités ne met aucune proposition en dérive : le classement se refait.
|
|
|
|
|
|
- Au lecteur d'écran, les commandes répétées sous chaque table — places,
|
|
|
|
|
|
objectifs, règle, retrait, et les remèdes de leurs refus — nomment leur
|
|
|
|
|
|
table ; après un remède qui lève son propre refus, le focus revient à la
|
|
|
|
|
|
commande refusée.
|
|
|
|
|
|
- Sur la grande démonstration, une génération sans objectif prend environ 1 %
|
|
|
|
|
|
de plus qu'avant les étiquettes ; avec étiquettes et objectifs, 7 à 8 % de
|
|
|
|
|
|
plus, quels que soient le mode et l'ordre. Recalculer le tableau de 200
|
|
|
|
|
|
propositions prend 2 à 9 % de plus, ouvrir l'onglet des propositions
|
|
|
|
|
|
environ 5 %.
|
|
|
|
|
|
- Le guide d'usage montre les étiquettes, les objectifs des tables, leur
|
|
|
|
|
|
import et l'ordre des priorités, captures à l'appui.
|
[IMP] quality page: tile floors, measured thresholds, spec integrated
A tile now writes the floor the diagnostic proves under its number, and says
when the measure reaches it, so an operator stops relaunching toward a value
no placement can beat; no floor is written outside the floors' domain. A
proved bar segment keeps its 6 px outline without pushing the bar past its
value. The matrix and label thresholds adopt their measured values (44
people, 168 px). The spec and the changelog describe the quality page as
the code builds it.
Checked: node 5130, browser 1146, long 128; captures stable on two passes.
--- FR ---
[IMP] page qualité : planchers des tuiles, seuils mesurés, spec intégrée
Une tuile écrit sous son chiffre le plancher que prouve le diagnostic, et dit
quand la mesure l'atteint : l'opérateur cesse de relancer vers une valeur
qu'aucun placement ne bat ; hors du domaine des planchers, rien ne s'écrit.
Un segment prouvé garde son contour de 6 px sans pousser la barre au-delà de
sa valeur. Les seuils de la matrice et des libellés prennent leurs valeurs
mesurées (44 personnes, 168 px). La spec et le journal des versions
décrivent la page de qualité telle que le code la construit.
Vérifié : node 5130, navigateur 1146, longues 128 ; captures stables, 2 passes.
Assisted-by: Claude Opus 5.5
2026-10-13 01:48:10 -04:00
|
|
|
|
- Une neuvième section, « Qualité », suit « Propositions » dans la phase Placer.
|
|
|
|
|
|
Elle mesure le placement que le plan montre — le retenu ou la proposition
|
|
|
|
|
|
montrée — et répond à deux questions : ce placement est-il bon, et qui s'y
|
|
|
|
|
|
trouve mal servi ? Chaque ligne du tableau des propositions offre « Qualité »,
|
|
|
|
|
|
qui montre la proposition au plan et ouvre la page. La page ne modifie rien :
|
|
|
|
|
|
elle reste ouverte en lecture, sur un plan bloqué et pendant une génération.
|
|
|
|
|
|
- La page se lit vue par vue, une liste en tête menant à chacune : l'en-tête
|
|
|
|
|
|
chiffré, une tuile par colonne du tableau des propositions, chaque borne celle
|
|
|
|
|
|
d'une personne nommée ; le profil trié des rencontres ; les collisions
|
|
|
|
|
|
d'appartenance, « prouvé inévitable » et « reste » ; les appartenances à
|
|
|
|
|
|
chaque table ; les paires répétées ; les objectifs des tables ; les animateurs
|
|
|
|
|
|
rencontrés ; la diversité par animateur ; la performance du calcul. Un cas
|
|
|
|
|
|
sans objet — une seule table, un seul tour, aucune appartenance, aucune
|
|
|
|
|
|
collision… — s'écrit en une phrase, jamais par des axes vides.
|
|
|
|
|
|
- Une tuile écrit sous son chiffre le plancher que le diagnostic prouve pour sa
|
2026-10-13 01:55:12 -04:00
|
|
|
|
mesure, « plancher 4 », et « plancher 4, le meilleur atteint »
|
[IMP] quality page: tile floors, measured thresholds, spec integrated
A tile now writes the floor the diagnostic proves under its number, and says
when the measure reaches it, so an operator stops relaunching toward a value
no placement can beat; no floor is written outside the floors' domain. A
proved bar segment keeps its 6 px outline without pushing the bar past its
value. The matrix and label thresholds adopt their measured values (44
people, 168 px). The spec and the changelog describe the quality page as
the code builds it.
Checked: node 5130, browser 1146, long 128; captures stable on two passes.
--- FR ---
[IMP] page qualité : planchers des tuiles, seuils mesurés, spec intégrée
Une tuile écrit sous son chiffre le plancher que prouve le diagnostic, et dit
quand la mesure l'atteint : l'opérateur cesse de relancer vers une valeur
qu'aucun placement ne bat ; hors du domaine des planchers, rien ne s'écrit.
Un segment prouvé garde son contour de 6 px sans pousser la barre au-delà de
sa valeur. Les seuils de la matrice et des libellés prennent leurs valeurs
mesurées (44 personnes, 168 px). La spec et le journal des versions
décrivent la page de qualité telle que le code la construit.
Vérifié : node 5130, navigateur 1146, longues 128 ; captures stables, 2 passes.
Assisted-by: Claude Opus 5.5
2026-10-13 01:48:10 -04:00
|
|
|
|
quand la mesure l'égale : collisions cumulées, paires distinctes, excédent,
|
|
|
|
|
|
écart d'itinéraire maximal et, chacun quand le critère des objectifs le
|
|
|
|
|
|
compare sous le mode réglé, personnes jamais servies, plus de tours hors
|
|
|
|
|
|
objectif d'une personne et tours hors objectif. Sur un placement qui assoit
|
|
|
|
|
|
chacun à chaque tour et tient chaque réservation, relancer ne fera pas passer
|
|
|
|
|
|
la mesure sous ce plancher ; hors de là, un placement ajusté qui laisse
|
|
|
|
|
|
quelqu'un en réserve par exemple, la page n'en écrit aucun. Sans plancher
|
|
|
|
|
|
prouvé, la tuile n'en écrit aucun, jamais un 0.
|
|
|
|
|
|
- Chaque graphique a son tableau jumeau, qui s'ouvre à la demande sous le
|
|
|
|
|
|
graphique et se parcourt au clavier et au lecteur d'écran ; l'infobulle d'un
|
|
|
|
|
|
point en porte la ligne. Les graphiques se lisent dans les deux thèmes et sans
|
|
|
|
|
|
leur couleur : chaque tracé a son motif.
|
|
|
|
|
|
- Les parts se lisent en pourcentages, sur la page de qualité seulement, et
|
|
|
|
|
|
chaque pourcentage est suivi, juste dessous, du pire cas en compte : « 88 % »,
|
|
|
|
|
|
puis « minimum 24 sur 27 » ; « 77 % des tours possibles servis », puis « 3
|
|
|
|
|
|
personnes jamais servies ». Sur une ligne de tableau ou d'infobulle, il est
|
|
|
|
|
|
suivi du compte de cette ligne, « 5 appartenances pour 8 sièges ». Le tableau
|
|
|
|
|
|
des propositions garde ses comptes.
|
|
|
|
|
|
- Le profil des rencontres se dessine en deux graphiques, au même ordre de
|
|
|
|
|
|
personnes, de la plus mal servie à la mieux servie : en comptes, avec le
|
|
|
|
|
|
plafond réalisé en trait mixte et la **borne de diversité** — une borne
|
|
|
|
|
|
arithmétique, qui ne prouve rien, des appartenances qu'une personne peut
|
|
|
|
|
|
rencontrer à ses tables — en pointillés ; puis en pourcentage du plafond
|
|
|
|
|
|
réalisé, jusqu'à la règle à 100 %.
|
|
|
|
|
|
- Les appartenances à chaque table se lisent sur une grille tables × tours, sous
|
|
|
|
|
|
trois positions d'un sélecteur : « appartenances par siège », par défaut,
|
|
|
|
|
|
« appartenances par personne assise » et « doublons parmi les affiliés ». La
|
|
|
|
|
|
pire table vient en tête ; la position choisie se garde jusqu'à la fermeture
|
|
|
|
|
|
de l'événement et n'écrit rien.
|
|
|
|
|
|
- La fiche d'une personne porte une rubrique « Rencontres » : les personnes
|
|
|
|
|
|
qu'elle a rencontrées, le nombre de fois et les tours, les plus revues
|
|
|
|
|
|
d'abord. C'est le chemin vers une personne quand la matrice « qui a rencontré
|
|
|
|
|
|
qui » ne se dessine pas, au-delà de 44 participants.
|
|
|
|
|
|
- Les objectifs des tables se lisent tour par tour : les personnes jamais
|
|
|
|
|
|
servies d'abord, la soirée, puis une barre par tour, avec ses tours hors
|
|
|
|
|
|
objectif, la part que la configuration rend inévitable, et les personnes
|
|
|
|
|
|
assises sans table possible.
|
|
|
|
|
|
- Les animateurs se lisent en deux vues : les animateurs que chacun a
|
|
|
|
|
|
rencontrés, avec la borne des animateurs en pointillés ; puis la diversité que
|
|
|
|
|
|
chaque animateur voit à sa table, appartenances et étiquettes, sur la soirée,
|
|
|
|
|
|
et tour par tour dans le tableau jumeau, avec le moins varié, le plus varié et
|
|
|
|
|
|
combien sont au minimum.
|
|
|
|
|
|
- La performance du calcul montre la course de la recherche qui a produit la
|
|
|
|
|
|
proposition : ses mouvements évalués, la valeur de chaque critère à 1, 10,
|
|
|
|
|
|
100… mouvements, toujours remesurée sous les réglages courants, et le dernier
|
|
|
|
|
|
point où une valeur a changé. La durée et la cadence de la génération
|
|
|
|
|
|
s'affichent pendant la séance qui l'a produite ; rouverte plus tard, la
|
|
|
|
|
|
proposition garde sa course et dit sa durée inconnue.
|
|
|
|
|
|
- La course de chaque proposition se garde dans un fichier à côté de celui de
|
|
|
|
|
|
l'événement, `<nom>.gtt-courses.json`, écrit seulement quand les propositions
|
|
|
|
|
|
changent — génération, effacement, retour dans l'historique. Le perdre ne perd
|
|
|
|
|
|
rien de votre travail : la page dit seulement que la course n'est pas gardée.
|
|
|
|
|
|
Renommer, copier et supprimer l'événement l'emportent avec lui ; un fichier
|
|
|
|
|
|
d'événement venu d'ailleurs arrive sans course connue.
|
|
|
|
|
|
- Rien de la page de qualité ne s'imprime, et aucun indicateur ne s'exporte en
|
|
|
|
|
|
CSV : elle se lit à l'écran, où l'on choisit sa proposition.
|
|
|
|
|
|
- À graine égale, les propositions et leur classement sont les mêmes qu'avant la
|
|
|
|
|
|
page de qualité.
|
|
|
|
|
|
- Le guide d'usage montre la page de qualité, ses vues et ses cas limites,
|
|
|
|
|
|
captures à l'appui.
|
[ADD] event list: retained placement's chosen repeated meetings
The event list summed up the retained placement by its collisions alone;
the chosen repeated meetings, the other figure the proposals table ranks
on, was only visible after opening the event. Both now sit under one
« Placement retenu » group header, read from a single measurement of the
retained placement, with the same « — » cases and lazy loading. The
column group span is tested, so assistive technology keeps both columns
under that header. The user guide drops the stale redundancy target.
Checked: node 5152, browser 1154, node-long 129; no capture changes.
--- FR ---
[ADD] liste des événements : rencontres répétées choisies du retenu
La liste des événements résumait le retenu par ses seules collisions ; les
rencontres répétées choisies, l'autre nombre que classe le tableau des
propositions, ne se voyaient qu'en ouvrant l'événement. Les deux tiennent
sous un même en-tête « Placement retenu », lues d'une seule mesure du
retenu, avec les mêmes cas « — » et le même chargement différé. L'étendue
du groupe de colonnes est éprouvée : les aides techniques gardent les deux
colonnes sous cet en-tête. Le guide d'usage quitte la cible périmée.
Vérifié : node 5152, navigateur 1154, node-long 129 ; aucune capture.
Assisted-by: Claude Opus 5.5
2026-10-13 08:07:19 -04:00
|
|
|
|
- Dans la liste des événements, le placement retenu montre ses « Collisions
|
|
|
|
|
|
cumulées (paire et tour) » et ses « Rencontres répétées choisies (paires) »,
|
|
|
|
|
|
les mêmes nombres que les colonnes du tableau des propositions, au lieu de
|
|
|
|
|
|
« Diff somme d'appartenance ». Le réglage « Cible de la somme de redondance »,
|
|
|
|
|
|
qui ne servait qu'à cette ancienne colonne, quitte la section des
|
|
|
|
|
|
propositions : un fichier qui le porte s'ouvre sans message, et le perd au
|
|
|
|
|
|
premier enregistrement.
|
[ADD] proposals: keep the N best, erase the rest, after confirmation
Hundreds of proposals slow every table, chart and save. A new command keeps
the first N of the single ranking, the retained placement's origin besides,
and erases the rest in one undoable journal entry. N sits in a field beside
the button, 10 by default, and is never written to the file. A window states
how many go and recounts on each write that lands while it is open; the
announcement gives the count the command returns.
Checked: node 5150, browser 1154, long 129; one capture changes, stable on
two passes.
--- FR ---
[ADD] propositions : garder les N meilleures, effacer le reste, confirmé
Des centaines de propositions ralentissent chaque tableau, graphique et
enregistrement. Une commande garde les N premières du classement unique,
l'origine du retenu en plus, et efface le reste en une entrée défaisable. N
se saisit à côté du bouton, 10 par défaut, et ne s'écrit jamais au fichier.
Une fenêtre dit combien partent et se recompte à chaque écriture pendant
qu'elle attend ; l'annonce donne le compte que rend la commande.
Vérifié : node 5150, navigateur 1154, longues 129 ; une capture change,
stable sur deux passes.
Assisted-by: Claude Opus 5.5
2026-10-13 06:17:04 -04:00
|
|
|
|
- La section « Propositions » offre « Garder les 10 meilleures » : les dix
|
|
|
|
|
|
premières du classement restent, et celle d'où vient le placement retenu
|
|
|
|
|
|
aussi, les autres s'effacent. Le nombre se règle dans le champ voisin. Une
|
|
|
|
|
|
fenêtre dit d'abord combien de propositions partent, et « Défaire » les rend.
|
|
|
|
|
|
Une longue liste allégée garde le logiciel rapide ; le nombre choisi ne
|
|
|
|
|
|
s'enregistre pas dans l'événement.
|
[ADD] import: downloadable CSV templates for participants and goals
An operator had to guess the expected columns before a first import. The
Import section now saves a template for the chosen kind, in the export
format, and it imports unchanged with no refused line. The goals template
follows the event: one row per table, per round where goals are per round,
two examples on free rows, and only blank rows for a table whose number is
shared, since the importer refuses that number. A goals row with neither
goal nor rule is now a row to fill, skipped instead of refused. Checked:
node 5173, browser 1160, node-long 129; four Import captures republished.
--- FR ---
[ADD] import : modèles CSV à télécharger, participants et objectifs
Avant un premier import, l'opérateur devait deviner les colonnes attendues.
La section Import enregistre un modèle de la nature choisie, au format de
l'export, qui s'importe tel quel sans ligne refusée. Celui des objectifs
suit l'événement : une ligne par table, par tour quand les objectifs le
sont, deux exemples sur des lignes libres, et des lignes vides seulement
pour une table au numéro partagé, que l'import refuse. Une ligne sans
objectif ni règle est désormais à remplir, passée plutôt que refusée.
Vérifié : node 5173, navigateur 1160, node-long 129 ; quatre captures.
Assisted-by: Claude Opus 5.5
2026-10-13 08:12:01 -04:00
|
|
|
|
- La section « Import » offre « Télécharger un modèle » pour le contenu choisi.
|
|
|
|
|
|
Le modèle des participants montre chaque colonne sur quatre personnes
|
|
|
|
|
|
inventées ; celui des objectifs de table porte une ligne par table de
|
|
|
|
|
|
l'événement, et par tour pour une table qui a des objectifs par tour, avec
|
|
|
|
|
|
deux objectifs d'exemple, « au moins une » et « toutes », sur des lignes
|
|
|
|
|
|
sans objectif — il en ajoute au besoin une par tour ; un événement dont
|
|
|
|
|
|
chaque table a déjà ses objectifs n'en reçoit aucun. Une table dont le
|
|
|
|
|
|
numéro est porté par une autre n'a que des lignes à remplir, et le modèle se
|
|
|
|
|
|
refuse quand chaque numéro est ainsi partagé, en menant à la section des
|
|
|
|
|
|
tables. Les deux s'importent tels quels sans aucun refus. Le modèle n'écrit
|
|
|
|
|
|
rien dans l'événement et reste disponible en lecture.
|
|
|
|
|
|
- Dans un fichier d'objectifs, une ligne sans objectif ni règle est une ligne à
|
|
|
|
|
|
remplir : l'import la passe sans la refuser, et l'objectif de sa table reste
|
|
|
|
|
|
en mise à jour.
|
[IMP] about panel: publisher and author, displayed version only
The About panel now names the publisher, TechnoLibre Inc., and the author,
Mathieu Benoit, developer, designer and maintainer of the software, above
the copyable block. The block carries the displayed version alone: the
Windows form (2026.1005.1.0) was a second number for the same release that
no changelog names, and the Windows guide points to the executable's file
name instead. Copy still takes the block only, never the credits.
Checked: node 5174, browser 1161, node-long 129; no capture changes.
--- FR ---
[IMP] panneau À propos : éditeur et auteur, version affichée seule
Le panneau « À propos » nomme l'éditeur, TechnoLibre Inc., et l'auteur,
Mathieu Benoit, développeur, concepteur et mainteneur du logiciel, au-dessus
du bloc à copier. Le bloc ne porte plus que la version affichée : la forme
Windows (2026.1005.1.0) était un second numéro de la même version qu'aucun
changelog ne nomme, et le guide Windows renvoie au nom de l'exécutable.
« Copier » n'emporte toujours que le bloc, jamais l'éditeur ni l'auteur.
Vérifié : node 5174, navigateur 1161, node-long 129 ; aucune capture.
Assisted-by: Claude Opus 5.5
2026-10-14 00:38:52 -04:00
|
|
|
|
- Le panneau « À propos » nomme l'éditeur, TechnoLibre Inc., et l'auteur,
|
|
|
|
|
|
Mathieu Benoit, développeur, concepteur et mainteneur du logiciel. Son bloc à
|
|
|
|
|
|
copier ne porte plus que la version affichée, sans sa forme Windows.
|
[IMP] package: keep only French and US English Chromium locales
The portable executable carried Chromium's translations of its own texts
in 55 languages, about 48 MB unpacked, none of which the interface reads:
it holds its own labels. electron-builder now keeps fr and en-US, the
latter being Chromium's fallback. The executable drops from 100.9 MB to
93.1 MB, 326 MB unpacked instead of 373 MB. The package test pins the
list, and the closed list of configuration keys now includes it.
Checked: a full build under podman, locales/ holds fr.pak and en-US.pak
only; node 5175.
--- FR ---
[IMP] paquet : ne garder que les langues de Chromium fr et en-US
L'exécutable portable embarquait les traductions des textes propres à
Chromium en 55 langues, environ 48 Mo décompressés, qu'aucune interface ne
lit : elle porte ses propres libellés. electron-builder ne garde plus que fr
et en-US, la langue de repli de Chromium. L'exécutable passe de 100,9 Mo à
93,1 Mo, 326 Mo décompressé au lieu de 373 Mo. L'épreuve du livrable fige la
liste, et la liste fermée des clés de la configuration l'inclut.
Vérifié : une construction complète sous podman, locales/ ne contient que
fr.pak et en-US.pak ; node 5175.
Assisted-by: Claude Opus 5.5
2026-10-14 00:52:27 -04:00
|
|
|
|
- L'exécutable pèse environ 8 Mo de moins : il ne garde que le français et
|
|
|
|
|
|
l'anglais parmi les traductions internes du navigateur qu'il embarque.
|
|
|
|
|
|
L'interface ne change pas.
|
[ADD] skeleton: Capacitor web app that shows its dated version
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
2026-10-05 13:13:13 -04:00
|
|
|
|
|
[UPD] spec: tags, table goals, goal modes, priority tiers, format 2
The specification now describes what the software does for tags, table
goals and their rules, the goals CSV, the three goal modes, priority
tiers with weights, the facilitator criterion and file format 2, each
sentence checked against the code; captures 02, 02b and 03 are described
by what their images show. The changelog's head section lists the step
and names format 2; the guide says the default order is one order among
others. A test brings the criteria registry to full branch coverage.
Checked: node 4595, navigateur 963, node-long 124; captures stable over
two republications; six coverage thresholds met.
--- FR ---
[UPD] spec : étiquettes, objectifs, modes, paliers pondérés, format 2
La spécification décrit désormais ce que fait le logiciel pour les
étiquettes, les objectifs des tables et leurs règles, le CSV d'objectifs,
les trois modes, les paliers pondérés, le critère des animateurs et le
format 2, chaque phrase recoupée avec le code ; les captures 02, 02b et 03
sont décrites par ce que montrent leurs images. La section de tête du
journal des changements nomme l'étape et le format 2 ; le guide dit que
l'ordre par défaut n'est qu'un ordre parmi d'autres. Une épreuve porte le
registre des critères à 100 % de branches.
Vérifié : node 4595, navigateur 963, longues 124 ; captures stables sur
deux republications ; six seuils de couverture tenus.
Assisted-by: Claude Opus 5.5
2026-10-11 22:42:50 -04:00
|
|
|
|
**Version de format des fichiers** : 2. Les étiquettes, les objectifs, leurs
|
|
|
|
|
|
règles, les cases nouvelles, le mode des objectifs et l'ordre des priorités
|
|
|
|
|
|
s'enregistrent dans des champs facultatifs, absents à leur défaut. Un fichier
|
|
|
|
|
|
de format 1, écrit par une version de développement, s'ouvre tel quel et se
|
|
|
|
|
|
convertit, son historique avec lui, au premier geste en écriture.
|
[IMP] quality page: tile floors, measured thresholds, spec integrated
A tile now writes the floor the diagnostic proves under its number, and says
when the measure reaches it, so an operator stops relaunching toward a value
no placement can beat; no floor is written outside the floors' domain. A
proved bar segment keeps its 6 px outline without pushing the bar past its
value. The matrix and label thresholds adopt their measured values (44
people, 168 px). The spec and the changelog describe the quality page as
the code builds it.
Checked: node 5130, browser 1146, long 128; captures stable on two passes.
--- FR ---
[IMP] page qualité : planchers des tuiles, seuils mesurés, spec intégrée
Une tuile écrit sous son chiffre le plancher que prouve le diagnostic, et dit
quand la mesure l'atteint : l'opérateur cesse de relancer vers une valeur
qu'aucun placement ne bat ; hors du domaine des planchers, rien ne s'écrit.
Un segment prouvé garde son contour de 6 px sans pousser la barre au-delà de
sa valeur. Les seuils de la matrice et des libellés prennent leurs valeurs
mesurées (44 personnes, 168 px). La spec et le journal des versions
décrivent la page de qualité telle que le code la construit.
Vérifié : node 5130, navigateur 1146, longues 128 ; captures stables, 2 passes.
Assisted-by: Claude Opus 5.5
2026-10-13 01:48:10 -04:00
|
|
|
|
La course de la recherche ne va ni dans le fichier de l'événement ni dans son
|
|
|
|
|
|
historique : elle a son propre fichier, `<nom>.gtt-courses.json`.
|
[ADD] skeleton: Capacitor web app that shows its dated version
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
2026-10-05 13:13:13 -04:00
|
|
|
|
|
|
|
|
|
|
**En remplaçant** : rien à faire, c'est la première version.
|