(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+'

' +'
'+optsHtml+'
' +'
'+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

' +'
' +'
Correctes'+correct+'
' +'
Incorrectes'+wrong+'
' +'
Passées'+skipped+'
' +'
' +'
'; } 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+='
'+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+'

' +'
'+optsHtml+'
' +'
'+statusIcon+'

'+rq.exp+'

' +'
'; } 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(); })();