Outil pour les rencontres réseautage de type d'événement table tournante. Gestion de l'attribution de siège avec plusieurs tours par table.
Find a file
Mathieu Benoit 079b158587 [ADD] bench: headless Chromium harness, statistics and make banc entry
Rendering thresholds must be measured in a real browser, apart from the
test series that guard behaviour. A separate Vitest project runs
scripts/banc/**/*.banc.js in headless Chromium at 1366 x 700, scale 1,
without frame-rate limit, CPU throttling set per run; the statistics module
gives medians and spreads over repeated samples. Outputs go to an ignored
folder. make banc and npm run banc name the entry; its orchestrator comes
with the bench measures.
Checked: red first; 3410 node tests green from the index; the bench project
runs its harness.

--- FR ---

[ADD] banc : harnais Chromium sans tête, statistiques, entrée make banc

Les seuils de rendu se mesurent dans un vrai navigateur, à part des séries
qui gardent le comportement. Un projet Vitest distinct joue
scripts/banc/**/*.banc.js dans Chromium sans tête à 1366 × 700, facteur 1,
sans limite d'images, le ralentissement du processeur réglé par lancement ;
le module de statistiques rend médianes et dispersions sur des mesures
répétées. Les sorties vont dans un dossier ignoré. make banc et npm run banc
nomment l'entrée ; son orchestrateur vient avec les mesures du banc.
Vérifié : rouge d'abord ; 3410 node verts depuis l'index ; le projet du
banc joue son harnais.

