Capture en parallele du compte a rebours : photo prise pendant le 3 2 1

This commit is contained in:
2026-04-09 11:21:19 +02:00
parent c31cab8dc0
commit a3c7d6e4e4

View File

@@ -114,39 +114,24 @@ async function lancerCapture() {
compteurEl.textContent = `Photo ${i + 1} / ${nbPhotos}`;
}
// Lancer la capture en parallele du compte a rebours
const promesseCapture = apiPost('/api/capturer').catch(() => null);
await compteARebours();
// Si la camera a signale une erreur pendant le compte a rebours, on arrete
const erreurVisible = !document.getElementById('preview-erreur-camera').classList.contains('cache');
if (erreurVisible) {
arreterPreview();
afficherErreurCapture('Appareil photo deconnecte', 'Reconnectez le DSLR et reessayez');
return;
}
arreterPreview();
await pause(300);
afficherFlash();
// Tenter la capture avec retry
let resultat = null;
// Attendre la capture (devrait deja etre terminee)
let resultat = await promesseCapture;
let erreurReseau = false;
for (let r = 0; r < 3; r++) {
try {
resultat = await apiPost('/api/capturer');
} catch (e) {
if (!resultat) {
erreurReseau = true;
await pause(500);
continue;
}
erreurReseau = false;
if (!resultat.erreur) break;
if (resultat.erreur === 'Limite de photos atteinte') {
} else if (resultat.erreur === 'Limite de photos atteinte') {
afficherErreurCapture('Limite de photos atteinte', 'La session est terminee');
return;
}
await pause(500);
}
if (erreurReseau) {
afficherErreurCapture('Erreur reseau', 'Le serveur ne repond pas — redemarrez le photobooth');