- _log_impression() ecrit chaque demande dans data/impressions.jsonl
(timestamp, photo, copies, format, succes, event_id, detail CUPS)
- Delai entre copies passe de 1s a 3s pour fiabiliser multi-copies Mitsubishi
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Reorganisation menu admin en 2 rubriques (General / Evenement)
- Destinations deplace dans Evenement
- Nouveau panneau Videos : upload par situation (montage, depannage, bourrage, rechargement)
- Nouveau panneau Surprise : photo/video affichee ~1s avant capture pour provoquer sourire
- Toggle rembobinage ruban Mitsubishi (StpiDecklist) pour economiser le ruban sur petits formats
- Historique email cloisonne par evenement
- Memoire projet consolidee dans memoire.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Le strip est généré en portrait 600x1800 par design. L'orientation
"paysage" configurée pour 10x15 le faisait pivoter, et rotation_180
l'inversait. Résultat : bandes imprimées à l'envers avec une seule
photo visible par bande après coupe.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- camera.py: fix fuite FD USB sur échec reconnexion (gp.Camera non libéré),
cleanup PTP session avant init, catch toutes exceptions preview/capture,
deconnecter() avec timeout thread + force del pour libérer le port USB
- main.py: thread preview anti-crash (outer try/except), reconnexion DSLR
même si preview actif, notification camera_erreur après échec capture,
intégration module éclairage (analyse luminosité visage via WS)
- printer.py: mode pellicule (-2up) ignoré par le cadre imposé événement
- eclairage.py: nouveau module analyse luminosité visage (Haar + HSV)
- camera.js: indicateur éclairage temps réel (score/100 + visages)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- impression.offsets_coupe_mm : {haut, bas, gauche, droite} compense la coupe asymétrique
- impression.rotation_180 : retourne l'image si le driver inverse le sens
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Les dimensions FORMATS sont en portrait — sans inversion, une photo paysage
était crop en portrait pour l'impression.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- CRUD evenements : creer, activer, editer, supprimer dans panneau admin
- Cadres specifiques par evenement (aucun/disponible/defaut/impose)
- Fix cadre paysage deformé : rotation auto si orientation ne correspond pas
- Photos non imprimees vont dans sous-dossier "non_imprimees" (USB/FTP)
au lieu d'etre ignorees ; booth recoit toujours toutes les photos
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
La PageSize CUPS w288h432-div2 declare la meme taille de page que w288h432
(confirme par le PPD Mitsubishi) : le K60 coupe la feuille pleine apres
impression, il ne duplique pas une image fournie a taille reduite. On envoyait
la bande seule (600x1800) sous cette PageSize, donc CUPS l'etirait pour
remplir la feuille 1200x1800 puis le K60 la coupait en 2 — d'ou la photo
etiree et coupee au lieu de 2 bandes identiques.
Ajoute aussi le miroir horizontal sur le preview live (selfie) et un flou de
chargement pendant le bref delai de remontee du miroir DSLR apres capture,
pour eviter l'impression d'image figee sur la photo precedente.
- Intégration selphy_print (backend CUPS dyesub Mitsubishi CP-K60DW-S)
- Formats impression : 15x20, 10x15, 10x15 2-strips avec cadre et orientation portrait/paysage
- Cadres d'impression par format (strip/10x15/15x20) : upload, sélection, aperçu live
- Cadres démo générés : pellicule noir/vintage/couleurs + bordures classique/doré/rose gold
- Écran de choix de cadre avant capture (clic direct, aperçu grand format)
- Filtres réduits à 3 (Couleur, N&B, Sépia) et appliqués sur tous les strips
- Port 80 via authbind, route /admin avec redirection auto depuis poste distant
- Autologin LightDM corrigé (pam-autologin-service)
- Bouton évacuer bourrage papier dans admin
- Fix : _gp_lock manquant dans Camera.__init__
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Backend FastAPI complet : camera gphoto2, filtres/overlays Pillow,
chroma key OpenCV, multi-shot/collage, GIF, impression CUPS, email SMTP,
QR code. Frontend web vanilla (HTML/CSS/JS) pour Chromium kiosk.
Menu admin cache (appui long coin ecran). Toutes les fonctionnalites
activables/desactivables. Scripts install + systemd pour RPi4.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>