Assisted-by: Claude Opus 5.5
2026-10-09 13:03:37 -04:00
electron [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
exemples [ADD] demo: delivered event files, example CSVs, payload fingerprint 2026-10-06 17:03:15 -04:00
public [ADD] outputs: pdf-lib, Noto Sans, paper sizes, badge imposition 2026-10-09 04:49:18 -04:00
scripts [ADD] bench: headless Chromium harness, statistics and make banc entry 2026-10-09 13:03:37 -04:00
src [ADD] bench: versioned record format and its agreement with constants 2026-10-09 13:03:20 -04:00
test [ADD] badges: sheet model from the retained plan or a chosen proposal 2026-10-09 13:03:04 -04:00
.gitattributes [ADD] demo: delivered event files, example CSVs, payload fingerprint 2026-10-06 17:03:15 -04:00
.gitignore [ADD] bench: headless Chromium harness, statistics and make banc entry 2026-10-09 13:03:37 -04:00
.node-version [ADD] install: Node 26 and system packages, per family and under Nix 2026-10-06 05:52:05 -04:00
capacitor.config.json [ADD] skeleton: Capacitor web app that shows its dated version 2026-10-05 13:13:13 -04:00
CHANGELOG.md [ADD] skeleton: Capacitor web app that shows its dated version 2026-10-05 13:13:13 -04:00
electron-builder.config.cjs [ADD] electron: own shell, portable Windows exe built under podman 2026-10-05 13:13:32 -04:00
index.html [ADD] interface: application shell — banner, sections, theme, about 2026-10-07 07:22:05 -04:00
install.cmd [ADD] scripts: Windows install and run through PowerShell 5.1 2026-10-06 05:51:31 -04:00
install.sh [ADD] install: Node 26 and system packages, per family and under Nix 2026-10-06 05:52:05 -04:00
install_dev.cmd [ADD] scripts: Windows install and run through PowerShell 5.1 2026-10-06 05:51:31 -04:00
install_dev.sh [ADD] install: Node 26 and system packages, per family and under Nix 2026-10-06 05:52:05 -04:00
LICENSE [ADD] license: GNU AGPL v3 text, TechnoLibre copyright 2026-10-05 07:12:53 -04:00
Makefile [ADD] bench: headless Chromium harness, statistics and make banc entry 2026-10-09 13:03:37 -04:00
package-lock.json [ADD] outputs: pdf-lib, Noto Sans, paper sizes, badge imposition 2026-10-09 04:49:18 -04:00
package.json [ADD] bench: headless Chromium harness, statistics and make banc entry 2026-10-09 13:03:37 -04:00
README.md [ADD] outputs: pdf-lib, Noto Sans, paper sizes, badge imposition 2026-10-09 04:49:18 -04:00
run.cmd [ADD] scripts: Windows install and run through PowerShell 5.1 2026-10-06 05:51:31 -04:00
run.sh [ADD] run: make and ./run.sh, Electron start check, container matrix 2026-10-06 05:52:17 -04:00
spec.md [IMP] home: list shown at once, computed columns loaded per event 2026-10-08 17:07:31 -04:00
version.json [ADD] skeleton: Capacitor web app that shows its dated version 2026-10-05 13:13:13 -04:00
vite.config.js [ADD] outputs: pdf-lib, Noto Sans, paper sizes, badge imposition 2026-10-09 04:49:18 -04:00
vitest.banc.config.js [ADD] bench: headless Chromium harness, statistics and make banc entry 2026-10-09 13:03:37 -04:00
vitest.config.js [ADD] bench: headless Chromium harness, statistics and make banc entry 2026-10-09 13:03:37 -04:00

Gestion table tournante Libre

Logiciel hors ligne qui place les personnes d'un événement autour de tables et les fait tourner sur plusieurs tours, pour que chacune rencontre le plus de monde possible.

Installer et lancer

système installer lancer
Linux, macOS ./install.sh ./run.sh, ou make
Windows install.cmd run.cmd
NixOS ./install.sh ./run.sh ; make dans nix-shell scripts/installation/shell.nix

./install_dev.sh (sous Windows install_dev.cmd) installe en plus le Chromium des épreuves du navigateur, des polices et, sur amd64, podman, sous lequel se construit l'exécutable Windows.

L'installation pose les paquets du système qui manquent — apt, dnf, zypper ou pacman, par sudo —, puis Node de la majeure écrite dans .node-version, téléchargé de nodejs.org et vérifié contre sa somme, hors du dépôt : ~/.local/share/gestion_table_tournante_libre, sous Windows %LOCALAPPDATA%\gestion_table_tournante_libre. Node n'exige donc aucun droit d'administration. Sous NixOS, scripts/installation/shell.nix déclare Node, Electron et Chromium, d'un nixpkgs épinglé.

Systèmes éprouvés, en conteneurs, par make verifier_systemes : Ubuntu 24.04, 25.10 et 26.04, Debian 12 et 13 (Proxmox VE 9 en dérive), Fedora 41 à 44, AlmaLinux et Rocky Linux 9 et 10, openSUSE Leap 16.0 et Tumbleweed, Arch Linux, et Nix ; les scripts Windows sous pwsh.

./run.sh lance la coquille Electron sur une session graphique ; sans écran, ou là où Electron n'est pas publié (s390x, ppc64le), il sert l'application à un navigateur sur http://localhost:5173. ./run.sh --web et ./run.sh --electron forcent l'un ou l'autre.

Commandes

commande effet
make lance l'application, comme ./run.sh
make test série node : les fonctions pures, à chaque modification
make test_long épreuves lourdes, avant un commit
make test_navigateur épreuves de rendu dans Chromium, avant une livraison
make build construit la page dans www/
make windows construit l'exécutable Windows portable, sous podman, depuis Linux
make essai_demarrage lance la vraie coquille Electron, lit son titre et ferme
make help toutes les cibles

Chaque cible passe par le Node du projet. Les commandes npm d'origine restent valables avec un Node de la bonne majeure dans le PATH : npm test, npm run dev, npm run build.

L'exécutable porte la version datée du logiciel dans son nom, selon le gabarit gestion_table_tournante_libre_v<AAAA>_<MM>_<JJ>_<NN>.exe.

Licence

© 2026 TechnoLibre. GNU Affero General Public License, version 3 ou ultérieure ; texte complet dans LICENSE.

L'application embarque la police Noto Sans (Regular et Bold), sous la SIL Open Font License 1.1, sans nom de police réservé : elle sert à la planche de badges et à l'interface. Son texte est dans public/licences/NotoSans-OFL.txt, sa provenance dans src/polices/PROVENANCE. Les avis des paquets que la page incorpore — Svelte, pdf-lib, fontkit et ce qu'ils tirent — sont dans public/licences/TIERS.txt. Les deux fichiers voyagent avec la page, dans www/licences/.