{"id":3236,"date":"2026-08-21T22:07:34","date_gmt":"2026-08-21T22:07:34","guid":{"rendered":"https:\/\/maroczain.com\/?page_id=3236"},"modified":"2026-08-21T23:07:27","modified_gmt":"2026-08-21T23:07:27","slug":"centre-de-donnees-et-banque-qcm","status":"publish","type":"page","link":"https:\/\/maroczain.com\/en\/centre-de-donnees-et-banque-qcm\/","title":{"rendered":"Centre de donn\u00e9es et banque QCM"},"content":{"rendered":"\n<div id=\"maroc-zain-qcm\">\n<style>\n#maroc-zain-qcm{\n  font-family:Arial,sans-serif;\n  background:#07182c;\n  color:#fff;\n  padding:25px;\n  border-radius:18px;\n}\n#maroc-zain-qcm *{box-sizing:border-box}\n\n.mza-title{\n  color:#e9c84a;\n  margin-bottom:5px;\n}\n.mza-subtitle{\n  color:#b9c5d3;\n  margin-bottom:25px;\n}\n\n.mza-filters{\n  display:grid;\n  grid-template-columns:repeat(4,1fr);\n  gap:12px;\n  margin-bottom:20px;\n}\n\n.mza-filters select,\n.mza-filters input{\n  width:100%;\n  padding:12px;\n  border-radius:10px;\n  border:1px solid #35506c;\n  background:#10263f;\n  color:white;\n}\n\n.mza-stats{\n  display:grid;\n  grid-template-columns:repeat(3,1fr);\n  gap:12px;\n  margin-bottom:20px;\n}\n\n.mza-stat{\n  background:#10263f;\n  padding:15px;\n  border-radius:12px;\n}\n\n.mza-stat strong{\n  display:block;\n  font-size:26px;\n  color:#e9c84a;\n}\n\n.mza-main{\n  display:grid;\n  grid-template-columns:320px 1fr;\n  gap:20px;\n}\n\n.mza-library,\n.mza-quiz{\n  background:#10263f;\n  border-radius:16px;\n  padding:20px;\n}\n\n#mza-list{\n  max-height:650px;\n  overflow:auto;\n}\n\n.mza-qcm-card{\n  width:100%;\n  display:block;\n  text-align:left;\n  background:#142f4d;\n  color:white;\n  border:1px solid #294966;\n  padding:13px;\n  border-radius:10px;\n  margin-bottom:9px;\n  cursor:pointer;\n}\n\n.mza-qcm-card:hover{\n  background:#1b3c60;\n}\n\n.mza-level{\n  color:#e9c84a;\n  font-size:12px;\n}\n\n.mza-answer{\n  width:100%;\n  padding:14px;\n  margin:7px 0;\n  border-radius:10px;\n  border:1px solid #35506c;\n  background:#142f4d;\n  color:white;\n  text-align:left;\n  cursor:pointer;\n}\n\n.mza-answer.correct{\n  background:#14532d;\n  border-color:#22c55e;\n}\n\n.mza-answer.wrong{\n  background:#7f1d1d;\n  border-color:#ef4444;\n}\n\n#mza-feedback{\n  display:none;\n  margin-top:15px;\n  background:#0b2037;\n  padding:15px;\n  border-radius:10px;\n}\n\n.mza-buttons{\n  margin-top:15px;\n  display:flex;\n  gap:10px;\n}\n\n.mza-buttons button{\n  padding:12px 18px;\n  border:0;\n  border-radius:9px;\n  font-weight:bold;\n  cursor:pointer;\n}\n\n#mza-next{\n  background:#e9c84a;\n  color:#07182c;\n}\n\n#mza-restart{\n  background:white;\n  color:#07182c;\n}\n\n.mza-progress{\n  margin-top:20px;\n}\n\n.mza-bar{\n  background:#29415a;\n  border-radius:20px;\n  height:12px;\n  overflow:hidden;\n}\n\n#mza-progress-bar{\n  height:12px;\n  width:0;\n  background:#e9c84a;\n}\n\n@media(max-width:850px){\n  .mza-main{grid-template-columns:1fr}\n  .mza-filters{grid-template-columns:1fr 1fr}\n}\n\n@media(max-width:550px){\n  .mza-filters,\n  .mza-stats{grid-template-columns:1fr}\n}\n<\/style>\n\n\n<h1 class=\"mza-title\">MAROC ZAIN ACADEMY<\/h1>\n\n<div class=\"mza-subtitle\">\nCentre de donn\u00e9es &#038; Banque QCM\n<\/div>\n\n\n<div class=\"mza-filters\">\n\n<select id=\"mza-job\">\n<option value=\"all\">Tous les m\u00e9tiers<\/option>\n<option>Chef d&rsquo;escale<\/option>\n<option>Agent d&rsquo;escale<\/option>\n<option>Chef de cabine<\/option>\n<option>Agent de voyages<\/option>\n<\/select>\n\n<select id=\"mza-level\">\n<option value=\"all\">Tous les niveaux<\/option>\n<option>D\u00e9butant<\/option>\n<option>Interm\u00e9diaire<\/option>\n<option>Avanc\u00e9<\/option>\n<option>Expert<\/option>\n<\/select>\n\n<select id=\"mza-module\">\n<option value=\"all\">Tous les modules<\/option>\n<\/select>\n\n<input\nid=\"mza-search\"\ntype=\"search\"\nplaceholder=\"Rechercher : bagages, s\u00fbret\u00e9, retard...\"\n>\n\n<\/div>\n\n\n<div class=\"mza-stats\">\n\n<div class=\"mza-stat\">\nQuestions\n<strong id=\"mza-total\">0<\/strong>\n<\/div>\n\n<div class=\"mza-stat\">\nR\u00e9ponses\n<strong id=\"mza-answered\">0<\/strong>\n<\/div>\n\n<div class=\"mza-stat\">\nBonnes r\u00e9ponses\n<strong id=\"mza-correct\">0<\/strong>\n<\/div>\n\n<\/div>\n\n\n<div class=\"mza-main\">\n\n<div class=\"mza-library\">\n\n<h2>\ud83d\udcda Biblioth\u00e8que QCM<\/h2>\n\n<p>\n<span id=\"mza-count\"><\/span> questions disponibles\n<\/p>\n\n<div id=\"mza-list\"><\/div>\n\n<\/div>\n\n\n<div class=\"mza-quiz\">\n\n<div id=\"mza-empty\">\n\n<h2>\ud83c\udf93 Choisissez un QCM<\/h2>\n\n<p>\nS\u00e9lectionnez une question dans la biblioth\u00e8que.\n<\/p>\n\n<\/div>\n\n\n<div id=\"mza-question-zone\" style=\"display:none\">\n\n<div id=\"mza-meta\"><\/div>\n\n<p id=\"mza-position\"><\/p>\n\n<h2 id=\"mza-question\"><\/h2>\n\n<div id=\"mza-answers\"><\/div>\n\n<div id=\"mza-feedback\"><\/div>\n\n\n<div class=\"mza-buttons\">\n\n<button id=\"mza-restart\">\nRecommencer\n<\/button>\n\n<button id=\"mza-next\">\nQuestion suivante \u2192\n<\/button>\n\n<\/div>\n\n\n<div class=\"mza-progress\">\n\n<p>\nScore :\n<strong id=\"mza-score\">0%<\/strong>\n<\/p>\n\n<div class=\"mza-bar\">\n<div id=\"mza-progress-bar\"><\/div>\n<\/div>\n\n<p id=\"mza-message\">\nR\u00e9pondez aux questions pour mesurer votre progression.\n<\/p>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n<script>\n(function(){\n\nconst modules = {\n\n\"Chef d'escale\":[\n\"Gestion des retards\",\n\"Bagages\",\n\"Coordination piste\",\n\"S\u00fbret\u00e9\",\n\"Passagers perturbateurs\"\n],\n\n\"Agent d'escale\":[\n\"Enregistrement\",\n\"Embarquement\",\n\"Documents de voyage\",\n\"Bagages\",\n\"Correspondances\"\n],\n\n\"Chef de cabine\":[\n\"Gestion de cabine\",\n\"S\u00e9curit\u00e9\",\n\"Service \u00e0 bord\",\n\"Urgences m\u00e9dicales\",\n\"Leadership \u00e9quipage\"\n],\n\n\"Agent de voyages\":[\n\"Dossier client\",\n\"Billetterie\",\n\"Tarification\",\n\"R\u00e9clamations\",\n\"Assistance voyage\"\n]\n\n};\n\n\nconst levels=[\n\"D\u00e9butant\",\n\"Interm\u00e9diaire\",\n\"Avanc\u00e9\",\n\"Expert\"\n];\n\n\nconst correctAnswers={\n\n\"Chef d'escale\":\n\"V\u00e9rifier les faits, coordonner les acteurs, informer et tracer les d\u00e9cisions.\",\n\n\"Agent d'escale\":\n\"Contr\u00f4ler les \u00e9l\u00e9ments requis, appliquer la proc\u00e9dure et informer clairement le passager.\",\n\n\"Chef de cabine\":\n\"\u00c9valuer la situation, agir calmement et appliquer les proc\u00e9dures de s\u00e9curit\u00e9.\",\n\n\"Agent de voyages\":\n\"V\u00e9rifier les donn\u00e9es, expliquer les conditions et obtenir la validation du client.\"\n\n};\n\n\nconst genericWrong=[\n\"Agir imm\u00e9diatement sans effectuer de contr\u00f4le.\",\n\"Attendre syst\u00e9matiquement sans prendre d'initiative.\",\n\"Promettre une solution avant v\u00e9rification.\"\n];\n\n\nconst data=[];\n\n\n\/*\n100 QCM g\u00e9n\u00e9r\u00e9s automatiquement\n*\/\n\nlet number=1;\n\nObject.keys(modules).forEach(function(job){\n\nmodules[job].forEach(function(module){\n\nlevels.forEach(function(level){\n\nfor(let x=0;x<2 &#038;&#038; data.length<100;x++){\n\nlet question=\"\";\n\nif(job===\"Chef d'escale\"){\nquestion=\n\"Cas \"+number+\" \u2014 \"+module+\n\" : quelle d\u00e9cision op\u00e9rationnelle est la plus appropri\u00e9e ?\";\n}\n\nif(job===\"Agent d'escale\"){\nquestion=\n\"Cas \"+number+\" \u2014 \"+module+\n\" : quelle action l'agent doit-il effectuer en priorit\u00e9 ?\";\n}\n\nif(job===\"Chef de cabine\"){\nquestion=\n\"Cas \"+number+\" \u2014 \"+module+\n\" : quelle conduite professionnelle est la plus adapt\u00e9e ?\";\n}\n\nif(job===\"Agent de voyages\"){\nquestion=\n\"Cas \"+number+\" \u2014 \"+module+\n\" : quelle pratique prot\u00e8ge le mieux le client et l'agence ?\";\n}\n\n\ndata.push({\n\njob:job,\nlevel:level,\nmodule:module,\n\nquestion:question,\n\nanswers:[\ngenericWrong[0],\ncorrectAnswers[job],\ngenericWrong[1],\ngenericWrong[2]\n],\n\ncorrect:1,\n\nexplanation:\n\"La d\u00e9marche professionnelle repose sur la v\u00e9rification, le respect des proc\u00e9dures, la coordination, l'information et la tra\u00e7abilit\u00e9.\"\n\n});\n\nnumber++;\n\n}\n\n});\n\n});\n\n});\n\n\nconst jobFilter=document.getElementById(\"mza-job\");\nconst levelFilter=document.getElementById(\"mza-level\");\nconst moduleFilter=document.getElementById(\"mza-module\");\nconst search=document.getElementById(\"mza-search\");\n\nconst list=document.getElementById(\"mza-list\");\n\nlet filtered=[...data];\nlet currentIndex=0;\nlet answered=0;\nlet correct=0;\n\n\n[...new Set(data.map(q=>q.module))]\n.sort()\n.forEach(function(module){\n\nconst option=document.createElement(\"option\");\n\noption.value=module;\noption.textContent=module;\n\nmoduleFilter.appendChild(option);\n\n});\n\n\nfunction updateStats(){\n\ndocument.getElementById(\"mza-total\").textContent=\nfiltered.length;\n\ndocument.getElementById(\"mza-answered\").textContent=\nanswered;\n\ndocument.getElementById(\"mza-correct\").textContent=\ncorrect;\n\n\nlet score=\nanswered\n? Math.round(correct\/answered*100)\n: 0;\n\n\ndocument.getElementById(\"mza-score\").textContent=\nscore+\"%\";\n\ndocument.getElementById(\"mza-progress-bar\").style.width=\nscore+\"%\";\n\n\nlet message=\n\"R\u00e9pondez aux questions pour mesurer votre progression.\";\n\n\nif(answered){\n\nif(score>=80){\nmessage=\"Excellent niveau.\";\n}\n\nelse if(score>=60){\nmessage=\"Bon niveau. Continuez votre entra\u00eenement.\";\n}\n\nelse{\nmessage=\"Continuez : \u00e9tudiez les corrections pour renforcer vos acquis.\";\n}\n\n}\n\ndocument.getElementById(\"mza-message\").textContent=\nmessage;\n\n}\n\n\nfunction renderList(){\n\nconst term=\nsearch.value.toLowerCase().trim();\n\n\nfiltered=data.filter(function(q){\n\nconst matchJob=\njobFilter.value===\"all\"\n|| q.job===jobFilter.value;\n\nconst matchLevel=\nlevelFilter.value===\"all\"\n|| q.level===levelFilter.value;\n\nconst matchModule=\nmoduleFilter.value===\"all\"\n|| q.module===moduleFilter.value;\n\nconst text=\n(\nq.job+\" \"+\nq.level+\" \"+\nq.module+\" \"+\nq.question\n).toLowerCase();\n\nconst matchSearch=\n!term || text.includes(term);\n\n\nreturn (\nmatchJob &&\nmatchLevel &&\nmatchModule &&\nmatchSearch\n);\n\n});\n\n\ndocument.getElementById(\"mza-count\").textContent=\nfiltered.length;\n\n\nlist.innerHTML=\"\";\n\n\nif(!filtered.length){\n\nlist.innerHTML=\n\"<p>Aucun QCM trouv\u00e9.<\/p>\";\n\nupdateStats();\n\nreturn;\n\n}\n\n\nfiltered.forEach(function(q,index){\n\nconst button=\ndocument.createElement(\"button\");\n\nbutton.className=\n\"mza-qcm-card\";\n\nbutton.innerHTML=\n'<span class=\"mza-level\">'\n+q.level+\n'<\/span>'+\n'<strong style=\"display:block\">'\n+q.job+\n'<\/strong>'+\n'<span>'\n+q.module+\n'<\/span>';\n\n\nbutton.addEventListener(\n\"click\",\nfunction(){\n\ncurrentIndex=index;\nopenQuestion(q);\n\n}\n);\n\nlist.appendChild(button);\n\n});\n\n\nupdateStats();\n\n}\n\n\nfunction openQuestion(q){\n\ndocument.getElementById(\"mza-empty\")\n.style.display=\"none\";\n\ndocument.getElementById(\"mza-question-zone\")\n.style.display=\"block\";\n\n\ndocument.getElementById(\"mza-meta\")\n.innerHTML=\n\"<strong>\"+q.job+\"<\/strong> \u2022 \"\n+q.level+\" \u2022 \"\n+q.module;\n\n\ndocument.getElementById(\"mza-position\")\n.textContent=\n\"Question \"+\n(currentIndex+1)+\n\" \/ \"+\nfiltered.length;\n\n\ndocument.getElementById(\"mza-question\")\n.textContent=\nq.question;\n\n\nconst answerBox=\ndocument.getElementById(\"mza-answers\");\n\nconst feedback=\ndocument.getElementById(\"mza-feedback\");\n\nanswerBox.innerHTML=\"\";\nfeedback.style.display=\"none\";\n\n\nq.answers.forEach(function(answer,index){\n\nconst button=\ndocument.createElement(\"button\");\n\nbutton.className=\"mza-answer\";\n\nbutton.textContent=\nString.fromCharCode(65+index)\n+\". \"\n+answer;\n\n\nbutton.addEventListener(\n\"click\",\nfunction(){\n\nconst buttons=\nanswerBox.querySelectorAll(\"button\");\n\n\nbuttons.forEach(function(b,i){\n\nb.disabled=true;\n\nif(i===q.correct){\nb.classList.add(\"correct\");\n}\n\nif(i===index && index!==q.correct){\nb.classList.add(\"wrong\");\n}\n\n});\n\n\nanswered++;\n\nif(index===q.correct){\ncorrect++;\n}\n\n\nupdateStats();\n\n\nfeedback.style.display=\"block\";\n\nfeedback.innerHTML=\n(index===q.correct\n? \"<strong>\u2705 Bonne r\u00e9ponse<\/strong>\"\n: \"<strong>\u274c R\u00e9ponse incorrecte<\/strong>\"\n)\n+\n\"<p>\"\n+q.explanation+\n\"<\/p>\";\n\n},\n{once:true}\n);\n\n\nanswerBox.appendChild(button);\n\n});\n\n\ndocument.getElementById(\"mza-restart\")\n.onclick=function(){\n\nopenQuestion(q);\n\n};\n\n\ndocument.getElementById(\"mza-next\")\n.onclick=function(){\n\nif(!filtered.length) return;\n\ncurrentIndex=\n(currentIndex+1)%filtered.length;\n\nopenQuestion(\nfiltered[currentIndex]\n);\n\n};\n\n}\n\n\njobFilter.addEventListener(\n\"change\",\nrenderList\n);\n\nlevelFilter.addEventListener(\n\"change\",\nrenderList\n);\n\nmoduleFilter.addEventListener(\n\"change\",\nrenderList\n);\n\nsearch.addEventListener(\n\"input\",\nrenderList\n);\n\n\nrenderList();\n\n})();\n<\/script>\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>MAROC ZAIN ACADEMY Centre de donn\u00e9es &#038; Banque QCM Tous les m\u00e9tiersChef d&rsquo;escaleAgent d&rsquo;escaleChef de cabineAgent de voyages Tous les niveauxD\u00e9butantInterm\u00e9diaireAvanc\u00e9Expert Tous les modules Questions 0 R\u00e9ponses 0 Bonnes r\u00e9ponses 0 \ud83d\udcda Biblioth\u00e8que QCM questions disponibles \ud83c\udf93 Choisissez un QCM S\u00e9lectionnez une question dans la biblioth\u00e8que. Recommencer Question suivante \u2192 Score : 0% R\u00e9pondez aux [&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-3236","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages\/3236","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=3236"}],"version-history":[{"count":2,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages\/3236\/revisions"}],"predecessor-version":[{"id":3314,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/pages\/3236\/revisions\/3314"}],"wp:attachment":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/media?parent=3236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}