{"id":3015,"date":"2026-08-21T16:34:50","date_gmt":"2026-08-21T16:34:50","guid":{"rendered":"https:\/\/maroczain.com\/?page_id=3015"},"modified":"2026-08-25T10:14:18","modified_gmt":"2026-08-25T10:14:18","slug":"1000000-qcm-chef-de-cabine","status":"publish","type":"page","link":"https:\/\/maroczain.com\/en\/1000000-qcm-chef-de-cabine\/","title":{"rendered":"1000000 QCM 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-21-aout-2026-18_52_20-683x1024.png\" alt=\"\" class=\"wp-image-4825\" srcset=\"https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-21-aout-2026-18_52_20-683x1024.png 683w, https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-21-aout-2026-18_52_20-8x12.png 8w, https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-21-aout-2026-18_52_20-200x300.png 200w, https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-21-aout-2026-18_52_20-768x1152.png 768w, https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-21-aout-2026-18_52_20-600x900.png 600w, https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-21-aout-2026-18_52_20.png 1024w\" sizes=\"(max-width: 683px) 100vw, 683px\" \/><\/figure>\n\n\n\n<!DOCTYPE html>\n<html lang=\"fr\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n\n<title>1 000 000 QCM Chef de Cabine | Maroc Zain Academy<\/title>\n\n<style>\n:root{\n  --navy:#08213d;\n  --blue:#1168a9;\n  --gold:#d8b34f;\n  --green:#17845b;\n  --red:#c43e36;\n  --orange:#e98a27;\n  --light:#f4f7fb;\n  --white:#ffffff;\n  --grey:#667085;\n}\n\n*{box-sizing:border-box}\n\nbody{\n  margin:0;\n  font-family:Arial,Helvetica,sans-serif;\n  background:var(--light);\n  color:#172033;\n}\n\nheader{\n  background:linear-gradient(135deg,var(--navy),var(--blue));\n  color:white;\n  padding:75px 25px;\n  text-align:center;\n}\n\nheader h1{\n  font-size:54px;\n  margin:0 0 10px;\n}\n\nheader h2{\n  color:var(--gold);\n  font-size:30px;\n}\n\n.container{\n  max-width:1250px;\n  margin:auto;\n  padding:50px 20px;\n}\n\n.stats{\n  display:grid;\n  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));\n  gap:16px;\n  margin-bottom:30px;\n}\n\n.stat{\n  background:white;\n  padding:22px;\n  border-radius:16px;\n  text-align:center;\n  box-shadow:0 10px 30px rgba(0,0,0,.08);\n}\n\n.stat strong{\n  display:block;\n  font-size:32px;\n  color:var(--blue);\n}\n\n.toolbar{\n  background:white;\n  padding:18px;\n  border-radius:15px;\n  display:flex;\n  gap:10px;\n  flex-wrap:wrap;\n  margin-bottom:25px;\n}\n\n.toolbar select,\n.toolbar input{\n  padding:12px;\n  border:1px solid #ccd5df;\n  border-radius:8px;\n  flex:1;\n  min-width:170px;\n}\n\n.btn{\n  padding:12px 18px;\n  border:none;\n  border-radius:8px;\n  cursor:pointer;\n  font-weight:bold;\n}\n\n.btn-blue{background:var(--blue);color:white}\n.btn-gold{background:var(--gold);color:var(--navy)}\n.btn-red{background:var(--red);color:white}\n\n.question{\n  background:white;\n  padding:25px;\n  border-radius:16px;\n  margin-bottom:18px;\n  box-shadow:0 10px 28px rgba(0,0,0,.07);\n  border-left:6px solid var(--blue);\n}\n\n.question h3{\n  color:var(--navy);\n}\n\n.tag{\n  display:inline-block;\n  padding:5px 10px;\n  margin:2px;\n  border-radius:20px;\n  background:#e8f3fc;\n  color:var(--blue);\n  font-size:12px;\n  font-weight:bold;\n}\n\n.answer{\n  display:block;\n  width:100%;\n  text-align:left;\n  padding:14px;\n  margin:8px 0;\n  border-radius:9px;\n  border:1px solid #d6dee7;\n  background:white;\n  cursor:pointer;\n}\n\n.answer:hover{\n  background:#eef6fd;\n}\n\n.answer.good{\n  background:#e7f7ef;\n  border-color:var(--green);\n}\n\n.answer.bad{\n  background:#fff0ef;\n  border-color:var(--red);\n}\n\n.explanation{\n  background:#fff8e5;\n  border-left:5px solid var(--gold);\n  padding:15px;\n  border-radius:9px;\n  margin-top:15px;\n}\n\n.progress{\n  width:100%;\n  height:18px;\n  background:#dfe5ec;\n  border-radius:20px;\n  overflow:hidden;\n  margin:18px 0;\n}\n\n.progress-bar{\n  width:0%;\n  height:100%;\n  background:linear-gradient(90deg,var(--blue),var(--gold));\n}\n\n.pagination{\n  display:flex;\n  justify-content:center;\n  gap:10px;\n  align-items:center;\n  flex-wrap:wrap;\n  margin:35px 0;\n}\n\nfooter{\n  background:#02182c;\n  color:white;\n  text-align:center;\n  padding:40px 20px;\n}\n\n@media(max-width:700px){\n  header h1{font-size:38px}\n}\n<\/style>\n<\/head>\n\n<body>\n\n<header>\n<h1>1 000 000 QCM<\/h1>\n<h2>CHEF DE CABINE<\/h2>\n\n<p>\nLeadership cabine \u2022 S\u00e9curit\u00e9 \u2022 S\u00fbret\u00e9 \u2022 CRM \u2022 Urgences \u2022 Service \u2022 Management\n<\/p>\n\n<p>\nMAROC ZAIN ACADEMY\n<\/p>\n<\/header>\n\n\n<div class=\"container\">\n\n<div class=\"stats\">\n\n<div class=\"stat\">\n<strong>1 000 000<\/strong>\nQCM disponibles\n<\/div>\n\n<div class=\"stat\">\n<strong id=\"score\">0<\/strong>\nPoints\n<\/div>\n\n<div class=\"stat\">\n<strong id=\"answered\">0<\/strong>\nR\u00e9ponses\n<\/div>\n\n<div class=\"stat\">\n<strong id=\"correct\">0<\/strong>\nCorrectes\n<\/div>\n\n<div class=\"stat\">\n<strong id=\"accuracy\">0%<\/strong>\nR\u00e9ussite\n<\/div>\n\n<div class=\"stat\">\n<strong id=\"rank\">Junior<\/strong>\nNiveau\n<\/div>\n\n<\/div>\n\n<div class=\"progress\">\n<div class=\"progress-bar\" id=\"progressBar\"><\/div>\n<\/div>\n\n\n<div class=\"toolbar\">\n\n<select id=\"category\" onchange=\"resetPage()\">\n<option value=\"all\">Toutes les mati\u00e8res<\/option>\n<option value=\"leadership\">Leadership cabine<\/option>\n<option value=\"crm\">CRM<\/option>\n<option value=\"security\">S\u00fbret\u00e9<\/option>\n<option value=\"safety\">S\u00e9curit\u00e9<\/option>\n<option value=\"emergency\">Urgences<\/option>\n<option value=\"medical\">M\u00e9dical<\/option>\n<option value=\"evacuation\">\u00c9vacuation<\/option>\n<option value=\"fire\">Feu \/ fum\u00e9e<\/option>\n<option value=\"turbulence\">Turbulence<\/option>\n<option value=\"passengers\">Passagers difficiles<\/option>\n<option value=\"vulnerable\">Passagers vuln\u00e9rables<\/option>\n<option value=\"service\">Service \u00e0 bord<\/option>\n<option value=\"crew\">Gestion \u00e9quipage<\/option>\n<option value=\"communication\">Communication<\/option>\n<option value=\"cockpit\">Coordination cockpit<\/option>\n<option value=\"briefing\">Briefing<\/option>\n<option value=\"fatigue\">Fatigue<\/option>\n<option value=\"decision\">Prise de d\u00e9cision<\/option>\n<option value=\"crisis\">Gestion de crise<\/option>\n<\/select>\n\n\n<select id=\"level\" onchange=\"resetPage()\">\n<option value=\"all\">Tous niveaux<\/option>\n<option value=\"D\u00e9butant\">D\u00e9butant<\/option>\n<option value=\"Op\u00e9rationnel\">Op\u00e9rationnel<\/option>\n<option value=\"Confirm\u00e9\">Confirm\u00e9<\/option>\n<option value=\"Expert\">Expert<\/option>\n<option value=\"Commandement\">Commandement<\/option>\n<\/select>\n\n\n<select id=\"pageSize\" onchange=\"changePageSize()\">\n<option value=\"10\">10 questions<\/option>\n<option value=\"20\" selected>20 questions<\/option>\n<option value=\"50\">50 questions<\/option>\n<option value=\"100\">100 questions<\/option>\n<\/select>\n\n\n<input\ntype=\"number\"\nid=\"jumpQuestion\"\nmin=\"1\"\nmax=\"1000000\"\nplaceholder=\"Question n\u00b0\">\n\n\n<button class=\"btn btn-blue\" onclick=\"jumpToQuestion()\">\nAller\n<\/button>\n\n<button class=\"btn btn-gold\" onclick=\"randomQuestions()\">\nAl\u00e9atoire\n<\/button>\n\n<\/div>\n\n\n<div id=\"questions\"><\/div>\n\n\n<div class=\"pagination\">\n\n<button class=\"btn btn-blue\" onclick=\"previousPage()\">\n\u2190 Pr\u00e9c\u00e9dent\n<\/button>\n\n<strong id=\"pageInfo\"><\/strong>\n\n<button class=\"btn btn-blue\" onclick=\"nextPage()\">\nSuivant \u2192\n<\/button>\n\n<\/div>\n\n\n<button class=\"btn btn-red\" onclick=\"resetProgress()\">\nR\u00e9initialiser la progression\n<\/button>\n\n<\/div>\n\n\n<footer>\n<h2>MAROC ZAIN ACADEMY<\/h2>\n<p>Chef de Cabine Training Engine<\/p>\n<p>1 000 000 QCM \u2022 Simulation \u2022 Leadership \u2022 Certification<\/p>\n<\/footer>\n\n\n<script>\n\nconst TOTAL_QUESTIONS = 1000000;\n\nlet currentPage = 1;\nlet pageSize = 20;\n\n\n\/* ======================================================\nMATI\u00c8RES\n====================================================== *\/\n\nconst categories = [\n\n{id:\"leadership\",name:\"Leadership cabine\"},\n{id:\"crm\",name:\"Crew Resource Management\"},\n{id:\"security\",name:\"S\u00fbret\u00e9\"},\n{id:\"safety\",name:\"S\u00e9curit\u00e9 cabine\"},\n{id:\"emergency\",name:\"Urgences\"},\n{id:\"medical\",name:\"Urgences m\u00e9dicales\"},\n{id:\"evacuation\",name:\"\u00c9vacuation\"},\n{id:\"fire\",name:\"Feu et fum\u00e9e\"},\n{id:\"turbulence\",name:\"Turbulence\"},\n{id:\"passengers\",name:\"Passagers difficiles\"},\n{id:\"vulnerable\",name:\"Passagers vuln\u00e9rables\"},\n{id:\"service\",name:\"Service \u00e0 bord\"},\n{id:\"crew\",name:\"Gestion \u00e9quipage\"},\n{id:\"communication\",name:\"Communication\"},\n{id:\"cockpit\",name:\"Coordination cockpit-cabine\"},\n{id:\"briefing\",name:\"Briefing \u00e9quipage\"},\n{id:\"fatigue\",name:\"Fatigue\"},\n{id:\"decision\",name:\"Prise de d\u00e9cision\"},\n{id:\"crisis\",name:\"Gestion de crise\"}\n\n];\n\n\nconst levels = [\n\"D\u00e9butant\",\n\"Op\u00e9rationnel\",\n\"Confirm\u00e9\",\n\"Expert\",\n\"Commandement\"\n];\n\n\n\/* ======================================================\nCONTEXTES\n====================================================== *\/\n\nconst contexts = [\n\n\"Pendant l'embarquement, un membre d'\u00e9quipage signale une situation inhabituelle.\",\n\n\"Peu avant le d\u00e9collage, un passager refuse de suivre une consigne de s\u00e9curit\u00e9.\",\n\n\"En croisi\u00e8re, une forte turbulence survient sans pr\u00e9avis.\",\n\n\"Un membre d'\u00e9quipage semble h\u00e9siter sur la conduite \u00e0 tenir.\",\n\n\"Le commandant demande au chef de cabine un compte rendu rapide de la situation cabine.\",\n\n\"Un passager montre des signes de malaise pendant le vol.\",\n\n\"Une odeur inhabituelle est signal\u00e9e dans une zone de la cabine.\",\n\n\"Un conflit \u00e9clate entre deux passagers.\",\n\n\"Un passager vuln\u00e9rable n\u00e9cessite une attention particuli\u00e8re.\",\n\n\"Un membre d'\u00e9quipage montre des signes de fatigue importante.\",\n\n\"Le service est interrompu par une situation op\u00e9rationnelle impr\u00e9vue.\",\n\n\"Une anomalie est observ\u00e9e pendant la pr\u00e9paration cabine.\",\n\n\"Le chef de cabine doit arbitrer entre plusieurs priorit\u00e9s simultan\u00e9es.\",\n\n\"Un membre d'\u00e9quipage remet en question une d\u00e9cision prise par un coll\u00e8gue.\",\n\n\"Une situation exige une coordination rapide avec le cockpit.\",\n\n\"Un passager devient verbalement agressif.\",\n\n\"Une fum\u00e9e l\u00e9g\u00e8re est observ\u00e9e dans une zone de service.\",\n\n\"Une annonce urgente doit \u00eatre pr\u00e9par\u00e9e rapidement.\",\n\n\"Une \u00e9vacuation potentielle est envisag\u00e9e.\",\n\n\"L'\u00e9quipage doit g\u00e9rer une situation complexe avec peu d'informations disponibles.\",\n\n\"Le chef de cabine doit redistribuer les r\u00f4les apr\u00e8s l'indisponibilit\u00e9 d'un membre d'\u00e9quipage.\",\n\n\"Un passager refuse de respecter les instructions pendant une phase critique.\",\n\n\"Une famille voyage avec plusieurs enfants en bas \u00e2ge.\",\n\n\"Un passager demande une faveur incompatible avec les proc\u00e9dures applicables.\",\n\n\"Le chef de cabine constate une baisse de coordination entre les membres de l'\u00e9quipe.\"\n\n];\n\n\n\/* ======================================================\nBANQUE DE MOD\u00c8LES\n====================================================== *\/\n\nconst templates = [\n\n{\nq:\"Quel doit \u00eatre le premier r\u00e9flexe du chef de cabine ?\",\nanswers:[\n\"Agir seul imm\u00e9diatement\",\n\"\u00c9valuer la situation et recueillir les informations essentielles\",\n\"Attendre sans intervenir\",\n\"Demander au passager de d\u00e9cider\"\n],\ncorrect:1,\nexplain:\n\"Le chef de cabine doit d'abord construire une compr\u00e9hension fiable de la situation avant de coordonner l'action.\"\n},\n\n{\nq:\"Quel principe de leadership est le plus appropri\u00e9 ?\",\nanswers:[\n\"Centraliser toutes les actions sur une seule personne\",\n\"Distribuer clairement les r\u00f4les et v\u00e9rifier leur compr\u00e9hension\",\n\"Laisser chaque membre d\u00e9cider sans coordination\",\n\"\u00c9viter toute d\u00e9l\u00e9gation\"\n],\ncorrect:1,\nexplain:\n\"Le leadership efficace repose sur une r\u00e9partition claire des responsabilit\u00e9s, une communication structur\u00e9e et un contr\u00f4le adapt\u00e9.\"\n},\n\n{\nq:\"Dans une situation \u00e9volutive, quelle communication privil\u00e9gier ?\",\nanswers:[\n\"Longue et d\u00e9taill\u00e9e d\u00e8s le d\u00e9part\",\n\"Courte, claire, factuelle et structur\u00e9e\",\n\"Uniquement non verbale\",\n\"Reporter toute communication\"\n],\ncorrect:1,\nexplain:\n\"Dans les situations critiques, une communication concise et structur\u00e9e r\u00e9duit le risque d'incompr\u00e9hension.\"\n},\n\n{\nq:\"Que doit faire le chef de cabine lorsqu'un membre d'\u00e9quipage signale un risque ?\",\nanswers:[\n\"Ignorer l'information si elle para\u00eet mineure\",\n\"\u00c9couter, v\u00e9rifier et int\u00e9grer l'information dans l'\u00e9valuation de la situation\",\n\"R\u00e9primander imm\u00e9diatement le membre d'\u00e9quipage\",\n\"Attendre la fin du vol\"\n],\ncorrect:1,\nexplain:\n\"Le CRM encourage le partage d'informations pertinentes et la prise en compte des signaux faibles.\"\n},\n\n{\nq:\"Face \u00e0 un passager tr\u00e8s m\u00e9content, quelle approche est la plus professionnelle ?\",\nanswers:[\n\"R\u00e9pondre sur le m\u00eame ton\",\n\"\u00c9couter, reformuler, rappeler les r\u00e8gles et rechercher une solution appropri\u00e9e\",\n\"Promettre ce qui est demand\u00e9\",\n\"Ignorer syst\u00e9matiquement le passager\"\n],\ncorrect:1,\nexplain:\n\"Le chef de cabine doit combiner d\u00e9sescalade, \u00e9coute, fermet\u00e9 et respect des proc\u00e9dures.\"\n},\n\n{\nq:\"Quelle erreur doit absolument \u00eatre \u00e9vit\u00e9e lors d'une urgence ?\",\nanswers:[\n\"Confirmer les informations essentielles\",\n\"Donner des instructions contradictoires\",\n\"D\u00e9finir les r\u00f4les\",\n\"Informer le cockpit lorsque n\u00e9cessaire\"\n],\ncorrect:1,\nexplain:\n\"Des instructions contradictoires peuvent d\u00e9sorganiser l'\u00e9quipage et augmenter le risque.\"\n},\n\n{\nq:\"Pourquoi le briefing avant vol est-il essentiel ?\",\nanswers:[\n\"Seulement pour r\u00e9partir le service commercial\",\n\"Pour cr\u00e9er une compr\u00e9hension commune des r\u00f4les, risques et priorit\u00e9s\",\n\"Uniquement pour contr\u00f4ler les uniformes\",\n\"Il n'a pas d'importance op\u00e9rationnelle\"\n],\ncorrect:1,\nexplain:\n\"Le briefing pr\u00e9pare la coordination de l'\u00e9quipage et am\u00e9liore la r\u00e9ponse collective.\"\n},\n\n{\nq:\"Comment traiter une divergence entre deux membres d'\u00e9quipage pendant une situation op\u00e9rationnelle ?\",\nanswers:[\n\"Laisser le conflit se poursuivre devant les passagers\",\n\"Clarifier les faits, rappeler les priorit\u00e9s et prendre une d\u00e9cision structur\u00e9e\",\n\"Choisir syst\u00e9matiquement le plus ancien\",\n\"Reporter toute d\u00e9cision\"\n],\ncorrect:1,\nexplain:\n\"Le chef de cabine doit pr\u00e9server la coh\u00e9sion tout en assurant une d\u00e9cision adapt\u00e9e aux priorit\u00e9s op\u00e9rationnelles.\"\n},\n\n{\nq:\"Quel \u00e9l\u00e9ment est central dans le CRM ?\",\nanswers:[\n\"La comp\u00e9tition entre \u00e9quipiers\",\n\"La conscience de la situation\",\n\"L'absence de d\u00e9l\u00e9gation\",\n\"La communication minimale\"\n],\ncorrect:1,\nexplain:\n\"La conscience de la situation permet \u00e0 l'\u00e9quipage d'identifier les risques, anticiper l'\u00e9volution et prendre de meilleures d\u00e9cisions.\"\n},\n\n{\nq:\"En cas de surcharge de travail, que doit faire le chef de cabine ?\",\nanswers:[\n\"Tout faire personnellement\",\n\"Prioriser, d\u00e9l\u00e9guer et surveiller les t\u00e2ches critiques\",\n\"Reporter toutes les t\u00e2ches\",\n\"R\u00e9duire la communication\"\n],\ncorrect:1,\nexplain:\n\"La gestion de charge de travail est un \u00e9l\u00e9ment majeur du leadership et du CRM.\"\n},\n\n{\nq:\"Quelle est la meilleure approche lorsqu'une situation d\u00e9passe les comp\u00e9tences d'un membre d'\u00e9quipage ?\",\nanswers:[\n\"Le laisser continuer seul\",\n\"R\u00e9affecter ou renforcer les ressources disponibles\",\n\"Le critiquer devant les passagers\",\n\"Attendre qu'une erreur survienne\"\n],\ncorrect:1,\nexplain:\n\"Le chef de cabine doit adapter les ressources aux comp\u00e9tences et \u00e0 la situation.\"\n},\n\n{\nq:\"Un passager refuse une instruction de s\u00e9curit\u00e9. Que faut-il privil\u00e9gier ?\",\nanswers:[\n\"Abandonner imm\u00e9diatement la consigne\",\n\"Expliquer clairement l'instruction, maintenir une attitude ferme et appliquer les proc\u00e9dures d'escalade n\u00e9cessaires\",\n\"Entrer dans un conflit verbal\",\n\"Promettre un avantage commercial\"\n],\ncorrect:1,\nexplain:\n\"Les consignes de s\u00e9curit\u00e9 doivent rester claires, professionnelles et coh\u00e9rentes.\"\n},\n\n{\nq:\"Quelle qualit\u00e9 est essentielle pour un bon compte rendu au cockpit ?\",\nanswers:[\n\"\u00catre tr\u00e8s long\",\n\"\u00catre factuel, pr\u00e9cis et orient\u00e9 vers les informations utiles \u00e0 la d\u00e9cision\",\n\"Utiliser des hypoth\u00e8ses non v\u00e9rifi\u00e9es\",\n\"\u00c9viter de mentionner les incertitudes\"\n],\ncorrect:1,\nexplain:\n\"Le cockpit a besoin d'informations fiables, pertinentes et rapidement exploitables.\"\n},\n\n{\nq:\"Lorsqu'une situation se d\u00e9t\u00e9riore rapidement, que doit faire le chef de cabine ?\",\nanswers:[\n\"Conserver exactement le plan initial\",\n\"R\u00e9\u00e9valuer r\u00e9guli\u00e8rement la situation et adapter le plan\",\n\"Attendre une instruction externe pour toute action\",\n\"\u00c9viter toute communication\"\n],\ncorrect:1,\nexplain:\n\"La r\u00e9\u00e9valuation dynamique est essentielle lorsque les conditions \u00e9voluent.\"\n},\n\n{\nq:\"Quel comportement am\u00e9liore le plus la coh\u00e9sion de l'\u00e9quipage ?\",\nanswers:[\n\"Les reproches publics\",\n\"Des consignes claires, du feedback et une communication respectueuse\",\n\"L'absence de briefing\",\n\"La comp\u00e9tition entre membres\"\n],\ncorrect:1,\nexplain:\n\"La coh\u00e9sion repose sur la confiance, la clart\u00e9 et la coordination.\"\n},\n\n{\nq:\"Pourquoi faut-il surveiller les signes de fatigue dans l'\u00e9quipage ?\",\nanswers:[\n\"Uniquement pour le confort\",\n\"Parce que la fatigue peut affecter vigilance, communication et prise de d\u00e9cision\",\n\"Uniquement pour \u00e9viter les plaintes\",\n\"Elle n'affecte pas les performances\"\n],\ncorrect:1,\nexplain:\n\"La fatigue peut d\u00e9grader plusieurs capacit\u00e9s essentielles \u00e0 la s\u00e9curit\u00e9 et \u00e0 la coordination.\"\n},\n\n{\nq:\"Dans une situation m\u00e9dicale, quel r\u00f4le joue principalement le chef de cabine ?\",\nanswers:[\n\"Poser un diagnostic m\u00e9dical d\u00e9finitif\",\n\"Coordonner les ressources, appliquer les proc\u00e9dures et assurer la communication n\u00e9cessaire\",\n\"Administrer tout traitement demand\u00e9 par le passager\",\n\"D\u00e9cider seul de toutes les suites\"\n],\ncorrect:1,\nexplain:\n\"Le chef de cabine coordonne la r\u00e9ponse selon la formation, les proc\u00e9dures et les ressources disponibles.\"\n},\n\n{\nq:\"Pendant une \u00e9vacuation, quelle qualit\u00e9 de commandement est essentielle ?\",\nanswers:[\n\"Des instructions h\u00e9sitantes\",\n\"Des ordres clairs, audibles et adapt\u00e9s \u00e0 la situation\",\n\"Une communication uniquement individuelle\",\n\"Une n\u00e9gociation avec chaque passager\"\n],\ncorrect:1,\nexplain:\n\"Une \u00e9vacuation exige une communication simple, ferme et imm\u00e9diatement compr\u00e9hensible.\"\n},\n\n{\nq:\"Face \u00e0 une odeur de fum\u00e9e, quelle approche est correcte ?\",\nanswers:[\n\"L'ignorer si aucune flamme n'est visible\",\n\"\u00c9valuer rapidement, rechercher la source selon les proc\u00e9dures et coordonner l'information\",\n\"Attendre la fin du service\",\n\"Ouvrir tous les compartiments sans \u00e9valuation\"\n],\ncorrect:1,\nexplain:\n\"Les signaux li\u00e9s \u00e0 la fum\u00e9e ou au feu n\u00e9cessitent une r\u00e9ponse structur\u00e9e et rapide.\"\n},\n\n{\nq:\"Quel principe doit guider la prise de d\u00e9cision du chef de cabine ?\",\nanswers:[\n\"Le confort avant tout\",\n\"La s\u00e9curit\u00e9, puis les priorit\u00e9s op\u00e9rationnelles et le service\",\n\"La rapidit\u00e9 uniquement\",\n\"La satisfaction du passager le plus exigeant\"\n],\ncorrect:1,\nexplain:\n\"La hi\u00e9rarchie des priorit\u00e9s doit pr\u00e9server en premier lieu la s\u00e9curit\u00e9.\"\n}\n\n];\n\n\n\/* ======================================================\nG\u00c9N\u00c9RATEUR PSEUDO-AL\u00c9ATOIRE D\u00c9TERMINISTE\n====================================================== *\/\n\nfunction pseudoRandom(seed){\n\n  let x = Math.sin(seed * 9127.743) * 43758.5453;\n\n  return x - Math.floor(x);\n}\n\n\nfunction getQuestion(id){\n\n  const categoryIndex =\n  Math.floor(\n    pseudoRandom(id * 2.13) *\n    categories.length\n  );\n\n  const contextIndex =\n  Math.floor(\n    pseudoRandom(id * 7.91) *\n    contexts.length\n  );\n\n  const templateIndex =\n  Math.floor(\n    pseudoRandom(id * 13.77) *\n    templates.length\n  );\n\n  const levelIndex =\n  Math.min(\n    4,\n    Math.floor(\n      (id - 1) \/\n      (TOTAL_QUESTIONS \/ 5)\n    )\n  );\n\n  const template = templates[templateIndex];\n\n  return {\n\n    id:id,\n\n    category:\n    categories[categoryIndex],\n\n    level:\n    levels[levelIndex],\n\n    context:\n    contexts[contextIndex],\n\n    question:\n    template.q,\n\n    answers:[\n      ...template.answers\n    ],\n\n    correct:\n    template.correct,\n\n    explanation:\n    template.explain\n\n  };\n\n}\n\n\n\/* ======================================================\n\u00c9TAT APPRENANT\n====================================================== *\/\n\nlet state =\nJSON.parse(\n  localStorage.getItem(\n    \"MZA_CHEF_CABINE_1M\"\n  )\n) || {\n\n  score:0,\n  answered:0,\n  correct:0,\n  history:{}\n\n};\n\n\nfunction saveState(){\n\n  localStorage.setItem(\n    \"MZA_CHEF_CABINE_1M\",\n    JSON.stringify(state)\n  );\n\n  updateStats();\n}\n\n\nfunction updateStats(){\n\n  document.getElementById(\"score\")\n  .textContent =\n  state.score.toLocaleString(\"fr-FR\");\n\n\n  document.getElementById(\"answered\")\n  .textContent =\n  state.answered.toLocaleString(\"fr-FR\");\n\n\n  document.getElementById(\"correct\")\n  .textContent =\n  state.correct.toLocaleString(\"fr-FR\");\n\n\n  const accuracy =\n  state.answered\n  ?\n  Math.round(\n    state.correct \/\n    state.answered *\n    100\n  )\n  :\n  0;\n\n\n  document.getElementById(\"accuracy\")\n  .textContent =\n  accuracy + \"%\";\n\n\n  const progress =\n  Math.min(\n    100,\n    state.answered \/\n    TOTAL_QUESTIONS *\n    100\n  );\n\n\n  document.getElementById(\"progressBar\")\n  .style.width =\n  progress + \"%\";\n\n\n  let rank = \"Junior\";\n\n  if(state.score >= 5000)\n    rank = \"Op\u00e9rationnel\";\n\n  if(state.score >= 15000)\n    rank = \"Confirm\u00e9\";\n\n  if(state.score >= 30000)\n    rank = \"Expert\";\n\n  if(state.score >= 50000)\n    rank = \"Chef de Cabine Senior\";\n\n  if(state.score >= 100000)\n    rank = \"Commandement Cabine\";\n\n\n  document.getElementById(\"rank\")\n  .textContent =\n  rank;\n}\n\n\n\/* ======================================================\nAFFICHAGE\n====================================================== *\/\n\nfunction renderQuestions(){\n\n  const container =\n  document.getElementById(\"questions\");\n\n  container.innerHTML = \"\";\n\n\n  const categoryFilter =\n  document.getElementById(\"category\").value;\n\n\n  const levelFilter =\n  document.getElementById(\"level\").value;\n\n\n  let id =\n  (currentPage - 1) *\n  pageSize + 1;\n\n\n  let rendered = 0;\n\n  let safetyCounter = 0;\n\n\n  while(\n    rendered < pageSize &#038;&#038;\n    id <= TOTAL_QUESTIONS &#038;&#038;\n    safetyCounter < 10000\n  ){\n\n    safetyCounter++;\n\n    const q =\n    getQuestion(id);\n\n\n    const categoryOK =\n    categoryFilter === \"all\"\n    ||\n    q.category.id === categoryFilter;\n\n\n    const levelOK =\n    levelFilter === \"all\"\n    ||\n    q.level === levelFilter;\n\n\n    if(categoryOK &#038;&#038; levelOK){\n\n      renderQuestionCard(q);\n\n      rendered++;\n    }\n\n    id++;\n  }\n\n\n  const totalPages =\n  Math.ceil(\n    TOTAL_QUESTIONS \/\n    pageSize\n  );\n\n\n  document.getElementById(\"pageInfo\")\n  .textContent =\n  \"Page \" +\n  currentPage.toLocaleString(\"fr-FR\") +\n  \" \/ \" +\n  totalPages.toLocaleString(\"fr-FR\");\n\n}\n\n\nfunction renderQuestionCard(q){\n\n  const container =\n  document.getElementById(\"questions\");\n\n\n  const box =\n  document.createElement(\"div\");\n\n\n  box.className =\n  \"question\";\n\n\n  let answersHTML = \"\";\n\n\n  q.answers.forEach(\n    (answer,index)=>{\n\n      answersHTML += `\n\n      <button\n      class=\"answer\"\n      onclick=\"\n        answerQuestion(\n          ${q.id},\n          ${index},\n          this\n        )\n      \">\n\n      ${String.fromCharCode(65 + index)}\n      \u2014 ${answer}\n\n      <\/button>\n\n      `;\n\n    }\n  );\n\n\n  box.innerHTML = `\n\n  <span class=\"tag\">\n  QCM ${q.id.toLocaleString(\"fr-FR\")}\n  <\/span>\n\n  <span class=\"tag\">\n  ${q.category.name}\n  <\/span>\n\n  <span class=\"tag\">\n  ${q.level}\n  <\/span>\n\n  <h3>\n  ${q.context}\n  <\/h3>\n\n  <p>\n  <strong>\n  ${q.question}\n  <\/strong>\n  <\/p>\n\n  ${answersHTML}\n\n  <div id=\"explain-${q.id}\">\n  <\/div>\n\n  `;\n\n\n  container.appendChild(box);\n}\n\n\n\/* ======================================================\nCORRECTION\n====================================================== *\/\n\nfunction answerQuestion(\n  id,\n  answer,\n  button\n){\n\n  const q =\n  getQuestion(id);\n\n\n  const parent =\n  button.parentElement;\n\n\n  const buttons =\n  parent.querySelectorAll(\".answer\");\n\n\n  buttons.forEach(\n    b=>b.disabled=true\n  );\n\n\n  const firstAttempt =\n  !state.history[id];\n\n\n  if(answer === q.correct){\n\n    button.classList.add(\"good\");\n\n\n    if(firstAttempt){\n\n      state.score += 100;\n\n      state.correct++;\n    }\n\n  }\n\n  else{\n\n    button.classList.add(\"bad\");\n\n\n    buttons[\n      q.correct\n    ].classList.add(\"good\");\n\n\n    if(firstAttempt){\n\n      state.score += 10;\n    }\n\n  }\n\n\n  if(firstAttempt){\n\n    state.answered++;\n\n    state.history[id] =\n    answer === q.correct;\n  }\n\n\n  document.getElementById(\n    \"explain-\" + id\n  ).innerHTML = `\n\n  <div class=\"explanation\">\n\n  <strong>D\u00e9briefing Chef de Cabine :<\/strong>\n\n  <br><br>\n\n  ${q.explanation}\n\n  <\/div>\n\n  `;\n\n\n  saveState();\n}\n\n\n\/* ======================================================\nNAVIGATION\n====================================================== *\/\n\nfunction nextPage(){\n\n  const totalPages =\n  Math.ceil(\n    TOTAL_QUESTIONS \/\n    pageSize\n  );\n\n\n  if(currentPage < totalPages){\n\n    currentPage++;\n\n    renderQuestions();\n\n    window.scrollTo({\n      top:350,\n      behavior:\"smooth\"\n    });\n  }\n}\n\n\nfunction previousPage(){\n\n  if(currentPage > 1){\n\n    currentPage--;\n\n    renderQuestions();\n\n    window.scrollTo({\n      top:350,\n      behavior:\"smooth\"\n    });\n  }\n}\n\n\nfunction changePageSize(){\n\n  pageSize =\n  parseInt(\n    document.getElementById(\n      \"pageSize\"\n    ).value\n  );\n\n\n  currentPage = 1;\n\n  renderQuestions();\n}\n\n\nfunction resetPage(){\n\n  currentPage = 1;\n\n  renderQuestions();\n}\n\n\n\/* ======================================================\nALLER \u00c0 UNE QUESTION\n====================================================== *\/\n\nfunction jumpToQuestion(){\n\n  const id =\n  parseInt(\n    document.getElementById(\n      \"jumpQuestion\"\n    ).value\n  );\n\n\n  if(\n    !id ||\n    id < 1 ||\n    id > TOTAL_QUESTIONS\n  ){\n\n    alert(\n      \"Entrez un num\u00e9ro entre 1 et 1 000 000.\"\n    );\n\n    return;\n  }\n\n\n  currentPage =\n  Math.floor(\n    (id - 1) \/\n    pageSize\n  ) + 1;\n\n\n  renderQuestions();\n}\n\n\n\/* ======================================================\nQUESTIONS AL\u00c9ATOIRES\n====================================================== *\/\n\nfunction randomQuestions(){\n\n  const totalPages =\n  Math.ceil(\n    TOTAL_QUESTIONS \/\n    pageSize\n  );\n\n\n  currentPage =\n  Math.floor(\n    Math.random() *\n    totalPages\n  ) + 1;\n\n\n  renderQuestions();\n}\n\n\n\/* ======================================================\nRESET\n====================================================== *\/\n\nfunction resetProgress(){\n\n  if(\n    confirm(\n      \"R\u00e9initialiser toute la progression Chef de Cabine ?\"\n    )\n  ){\n\n    state = {\n      score:0,\n      answered:0,\n      correct:0,\n      history:{}\n    };\n\n\n    localStorage.removeItem(\n      \"MZA_CHEF_CABINE_1M\"\n    );\n\n\n    updateStats();\n\n    renderQuestions();\n  }\n}\n\n\n\/* ======================================================\nINITIALISATION\n====================================================== *\/\n\nupdateStats();\nrenderQuestions();\n\n<\/script>\n\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>1 000 000 QCM Chef de Cabine | Maroc Zain Academy 1 000 000 QCM CHEF DE CABINE Leadership cabine \u2022 S\u00e9curit\u00e9 \u2022 S\u00fbret\u00e9 \u2022 CRM \u2022 Urgences \u2022 Service \u2022 Management MAROC ZAIN ACADEMY 1 000 000 QCM disponibles 0 Points 0 R\u00e9ponses 0 Correctes 0% R\u00e9ussite Junior Niveau Toutes les mati\u00e8resLeadership cabineCRMS\u00fbret\u00e9S\u00e9curit\u00e9UrgencesM\u00e9dical\u00c9vacuationFeu \/ [&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-3015","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages\/3015","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=3015"}],"version-history":[{"count":4,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages\/3015\/revisions"}],"predecessor-version":[{"id":4828,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages\/3015\/revisions\/4828"}],"wp:attachment":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/media?parent=3015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}