Commit Graph
10 Commits
Author SHA1 Message Date
KevinLecou 73143f0ec2 Corrige un deuxième bug bloquant : chemins relatifs cassés sur /e/<slug> et /admin/<slug>
nginx réécrit /admin/<slug> et /e/<slug> vers le vrai index.html (try_files),
mais l'URL affichée au navigateur reste /admin/<slug> — les chemins relatifs
(style.css, config.js, gallery.js/upload.js) se résolvaient donc contre cette
URL "virtuelle" au lieu du vrai dossier, tombaient sur le fallback nginx et
recevaient du HTML au lieu du CSS/JS attendu. La galerie admin restait
bloquée sur "Chargement..." avec un style complètement cassé. Passage en
chemins absolus (/e/..., /admin/gallery/...) partout.

Signalé par Kévin après test réel sur /admin/demo-kevin.

Au passage : durcit la protection anti-double-soumission du formulaire
upload (garde-fou supplémentaire au niveau de l'event listener) et
remet à zéro photo/nom/message immédiatement après un envoi réussi.
2026-09-16 15:18:30 +02:00
KevinLecou 7c5a2d87b9 Corrige le MIME type des fichiers .mjs (bug bloquant en prod)
nginx:alpine ne connaît pas l'extension .mjs par défaut et la servait en
application/octet-stream — le navigateur refusait d'exécuter les modules
ES (browser-image-compression.mjs, qrcode-generator.mjs), ce qui plantait
silencieusement TOUT le JS qui les importe : page upload invité bloquée
sur "Chargement...", générateur QR et carton imprimable cassés depuis
leur déploiement. Aucune erreur visible sans ouvrir la console navigateur.

Découvert suite à un vrai test d'upload de Kévin depuis son téléphone.
2026-09-16 15:11:07 +02:00
KevinLecou 74718e42c9 Harmonise le générateur QR avec la palette/marque du reste du produit
Outil interne, pas vu par les clients, mais cohérence visuelle demandée
par Kévin — mêmes tokens couleur/rayon que src/e et src/admin/gallery.
2026-09-16 15:02:08 +02:00
KevinLecou a1e24d1aa8 Première passe de direction artistique (palette, marque, carton imprimable)
Palette affinée autour de l'accent brun/terracotta déjà en prod (continuité,
pas de rupture) : tokens de couleur/rayon/ombre partagés entre la page
upload et la galerie admin. Emoji remplacés par des icônes SVG inline
(rendu cohérent multi-OS). Bloc de marque discret en en-tête des deux
écrans invité/admin.

Nouveau : carton imprimable A5 (src/admin/print-template/) qui génère le
QR en direct via le module qrcode.js existant, prêt pour l'export PDF
navigateur.

Pas de police custom : stack système conservée pour rester sobre
(zéro poids réseau supplémentaire).
2026-09-16 13:19:44 +02:00
KevinLecou 9bc3464a2b Ajoute le subagent direction-artistique pour le futur chantier DA 2026-09-16 13:12:58 +02:00
KevinLecou 7afd3b6a18 Ajoute un accès direct à la galerie en plus de la caméra
Deux boutons séparés (deux inputs file) plutôt qu'un seul avec
capture=environment qui masquait l'option galerie — retour de Kévin
après test réel. État de sélection centralisé dans state.selectedFile.
2026-09-16 13:12:38 +02:00
KevinLecou 62a15ffe2d Ouvre directement l'appareil photo sur mobile (capture=environment)
Remplace le choix initial (laisser le choix caméra/galerie) suite à
retour explicite de Kévin après test réel sur le site en prod.
2026-09-16 13:09:52 +02:00
KevinLecou 2a9cdc4318 Déploie le front en production sur le VPS (photobooth.assistantaikev.eu)
Container nginx dédié, rattaché au réseau Docker de n8n pour réutiliser
Traefik/Let's Encrypt déjà en place. Config versionnée dans deploy/.
APP_BASE_URL configurée sur les Edge Functions pour le CORS. Testé en
conditions réelles : upload invité + galerie admin fonctionnels depuis
le domaine public.
2026-09-16 13:06:36 +02:00
KevinLecou 9b1461978b Ajoute la V1 fonctionnelle : upload invité, galerie admin, QR code, backend Supabase
Schéma dédié `photobooth` (jamais exposé via PostgREST, accès exclusivement
via fonctions SECURITY DEFINER dans public) avec RLS, policies Storage sur
bucket privé event-photos, Edge Functions admin-gallery et expire-events,
et job pg_cron d'expiration J+7. Le tout déployé et testé en conditions
réelles sur le projet Supabase kevin-lecou-hub avant relecture sécurité
(faille d'abus sur insert_public_photo corrigée en cours de route).

Côté front : page upload invité (compression + HEIC + RGPD), galerie admin
avec export ZIP, générateur de QR code autonome. Workflow n8n de purge
Storage J+7 fourni (à activer manuellement côté n8n).
2026-09-16 11:32:31 +02:00
KevinLecouandClaude Sonnet 5 2007eab006 Initialisation du projet photobooth-qr
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014akYEuf44fM6EiUvrmoBzS
2026-09-15 21:44:00 +02:00