{"id":3024,"date":"2026-08-26T05:45:13","date_gmt":"2026-08-26T05:45:13","guid":{"rendered":"https:\/\/maroczain.com\/?page_id=3024"},"modified":"2026-08-26T06:49:30","modified_gmt":"2026-08-26T06:49:30","slug":"parcours-renforce-du-chef-de-cabine","status":"publish","type":"page","link":"https:\/\/maroczain.com\/en\/parcours-renforce-du-chef-de-cabine\/","title":{"rendered":"Parcours renforc\u00e9 du Chef de Cabine"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"683\" height=\"1024\" src=\"https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-23-aout-2026-20_55_26-1-683x1024.png\" alt=\"\" class=\"wp-image-5043\" srcset=\"https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-23-aout-2026-20_55_26-1-683x1024.png 683w, https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-23-aout-2026-20_55_26-1-200x300.png 200w, https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-23-aout-2026-20_55_26-1-8x12.png 8w, https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-23-aout-2026-20_55_26-1-600x900.png 600w, https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-23-aout-2026-20_55_26-1-768x1152.png 768w, https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-23-aout-2026-20_55_26-1.png 1024w\" sizes=\"(max-width: 683px) 100vw, 683px\" \/><\/figure>\n\n\n\n<!-- =========================================================\nMAROC ZAIN ACADEMY\nRENFORCEMENT FORMATION CHEF DE CABINE\nCOMPETENCES + ADAPTATIF + REMEDIATION + CAS CRITIQUES\n========================================================= -->\n\n<style>\n.mza-advanced{\n  --navy:#061f38;\n  --blue:#0d6fb8;\n  --gold:#d8b34f;\n  --green:#16845c;\n  --red:#c23b36;\n  --orange:#e68b28;\n  --purple:#6f42c1;\n  --light:#f4f7fb;\n  max-width:1280px;\n  margin:60px auto;\n  padding:20px;\n  font-family:Arial,Helvetica,sans-serif;\n}\n\n.mza-advanced h2,\n.mza-advanced h3{\n  color:var(--navy);\n}\n\n.mza-box{\n  background:white;\n  padding:24px;\n  border-radius:18px;\n  box-shadow:0 10px 30px rgba(0,0,0,.08);\n  margin-bottom:20px;\n}\n\n.mza-grid{\n  display:grid;\n  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));\n  gap:18px;\n}\n\n.mza-skill{\n  background:white;\n  border-radius:16px;\n  padding:20px;\n  box-shadow:0 8px 25px rgba(0,0,0,.06);\n  border-left:6px solid var(--blue);\n}\n\n.mza-skill strong{\n  display:block;\n  font-size:28px;\n  color:var(--blue);\n}\n\n.mza-bar{\n  height:14px;\n  background:#e4e9ef;\n  border-radius:20px;\n  overflow:hidden;\n  margin-top:10px;\n}\n\n.mza-bar > div{\n  height:100%;\n  width:0;\n  background:linear-gradient(90deg,var(--blue),var(--gold));\n  transition:.4s;\n}\n\n.mza-question{\n  margin-top:18px;\n}\n\n.mza-choice-adv{\n  display:block;\n  width:100%;\n  text-align:left;\n  padding:13px;\n  margin:8px 0;\n  border-radius:10px;\n  border:1px solid #d4dde7;\n  background:white;\n  cursor:pointer;\n}\n\n.mza-choice-adv:hover{\n  background:#eef6fd;\n}\n\n.mza-choice-adv.good{\n  background:#e7f7ef;\n  border-color:var(--green);\n}\n\n.mza-choice-adv.bad{\n  background:#fff0ef;\n  border-color:var(--red);\n}\n\n.mza-feedback-adv{\n  padding:15px;\n  margin-top:15px;\n  border-radius:10px;\n  background:#fff8e5;\n  border-left:5px solid var(--gold);\n}\n\n.mza-critical{\n  border-left:7px solid var(--red);\n}\n\n.mza-warning{\n  border-left:7px solid var(--orange);\n}\n\n.mza-purple{\n  border-left:7px solid var(--purple);\n}\n\n.mza-btn-adv{\n  border:none;\n  padding:12px 18px;\n  border-radius:9px;\n  cursor:pointer;\n  font-weight:bold;\n  margin:5px;\n}\n\n.mza-blue{background:var(--blue);color:white}\n.mza-gold{background:var(--gold);color:var(--navy)}\n.mza-red{background:var(--red);color:white}\n.mza-green{background:var(--green);color:white}\n\n.mza-remediation{\n  background:#eef5ff;\n  border-left:5px solid var(--blue);\n  padding:16px;\n  border-radius:10px;\n  margin-top:15px;\n}\n\n.mza-badge-adv{\n  display:inline-block;\n  padding:5px 10px;\n  border-radius:20px;\n  font-size:12px;\n  background:#e9f3fc;\n  color:var(--blue);\n  font-weight:bold;\n  margin:2px;\n}\n<\/style>\n\n<section class=\"mza-advanced\">\n\n<div class=\"mza-box\">\n  <h2>\ud83c\udfaf Parcours Renforc\u00e9 Chef de Cabine<\/h2>\n  <p>\n    Diagnostic \u2022 Leadership \u2022 CRM \u2022 S\u00fbret\u00e9 \u2022 S\u00e9curit\u00e9 \u2022 M\u00e9dical \u2022\n    Gestion d&rsquo;\u00e9quipage \u2022 Cas critiques \u2022 Rem\u00e9diation automatique\n  <\/p>\n<\/div>\n\n<div class=\"mza-grid\">\n\n  <div class=\"mza-skill\">\n    <span>Leadership<\/span>\n    <strong id=\"skillLeadership\">0%<\/strong>\n    <div class=\"mza-bar\"><div id=\"barLeadership\"><\/div><\/div>\n  <\/div>\n\n  <div class=\"mza-skill\">\n    <span>CRM<\/span>\n    <strong id=\"skillCRM\">0%<\/strong>\n    <div class=\"mza-bar\"><div id=\"barCRM\"><\/div><\/div>\n  <\/div>\n\n  <div class=\"mza-skill\">\n    <span>S\u00e9curit\u00e9<\/span>\n    <strong id=\"skillSafety\">0%<\/strong>\n    <div class=\"mza-bar\"><div id=\"barSafety\"><\/div><\/div>\n  <\/div>\n\n  <div class=\"mza-skill\">\n    <span>S\u00fbret\u00e9<\/span>\n    <strong id=\"skillSecurity\">0%<\/strong>\n    <div class=\"mza-bar\"><div id=\"barSecurity\"><\/div><\/div>\n  <\/div>\n\n  <div class=\"mza-skill\">\n    <span>M\u00e9dical<\/span>\n    <strong id=\"skillMedical\">0%<\/strong>\n    <div class=\"mza-bar\"><div id=\"barMedical\"><\/div><\/div>\n  <\/div>\n\n  <div class=\"mza-skill\">\n    <span>Gestion \u00e9quipage<\/span>\n    <strong id=\"skillCrew\">0%<\/strong>\n    <div class=\"mza-bar\"><div id=\"barCrew\"><\/div><\/div>\n  <\/div>\n\n<\/div>\n\n<hr style=\"margin:50px 0\">\n\n<div class=\"mza-box mza-purple\">\n  <h2>\ud83e\udde0 Diagnostic initial automatique<\/h2>\n  <p>\n    Le syst\u00e8me identifie les comp\u00e9tences faibles et adapte ensuite les exercices.\n  <\/p>\n\n  <button class=\"mza-btn-adv mza-blue\" onclick=\"mzaStartDiagnostic()\">\n    Lancer le diagnostic\n  <\/button>\n\n  <div id=\"diagnosticArea\"><\/div>\n<\/div>\n\n<div class=\"mza-box mza-critical\">\n  <h2>\ud83d\udea8 Cas critique \u2014 Fum\u00e9e en cabine<\/h2>\n\n  <p>\n    En croisi\u00e8re, un PNC signale une odeur de br\u00fbl\u00e9 et une l\u00e9g\u00e8re fum\u00e9e\n    dans le galley arri\u00e8re. Deux passagers commencent \u00e0 paniquer.\n  <\/p>\n\n  <div class=\"mza-question\">\n\n    <button class=\"mza-choice-adv\" onclick=\"mzaCriticalAnswer(0,this)\">\n      Continuer le service et attendre une confirmation.\n    <\/button>\n\n    <button class=\"mza-choice-adv\" onclick=\"mzaCriticalAnswer(1,this)\">\n      Faire \u00e9valuer imm\u00e9diatement la source, coordonner l&rsquo;\u00e9quipage et informer selon proc\u00e9dure.\n    <\/button>\n\n    <button class=\"mza-choice-adv\" onclick=\"mzaCriticalAnswer(2,this)\">\n      Demander aux passagers de rester calmes et attendre.\n    <\/button>\n\n    <button class=\"mza-choice-adv\" onclick=\"mzaCriticalAnswer(3,this)\">\n      Ouvrir imm\u00e9diatement tous les compartiments.\n    <\/button>\n\n    <div id=\"criticalFeedback\"><\/div>\n\n  <\/div>\n<\/div>\n\n<div class=\"mza-box mza-warning\">\n  <h2>\ud83d\udc65 CRM avanc\u00e9 \u2014 D\u00e9saccord \u00e9quipage<\/h2>\n\n  <p>\n    Un PNC exp\u00e9riment\u00e9 conteste devant l&rsquo;\u00e9quipe une d\u00e9cision que vous venez de prendre.\n  <\/p>\n\n  <div class=\"mza-question\">\n\n    <button class=\"mza-choice-adv\" onclick=\"mzaCRMAnswer(0,this)\">\n      Le rappeler \u00e0 l&rsquo;ordre devant tout le monde.\n    <\/button>\n\n    <button class=\"mza-choice-adv\" onclick=\"mzaCRMAnswer(1,this)\">\n      Recentrer imm\u00e9diatement sur la situation op\u00e9rationnelle, puis traiter le d\u00e9saccord \u00e0 froid.\n    <\/button>\n\n    <button class=\"mza-choice-adv\" onclick=\"mzaCRMAnswer(2,this)\">\n      Annuler syst\u00e9matiquement votre d\u00e9cision.\n    <\/button>\n\n    <button class=\"mza-choice-adv\" onclick=\"mzaCRMAnswer(3,this)\">\n      Ignorer compl\u00e8tement la remarque.\n    <\/button>\n\n    <div id=\"crmFeedback\"><\/div>\n\n  <\/div>\n<\/div>\n\n<div class=\"mza-box\">\n  <h2>\ud83e\ude7a M\u00e9dical \u2014 Malaise passager<\/h2>\n\n  <p>\n    Un passager pr\u00e9sente une faiblesse soudaine, transpire abondamment\n    et r\u00e9pond difficilement.\n  <\/p>\n\n  <div class=\"mza-question\">\n\n    <button class=\"mza-choice-adv\" onclick=\"mzaMedicalAnswer(0,this)\">\n      Lui donner imm\u00e9diatement un m\u00e9dicament.\n    <\/button>\n\n    <button class=\"mza-choice-adv\" onclick=\"mzaMedicalAnswer(1,this)\">\n      \u00c9valuer la situation selon la formation, mobiliser les ressources et coordonner l&rsquo;information.\n    <\/button>\n\n    <button class=\"mza-choice-adv\" onclick=\"mzaMedicalAnswer(2,this)\">\n      Le laisser dormir.\n    <\/button>\n\n    <button class=\"mza-choice-adv\" onclick=\"mzaMedicalAnswer(3,this)\">\n      Attendre automatiquement l&rsquo;atterrissage.\n    <\/button>\n\n    <div id=\"medicalFeedback\"><\/div>\n\n  <\/div>\n<\/div>\n\n<hr style=\"margin:50px 0\">\n\n<div class=\"mza-box\">\n  <h2>\ud83d\udcda Rem\u00e9diation automatique<\/h2>\n\n  <p>\n    Les domaines inf\u00e9rieurs \u00e0 70% g\u00e9n\u00e8rent automatiquement des exercices cibl\u00e9s.\n  <\/p>\n\n  <div id=\"remediationArea\">\n    Aucun diagnostic r\u00e9alis\u00e9.\n  <\/div>\n\n<\/div>\n\n<div class=\"mza-box\">\n  <h2>\ud83c\udfc6 Niveau global<\/h2>\n\n  <p>\n    Niveau actuel :\n    <strong id=\"globalAdvancedLevel\">Non \u00e9valu\u00e9<\/strong>\n  <\/p>\n\n  <p>\n    Comp\u00e9tence prioritaire \u00e0 renforcer :\n    <strong id=\"weakestSkill\">&#8211;<\/strong>\n  <\/p>\n\n  <button class=\"mza-btn-adv mza-gold\" onclick=\"mzaGenerateRemediation()\">\n    G\u00e9n\u00e9rer mon parcours de renforcement\n  <\/button>\n\n<\/div>\n\n<\/section>\n\n<script>\n\n\/* =========================================================\nETAT COMPETENCES\n========================================================= *\/\n\nlet mzaSkills =\nJSON.parse(\n  localStorage.getItem(\"MZA_CDC_SKILLS\")\n) || {\n  leadership:{score:0,total:0},\n  crm:{score:0,total:0},\n  safety:{score:0,total:0},\n  security:{score:0,total:0},\n  medical:{score:0,total:0},\n  crew:{score:0,total:0}\n};\n\n\n\/* =========================================================\nCALCUL\n========================================================= *\/\n\nfunction mzaSkillPercent(skill){\n\n  const s = mzaSkills[skill];\n\n  if(!s.total) return 0;\n\n  return Math.round(\n    s.score \/ s.total * 100\n  );\n}\n\n\nfunction mzaRecordSkill(skill,correct){\n\n  mzaSkills[skill].total++;\n\n  if(correct){\n    mzaSkills[skill].score++;\n  }\n\n  localStorage.setItem(\n    \"MZA_CDC_SKILLS\",\n    JSON.stringify(mzaSkills)\n  );\n\n  mzaUpdateSkillBoard();\n\n}\n\n\n\/* =========================================================\nTABLEAU COMPETENCES\n========================================================= *\/\n\nfunction mzaUpdateSkillBoard(){\n\n  const map = {\n    leadership:[\"skillLeadership\",\"barLeadership\"],\n    crm:[\"skillCRM\",\"barCRM\"],\n    safety:[\"skillSafety\",\"barSafety\"],\n    security:[\"skillSecurity\",\"barSecurity\"],\n    medical:[\"skillMedical\",\"barMedical\"],\n    crew:[\"skillCrew\",\"barCrew\"]\n  };\n\n  Object.keys(map).forEach(skill=>{\n\n    const percent = mzaSkillPercent(skill);\n\n    document.getElementById(\n      map[skill][0]\n    ).textContent = percent+\"%\";\n\n    document.getElementById(\n      map[skill][1]\n    ).style.width = percent+\"%\";\n\n  });\n\n  mzaUpdateAdvancedLevel();\n\n}\n\n\n\/* =========================================================\nNIVEAU GLOBAL\n========================================================= *\/\n\nfunction mzaUpdateAdvancedLevel(){\n\n  const scores = [\n    mzaSkillPercent(\"leadership\"),\n    mzaSkillPercent(\"crm\"),\n    mzaSkillPercent(\"safety\"),\n    mzaSkillPercent(\"security\"),\n    mzaSkillPercent(\"medical\"),\n    mzaSkillPercent(\"crew\")\n  ];\n\n  const evaluated =\n  scores.filter(v=>v>0);\n\n  const avg =\n  evaluated.length\n  ?\n  Math.round(\n    evaluated.reduce(\n      (a,b)=>a+b,0\n    ) \/\n    evaluated.length\n  )\n  :\n  0;\n\n  let level = \"Non \u00e9valu\u00e9\";\n\n  if(avg>=50) level=\"En progression\";\n  if(avg>=70) level=\"Op\u00e9rationnel\";\n  if(avg>=85) level=\"Confirm\u00e9\";\n  if(avg>=95) level=\"Expert\";\n\n  document.getElementById(\n    \"globalAdvancedLevel\"\n  ).textContent = level;\n\n\n  const skillNames = {\n    leadership:\"Leadership\",\n    crm:\"CRM\",\n    safety:\"S\u00e9curit\u00e9\",\n    security:\"S\u00fbret\u00e9\",\n    medical:\"M\u00e9dical\",\n    crew:\"Gestion \u00e9quipage\"\n  };\n\n  let weakest = null;\n  let weakestScore = 101;\n\n  Object.keys(skillNames).forEach(skill=>{\n\n    const score =\n    mzaSkillPercent(skill);\n\n    if(score < weakestScore){\n\n      weakestScore = score;\n      weakest = skill;\n\n    }\n\n  });\n\n\n  document.getElementById(\n    \"weakestSkill\"\n  ).textContent =\n  skillNames[weakest] +\n  \" (\" + weakestScore + \"%)\";\n\n}\n\n\n\/* =========================================================\nDIAGNOSTIC\n========================================================= *\/\n\nconst mzaDiagnosticQuestions = [\n\n{\nskill:\"leadership\",\nq:\"Un PNC h\u00e9site face \u00e0 une situation inhabituelle. Que faites-vous ?\",\nanswers:[\n\"Vous faites tout vous-m\u00eame\",\n\"Vous clarifiez la situation et d\u00e9l\u00e9guez avec contr\u00f4le\",\n\"Vous attendez\",\n\"Vous l'\u00e9cartez imm\u00e9diatement\"\n],\ncorrect:1\n},\n\n{\nskill:\"crm\",\nq:\"Une information critique est d\u00e9tenue par un membre junior. Que faut-il favoriser ?\",\nanswers:[\n\"Le silence hi\u00e9rarchique\",\n\"Le partage rapide et factuel\",\n\"Le report en fin de vol\",\n\"Une communication uniquement \u00e9crite\"\n],\ncorrect:1\n},\n\n{\nskill:\"safety\",\nq:\"Quelle priorit\u00e9 domine en situation op\u00e9rationnelle complexe ?\",\nanswers:[\n\"Le service\",\n\"La s\u00e9curit\u00e9\",\n\"Le confort VIP\",\n\"Le planning commercial\"\n],\ncorrect:1\n},\n\n{\nskill:\"security\",\nq:\"Un comportement inhabituel vous inqui\u00e8te. Quelle approche ?\",\nanswers:[\n\"Confronter imm\u00e9diatement\",\n\"Observer, \u00e9valuer et appliquer les proc\u00e9dures adapt\u00e9es\",\n\"Ignorer\",\n\"Informer les autres passagers\"\n],\ncorrect:1\n},\n\n{\nskill:\"medical\",\nq:\"Un passager fait un malaise. Le chef de cabine doit surtout :\",\nanswers:[\n\"Poser un diagnostic d\u00e9finitif\",\n\"Coordonner la r\u00e9ponse selon la formation et les proc\u00e9dures\",\n\"Donner un m\u00e9dicament\",\n\"Attendre\"\n],\ncorrect:1\n},\n\n{\nskill:\"crew\",\nq:\"Deux PNC sont en conflit en pleine charge de travail. Que faire ?\",\nanswers:[\n\"Les laisser r\u00e9gler cela\",\n\"Recentrer sur l'op\u00e9rationnel et traiter ensuite le conflit\",\n\"Choisir le plus ancien\",\n\"Les remplacer tous les deux\"\n],\ncorrect:1\n}\n\n];\n\n\nlet mzaDiagnosticIndex = 0;\n\n\nfunction mzaStartDiagnostic(){\n\n  mzaDiagnosticIndex = 0;\n\n  document.getElementById(\n    \"diagnosticArea\"\n  ).innerHTML = \"\";\n\n  mzaRenderDiagnostic();\n\n}\n\n\nfunction mzaRenderDiagnostic(){\n\n  if(\n    mzaDiagnosticIndex >=\n    mzaDiagnosticQuestions.length\n  ){\n\n    document.getElementById(\n      \"diagnosticArea\"\n    ).innerHTML = `\n      <div class=\"mza-feedback-adv\">\n      Diagnostic termin\u00e9.\n      Votre parcours de renforcement peut maintenant \u00eatre g\u00e9n\u00e9r\u00e9.\n      <\/div>\n    `;\n\n    mzaGenerateRemediation();\n\n    return;\n  }\n\n\n  const q =\n  mzaDiagnosticQuestions[\n    mzaDiagnosticIndex\n  ];\n\n\n  let html = `\n    <div class=\"mza-feedback-adv\">\n    <strong>\n    Question ${mzaDiagnosticIndex+1}\n    \/ ${mzaDiagnosticQuestions.length}\n    <\/strong>\n\n    <p>${q.q}<\/p>\n  `;\n\n\n  q.answers.forEach((a,i)=>{\n\n    html += `\n      <button\n      class=\"mza-choice-adv\"\n      onclick=\"mzaDiagnosticAnswer(${i},this)\">\n      ${String.fromCharCode(65+i)} \u2014 ${a}\n      <\/button>\n    `;\n\n  });\n\n\n  html += \"<\/div>\";\n\n\n  document.getElementById(\n    \"diagnosticArea\"\n  ).innerHTML = html;\n\n}\n\n\nfunction mzaDiagnosticAnswer(answer,button){\n\n  const q =\n  mzaDiagnosticQuestions[\n    mzaDiagnosticIndex\n  ];\n\n\n  const correct =\n  answer===q.correct;\n\n\n  mzaRecordSkill(\n    q.skill,\n    correct\n  );\n\n\n  if(correct){\n\n    button.classList.add(\"good\");\n\n  }else{\n\n    button.classList.add(\"bad\");\n\n  }\n\n\n  setTimeout(()=>{\n\n    mzaDiagnosticIndex++;\n    mzaRenderDiagnostic();\n\n  },350);\n\n}\n\n\n\/* =========================================================\nCAS CRITIQUE\n========================================================= *\/\n\nfunction mzaCriticalAnswer(answer,button){\n\n  const correct =\n  answer===1;\n\n  mzaRecordSkill(\n    \"safety\",\n    correct\n  );\n\n  const buttons =\n  button.parentElement\n  .querySelectorAll(\".mza-choice-adv\");\n\n  buttons.forEach(\n    b=>b.disabled=true\n  );\n\n\n  if(correct){\n\n    button.classList.add(\"good\");\n\n  }else{\n\n    button.classList.add(\"bad\");\n    buttons[1].classList.add(\"good\");\n\n  }\n\n\n  document.getElementById(\n    \"criticalFeedback\"\n  ).innerHTML = `\n\n  <div class=\"mza-feedback-adv\">\n\n  <strong>D\u00e9briefing :<\/strong>\n\n  <br><br>\n\n  Une suspicion de fum\u00e9e exige une \u00e9valuation rapide,\n  une coordination claire et l'application des proc\u00e9dures\n  de s\u00e9curit\u00e9 pr\u00e9vues.\n\n  <\/div>\n\n  `;\n\n}\n\n\n\/* =========================================================\nCRM\n========================================================= *\/\n\nfunction mzaCRMAnswer(answer,button){\n\n  const correct =\n  answer===1;\n\n  mzaRecordSkill(\n    \"crm\",\n    correct\n  );\n\n  const buttons =\n  button.parentElement\n  .querySelectorAll(\".mza-choice-adv\");\n\n  buttons.forEach(\n    b=>b.disabled=true\n  );\n\n\n  if(correct){\n\n    button.classList.add(\"good\");\n\n  }else{\n\n    button.classList.add(\"bad\");\n    buttons[1].classList.add(\"good\");\n\n  }\n\n\n  document.getElementById(\n    \"crmFeedback\"\n  ).innerHTML = `\n\n  <div class=\"mza-feedback-adv\">\n\n  <strong>D\u00e9briefing CRM :<\/strong>\n\n  <br><br>\n\n  Le chef de cabine doit prot\u00e9ger la mission imm\u00e9diate,\n  \u00e9viter une confrontation publique inutile et traiter\n  le d\u00e9saccord professionnel au moment appropri\u00e9.\n\n  <\/div>\n\n  `;\n\n}\n\n\n\/* =========================================================\nMEDICAL\n========================================================= *\/\n\nfunction mzaMedicalAnswer(answer,button){\n\n  const correct =\n  answer===1;\n\n  mzaRecordSkill(\n    \"medical\",\n    correct\n  );\n\n  const buttons =\n  button.parentElement\n  .querySelectorAll(\".mza-choice-adv\");\n\n  buttons.forEach(\n    b=>b.disabled=true\n  );\n\n\n  if(correct){\n\n    button.classList.add(\"good\");\n\n  }else{\n\n    button.classList.add(\"bad\");\n    buttons[1].classList.add(\"good\");\n\n  }\n\n\n  document.getElementById(\n    \"medicalFeedback\"\n  ).innerHTML = `\n\n  <div class=\"mza-feedback-adv\">\n\n  <strong>D\u00e9briefing m\u00e9dical :<\/strong>\n\n  <br><br>\n\n  Le r\u00f4le du chef de cabine est de coordonner,\n  d'appliquer les proc\u00e9dures et de mobiliser les ressources,\n  sans d\u00e9passer son niveau de formation.\n\n  <\/div>\n\n  `;\n\n}\n\n\n\/* =========================================================\nREMEDIATION\n========================================================= *\/\n\nfunction mzaGenerateRemediation(){\n\n  const names = {\n    leadership:\"Leadership\",\n    crm:\"CRM\",\n    safety:\"S\u00e9curit\u00e9\",\n    security:\"S\u00fbret\u00e9\",\n    medical:\"M\u00e9dical\",\n    crew:\"Gestion \u00e9quipage\"\n  };\n\n\n  const lessons = {\n\n    leadership:\n    \"Refaire 10 cas de d\u00e9l\u00e9gation, priorisation et commandement sous pression.\",\n\n    crm:\n    \"Travailler partage d'information, assertivit\u00e9, conscience de situation et communication cockpit-cabine.\",\n\n    safety:\n    \"Renforcer proc\u00e9dures de s\u00e9curit\u00e9, phases critiques, turbulence, feu et pr\u00e9paration cabine.\",\n\n    security:\n    \"Revoir comportements suspects, passagers indisciplin\u00e9s, escalade et communication confidentielle.\",\n\n    medical:\n    \"Refaire les sc\u00e9narios malaise, perte de connaissance, coordination m\u00e9dicale et surveillance passager.\",\n\n    crew:\n    \"Renforcer gestion des conflits, fatigue, briefing, r\u00e9partition des r\u00f4les et d\u00e9briefing.\"\n\n  };\n\n\n  let weak = [];\n\n\n  Object.keys(names)\n  .forEach(skill=>{\n\n    const score =\n    mzaSkillPercent(skill);\n\n\n    if(score < 70){\n\n      weak.push({\n\n        skill:skill,\n        score:score\n\n      });\n\n    }\n\n  });\n\n\n  const area =\n  document.getElementById(\n    \"remediationArea\"\n  );\n\n\n  if(!weak.length){\n\n    area.innerHTML = `\n      <div class=\"mza-remediation\">\n      <strong>Tr\u00e8s bon niveau.<\/strong><br>\n      Aucun domaine n'est actuellement sous le seuil de 70%.\n      <\/div>\n    `;\n\n    return;\n\n  }\n\n\n  let html = \"\";\n\n\n  weak\n  .sort((a,b)=>a.score-b.score)\n  .forEach(w=>{\n\n    html += `\n\n    <div class=\"mza-remediation\">\n\n    <span class=\"mza-badge-adv\">\n    ${names[w.skill]}\n    <\/span>\n\n    <strong>\n    Score : ${w.score}%\n    <\/strong>\n\n    <p>\n    ${lessons[w.skill]}\n    <\/p>\n\n    <\/div>\n\n    `;\n\n  });\n\n\n  area.innerHTML = html;\n\n}\n\n\n\/* =========================================================\nINIT\n========================================================= *\/\n\nmzaUpdateSkillBoard();\n\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>\ud83c\udfaf Parcours Renforc\u00e9 Chef de Cabine Diagnostic \u2022 Leadership \u2022 CRM \u2022 S\u00fbret\u00e9 \u2022 S\u00e9curit\u00e9 \u2022 M\u00e9dical \u2022 Gestion d&rsquo;\u00e9quipage \u2022 Cas critiques \u2022 Rem\u00e9diation automatique Leadership 0% CRM 0% S\u00e9curit\u00e9 0% S\u00fbret\u00e9 0% M\u00e9dical 0% Gestion \u00e9quipage 0% \ud83e\udde0 Diagnostic initial automatique Le syst\u00e8me identifie les comp\u00e9tences faibles et adapte ensuite les exercices. Lancer [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3024","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages\/3024","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/comments?post=3024"}],"version-history":[{"count":2,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages\/3024\/revisions"}],"predecessor-version":[{"id":5049,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages\/3024\/revisions\/5049"}],"wp:attachment":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/media?parent=3024"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}