diff --git a/frontend/index.html b/frontend/index.html
index deab9b6..aeed0e8 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -1146,7 +1146,7 @@
-
+
diff --git a/frontend/js/camera.js b/frontend/js/camera.js
index 3975e3c..d4a1f2d 100644
--- a/frontend/js/camera.js
+++ b/frontend/js/camera.js
@@ -316,26 +316,25 @@ async function lancerCapture() {
const avecPreMessages = (i === 0);
await compteARebours(avecPreMessages);
- // Stopper le preview AVANT la surprise (evite un frame flou visible)
- arreterPreview();
-
// Surprise : seulement en photo simple (pas strip/multi)
- // La capture DSLR se lance pendant que l'image surprise est affichee
+ // S'affiche PAR-DESSUS le preview live (pas besoin de le stopper)
const aSurprise = (modeActuel === 'simple') && montrerSurprise();
- // Lancer la capture immediatement (le DSLR met ~1-2s a repondre)
+ // Lancer la capture DSLR pendant que la surprise est visible
const capturePromise = apiPost('/api/capturer').catch(() => null);
- // Laisser la surprise visible pendant que le DSLR capture
- if (aSurprise) await pause(800);
+ // Laisser la surprise visible le temps que le DSLR declenche
+ if (aSurprise) await pause(1000);
- // Flash blanc au moment ou le DSLR a eu le temps de declencher
+ // Flash blanc couvre tout (surprise + preview dessous)
const flash = document.getElementById('flash-blanc');
flash.classList.remove('cache');
flash.style.animation = 'none';
flash.offsetHeight;
flash.style.animation = '';
+ // Pendant que le flash couvre l'ecran, on nettoie derriere
+ arreterPreview();
if (aSurprise) { cacherSurprise(); prechargerSurprise(); }
let resultat = await capturePromise;