{"id":569,"date":"2026-09-08T08:07:15","date_gmt":"2026-09-08T08:07:15","guid":{"rendered":"https:\/\/maroczain.com\/scolaire.maroczain.com\/?page_id=569"},"modified":"2026-09-08T08:07:15","modified_gmt":"2026-09-08T08:07:15","slug":"gestionnaire-des-sessions-listes","status":"publish","type":"page","link":"https:\/\/maroczain.com\/scolaire.maroczain.com\/gestionnaire-des-sessions-listes\/","title":{"rendered":"Gestionnaire des Sessions &amp; Listes"},"content":{"rendered":"\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\">\n<title>MZA Sessions &#038; Lists Manager<\/title>\n<style>\n:root{\n  --bg:#07111f;--panel:#0d1b2a;--panel2:#12263a;--line:#29435f;\n  --text:#f5f7fb;--muted:#aab8c8;--gold:#d4af37;--gold2:#f4d77a;\n  --ok:#2ecc71;--warn:#f39c12;--danger:#e74c3c;\n}\n*{box-sizing:border-box}\nbody{margin:0;background:linear-gradient(180deg,#06101d,#0b1726 55%,#07111f);color:var(--text);font-family:Arial,Helvetica,sans-serif}\nbutton,input,select{font:inherit}\n.wrap{max-width:1600px;margin:auto;padding:22px}\n.header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 22px;border:1px solid var(--line);background:#0d1b2a;border-radius:18px;position:sticky;top:10px;z-index:20}\n.brand{font-weight:900;font-size:20px}.brand small{display:block;color:var(--gold2);font-size:12px;margin-top:4px}\n.pill{padding:8px 12px;border:1px solid rgba(212,175,55,.6);border-radius:999px;color:var(--gold2)}\n.hero{text-align:center;padding:48px 10px 28px}\n.hero h1{font-size:clamp(34px,5vw,66px);margin:0 0 12px;letter-spacing:-2px}\n.hero h1 span{color:var(--gold2)}\n.hero p{color:var(--muted);max-width:900px;margin:auto;line-height:1.6}\n.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:16px 0}\n.stat{padding:18px;border:1px solid var(--line);border-radius:16px;background:#0b1827}\n.stat span{color:var(--muted);font-size:12px}.stat b{display:block;font-size:26px;margin-top:8px}\n.card{border:1px solid var(--line);background:linear-gradient(180deg,#102238,#0a1726);border-radius:20px;padding:22px;margin:16px 0}\n.card h2{margin:0 0 6px}.sub{color:var(--muted);margin:0 0 18px}\n.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}\n.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}\n.field{display:flex;flex-direction:column;gap:6px}\n.field label{font-size:12px;font-weight:800;color:#d8e2ec}\n.field input,.field select{padding:13px 14px;border:1px solid #35516e;border-radius:12px;background:#081421;color:#fff;outline:none}\n.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}\n.btn{padding:12px 16px;border-radius:11px;border:0;cursor:pointer;font-weight:900}\n.btn-primary{background:linear-gradient(90deg,var(--gold),var(--gold2));color:#18130b}\n.btn-ghost{background:#102238;color:#fff;border:1px solid #37536f}\n.btn-danger{background:#4a1717;color:#ffd0d0;border:1px solid #7b2626}\n.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}\ntable{width:100%;border-collapse:collapse;min-width:1100px}\nth,td{padding:12px 10px;border-bottom:1px solid #21384f;text-align:left;font-size:13px}\nth{background:#0a1726;color:var(--gold2);position:sticky;top:0}\ntr:hover td{background:#0d1d2e}\n.badge{display:inline-block;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900}\n.open{background:#173a2a;color:#b8ffd0}.full{background:#4d2e10;color:#ffd7a3}.closed{background:#3b2330;color:#f5c4da}\n.wait{background:#113b52;color:#a7e4ff}.present{background:#173a2a;color:#b8ffd0}.absent{background:#4a1717;color:#ffd0d0}\n.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}\n.search{min-width:280px;flex:1;padding:12px 14px;border:1px solid #35516e;border-radius:11px;background:#081421;color:#fff}\n.notice{padding:12px 14px;border:1px solid #33506d;border-radius:12px;background:#102238;color:#dbe7f3;margin-top:12px}\n.mini{padding:7px 9px;border-radius:8px;border:1px solid #35516e;background:#102238;color:#fff;cursor:pointer}\n@media(max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}}\n@media(max-width:650px){.grid,.grid2,.stats{grid-template-columns:1fr}.header{position:static;align-items:flex-start;flex-direction:column}.wrap{padding:12px}}\n@media print{.header,.hero,.actions,.toolbar,.no-print{display:none!important}body{background:#fff;color:#000}.card{background:#fff;color:#000;border:1px solid #aaa}th{color:#000;background:#eee}}\n<\/style>\n<\/head>\n<body>\n<div class=\"wrap\">\n  <div class=\"header\">\n    <div class=\"brand\">MAROC ZAIN ACADEMY <small>SESSIONS &#038; LISTS MANAGER\u2122<\/small><\/div>\n    <div class=\"pill\">Pilotage Admissions &#038; Cohortes<\/div>\n  <\/div>\n\n  <section class=\"hero\">\n    <h1>Gestionnaire des <span>sessions &#038; listes<\/span><\/h1>\n    <p>Cr\u00e9ez les sessions, affectez les apprenants, g\u00e9rez les capacit\u00e9s, listes d\u2019attente, statuts, pr\u00e9sences et impressions depuis une seule interface.<\/p>\n  <\/section>\n\n  <section class=\"stats\">\n    <div class=\"stat\"><span>Sessions<\/span><b id=\"stSessions\">0<\/b><\/div>\n    <div class=\"stat\"><span>Places totales<\/span><b id=\"stCapacity\">0<\/b><\/div>\n    <div class=\"stat\"><span>Inscrits<\/span><b id=\"stEnrolled\">0<\/b><\/div>\n    <div class=\"stat\"><span>Liste d&#8217;attente<\/span><b id=\"stWaiting\">0<\/b><\/div>\n    <div class=\"stat\"><span>Taux remplissage<\/span><b id=\"stFill\">0%<\/b><\/div>\n  <\/section>\n\n  <section class=\"card\">\n    <h2>Cr\u00e9er une session<\/h2>\n    <p class=\"sub\">Une session = un module + une p\u00e9riode + une capacit\u00e9 + un formateur + un statut.<\/p>\n    <div class=\"grid\">\n      <div class=\"field\"><label>Code session<\/label><input id=\"sCode\" placeholder=\"MZA-AIR-2026-10\"><\/div>\n      <div class=\"field\"><label>Module \/ Formation<\/label><input id=\"sModule\" placeholder=\"Chef d'escale\"><\/div>\n      <div class=\"field\"><label>Date d\u00e9but<\/label><input id=\"sStart\" type=\"date\"><\/div>\n      <div class=\"field\"><label>Date fin<\/label><input id=\"sEnd\" type=\"date\"><\/div>\n      <div class=\"field\"><label>Capacit\u00e9<\/label><input id=\"sCapacity\" type=\"number\" min=\"1\" value=\"20\"><\/div>\n      <div class=\"field\"><label>Formateur<\/label><input id=\"sTrainer\" placeholder=\"Nom du formateur\"><\/div>\n      <div class=\"field\"><label>Modalit\u00e9<\/label>\n        <select id=\"sMode\"><option>Pr\u00e9sentiel<\/option><option>Distanciel<\/option><option>Hybride<\/option><\/select>\n      <\/div>\n      <div class=\"field\"><label>Statut<\/label>\n        <select id=\"sStatus\"><option>Ouverte<\/option><option>Compl\u00e8te<\/option><option>Cl\u00f4tur\u00e9e<\/option><\/select>\n      <\/div>\n    <\/div>\n    <div class=\"actions\">\n      <button class=\"btn btn-primary\" onclick=\"addSession()\">Cr\u00e9er la session<\/button>\n      <button class=\"btn btn-ghost\" onclick=\"seedDemo()\">Charger un exemple<\/button>\n    <\/div>\n  <\/section>\n\n  <section class=\"card\">\n    <div class=\"toolbar\">\n      <div>\n        <h2 style=\"margin:0\">Sessions<\/h2>\n        <p class=\"sub\" style=\"margin:4px 0 0\">Vue globale des cohortes.<\/p>\n      <\/div>\n      <input class=\"search\" id=\"searchSessions\" placeholder=\"Rechercher une session, module, formateur...\" oninput=\"renderSessions()\">\n    <\/div>\n    <div class=\"table-wrap\">\n      <table>\n        <thead><tr><th>Code<\/th><th>Module<\/th><th>P\u00e9riode<\/th><th>Formateur<\/th><th>Mode<\/th><th>Capacit\u00e9<\/th><th>Inscrits<\/th><th>Attente<\/th><th>Statut<\/th><th>Actions<\/th><\/tr><\/thead>\n        <tbody id=\"sessionBody\"><\/tbody>\n      <\/table>\n    <\/div>\n  <\/section>\n\n  <section class=\"card\">\n    <h2>Ajouter un apprenant \u00e0 une session<\/h2>\n    <p class=\"sub\">Inscription directe, liste d\u2019attente ou affectation manuelle.<\/p>\n    <div class=\"grid\">\n      <div class=\"field\"><label>Session<\/label><select id=\"eSession\"><\/select><\/div>\n      <div class=\"field\"><label>MZA ID<\/label><input id=\"eId\" placeholder=\"MZA-26-AIR-00481\"><\/div>\n      <div class=\"field\"><label>Nom complet<\/label><input id=\"eName\" placeholder=\"Nom Pr\u00e9nom\"><\/div>\n      <div class=\"field\"><label>Email<\/label><input id=\"eEmail\" type=\"email\" placeholder=\"email@exemple.com\"><\/div>\n      <div class=\"field\"><label>Statut<\/label>\n        <select id=\"eStatus\"><option>Inscrit<\/option><option>Liste d&#8217;attente<\/option><option>Annul\u00e9<\/option><\/select>\n      <\/div>\n      <div class=\"field\"><label>Pr\u00e9sence<\/label>\n        <select id=\"eAttendance\"><option>\u00c0 venir<\/option><option>Pr\u00e9sent<\/option><option>Absent<\/option><\/select>\n      <\/div>\n      <div class=\"field\"><label>Paiement<\/label>\n        <select id=\"ePayment\"><option>Pay\u00e9<\/option><option>Partiel<\/option><option>\u00c0 payer<\/option><option>Pris en charge<\/option><\/select>\n      <\/div>\n      <div class=\"field\"><label>Observation<\/label><input id=\"eNote\" placeholder=\"Optionnel\"><\/div>\n    <\/div>\n    <div class=\"actions\"><button class=\"btn btn-primary\" onclick=\"addEnrollment()\">Ajouter \u00e0 la liste<\/button><\/div>\n  <\/section>\n\n  <section class=\"card\">\n    <div class=\"toolbar\">\n      <div>\n        <h2 style=\"margin:0\">Liste des apprenants<\/h2>\n        <p class=\"sub\" style=\"margin:4px 0 0\">Filtrez par session, statut ou nom.<\/p>\n      <\/div>\n      <div style=\"display:flex;gap:8px;flex-wrap:wrap\">\n        <select id=\"filterSession\" class=\"search\" style=\"min-width:220px\" onchange=\"renderEnrollments()\"><option value=\"\">Toutes les sessions<\/option><\/select>\n        <input class=\"search\" id=\"searchEnrollments\" placeholder=\"Rechercher un apprenant...\" oninput=\"renderEnrollments()\">\n      <\/div>\n    <\/div>\n    <div class=\"table-wrap\">\n      <table>\n        <thead><tr><th>Session<\/th><th>MZA ID<\/th><th>Apprenant<\/th><th>Email<\/th><th>Statut<\/th><th>Pr\u00e9sence<\/th><th>Paiement<\/th><th>Observation<\/th><th>Actions<\/th><\/tr><\/thead>\n        <tbody id=\"enrollmentBody\"><\/tbody>\n      <\/table>\n    <\/div>\n    <div class=\"actions no-print\">\n      <button class=\"btn btn-ghost\" onclick=\"window.print()\">Imprimer les listes<\/button>\n      <button class=\"btn btn-ghost\" onclick=\"exportCSV()\">Exporter CSV<\/button>\n      <button class=\"btn btn-primary\" onclick=\"saveAll()\">Sauvegarder<\/button>\n      <button class=\"btn btn-ghost\" onclick=\"loadAll()\">Charger<\/button>\n    <\/div>\n    <div class=\"notice\" id=\"notice\">Aucune action enregistr\u00e9e.<\/div>\n  <\/section>\n<\/div>\n\n<script>\nlet sessions = [];\nlet enrollments = [];\n\nfunction addSession(){\n const code=sCode.value.trim(), module=sModule.value.trim();\n if(!code||!module){alert(\"Code session et module obligatoires.\");return;}\n sessions.push({\n  id:Date.now(),code,module,start:sStart.value,end:sEnd.value,\n  capacity:+sCapacity.value||20,trainer:sTrainer.value.trim(),mode:sMode.value,status:sStatus.value\n });\n clearSessionForm(); refreshAll();\n notice.textContent=\"Session cr\u00e9\u00e9e.\";\n}\nfunction clearSessionForm(){sCode.value=\"\";sModule.value=\"\";sStart.value=\"\";sEnd.value=\"\";sCapacity.value=20;sTrainer.value=\"\"}\n\nfunction addEnrollment(){\n const sid=+eSession.value;\n if(!sid){alert(\"S\u00e9lectionnez une session.\");return;}\n if(!eName.value.trim()){alert(\"Nom de l'apprenant obligatoire.\");return;}\n enrollments.push({\n  id:Date.now(),sessionId:sid,mzaId:eId.value.trim(),name:eName.value.trim(),email:eEmail.value.trim(),\n  status:eStatus.value,attendance:eAttendance.value,payment:ePayment.value,note:eNote.value.trim()\n });\n eId.value=eName.value=eEmail.value=eNote.value=\"\";\n refreshAll(); notice.textContent=\"Apprenant ajout\u00e9.\";\n}\n\nfunction renderSessions(){\n const q=searchSessions.value.toLowerCase();\n sessionBody.innerHTML=\"\";\n sessions.filter(s=>[s.code,s.module,s.trainer,s.mode,s.status].join(\" \").toLowerCase().includes(q)).forEach(s=>{\n  const list=enrollments.filter(e=>e.sessionId===s.id);\n  const enrolled=list.filter(e=>e.status===\"Inscrit\").length;\n  const waiting=list.filter(e=>e.status===\"Liste d'attente\").length;\n  let cls=s.status===\"Ouverte\"?\"open\":s.status===\"Compl\u00e8te\"?\"full\":\"closed\";\n  sessionBody.insertAdjacentHTML(\"beforeend\",`<tr>\n   <td><b>${s.code}<\/b><\/td><td>${s.module}<\/td><td>${s.start||\"\u2014\"} \u2192 ${s.end||\"\u2014\"}<\/td>\n   <td>${s.trainer||\"\u2014\"}<\/td><td>${s.mode}<\/td><td>${s.capacity}<\/td><td>${enrolled}<\/td><td>${waiting}<\/td>\n   <td><span class=\"badge ${cls}\">${s.status}<\/span><\/td>\n   <td>\n     <button class=\"mini\" onclick=\"focusSession(${s.id})\">Liste<\/button>\n     <button class=\"mini\" onclick=\"toggleSession(${s.id})\">Statut<\/button>\n     <button class=\"mini\" onclick=\"deleteSession(${s.id})\">Suppr.<\/button>\n   <\/td><\/tr>`);\n });\n}\nfunction renderEnrollments(){\n const q=searchEnrollments.value.toLowerCase(), fs=filterSession.value;\n enrollmentBody.innerHTML=\"\";\n enrollments.filter(e=>{\n  const s=sessions.find(x=>x.id===e.sessionId);\n  const hay=[e.mzaId,e.name,e.email,e.status,e.attendance,e.payment,s?.code,s?.module].join(\" \").toLowerCase();\n  return hay.includes(q)&&(!fs||String(e.sessionId)===fs);\n }).forEach(e=>{\n  const s=sessions.find(x=>x.id===e.sessionId);\n  const st=e.status===\"Liste d'attente\"?\"wait\":e.status===\"Inscrit\"?\"open\":\"closed\";\n  const at=e.attendance===\"Pr\u00e9sent\"?\"present\":e.attendance===\"Absent\"?\"absent\":\"wait\";\n  enrollmentBody.insertAdjacentHTML(\"beforeend\",`<tr>\n   <td>${s?s.code:\"Session supprim\u00e9e\"}<\/td><td>${e.mzaId||\"\u2014\"}<\/td><td><b>${e.name}<\/b><\/td><td>${e.email||\"\u2014\"}<\/td>\n   <td><span class=\"badge ${st}\">${e.status}<\/span><\/td><td><span class=\"badge ${at}\">${e.attendance}<\/span><\/td>\n   <td>${e.payment}<\/td><td>${e.note||\"\u2014\"}<\/td>\n   <td>\n    <button class=\"mini\" onclick=\"cycleAttendance(${e.id})\">Pr\u00e9sence<\/button>\n    <button class=\"mini\" onclick=\"promoteWait(${e.id})\">Inscrire<\/button>\n    <button class=\"mini\" onclick=\"deleteEnrollment(${e.id})\">Suppr.<\/button>\n   <\/td><\/tr>`);\n });\n}\nfunction updateSelects(){\n const opts=sessions.map(s=>`<option value=\"${s.id}\">${s.code} \u2014 ${s.module}<\/option>`).join(\"\");\n eSession.innerHTML='<option value=\"\">Choisir...<\/option>'+opts;\n const current=filterSession.value;\n filterSession.innerHTML='<option value=\"\">Toutes les sessions<\/option>'+opts;\n filterSession.value=current;\n}\nfunction updateStats(){\n const cap=sessions.reduce((a,s)=>a+s.capacity,0);\n const enrolled=enrollments.filter(e=>e.status===\"Inscrit\").length;\n const waiting=enrollments.filter(e=>e.status===\"Liste d'attente\").length;\n stSessions.textContent=sessions.length;stCapacity.textContent=cap;stEnrolled.textContent=enrolled;stWaiting.textContent=waiting;\n stFill.textContent=cap?Math.round(enrolled\/cap*100)+\"%\":\"0%\";\n}\nfunction refreshAll(){updateSelects();renderSessions();renderEnrollments();updateStats()}\n\nfunction focusSession(id){filterSession.value=String(id);renderEnrollments();document.getElementById(\"filterSession\").scrollIntoView({behavior:\"smooth\"})}\nfunction toggleSession(id){\n const s=sessions.find(x=>x.id===id); if(!s)return;\n s.status=s.status===\"Ouverte\"?\"Compl\u00e8te\":s.status===\"Compl\u00e8te\"?\"Cl\u00f4tur\u00e9e\":\"Ouverte\";\n refreshAll();\n}\nfunction deleteSession(id){\n if(!confirm(\"Supprimer cette session et ses inscriptions ?\"))return;\n sessions=sessions.filter(s=>s.id!==id); enrollments=enrollments.filter(e=>e.sessionId!==id); refreshAll();\n}\nfunction deleteEnrollment(id){enrollments=enrollments.filter(e=>e.id!==id);refreshAll()}\nfunction cycleAttendance(id){\n const e=enrollments.find(x=>x.id===id); if(!e)return;\n e.attendance=e.attendance===\"\u00c0 venir\"?\"Pr\u00e9sent\":e.attendance===\"Pr\u00e9sent\"?\"Absent\":\"\u00c0 venir\"; refreshAll();\n}\nfunction promoteWait(id){\n const e=enrollments.find(x=>x.id===id); if(!e)return;\n const s=sessions.find(x=>x.id===e.sessionId); if(!s)return;\n const enrolled=enrollments.filter(x=>x.sessionId===s.id&&x.status===\"Inscrit\").length;\n if(enrolled>=s.capacity){alert(\"Session compl\u00e8te. Augmentez la capacit\u00e9 ou lib\u00e9rez une place.\");return;}\n e.status=\"Inscrit\"; refreshAll();\n}\nfunction saveAll(){\n localStorage.setItem(\"mzaSessionsManager\",JSON.stringify({sessions,enrollments}));\n notice.textContent=\"Donn\u00e9es sauvegard\u00e9es sur cet appareil.\";\n}\nfunction loadAll(){\n const raw=localStorage.getItem(\"mzaSessionsManager\");\n if(!raw){notice.textContent=\"Aucune sauvegarde trouv\u00e9e.\";return;}\n const d=JSON.parse(raw);sessions=d.sessions||[];enrollments=d.enrollments||[];refreshAll();notice.textContent=\"Donn\u00e9es charg\u00e9es.\";\n}\nfunction exportCSV(){\n let rows=[[\"Session\",\"Module\",\"MZA ID\",\"Apprenant\",\"Email\",\"Statut\",\"Pr\u00e9sence\",\"Paiement\",\"Observation\"]];\n enrollments.forEach(e=>{\n  const s=sessions.find(x=>x.id===e.sessionId);\n  rows.push([s?.code||\"\",s?.module||\"\",e.mzaId,e.name,e.email,e.status,e.attendance,e.payment,e.note]);\n });\n const csv=rows.map(r=>r.map(v=>`\"${String(v??\"\").replaceAll('\"','\"\"')}\"`).join(\";\")).join(\"\\n\");\n const blob=new Blob([\"\\ufeff\"+csv],{type:\"text\/csv;charset=utf-8;\"});\n const url=URL.createObjectURL(blob);const a=document.createElement(\"a\");a.href=url;a.download=\"mza-listes-sessions.csv\";a.click();URL.revokeObjectURL(url);\n}\nfunction seedDemo(){\n sessions=[\n  {id:101,code:\"MZA-AIR-2026-10\",module:\"Chef d'escale\",start:\"2026-10-05\",end:\"2026-10-23\",capacity:20,trainer:\"Formateur MZA\",mode:\"Pr\u00e9sentiel\",status:\"Ouverte\"},\n  {id:102,code:\"MZA-GDS-2026-11\",module:\"Amadeus Expert\",start:\"2026-11-02\",end:\"2026-11-13\",capacity:15,trainer:\"Formateur GDS\",mode:\"Hybride\",status:\"Ouverte\"}\n ];\n enrollments=[\n  {id:201,sessionId:101,mzaId:\"MZA-26-AIR-00481\",name:\"Mohammed KIAL\",email:\"\",status:\"Inscrit\",attendance:\"\u00c0 venir\",payment:\"Pay\u00e9\",note:\"\"},\n  {id:202,sessionId:101,mzaId:\"MZA-26-AIR-00512\",name:\"Candidat D\u00e9mo\",email:\"\",status:\"Liste d'attente\",attendance:\"\u00c0 venir\",payment:\"\u00c0 payer\",note:\"\"}\n ];\n refreshAll();notice.textContent=\"Exemple charg\u00e9.\";\n}\nrefreshAll();\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>MZA Sessions &#038; Lists Manager MAROC ZAIN ACADEMY SESSIONS &#038; LISTS MANAGER\u2122 Pilotage Admissions &#038; Cohortes Gestionnaire des sessions &#038; listes Cr\u00e9ez les sessions, affectez les apprenants, g\u00e9rez les capacit\u00e9s, listes d\u2019attente, statuts, pr\u00e9sences et impressions depuis une seule interface. Sessions0 Places totales0 Inscrits0 Liste d&#8217;attente0 Taux remplissage0% Cr\u00e9er une session Une session = un [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-569","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/maroczain.com\/scolaire.maroczain.com\/wp-json\/wp\/v2\/pages\/569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maroczain.com\/scolaire.maroczain.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/maroczain.com\/scolaire.maroczain.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/maroczain.com\/scolaire.maroczain.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maroczain.com\/scolaire.maroczain.com\/wp-json\/wp\/v2\/comments?post=569"}],"version-history":[{"count":1,"href":"https:\/\/maroczain.com\/scolaire.maroczain.com\/wp-json\/wp\/v2\/pages\/569\/revisions"}],"predecessor-version":[{"id":571,"href":"https:\/\/maroczain.com\/scolaire.maroczain.com\/wp-json\/wp\/v2\/pages\/569\/revisions\/571"}],"wp:attachment":[{"href":"https:\/\/maroczain.com\/scolaire.maroczain.com\/wp-json\/wp\/v2\/media?parent=569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}