{"id":3832,"date":"2026-08-23T09:34:03","date_gmt":"2026-08-23T09:34:03","guid":{"rendered":"https:\/\/maroczain.com\/?p=3832"},"modified":"2026-08-23T09:34:03","modified_gmt":"2026-08-23T09:34:03","slug":"3832","status":"publish","type":"post","link":"https:\/\/maroczain.com\/en\/2026\/08\/23\/3832\/","title":{"rendered":""},"content":{"rendered":"\n    <div class=\"mzafp-wrap\" id=\"mzafp_983703\">\n      <div class=\"mzafp-hero\">\n        <span class=\"mzafp-badge\">MAROC ZAIN ACADEMY<\/span>\n        <h1>P\u00f4le Fret & Programmation des Vols<\/h1>\n        <p>5 cursus professionnels \u2022 100 modules \u2022 cas pratiques \u2022 QCM \u2022 progression locale<\/p>\n        <div class=\"mzafp-progress\"><div class=\"mzafp-global-progress\"><\/div><\/div>\n        <p>Modules valid\u00e9s : <strong class=\"mzafp-count\">0<\/strong> \/ 100 \u2014 <strong class=\"mzafp-percent\">0%<\/strong><\/p>\n      <\/div>\n\n      <div class=\"mzafp-grid\">\n              <div class=\"mzafp-card\" data-role-card=\"import\">\n          <h3>\ud83d\udce6 Chef de Service Import Fret<\/h3>\n          <p>Arriv\u00e9es, magasin, documents, douane, irr\u00e9gularit\u00e9s, KPI et management.<\/p>\n        <\/div>\n              <div class=\"mzafp-card\" data-role-card=\"export\">\n          <h3>\u2708\ufe0f Chef de Service Export Fret<\/h3>\n          <p>R\u00e9servation, acceptation, AWB, capacit\u00e9, ULD, cut-off et supervision.<\/p>\n        <\/div>\n              <div class=\"mzafp-card\" data-role-card=\"agentfret\">\n          <h3>\ud83e\uddf3 Agent Fret<\/h3>\n          <p>AWB, taxation, r\u00e9servation, tracking, import\/export et relation client.<\/p>\n        <\/div>\n              <div class=\"mzafp-card\" data-role-card=\"programmation\">\n          <h3>\ud83d\uddd3\ufe0f Agent Programmation des Vols<\/h3>\n          <p>Programme, rotations, fr\u00e9quences, flotte, slots et optimisation r\u00e9seau.<\/p>\n        <\/div>\n              <div class=\"mzafp-card\" data-role-card=\"pc\">\n          <h3>\ud83d\udef0\ufe0f Agent PC \/ Programme Control<\/h3>\n          <p>Suivi programme, changements, retards, annulations, OCC et reporting.<\/p>\n        <\/div>\n            <\/div>\n\n      <div class=\"mzafp-toolbar\">\n        <select class=\"mzafp-role-filter\">\n          <option value=\"all\">Tous les m\u00e9tiers<\/option>\n                      <option value=\"import\">Chef de Service Import Fret<\/option>\n                      <option value=\"export\">Chef de Service Export Fret<\/option>\n                      <option value=\"agentfret\">Agent Fret<\/option>\n                      <option value=\"programmation\">Agent Programmation des Vols<\/option>\n                      <option value=\"pc\">Agent PC \/ Programme Control<\/option>\n                  <\/select>\n        <input class=\"mzafp-search\" type=\"text\" placeholder=\"Rechercher un module...\">\n        <select class=\"mzafp-status-filter\">\n          <option value=\"all\">Tous statuts<\/option>\n          <option value=\"validated\">Valid\u00e9s<\/option>\n          <option value=\"pending\">\u00c0 faire<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"mzafp-modules\"><\/div>\n      <div class=\"mzafp-panel mzafp-hidden\"><\/div>\n    <\/div>\n\n    <script>\n    (function(){\n      const root = document.getElementById(\"mzafp_983703\");\n      const roles = {\"import\":{\"name\":\"Chef de Service Import Fret\",\"desc\":\"Arriv\u00e9es, magasin, documents, douane, irr\u00e9gularit\u00e9s, KPI et management.\",\"icon\":\"\ud83d\udce6\",\"modules\":[\"Organisation d'une escale cargo\",\"R\u00f4le du Chef de Service Import\",\"Cha\u00eene logistique a\u00e9rienne\",\"AWB, HAWB et manifestes\",\"Acteurs compagnie, GHA, transitaire et douane\",\"Pr\u00e9paration avant arriv\u00e9e\",\"R\u00e9ception documentaire\",\"D\u00e9chargement et transfert fret\",\"Contr\u00f4le des exp\u00e9ditions\",\"Magasinage et localisation\",\"Produits p\u00e9rissables\",\"Animaux vivants\",\"Marchandises de valeur\",\"HUM et traitements particuliers\",\"Sensibilisation marchandises dangereuses\",\"Irr\u00e9gularit\u00e9s import\",\"Dommages et manquants\",\"R\u00e9clamations et litiges\",\"KPI et qualit\u00e9 import\",\"Management et simulation finale\"]},\"export\":{\"name\":\"Chef de Service Export Fret\",\"desc\":\"R\u00e9servation, acceptation, AWB, capacit\u00e9, ULD, cut-off et supervision.\",\"icon\":\"\u2708\ufe0f\",\"modules\":[\"Organisation du service export\",\"R\u00e9servation cargo\",\"Gestion de capacit\u00e9\",\"Documentation export\",\"AWB et HAWB\",\"Contr\u00f4les documentaires\",\"Poids, dimensions et conformit\u00e9\",\"Poids taxable\",\"Exigences de s\u00fbret\u00e9 applicables\",\"Pr\u00e9paration avant vol\",\"ULD et pr\u00e9paration physique\",\"Build-up selon responsabilit\u00e9s\",\"Cut-off export\",\"Coordination chargement\",\"Correspondances cargo\",\"Irr\u00e9gularit\u00e9s export\",\"Offload\",\"Changement de vol\",\"KPI et supervision\",\"Simulation export sous contrainte\"]},\"agentfret\":{\"name\":\"Agent Fret\",\"desc\":\"AWB, taxation, r\u00e9servation, tracking, import\/export et relation client.\",\"icon\":\"\ud83e\uddf3\",\"modules\":[\"Introduction au fret a\u00e9rien\",\"Terminologie cargo\",\"AWB\",\"Itin\u00e9raires cargo\",\"R\u00e9servation\",\"Poids brut\",\"Volume\",\"Poids taxable\",\"Principes tarifaires\",\"Contr\u00f4le documentaire\",\"Acceptation\",\"Traitement export\",\"Traitement import\",\"Tracking\",\"ULD\",\"PER, AVI, VAL, HUM\",\"Irr\u00e9gularit\u00e9s\",\"R\u00e9clamations\",\"Relation transitaires et clients\",\"Examen pratique Agent Fret\"]},\"programmation\":{\"name\":\"Agent Programmation des Vols\",\"desc\":\"Programme, rotations, fr\u00e9quences, flotte, slots et optimisation r\u00e9seau.\",\"icon\":\"\ud83d\uddd3\ufe0f\",\"modules\":[\"Introduction \u00e0 la programmation\",\"R\u00e9seau a\u00e9rien\",\"Saisons de programme\",\"Fr\u00e9quences\",\"Horaires\",\"Rotations\",\"Flotte\",\"Temps de rotation\",\"Contraintes a\u00e9roportuaires\",\"Slots et couvre-feux\",\"Correspondances\",\"Utilisation flotte\",\"Programme r\u00e9gulier\",\"Vols suppl\u00e9mentaires\",\"Charters\",\"Changement machine\",\"Modification horaire\",\"Annulation de vol\",\"Reconstruction programme\",\"Simulation finale programmation\"]},\"pc\":{\"name\":\"Agent PC \/ Programme Control\",\"desc\":\"Suivi programme, changements, retards, annulations, OCC et reporting.\",\"icon\":\"\ud83d\udef0\ufe0f\",\"modules\":[\"R\u00f4le du Programme Control\",\"Lecture du programme\",\"Suivi des rotations\",\"Statuts op\u00e9rationnels\",\"Coordination intervenants\",\"Gestion retard\",\"Changement machine\",\"Modification horaire\",\"Annulation\",\"Vol suppl\u00e9mentaire\",\"Indisponibilit\u00e9 avion\",\"Contraintes a\u00e9roportuaires\",\"Perturbation r\u00e9seau\",\"Correspondances\",\"Coordination OCC\",\"Priorisation\",\"Communication de crise\",\"Journal des modifications\",\"Reporting et KPI\",\"Simulation journ\u00e9e r\u00e9seau perturb\u00e9e\"]}};\n      const modules = [];\n      Object.keys(roles).forEach(role=>{\n        roles[role].modules.forEach((title,index)=>{\n          modules.push({id: role+'-'+(index+1), role, number:index+1, title});\n        });\n      });\n\n      const storageKey = 'MZAFP_PROGRESS_V1';\n      let state = JSON.parse(localStorage.getItem(storageKey) || '{\"validated\":{}}');\n\n      const list = root.querySelector('.mzafp-modules');\n      const panel = root.querySelector('.mzafp-panel');\n      const roleFilter = root.querySelector('.mzafp-role-filter');\n      const search = root.querySelector('.mzafp-search');\n      const statusFilter = root.querySelector('.mzafp-status-filter');\n\n      function save(){\n        localStorage.setItem(storageKey, JSON.stringify(state));\n        updateProgress();\n      }\n\n      function updateProgress(){\n        const validated = Object.values(state.validated).filter(Boolean).length;\n        const percent = Math.round(validated \/ modules.length * 100);\n        root.querySelector('.mzafp-count').textContent = validated;\n        root.querySelector('.mzafp-percent').textContent = percent + '%';\n        root.querySelector('.mzafp-global-progress').style.width = percent + '%';\n      }\n\n      function render(){\n        const rf = roleFilter.value;\n        const q = search.value.toLowerCase();\n        const sf = statusFilter.value;\n        list.innerHTML = '';\n\n        modules.filter(m=>{\n          const valid = !!state.validated[m.id];\n          return (rf === 'all' || m.role === rf)\n            && m.title.toLowerCase().includes(q)\n            && (sf === 'all' || (sf === 'validated' && valid) || (sf === 'pending' && !valid));\n        }).forEach(m=>{\n          const valid = !!state.validated[m.id];\n          const card = document.createElement('div');\n          card.className = 'mzafp-module' + (valid ? ' validated' : '');\n          card.innerHTML = `\n            <span class=\"mzafp-tag\">${roles[m.role].name}<\/span>\n            <span class=\"mzafp-tag\">Module ${m.number}<\/span>\n            <h3>${m.title}<\/h3>\n            <p>Statut : <strong>${valid ? 'Valid\u00e9' : '\u00c0 faire'}<\/strong><\/p>\n            <button class=\"mzafp-btn mzafp-blue\">Ouvrir le module<\/button>\n          `;\n          card.querySelector('button').addEventListener('click', ()=>openModule(m));\n          list.appendChild(card);\n        });\n      }\n\n      function openModule(m){\n        panel.classList.remove('mzafp-hidden');\n        panel.innerHTML = `\n          <span class=\"mzafp-tag\">${roles[m.role].name}<\/span>\n          <span class=\"mzafp-tag\">Module ${m.number}<\/span>\n          <h2>${m.title}<\/h2>\n          <h3>Objectifs<\/h3>\n          <p>Comprendre les principes du module, savoir analyser une situation professionnelle, identifier les contr\u00f4les n\u00e9cessaires et reconna\u00eetre les cas n\u00e9cessitant une escalade.<\/p>\n          <h3>Mini-cours<\/h3>\n          <p>Travaillez ce module autour de quatre axes : connaissances m\u00e9tier, contr\u00f4le documentaire ou op\u00e9rationnel, analyse des risques et communication. Distinguez toujours les faits confirm\u00e9s des hypoth\u00e8ses.<\/p>\n          <h3>Cas pratique<\/h3>\n          <p>Une situation inhabituelle survient pendant votre prise de poste. Plusieurs informations arrivent simultan\u00e9ment. Vous devez identifier la priorit\u00e9, v\u00e9rifier les donn\u00e9es utiles, coordonner les intervenants et tracer les actions.<\/p>\n          <h3>QCM de validation<\/h3>\n          <p>Quelle est la meilleure premi\u00e8re action ?<\/p>\n          <button class=\"mzafp-option\" data-a=\"0\">A \u2014 Agir imm\u00e9diatement sans v\u00e9rifier<\/button>\n          <button class=\"mzafp-option\" data-a=\"1\">B \u2014 V\u00e9rifier les informations essentielles et qualifier la situation<\/button>\n          <button class=\"mzafp-option\" data-a=\"2\">C \u2014 Attendre syst\u00e9matiquement<\/button>\n          <button class=\"mzafp-option\" data-a=\"3\">D \u2014 Transf\u00e9rer le probl\u00e8me sans analyse<\/button>\n          <div class=\"mzafp-feedback\"><\/div>\n        `;\n        const buttons = panel.querySelectorAll('.mzafp-option');\n        buttons.forEach(btn=>{\n          btn.addEventListener('click', ()=>{\n            buttons.forEach(b=>b.disabled = true);\n            const a = parseInt(btn.dataset.a,10);\n            if(a === 1){\n              btn.classList.add('good');\n              state.validated[m.id] = true;\n              panel.querySelector('.mzafp-feedback').innerHTML = '<p><strong>Module valid\u00e9.<\/strong> Le bon r\u00e9flexe est de v\u00e9rifier les informations essentielles avant de d\u00e9cider.<\/p>';\n              save();\n              render();\n            } else {\n              btn.classList.add('bad');\n              buttons[1].classList.add('good');\n              panel.querySelector('.mzafp-feedback').innerHTML = '<p><strong>\u00c0 revoir.<\/strong> Une d\u00e9cision professionnelle doit \u00eatre pr\u00e9c\u00e9d\u00e9e d\u2019une v\u00e9rification des informations essentielles.<\/p>';\n            }\n          });\n        });\n        panel.scrollIntoView({behavior:'smooth', block:'start'});\n      }\n\n      root.querySelectorAll('[data-role-card]').forEach(card=>{\n        card.addEventListener('click', ()=>{\n          roleFilter.value = card.dataset.roleCard;\n          render();\n          list.scrollIntoView({behavior:'smooth'});\n        });\n      });\n\n      roleFilter.addEventListener('change', render);\n      search.addEventListener('input', render);\n      statusFilter.addEventListener('change', render);\n\n      updateProgress();\n      render();\n    })();\n    <\/script>\n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-3832","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/posts\/3832","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/types\/post"}],"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=3832"}],"version-history":[{"count":1,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/posts\/3832\/revisions"}],"predecessor-version":[{"id":3833,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/posts\/3832\/revisions\/3833"}],"wp:attachment":[{"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/media?parent=3832"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/categories?post=3832"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maroczain.com\/en\/wp-json\/wp\/v2\/tags?post=3832"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}