(function(){
var QUESTIONS=[
{id:1,cat:"Epilation",color:"#EC4899",q:"Quelle phase du cycle capillaire dure le plus longtemps ?",opts:["La phase catagene","La phase telogene","La phase anagene","La phase exogene"],a:2,exp:"La phase anagene est la phase de croissance active du poil. C'est la plus longue des trois phases du cycle capillaire."},
{id:2,cat:"Biologie cellulaire",color:"#8B5CF6",q:"Dans quelle couche de l'epiderme les cellules se divisent-elles ?",opts:["La couche cornee","La couche granuleuse","La couche epineuse","La couche basale (stratum basale)"],a:3,exp:"La division cellulaire (mitose) se produit dans la couche basale, aussi appelee couche germinative. C'est la couche la plus profonde de l'epiderme."},
{id:3,cat:"Hygiene & securite",color:"#3B82F6",q:"Quelle est la difference entre sterilisation et desinfection ?",opts:["La sterilisation utilise des produits chimiques, la desinfection utilise la chaleur","La desinfection elimine tous les micro-organismes, la sterilisation seulement la majorite","La sterilisation elimine tous les micro-organismes, la desinfection seulement la majorite","Il n'y a aucune difference entre les deux"],a:2,exp:"La sterilisation elimine TOUS les micro-organismes y compris les spores. La desinfection reduit le nombre de micro-organismes pathogenes a un niveau non dangereux."}
];
var LETTERS=["A","B","C","D"];
var current=0,selected=null,confirmed=false,answers=[],finished=false,reviewMode=false,reviewIndex=0;
function score(){return answers.reduce(function(acc,a){if(a.sel===null)return acc;return acc+(a.sel===a.ans?1:-1);},0);}
function esc(s){return s;}
function render(){
var root=document.getElementById("quiz-root");
if(finished&&reviewMode){root.innerHTML=buildReview();bindReview();return;}
if(finished){root.innerHTML=buildResults();bindResults();return;}
root.innerHTML=buildQuiz();bindQuiz();
}
function buildQuiz(){
var q=QUESTIONS[current];
var total=QUESTIONS.length;
var pct=Math.round((current/total)*100);
var sc=score();
var scColor=sc<0?"#f38ba8":"#a6e3a1";
var optsHtml="";
for(var i=0;i<q.opts.length;i++){
var cls="option";
if(!confirmed&&selected===i)cls+=" selected";
if(confirmed){cls+=" disabled";if(i===q.a)cls+=" correct";else if(selected===i&&i!==q.a)cls+=" wrong";}
optsHtml+=''
+''
+'
'+LETTERS[i]+''+q.opts[i]+'
';
}
var expShow=confirmed?"show":"";
var expColor=selected===q.a?"#a6e3a1":"#f38ba8";
var expIcon=selected===q.a?"Bonne reponse !":"Mauvaise reponse";
var btnLabel=current+1>=total?"Voir les resultats":"Question suivante";
var actionsHtml=confirmed?
'':
'';
return '✦Jury Central – Soins esthétiques – Es-tu prête ?
Score : '+(sc>0?"+":"")+sc+'
'+(current+1)+' / '+total+'
'
+''+q.cat+''
+''+q.q+'
' +'' +''+expIcon+'
'
+''+q.exp+'
'+actionsHtml+'
'
+'+1 pt bonne réponse · −1 pt mauvaise réponse · 0 pt sans réponse
'; } function bindQuiz(){ var opts=document.querySelectorAll("#quiz-root .option"); for(var i=0;i<opts.length;i++){ (function(el){el.addEventListener("click",function(){if(confirmed)return;selected=parseInt(el.getAttribute("data-i"));render();});})(opts[i]); } var btnC=document.getElementById("btn-confirm"); if(btnC)btnC.addEventListener("click",function(){if(selected===null)return;confirmed=true;answers.push({sel:selected,ans:QUESTIONS[current].a,q:QUESTIONS[current]});render();}); var btnS=document.getElementById("btn-skip"); if(btnS)btnS.addEventListener("click",function(){answers.push({sel:null,ans:QUESTIONS[current].a,q:QUESTIONS[current]});goNext();}); var btnN=document.getElementById("btn-next"); if(btnN)btnN.addEventListener("click",goNext); } function goNext(){confirmed=false;selected=null;if(current+1>=QUESTIONS.length){finished=true;}else{current++;}render();} function buildResults(){ var sc=score();var maxSc=QUESTIONS.length;var pct=Math.round((sc/maxSc)*100); var passed=sc>=maxSc*0.5;var verdictColor=passed?"#a6e3a1":"#f38ba8"; var correct=0,wrong=0,skipped=0; for(var i=0;i<answers.length;i++){if(answers[i].sel===null)skipped++;else if(answers[i].sel===answers[i].ans)correct++;else wrong++;} return 'Resultats finaux
'
+''+sc+' / '+maxSc+'
'
+''+(passed?"REUSSI":"ECHEC")+' — '+pct+'%
'
+'Bonne réponse = +1pt · Mauvaise = -1pt · Sans réponse = 0pt
' +''
+'
'
+'';
}
function bindResults(){
document.getElementById("btn-restart").addEventListener("click",function(){current=0;selected=null;confirmed=false;answers=[];finished=false;reviewMode=false;render();});
document.getElementById("btn-review").addEventListener("click",function(){reviewMode=true;reviewIndex=0;render();});
}
function buildReview(){
var ra=answers[reviewIndex];var rq=ra.q;var isCorrect=ra.sel===ra.ans;var isSkipped=ra.sel===null;
var optsHtml="";
for(var i=0;i<rq.opts.length;i++){
var cls="option disabled";if(i===rq.a)cls+=" correct";else if(!isSkipped&&i===ra.sel&&i!==rq.a)cls+=" wrong";
optsHtml+='✓Correctes'+correct+'
'
+'✗Incorrectes'+wrong+'
'
+'–Passées'+skipped+'
'
+''+LETTERS[i]+''+rq.opts[i]+'
';
}
var statusColor=isSkipped?"#89b4fa":(isCorrect?"#a6e3a1":"#f38ba8");
var statusIcon=isSkipped?"Passee":(isCorrect?"Correcte":"Incorrecte");
return 'Question '+(reviewIndex+1)+' / '+QUESTIONS.length+'
'
+''+rq.cat+''
+''+rq.q+'
' +'' +''+statusIcon+'
'
+'';
}
function bindReview(){
document.getElementById("btn-back").addEventListener("click",function(){reviewMode=false;render();});
var bp=document.getElementById("btn-prev");if(bp)bp.addEventListener("click",function(){if(reviewIndex>0){reviewIndex--;render();}});
var bn=document.getElementById("btn-rnext");if(bn)bn.addEventListener("click",function(){if(reviewIndex<QUESTIONS.length-1){reviewIndex++;render();}});
}
render();
})();
'+rq.exp+'