{"id":3009,"date":"2026-08-21T16:32:47","date_gmt":"2026-08-21T16:32:47","guid":{"rendered":"https:\/\/maroczain.com\/?page_id=3009"},"modified":"2026-08-25T09:46:22","modified_gmt":"2026-08-25T09:46:22","slug":"1000000-qcm-bagages","status":"publish","type":"page","link":"https:\/\/maroczain.com\/en\/1000000-qcm-bagages\/","title":{"rendered":"1000000 QCM Bagages"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-25-aout-2026-10_45_04-1024x683.png\" alt=\"\" class=\"wp-image-4819\" srcset=\"https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-25-aout-2026-10_45_04-1024x683.png 1024w, https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-25-aout-2026-10_45_04-300x200.png 300w, https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-25-aout-2026-10_45_04-18x12.png 18w, https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-25-aout-2026-10_45_04-768x512.png 768w, https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-25-aout-2026-10_45_04-600x400.png 600w, https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-25-aout-2026-10_45_04-1320x880.png 1320w, https:\/\/maroczain.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-25-aout-2026-10_45_04.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/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 Bagages | Maroc Zain Academy<\/title>\n\n<style>\n:root{\n  --navy:#052b4d;\n  --blue:#0874c9;\n  --gold:#d9b451;\n  --green:#16875c;\n  --red:#c43d35;\n  --bg:#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(--bg);\n  color:#172033;\n}\n\nheader{\n  background:linear-gradient(135deg,var(--navy),var(--blue));\n  color:white;\n  padding:70px 25px;\n  text-align:center;\n}\n\nheader h1{\n  font-size:52px;\n  margin:0 0 15px;\n}\n\nheader p{\n  font-size:20px;\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(180px,1fr));\n  gap:15px;\n  margin-bottom:30px;\n}\n\n.stat{\n  background:white;\n  border-radius:15px;\n  padding:22px;\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  margin-bottom:25px;\n  display:flex;\n  flex-wrap:wrap;\n  gap:10px;\n}\n\n.toolbar select,\n.toolbar input{\n  padding:12px;\n  border:1px solid #ccd5df;\n  border-radius:8px;\n  min-width:170px;\n  flex:1;\n}\n\n.btn{\n  border:none;\n  border-radius:8px;\n  padding:12px 18px;\n  cursor:pointer;\n  font-weight:bold;\n}\n\n.btn-blue{\n  background:var(--blue);\n  color:white;\n}\n\n.btn-gold{\n  background:var(--gold);\n  color:#172033;\n}\n\n.btn-red{\n  background:var(--red);\n  color:white;\n}\n\n.question{\n  background:white;\n  padding:25px;\n  margin-bottom:18px;\n  border-radius:16px;\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  background:#e9f3fc;\n  color:var(--blue);\n  border-radius:20px;\n  font-size:12px;\n  font-weight:bold;\n}\n\n.answer{\n  display:block;\n  width:100%;\n  padding:13px;\n  margin:8px 0;\n  text-align:left;\n  border-radius:9px;\n  border:1px solid #d8e0e8;\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  margin-top:15px;\n  padding:15px;\n  background:#fff8e5;\n  border-left:5px solid var(--gold);\n  border-radius:8px;\n}\n\n.pagination{\n  display:flex;\n  justify-content:center;\n  gap:10px;\n  align-items:center;\n  margin:35px 0;\n  flex-wrap:wrap;\n}\n\n.progress{\n  width:100%;\n  height:18px;\n  background:#dfe5ec;\n  border-radius:20px;\n  overflow:hidden;\n  margin:15px 0;\n}\n\n.progress-bar{\n  height:100%;\n  width:0;\n  background:linear-gradient(90deg,var(--blue),var(--gold));\n}\n\nfooter{\n  background:#02182c;\n  color:white;\n  text-align:center;\n  padding:35px;\n}\n\n@media(max-width:700px){\n  header h1{\n    font-size:36px;\n  }\n}\n<\/style>\n<\/head>\n\n<body>\n\n<header>\n\n<h1>1 000 000 QCM<\/h1>\n\n<h2>R\u00e9clamations Bagages<\/h2>\n\n<p>\nMaroc Zain Academy \u2022 G\u00e9n\u00e9rateur massif de questions\n<\/p>\n\n<\/header>\n\n\n<div class=\"container\">\n\n\n<div class=\"stats\">\n\n<div class=\"stat\">\n<strong>1 000 000<\/strong>\nQuestions 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=\"correct\">0<\/strong>\nBonnes r\u00e9ponses\n<\/div>\n\n<div class=\"stat\">\n<strong id=\"answered\">0<\/strong>\nQuestions trait\u00e9es\n<\/div>\n\n<div class=\"stat\">\n<strong id=\"accuracy\">0%<\/strong>\nR\u00e9ussite\n<\/div>\n\n<\/div>\n\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=\"renderQuestions()\">\n\n<option value=\"all\">Toutes cat\u00e9gories<\/option>\n\n<option value=\"retard\">Bagage retard\u00e9<\/option>\n\n<option value=\"perte\">Bagage non retrouv\u00e9<\/option>\n\n<option value=\"dommage\">Bagage endommag\u00e9<\/option>\n\n<option value=\"spoliation\">Spoliation<\/option>\n\n<option value=\"identification\">Identification<\/option>\n\n<option value=\"livraison\">Livraison<\/option>\n\n<option value=\"relation\">Relation client<\/option>\n\n<option value=\"pmr\">PMR<\/option>\n\n<option value=\"vip\">VIP<\/option>\n\n<option value=\"groupe\">Groupes<\/option>\n\n<option value=\"transit\">Transit<\/option>\n\n<option value=\"supervision\">Supervision<\/option>\n\n<option value=\"crise\">Gestion de crise<\/option>\n\n<\/select>\n\n\n<select id=\"level\" onchange=\"renderQuestions()\">\n\n<option value=\"all\">Tous niveaux<\/option>\n\n<option value=\"D\u00e9butant\">D\u00e9butant<\/option>\n\n<option value=\"Op\u00e9rationnel\">Op\u00e9rationnel<\/option>\n\n<option value=\"Confirm\u00e9\">Confirm\u00e9<\/option>\n\n<option value=\"Expert\">Expert<\/option>\n\n<option value=\"Superviseur\">Superviseur<\/option>\n\n<\/select>\n\n\n<select id=\"pageSize\" onchange=\"changePageSize()\">\n\n<option value=\"10\">10 questions\/page<\/option>\n\n<option value=\"20\" selected>20 questions\/page<\/option>\n\n<option value=\"50\">50 questions\/page<\/option>\n\n<option value=\"100\">100 questions\/page<\/option>\n\n<\/select>\n\n\n<input\ntype=\"number\"\nid=\"jumpQuestion\"\nmin=\"1\"\nmax=\"1000000\"\nplaceholder=\"Aller \u00e0 la question n\u00b0\">\n\n\n<button\nclass=\"btn btn-blue\"\nonclick=\"jumpToQuestion()\">\nAller\n<\/button>\n\n\n<button\nclass=\"btn btn-gold\"\nonclick=\"randomPage()\">\nQuestions al\u00e9atoires\n<\/button>\n\n<\/div>\n\n\n<div id=\"questions\"><\/div>\n\n\n<div class=\"pagination\">\n\n<button\nclass=\"btn btn-blue\"\nonclick=\"previousPage()\">\n\u2190 Pr\u00e9c\u00e9dent\n<\/button>\n\n<strong id=\"pageInfo\"><\/strong>\n\n<button\nclass=\"btn btn-blue\"\nonclick=\"nextPage()\">\nSuivant \u2192\n<\/button>\n\n<\/div>\n\n\n<button\nclass=\"btn btn-red\"\nonclick=\"resetProgress()\">\nR\u00e9initialiser la progression\n<\/button>\n\n<\/div>\n\n\n<footer>\n\n<h2>MAROC ZAIN ACADEMY<\/h2>\n\n<p>\n1 000 000 QCM \u2022 Baggage Service Training Engine\n<\/p>\n\n<\/footer>\n\n\n<script>\n\n\/*\n=============================================================\nCONFIGURATION\n=============================================================\n*\/\n\nconst TOTAL_QUESTIONS = 1000000;\n\nlet pageSize = 20;\n\nlet currentPage = 1;\n\n\n\/*\n=============================================================\nBANQUE DE TH\u00c8MES\n=============================================================\n*\/\n\nconst categories = [\n\n{\nid:\"retard\",\nname:\"Bagage retard\u00e9\"\n},\n\n{\nid:\"perte\",\nname:\"Bagage non retrouv\u00e9\"\n},\n\n{\nid:\"dommage\",\nname:\"Bagage endommag\u00e9\"\n},\n\n{\nid:\"spoliation\",\nname:\"Spoliation\"\n},\n\n{\nid:\"identification\",\nname:\"Identification bagage\"\n},\n\n{\nid:\"livraison\",\nname:\"Livraison bagage\"\n},\n\n{\nid:\"relation\",\nname:\"Relation client\"\n},\n\n{\nid:\"pmr\",\nname:\"Passager PMR\"\n},\n\n{\nid:\"vip\",\nname:\"Client VIP\"\n},\n\n{\nid:\"groupe\",\nname:\"Gestion de groupe\"\n},\n\n{\nid:\"transit\",\nname:\"Transit\"\n},\n\n{\nid:\"supervision\",\nname:\"Supervision\"\n},\n\n{\nid:\"crise\",\nname:\"Gestion de crise\"\n}\n\n];\n\n\nconst levels=[\n\"D\u00e9butant\",\n\"Op\u00e9rationnel\",\n\"Confirm\u00e9\",\n\"Expert\",\n\"Superviseur\"\n];\n\n\n\/*\n=============================================================\nSC\u00c9NARIOS\n=============================================================\n*\/\n\nconst contexts=[\n\n\"Le passager arrive \u00e0 destination et constate l'absence de son bagage.\",\n\n\"Le client a effectu\u00e9 une correspondance courte.\",\n\n\"Le passager se pr\u00e9sente tr\u00e8s m\u00e9content au comptoir.\",\n\n\"Une famille voyage avec plusieurs bagages.\",\n\n\"Un client d'affaires doit participer \u00e0 une r\u00e9union importante.\",\n\n\"Le bagage semble avoir \u00e9t\u00e9 envoy\u00e9 vers une mauvaise destination.\",\n\n\"Une valise sans \u00e9tiquette est retrouv\u00e9e.\",\n\n\"Le passager affirme qu'un objet manque dans son bagage.\",\n\n\"Une d\u00e9t\u00e9rioration est constat\u00e9e \u00e0 la livraison.\",\n\n\"Un groupe important se pr\u00e9sente simultan\u00e9ment.\",\n\n\"Un passager vuln\u00e9rable signale un \u00e9quipement manquant.\",\n\n\"Le superviseur doit choisir quel dossier traiter en priorit\u00e9.\",\n\n\"Une perturbation importante a g\u00e9n\u00e9r\u00e9 plusieurs r\u00e9clamations.\",\n\n\"Un bagage est localis\u00e9 dans une escale interm\u00e9diaire.\",\n\n\"Une adresse de livraison semble incorrecte.\",\n\n\"Le passager poursuit son voyage dans moins de deux heures.\",\n\n\"Les informations fournies par le client sont incompl\u00e8tes.\",\n\n\"Plusieurs dossiers pr\u00e9sentent des anomalies similaires.\",\n\n\"Le bagage est retrouv\u00e9 mais n'a pas encore \u00e9t\u00e9 restitu\u00e9.\",\n\n\"Le client demande une indemnisation imm\u00e9diate.\"\n\n];\n\n\n\/*\n=============================================================\nQUESTIONS TYPES\n=============================================================\n*\/\n\nconst templates=[\n\n{\nquestion:\n\"Quelle est la premi\u00e8re action professionnelle \u00e0 entreprendre ?\",\n\nanswers:[\n\"Promettre une solution imm\u00e9diate\",\n\"V\u00e9rifier les informations disponibles\",\n\"Accuser le service pr\u00e9c\u00e9dent\",\n\"Cl\u00f4turer le dossier\"\n],\n\ncorrect:1,\n\nexplanation:\n\"Il faut d'abord v\u00e9rifier les faits et qualifier correctement le dossier.\"\n},\n\n{\nquestion:\n\"Quelle attitude de communication est la plus appropri\u00e9e ?\",\n\nanswers:[\n\"Faire une promesse pour rassurer\",\n\"Donner uniquement les informations confirm\u00e9es\",\n\"\u00c9viter de r\u00e9pondre\",\n\"Rejeter la responsabilit\u00e9 sur un autre service\"\n],\n\ncorrect:1,\n\nexplanation:\n\"La communication doit rester pr\u00e9cise, professionnelle et fond\u00e9e sur des \u00e9l\u00e9ments suffisamment confirm\u00e9s.\"\n},\n\n{\nquestion:\n\"Quand faut-il envisager une escalade au superviseur ?\",\n\nanswers:[\n\"Jamais\",\n\"Lorsque le dossier est sensible ou d\u00e9passe le niveau de d\u00e9cision de l'agent\",\n\"Uniquement apr\u00e8s plusieurs jours\",\n\"Uniquement pour les VIP\"\n],\n\ncorrect:1,\n\nexplanation:\n\"L'escalade d\u00e9pend du niveau de risque, de sensibilit\u00e9 et de responsabilit\u00e9 requis.\"\n},\n\n{\nquestion:\n\"Quelle est la bonne approche face \u00e0 une incoh\u00e9rence dans le dossier ?\",\n\nanswers:[\n\"Modifier les donn\u00e9es\",\n\"Accuser imm\u00e9diatement le passager\",\n\"Documenter l'incoh\u00e9rence et v\u00e9rifier\",\n\"Ignorer le probl\u00e8me\"\n],\n\ncorrect:2,\n\nexplanation:\n\"Une incoh\u00e9rence doit \u00eatre document\u00e9e et v\u00e9rifi\u00e9e avant toute conclusion.\"\n},\n\n{\nquestion:\n\"Pourquoi la tra\u00e7abilit\u00e9 du dossier est-elle importante ?\",\n\nanswers:[\n\"Uniquement pour produire des statistiques\",\n\"Pour assurer la continuit\u00e9 et la fiabilit\u00e9 du traitement\",\n\"Elle n'est pas n\u00e9cessaire\",\n\"Uniquement pour les dossiers VIP\"\n],\n\ncorrect:1,\n\nexplanation:\n\"La tra\u00e7abilit\u00e9 garantit un historique exploitable des informations et actions.\"\n},\n\n{\nquestion:\n\"Quelle erreur faut-il \u00e9viter ?\",\n\nanswers:[\n\"V\u00e9rifier le dossier\",\n\"Reformuler la demande du client\",\n\"Transformer une estimation en promesse\",\n\"Tracer les actions\"\n],\n\ncorrect:2,\n\nexplanation:\n\"Une estimation ne doit jamais \u00eatre pr\u00e9sent\u00e9e comme une garantie.\"\n},\n\n{\nquestion:\n\"Un bagage vient d'\u00eatre localis\u00e9. Quelle action est la plus logique ?\",\n\nanswers:[\n\"Fermer imm\u00e9diatement le dossier\",\n\"Organiser la suite du r\u00e9acheminement et actualiser le dossier\",\n\"Supprimer les informations pr\u00e9c\u00e9dentes\",\n\"Attendre sans action\"\n],\n\ncorrect:1,\n\nexplanation:\n\"La localisation ne suffit pas : il faut assurer la continuit\u00e9 jusqu'\u00e0 la restitution.\"\n},\n\n{\nquestion:\n\"Face \u00e0 un client tr\u00e8s m\u00e9content, quel r\u00e9flexe privil\u00e9gier ?\",\n\nanswers:[\n\"R\u00e9pondre sur le m\u00eame ton\",\n\"\u00c9couter, reformuler puis v\u00e9rifier\",\n\"Promettre une indemnisation\",\n\"Mettre imm\u00e9diatement fin \u00e0 l'\u00e9change\"\n],\n\ncorrect:1,\n\nexplanation:\n\"L'\u00e9coute, la reformulation et la v\u00e9rification permettent de reprendre professionnellement la situation.\"\n},\n\n{\nquestion:\n\"Quel principe doit guider la priorisation des dossiers ?\",\n\nanswers:[\n\"Uniquement l'ordre d'arriv\u00e9e\",\n\"Urgence, vuln\u00e9rabilit\u00e9, impact et contraintes op\u00e9rationnelles\",\n\"Uniquement le statut commercial\",\n\"Le dossier le plus simple\"\n],\n\ncorrect:1,\n\nexplanation:\n\"La priorisation professionnelle doit int\u00e9grer plusieurs crit\u00e8res objectifs.\"\n},\n\n{\nquestion:\n\"Quelle est la meilleure pratique avant de cl\u00f4turer un dossier ?\",\n\nanswers:[\n\"Cl\u00f4turer d\u00e8s que le bagage est localis\u00e9\",\n\"V\u00e9rifier que toutes les actions pr\u00e9vues sont termin\u00e9es\",\n\"Attendre syst\u00e9matiquement 30 jours\",\n\"Supprimer le dossier\"\n],\n\ncorrect:1,\n\nexplanation:\n\"La cl\u00f4ture intervient lorsque le traitement pr\u00e9vu est r\u00e9ellement termin\u00e9.\"\n}\n\n];\n\n\n\/*\n=============================================================\nG\u00c9N\u00c9RATEUR D\u00c9TERMINISTE\n=============================================================\n*\/\n\nfunction pseudoRandom(seed){\n\n  let x =\n  Math.sin(seed * 9999.123)\n  * 43758.5453;\n\n  return x - Math.floor(x);\n\n}\n\n\nfunction getQuestion(id){\n\n  let categoryIndex =\n  id % categories.length;\n\n  let levelIndex =\n  Math.floor(id \/ 200000)\n  % levels.length;\n\n  let contextIndex =\n  Math.floor(\n    pseudoRandom(id) * contexts.length\n  );\n\n  let templateIndex =\n  Math.floor(\n    pseudoRandom(id * 3.14159)\n    * templates.length\n  );\n\n  let category =\n  categories[categoryIndex];\n\n  let level =\n  levels[levelIndex];\n\n  let template =\n  templates[templateIndex];\n\n  return {\n\n    id:id,\n\n    category:category,\n\n    level:level,\n\n    context:\n    contexts[contextIndex],\n\n    question:\n    template.question,\n\n    answers:[\n      ...template.answers\n    ],\n\n    correct:\n    template.correct,\n\n    explanation:\n    template.explanation\n\n  };\n\n}\n\n\n\/*\n=============================================================\nPROGRESSION\n=============================================================\n*\/\n\nlet state =\nJSON.parse(\n  localStorage.getItem(\n    \"MZA_ONE_MILLION_QCM\"\n  )\n) || {\n\n  score:0,\n\n  correct:0,\n\n  answered:0,\n\n  history:{}\n\n};\n\n\nfunction saveState(){\n\n  localStorage.setItem(\n    \"MZA_ONE_MILLION_QCM\",\n    JSON.stringify(state)\n  );\n\n  updateStats();\n\n}\n\n\nfunction updateStats(){\n\n  document.getElementById(\n    \"score\"\n  ).textContent =\n  state.score;\n\n\n  document.getElementById(\n    \"correct\"\n  ).textContent =\n  state.correct;\n\n\n  document.getElementById(\n    \"answered\"\n  ).textContent =\n  state.answered;\n\n\n  let 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(\n    \"accuracy\"\n  ).textContent =\n  accuracy + \"%\";\n\n\n  let progress =\n  Math.min(\n    100,\n    (\n      state.answered \/\n      TOTAL_QUESTIONS\n    ) * 100\n  );\n\n\n  document.getElementById(\n    \"progressBar\"\n  ).style.width =\n  progress + \"%\";\n\n}\n\n\n\/*\n=============================================================\nAFFICHAGE\n=============================================================\n*\/\n\nfunction renderQuestions(){\n\n  let container =\n  document.getElementById(\n    \"questions\"\n  );\n\n\n  container.innerHTML = \"\";\n\n\n  let categoryFilter =\n  document.getElementById(\n    \"category\"\n  ).value;\n\n\n  let levelFilter =\n  document.getElementById(\n    \"level\"\n  ).value;\n\n\n  let start =\n  (currentPage - 1)\n  * pageSize + 1;\n\n\n  let rendered = 0;\n\n  let id = start;\n\n\n  while(\n    rendered < pageSize\n    &#038;&#038;\n    id <= TOTAL_QUESTIONS\n  ){\n\n    let q =\n    getQuestion(id);\n\n\n    let categoryOk =\n    categoryFilter === \"all\"\n    ||\n    q.category.id === categoryFilter;\n\n\n    let levelOk =\n    levelFilter === \"all\"\n    ||\n    q.level === levelFilter;\n\n\n    if(categoryOk &#038;&#038; levelOk){\n\n      renderQuestionCard(\n        q,\n        container\n      );\n\n      rendered++;\n\n    }\n\n    id++;\n\n  }\n\n\n  let totalPages =\n  Math.ceil(\n    TOTAL_QUESTIONS \/\n    pageSize\n  );\n\n\n  document.getElementById(\n    \"pageInfo\"\n  ).textContent =\n  \"Page \"\n  + currentPage\n  + \" \/ \"\n  + totalPages;\n\n}\n\n\n\/*\n=============================================================\nCARTE QUESTION\n=============================================================\n*\/\n\nfunction renderQuestionCard(\n  q,\n  container\n){\n\n  let box =\n  document.createElement(\n    \"div\"\n  );\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(\n      65 + index\n    )}\n\n    \u2014 ${answer}\n\n    <\/button>\n\n    `;\n\n  });\n\n\n  box.innerHTML = `\n\n  <span class=\"tag\">\n  Question ${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\n  id=\"explain-${q.id}\">\n  <\/div>\n\n  `;\n\n\n  container.appendChild(\n    box\n  );\n\n}\n\n\n\/*\n=============================================================\nR\u00c9PONSES\n=============================================================\n*\/\n\nfunction answerQuestion(\n  id,\n  answer,\n  button\n){\n\n  let q =\n  getQuestion(id);\n\n\n  let parent =\n  button.parentElement;\n\n\n  let buttons =\n  parent.querySelectorAll(\n    \".answer\"\n  );\n\n\n  buttons.forEach(\n    b=>b.disabled=true\n  );\n\n\n  let firstAnswer =\n  !state.history[id];\n\n\n  if(answer === q.correct){\n\n    button.classList.add(\n      \"good\"\n    );\n\n\n    if(firstAnswer){\n\n      state.score += 100;\n\n      state.correct++;\n\n    }\n\n  }\n\n  else{\n\n    button.classList.add(\n      \"bad\"\n    );\n\n\n    buttons[\n      q.correct\n    ].classList.add(\n      \"good\"\n    );\n\n\n    if(firstAnswer){\n\n      state.score += 10;\n\n    }\n\n  }\n\n\n  if(firstAnswer){\n\n    state.answered++;\n\n    state.history[id] =\n    answer === q.correct;\n\n  }\n\n\n  document.getElementById(\n    \"explain-\" + id\n  ).innerHTML = `\n\n  <div class=\"explanation\">\n\n  <strong>\n  Mini-le\u00e7on :\n  <\/strong>\n\n  <br>\n\n  ${q.explanation}\n\n  <\/div>\n\n  `;\n\n\n  saveState();\n\n}\n\n\n\/*\n=============================================================\nNAVIGATION\n=============================================================\n*\/\n\nfunction nextPage(){\n\n  let 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}\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}\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\n\n\/*\n=============================================================\nALLER \u00c0 UNE QUESTION\n=============================================================\n*\/\n\nfunction jumpToQuestion(){\n\n  let id =\n  parseInt(\n    document.getElementById(\n      \"jumpQuestion\"\n    ).value\n  );\n\n\n  if(\n    !id\n    ||\n    id < 1\n    ||\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\n  currentPage =\n  Math.floor(\n    (id - 1)\n    \/ pageSize\n  ) + 1;\n\n\n  renderQuestions();\n\n}\n\n\n\/*\n=============================================================\nPAGE AL\u00c9ATOIRE\n=============================================================\n*\/\n\nfunction randomPage(){\n\n  let 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\n\/*\n=============================================================\nRESET\n=============================================================\n*\/\n\nfunction resetProgress(){\n\n  if(\n    confirm(\n      \"Voulez-vous r\u00e9initialiser toute la progression ?\"\n    )\n  ){\n\n    state = {\n\n      score:0,\n\n      correct:0,\n\n      answered:0,\n\n      history:{}\n\n    };\n\n\n    localStorage.removeItem(\n      \"MZA_ONE_MILLION_QCM\"\n    );\n\n\n    updateStats();\n\n    renderQuestions();\n\n  }\n\n}\n\n\n\/*\n=============================================================\nINITIALISATION\n=============================================================\n*\/\n\nupdateStats();\n\nrenderQuestions();\n\n<\/script>\n\n<\/body>\n<\/html>\n\n\n\n<!-- AGENT D'ESCALE -->\n<a href=\"https:\/\/maroczain.com\/agent-descale-formation\/\"\n   class=\"mza-btn\">\n   D\u00e9couvrir\n<\/a>\n\n<!-- CHEF D'ESCALE -->\n<a href=\"https:\/\/maroczain.com\/formations\/\"\n   class=\"mza-btn\">\n   D\u00e9couvrir\n<\/a>\n\n<!-- SUPERVISEUR VOL -->\n<a href=\"https:\/\/maroczain.com\/formations\/\"\n   class=\"mza-btn\">\n   D\u00e9couvrir\n<\/a>\n\n<!-- AGENT R\u00c9SERVATION -->\n<a href=\"https:\/\/maroczain.com\/formations\/\"\n   class=\"mza-btn\">\n   D\u00e9couvrir\n<\/a>\n\n<!-- AGENT COMMERCIAL -->\n<a href=\"https:\/\/maroczain.com\/formations\/\"\n   class=\"mza-btn\">\n   D\u00e9couvrir\n<\/a>\n\n<!-- BAGAGES -->\n<a href=\"https:\/\/maroczain.com\/bagage-control-center\/\"\n   class=\"mza-btn\">\n   D\u00e9couvrir\n<\/a>\n\n<!-- BIBLIOTH\u00c8QUE -->\n<a href=\"https:\/\/maroczain.com\/bibliotheque-maroc-zain-academy\/\"\n   class=\"mza-btn\">\n   Biblioth\u00e8que\n<\/a>\n\n<!-- CERTIFICATION -->\n<a href=\"https:\/\/maroczain.com\/centre-certification\/\"\n   class=\"mza-btn\">\n   Certification\n<\/a>\n\n<!-- CALENDRIER -->\n<a href=\"https:\/\/maroczain.com\/calendrier-formations\/\"\n   class=\"mza-btn\">\n   Calendrier\n<\/a>\n\n<!-- ADMISSION -->\n<a href=\"https:\/\/maroczain.com\/admission-academy\/\"\n   class=\"mza-btn\">\n   Admission\n<\/a>\n\n<!-- ASSISTANCE -->\n<a href=\"https:\/\/maroczain.com\/assistance\/\"\n   class=\"mza-btn\">\n   Assistance\n<\/a>\n\n<!-- CONTACT -->\n<a href=\"https:\/\/maroczain.com\/contact\/\"\n   class=\"mza-btn\">\n   Contact\n<\/a>\n","protected":false},"excerpt":{"rendered":"<p>1 000 000 QCM Bagages | Maroc Zain Academy 1 000 000 QCM R\u00e9clamations Bagages Maroc Zain Academy \u2022 G\u00e9n\u00e9rateur massif de questions 1 000 000 Questions disponibles 0 Points 0 Bonnes r\u00e9ponses 0 Questions trait\u00e9es 0% R\u00e9ussite Toutes cat\u00e9goriesBagage retard\u00e9Bagage non retrouv\u00e9Bagage endommag\u00e9SpoliationIdentificationLivraisonRelation clientPMRVIPGroupesTransitSupervisionGestion de crise Tous niveauxD\u00e9butantOp\u00e9rationnelConfirm\u00e9ExpertSuperviseur 10 questions\/page20 questions\/page50 questions\/page100 questions\/page Aller [&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-3009","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages\/3009","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=3009"}],"version-history":[{"count":6,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages\/3009\/revisions"}],"predecessor-version":[{"id":4820,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages\/3009\/revisions\/4820"}],"wp:attachment":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/media?parent=3009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}