- camera.py : désactiver LiveView avant capture (viewfinder=0) → miroir abaissé →
AF phase-détection Canon actif. Remplace _declencher_af_liveview (autofocusdrive=1
pouvait bloquer sur certains corps Canon). activer_viewfinder() après la prise.
- main.py : fix bug global _preview_actif dans api_capturer (était variable locale,
le global restait True). Timeout asyncio 20s sur run_in_executor pour éviter freeze
permanent si capture bloque. Logs INFO avant/après capture.
- camera.js + index.html + style.css : spinner "Capture en cours..." entre le flash
et l'affichage du résultat. Cacher le spinner dans afficherErreurCapture aussi.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
La balise <img> avec height:100% ne se propage pas quand le parent est un
flex item positionné avec align-self:center au lieu de stretch. Le fix :
position:absolute top:0 left:0 width/height 100% sur .preview-live img.
Retiré aussi --remote-debugging-port=9222 (diagnostic temporaire).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Icône discrète coin bas-gauche, visible seulement si photostation installée
- Popup PIN (4 chiffres) avant lancement
- Backend : /api/photostation/disponible + /api/photostation/lancer
- kiosk-session.sh : Chromium attend le flag /tmp/photostation_running avant redémarrage
- Script install-photostation.sh pour déploiement sur la Surface
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 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>
- Endpoint /api/systeme/info : IPs par interface, hostname, uptime,
disque, RAM, temperature CPU, version Python, statut camera
- Onglet Infos dans le backoffice avec affichage visuel (barres, couleurs)
- Bouton Actualiser pour rafraichir les donnees en temps reel
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Verification etat camera AVANT le lancement (pas de DSLR = erreur immediate)
- Detection erreur camera PENDANT le compte a rebours (pas de capture aveugle)
- Capture : erreur reseau catchee, retry x3, message explicite si echec
- Limite de photos : message + detail au lieu de retour accueil silencieux
- Strip/collage : verification resultat, message si generation echoue
- traiterCapture : try/catch global, plus de retour accueil silencieux
- Overlay erreur : titre + detail lisible, 4s avant retour accueil
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Overlay semi-transparent sur le preview quand camera_erreur recue
- Timeout 3s : si aucune frame recue, affiche l'erreur automatiquement
- Disparait des que les frames reprennent (camera_ok ou nouvelle frame)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Logo SikaPics servi localement (/assets/logos/sikapics.png)
- QR code accueil agrandi a 180px
- Clavier AZERTY virtuel integre pour saisie email (tactile)
- Raccourcis @gmail, @hotmail, .com, .fr
- QR partage: affiche seulement si booth actif, lien vers galerie live
- Bouton QR visible si booth OU qr_code active
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Wizard: 6 etapes (nom, theme, modes, nb photos, partage, resume)
- Gros boutons tactiles, une question par ecran
- Parametres avances accessibles depuis le wizard
- Bouton "Mettre a jour l'affichage" dans Fonctions > Systeme
- Logo SikaPics dans le theme sikapics
- Menu admin reorganise: Materiel / Compteur / Destinations / Personnalisation / Evenement / Fonctions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- themes.css : variables et overrides par theme via data-theme
- SikaPics : palette rose/violet, fond clair, typo Montserrat/Dancing Script
- Selecteur de theme dans admin > Evenement
- Preview live du theme dans l'admin
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- booth/: serveur Node.js galerie photo live avec auth par code 4 chiffres
- Backend: envoi auto des photos vers booth, endpoint QR dynamique
- Frontend: code + QR booth sur ecran accueil, icone pellicule pour multi-shot
- Icones mode agrandies (5rem)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Camera: support webcam v4l2 via OpenCV en plus de gphoto2
- API: selection de source camera (webcam:0, gphoto2, etc.)
- CSS: boutons agrandis pour usage tactile (min 48px)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Apres la capture, si chroma key active, une barre de fonds
s'affiche avec des miniatures cliquables
- L'utilisateur choisit son fond parmi la liste
- Remplacement du fond vert en temps reel (OpenCV backend)
- Onglet "Fonds verts" dans le backoffice pour importer/supprimer
des images de fond
- Miniatures visuelles dans l'admin et sur l'ecran de preview
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Choix d'un media d'accueil dans les parametres Evenement
- GIF ou video (MP4/WebM) joue en boucle en fond d'ecran
- Import direct depuis le backoffice
- Si aucun media, l'animation cercle par defaut est affichee
- Le texte (nom evenement, instruction) reste par-dessus
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Upload de GIF/MP4/WebM comme animations de compte a rebours
- Checkboxes pour activer/desactiver chaque animation (CSS + custom)
- Si plusieurs actives, tirage aleatoire a chaque photo
- Preview dans le backoffice avec tirage aleatoire
- Suppression des animations custom importees
- Les animations custom se jouent en plein ecran avant la capture
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Boutons +/- pour choisir le nombre d'exemplaires (1 a copies_max)
- copies_max configurable dans le backoffice (defaut: 5)
- Backend limite les copies au max configure
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remplace l'appui long invisible par un petit engrenage discret
dans le coin bas-droit. Clic dessus ouvre un popup de saisie
de mot de passe (1234). Icone quasi invisible (15% opacite).
Co-Authored-By: Claude Opus 4.6 (1M context) <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>