Bulletproof: messages novices, kiosk port auto, reset compteur, sync booth event_id

- Messages erreur camera/impression: texte novice ("Oups!", "Reessayez") au lieu de jargon technique
- kiosk-session.sh: lit le port depuis config.json (plus de http://localhost en dur), healthcheck /api/config, supprime git pull auto au boot
- Activer evenement: reset automatique du compteur photos
- Activer evenement: sync booth.event_id quand galerie live active
- Port par defaut backend: 80 → 8080

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-09-13 09:17:26 +02:00
parent 96464ccca1
commit f1299fd6a7
5 changed files with 41 additions and 23 deletions

View File

@@ -50,8 +50,8 @@ function afficherErreurPreview(visible) {
const el = document.getElementById('preview-erreur-camera');
if (!el) return;
if (visible) {
el.querySelector('p').textContent = 'Appareil photo deconnecte';
el.querySelector('span').textContent = 'Reconnexion en cours...';
el.querySelector('p').textContent = 'Un instant...';
el.querySelector('span').textContent = 'L\'appareil photo se reconnecte';
el.classList.remove('cache');
} else {
el.classList.add('cache');
@@ -194,7 +194,7 @@ wsOnMessage('camera_erreur', () => {
if (!captureEnCours) {
captureAbortee = true;
if (ecranActuel === 'capture') {
afficherErreurCapture('Appareil photo déconnecté', 'Reconnexion en cours...');
afficherErreurCapture('Un instant...', 'L\'appareil photo se prepare');
}
}
});
@@ -253,7 +253,7 @@ async function lancerCapture() {
try {
let statut = await apiGet('/api/camera/statut');
if ((!statut.connectee || statut.mode === 'erreur') && statut.reveil_en_cours) {
afficherStatut('Appareil photo en preparation...', 'succes');
afficherStatut('L\'appareil photo se prepare, un instant...', 'succes');
for (let att = 0; att < 30; att++) {
await pause(2000);
statut = await apiGet('/api/camera/statut');
@@ -263,12 +263,12 @@ async function lancerCapture() {
}
if (!statut.connectee || statut.mode === 'erreur') {
captureEnCours = false;
afficherErreurCapture('Appareil photo non disponible', 'Verifiez la connexion USB du DSLR');
afficherErreurCapture('Appareil photo indisponible', 'Reessayez dans quelques instants');
return;
}
} catch (e) {
captureEnCours = false;
afficherErreurCapture('Impossible de joindre le serveur', 'Verifiez que le photobooth est bien demarre');
afficherErreurCapture('Le photobooth demarre', 'Reessayez dans quelques instants');
return;
}
@@ -304,7 +304,7 @@ async function lancerCapture() {
flash.classList.add('cache');
document.getElementById('capture-en-cours').classList.add('cache');
captureEnCours = false;
afficherErreurCapture('Erreur reseau', 'Le serveur ne repond pas — redemarrez le photobooth');
afficherErreurCapture('Oups !', 'La photo n\'a pas pu etre prise, reessayez');
return;
}
@@ -313,7 +313,7 @@ async function lancerCapture() {
document.getElementById('capture-en-cours').classList.add('cache');
captureEnCours = false;
const msg = resultat.erreur;
afficherErreurCapture('Echec de la capture', msg.includes('Echec') ? 'Verifiez le DSLR et reessayez' : msg);
afficherErreurCapture('Oups !', 'La photo n\'a pas pu etre prise, reessayez');
return;
}
@@ -447,7 +447,7 @@ let formatImpression = null; // Format CUPS à utiliser (ex: "10x15-2up")
async function traiterCapture() {
if (photosSession.length === 0) {
afficherErreurCapture('Aucune photo capturee', 'Une erreur inattendue s\'est produite');
afficherErreurCapture('Oups !', 'La photo n\'a pas pu etre prise, reessayez');
return;
}
@@ -461,7 +461,7 @@ async function traiterCapture() {
if (mode === 'strip') {
resultat = await apiPost('/api/strip', { photos: photosSession });
if (resultat.erreur) {
afficherErreurCapture('Erreur creation de la planche', resultat.erreur);
afficherErreurCapture('Oups !', 'La planche n\'a pas pu etre creee, reessayez');
return;
}
if (resultat.impression) photoImpression = resultat.impression;
@@ -469,12 +469,12 @@ async function traiterCapture() {
} else {
resultat = await apiPost('/api/collage', { photos: photosSession });
if (resultat.erreur) {
afficherErreurCapture('Erreur creation du collage', resultat.erreur);
afficherErreurCapture('Oups !', 'Le collage n\'a pas pu etre cree, reessayez');
return;
}
}
if (!resultat.nom) {
afficherErreurCapture('Erreur traitement des photos', 'Le fichier final n\'a pas ete genere');
afficherErreurCapture('Oups !', 'Un probleme est survenu, reessayez');
return;
}
photoFinale = resultat.nom;

View File

@@ -125,9 +125,9 @@ async function lancerImpression() {
} else if (resultat.succes) {
afficherStatut(`${nbExemplaires} exemplaire(s) envoye(s) a l'imprimante !`, 'succes');
} else if (resultat.erreur === 'evenement_termine') {
afficherStatut('Evenement termine — impression indisponible', 'erreur');
afficherStatut('L\'impression n\'est plus disponible pour cet evenement', 'erreur');
} else {
afficherStatut('Erreur d\'impression', 'erreur');
afficherStatut('L\'impression a rencontre un probleme, reessayez', 'erreur');
}
}
@@ -189,7 +189,7 @@ async function envoyerEmail() {
} else if (resultat.succes) {
afficherStatut('Email envoyé !', 'succes');
} else {
afficherStatut('Erreur d\'envoi email', 'erreur');
afficherStatut('L\'email n\'a pas pu etre envoye, reessayez', 'erreur');
}
}