f4322850d6a6e6d69426c0202778ba18b4961b3d
Nouvelle Edge Function publique (aucun token requis — même modèle de confiance que l'upload, le slug n'est pas un secret) qui résout un slug via get_public_event puis renvoie les photos de get_event_photos avec des URLs signées. Déployée et testée en conditions réelles sur kevin-lecou-hub (slug inconnu -> 404, event sans photo -> 200 vide, event avec photo -> signed_url fonctionnelle), CORS vérifié. Front (src/galerie/) : remplace les données factices par un vrai fetch + sondage (polling 25s, pas de Supabase Realtime — le schéma photobooth reste volontairement jamais exposé, l'activer aurait demandé de rouvrir ce verrou RLS). Rotation des cartes figée par photo (pas de "tremblement" au rafraîchissement), seules les nouvelles photos jouent l'animation de chute. États chargement/erreur/vide ajoutés (absents de la maquette). Testé en réel : une photo uploadée apparaît bien sur le mur. Suppression des données de maquette (gallery-mock.js, mock-photos/).
photobooth-qr
Galerie photo événementielle par QR code : les invités d'un événement scannent un QR code, uploadent leurs photos depuis leur téléphone (sans compte, sans app), et l'organisateur récupère toutes les photos dans une galerie admin exportable en ZIP.
Objectif
- V1 : usage personnel (test grandeur nature sur mes propres événements).
- V2 / V3 : produit vendu à des clients (mariages, événementiel).
Stack
- Supabase — base de données Postgres + Storage.
- Front — HTML/CSS/JS léger, mobile-first, sans framework lourd.
- Pas d'app native, pas de compte invité.
Documentation
docs/cahier-des-charges.md— spécifications fonctionnelles.docs/architecture.md— schéma de flux général.docs/modele-donnees.md— schéma des tables Supabase.docs/rgpd.md— mention légale et politique de conservation.docs/decisions.md— journal des décisions actées.
Lancer en local
À compléter au fur et à mesure du développement.
# 1. Copier les variables d'environnement
cp .env.example .env
# puis remplir .env avec les vraies valeurs Supabase
# 2. Installer les dépendances (si un tooling est ajouté)
# npm install
# 3. Lancer le front en local
# (à définir : serveur statique simple, ex. npx serve src/)
Statut
Projet en phase de cadrage — structure et documentation en place, développement pas encore commencé.
Languages
JavaScript
25.8%
HTML
20.8%
CSS
20.5%
TypeScript
17.2%
PLpgSQL
15.7%