Galerie live booth.copydev.fr + icones agrandies + pellicule
- 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>
This commit is contained in:
@@ -17,7 +17,7 @@ from backend.camera import camera
|
||||
from backend.gallery import lister_photos, compter_photos, supprimer_photo, vider_galerie
|
||||
from backend.effects import appliquer_filtre, appliquer_overlay, chroma_key, lister_overlays, lister_fonds, FILTRES
|
||||
from backend.collage import creer_strip, creer_collage, creer_impression_strip
|
||||
from backend.destinations import distribuer_photo, detecter_usb, compteur_restant, reset_compteur
|
||||
from backend.destinations import distribuer_photo, detecter_usb, compteur_restant, reset_compteur, recuperer_booth_password
|
||||
from backend.printer import lister_imprimantes, imprimer
|
||||
from backend.mailer import envoyer_photo
|
||||
from backend.qrcode_gen import generer_qr, qr_galerie
|
||||
@@ -243,6 +243,13 @@ async def api_imprimer(donnees: dict):
|
||||
return {"succes": ok}
|
||||
|
||||
|
||||
# --- API Booth (galerie live) ---
|
||||
|
||||
@app.get("/api/booth/info")
|
||||
async def api_booth_info():
|
||||
return recuperer_booth_password()
|
||||
|
||||
|
||||
# --- API Email ---
|
||||
|
||||
@app.post("/api/email")
|
||||
@@ -262,6 +269,21 @@ async def api_email(donnees: dict):
|
||||
|
||||
# --- API QR Code ---
|
||||
|
||||
@app.get("/api/qr")
|
||||
async def api_qr(url: str = ""):
|
||||
"""Genere un QR code pour une URL arbitraire."""
|
||||
if not url:
|
||||
return JSONResponse({"erreur": "URL requise"}, status_code=400)
|
||||
import qrcode
|
||||
import io
|
||||
qr = qrcode.make(url, box_size=6, border=2)
|
||||
buf = io.BytesIO()
|
||||
qr.save(buf, format="PNG")
|
||||
buf.seek(0)
|
||||
from fastapi.responses import StreamingResponse
|
||||
return StreamingResponse(buf, media_type="image/png")
|
||||
|
||||
|
||||
@app.get("/api/qr/galerie")
|
||||
async def api_qr_galerie():
|
||||
chemin = qr_galerie()
|
||||
|
||||
Reference in New Issue
Block a user