Application Web du bingo humain AE2V pour la soirée d’intégration du 17 septembre 2026, prévue pour https://bingo.ae2v.fr.
- interface joueur mobile-first : inscription, grille 4×4, scan QR, saisie manuelle, code tournant, règles, progression et résultats ;
- reprise réseau : App Shell en cache, validation conservée dans IndexedDB et renvoyée automatiquement ;
- premier bingo complet attribué dans une transaction PostgreSQL ;
- tirage pondéré par lignes/colonnes, nombre de gagnants et lots configurables ;
- interface admin mobile et bureau :
DÉMARRER,TERMINER,RESET, recherche, réinitialisation d’appareil, score de suspicion et tirage ; - affichage public limité aux prénoms, noms complets réservés à l’administration ;
- accès administrateur via le SSO Google Workspace AE2V, cookies de session
HttpOnly, limitation de débit, en-têtes de sécurité et audit des actions sensibles.
La direction visuelle et les captures de repérage sont dans docs/STRATEGIE_GRAPHIQUE.md.
Prérequis : Node 22+, Docker Desktop.
Double-cliquer sur lancer-local.bat. Le lanceur :
- démarre Docker Desktop si nécessaire ;
- démarre PostgreSQL et attend qu’il soit prêt ;
- crée
.envet installe les dépendances au premier lancement ; - applique les migrations et charge les 31 cases ;
- lance les serveurs puis ouvre automatiquement le navigateur.
docker compose up -d db
cp .env.example .env
npm install
npm run db:migrate
npm run db:seed
npm run dev- joueur :
http://localhost:5173 - admin :
http://localhost:5173/admin - administration :
http://localhost:5173/admin, puis connexion avec un compte autorisé dans le SSO ; configure les variablesSSO_*ci-dessous.
- Faire pointer l’enregistrement DNS
Adebingo.ae2v.frvers le serveur. - Copier
.env.production.examplevers.envet remplacer toutes les valeurs. - Démarrer la pile :
docker compose -f docker-compose.prod.yml up -d --buildCaddy obtient et renouvelle automatiquement le certificat TLS. Remplacez les secrets cryptographiques et configurez le client OIDC avant toute mise en production hors Vercel.
Variables SSO requises : SSO_ISSUER, SSO_CLIENT_ID, SSO_CLIENT_SECRET et ROLE_CLAIM_NAMESPACE. Le client doit autoriser l’URI de retour /api/admin/callback et attribuer le rôle admin à chaque administrateur du Bingo.
npm test
npm run build
npm audit --omit=dev
docker compose ps- Ouvrir
/admin, régler les lots et le nombre de gagnants. - Laisser les participants créer leur grille.
- Appuyer sur Démarrer pour autoriser les validations.
- À la fin, appuyer sur Terminer, puis Lancer le tirage.
- Utiliser Reset uniquement pour repartir de zéro ; la confirmation exacte
RESET BINGOest exigée.