{"id":37,"date":"2026-10-20T11:15:52","date_gmt":"2026-10-20T11:15:52","guid":{"rendered":"https:\/\/ac-sterling.fr\/?page_id=37"},"modified":"2026-10-21T13:36:45","modified_gmt":"2026-10-21T13:36:45","slug":"37-2","status":"publish","type":"page","link":"https:\/\/ac-sterling.fr\/","title":{"rendered":""},"content":{"rendered":"\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n<meta name=\"theme-color\" content=\"#090910\">\n<title>Acad\u00e9mie Sterling \u2014 Espace des \u00e9tablissements<\/title>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Manrope:wght@400;500;600;700;800&amp;display=swap\" rel=\"stylesheet\">\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.2\/css\/all.min.css\">\n<style>\n:root{--bg:#090910;--surface:#11131e;--surface2:#171a28;--line:#ffffff14;--text:#f7f7ff;--muted:#a3a8bd;--green:#24ef87;--gold:#ffbf2e;--purple:#c45cff;--blue:#8497ff;--radius:23px}\n*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}::selection{background:#c45cff55}\nbody:before{content:\"\";position:fixed;inset:-15%;z-index:-4;background:radial-gradient(ellipse at 12% 12%,#24ef871b,transparent 31%),radial-gradient(ellipse at 85% 20%,#c45cff20,transparent 33%),radial-gradient(ellipse at 60% 92%,#ffbf2e0e,transparent 34%);animation:ambientDrift 22s ease-in-out infinite alternate}\nbody:after{content:\"\";position:fixed;inset:0;z-index:-3;pointer-events:none;background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(#000,transparent 88%)}\n#particles{position:fixed;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none}\n.wrap{width:min(1160px,calc(100% - 42px));margin:auto}\nheader{position:sticky;top:0;z-index:40;background:#090910c9;border-bottom:1px solid #ffffff12;backdrop-filter:blur(22px)}\n.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}\n.brand{display:flex;align-items:center;gap:11px;font-weight:900;letter-spacing:.09em;font-size:12px}.brand-logo{width:43px;height:43px;object-fit:contain;filter:drop-shadow(0 0 12px #24ef8730);animation:logoBreath 4s ease-in-out infinite}\n.brand-fallback{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),var(--gold),var(--purple));color:#111}\n.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:.19em;margin-top:4px}\n.navlinks{display:flex;gap:25px;font-size:12px;color:#c4c7d5;font-weight:800}.navlinks a{transition:.25s}.navlinks a:hover{color:var(--green);transform:translateY(-2px)}\n.nav-right{display:flex;gap:10px;align-items:center}.nav-btn{border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:#ffffff08;font-size:11px;font-weight:800;transition:.3s}.nav-btn:hover{border-color:#c45cff66;transform:translateY(-2px)}\n.hero{min-height:360px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:40px;padding:55px 0 38px;position:relative}\n.eyebrow{display:inline-flex;gap:9px;align-items:center;border:1px solid #24ef8744;background:#24ef870c;color:var(--green);border-radius:50px;padding:9px 12px;font-size:9px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}\n.pulse{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulseDot 1.8s infinite}\nh1{font-size:clamp(37px,5.4vw,68px);line-height:1.03;letter-spacing:-.06em;margin:19px 0 17px}.gradient{color:transparent;background:linear-gradient(100deg,var(--green),var(--gold),var(--purple),var(--green));background-size:300% auto;background-clip:text;animation:gradientFlow 9s linear infinite}\n.hero p{font-size:14px;line-height:1.9;color:#b7bbcc;max-width:650px}.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:23px}\n.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);border-radius:13px;padding:13px 16px;font-size:11px;font-weight:900;transition:transform .3s,box-shadow .3s,border-color .3s}.btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px #0005}.btn-primary{background:linear-gradient(110deg,var(--green),var(--gold),var(--purple));background-size:220% 220%;color:#0b0b11;border:0;animation:gradientFlow 7s ease infinite}.btn-soft{background:#ffffff08}\n.hero-art{height:270px;position:relative;display:grid;place-items:center;perspective:700px}\n.logo-stage{width:195px;height:195px;display:grid;place-items:center;position:relative;animation:stageFloat 6s ease-in-out infinite;transform-style:preserve-3d}\n.logo-stage:before{content:\"\";position:absolute;inset:-23px;border:1px solid #ffffff1b;border-radius:50%;animation:spin 24s linear infinite}\n.logo-stage:after{content:\"\";position:absolute;inset:-42px;border:1px dashed #c45cff55;border-radius:50%;animation:spin 32s linear infinite reverse}\n.logo-fallback-hero{width:100%;height:100%;border-radius:30px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),var(--gold),var(--purple));color:#111;font-size:50px;font-weight:900}\n.logo-orbit-dot{position:absolute;inset:-24px;animation:spin 8s linear infinite}.logo-orbit-dot:before{content:\"\";position:absolute;top:8px;left:50%;width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 20px var(--gold)}\n.art-label{position:absolute;padding:10px 12px;border:1px solid #ffffff1b;border-radius:13px;background:#151725dd;backdrop-filter:blur(14px);font-size:10px;font-weight:900;box-shadow:0 15px 30px #0004;animation:labelFloat 5s ease-in-out infinite}.art-label i{color:var(--green);margin-right:7px}.label-one{top:18px;left:0}.label-two{bottom:14px;right:0;animation-delay:-2.2s}.label-two i{color:var(--purple)}\n.section-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:38px 0 20px}.overline{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:900}.section-top h2{font-size:clamp(25px,3vw,38px);letter-spacing:-.05em;margin:9px 0 6px}.section-top p{font-size:12px;line-height:1.8;color:var(--muted);max-width:660px;margin:0}.count-badge{white-space:nowrap;border:1px solid var(--line);background:#ffffff06;border-radius:12px;padding:11px 13px;font-size:10px;color:#d7d9e5;font-weight:800}\n.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:25px 0 18px;flex-wrap:wrap}.search{flex:1;min-width:220px;position:relative}.search i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#888ea4}.search input{width:100%;border:1px solid var(--line);border-radius:14px;background:#ffffff06;color:white;padding:13px 15px 13px 42px;outline:none;font-size:12px;transition:.25s}.search input:focus{border-color:#c45cff77;box-shadow:0 0 0 4px #c45cff12}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:#ffffff06;color:#c1c5d5;padding:11px 13px;border-radius:12px;font-size:10px;font-weight:900;transition:.25s}.filter.active,.filter:hover{background:#24ef8712;color:var(--green);border-color:#24ef8755}\n.school-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:55px}\n.school{--accent:var(--green);--glow:#24ef8718;position:relative;overflow:hidden;isolation:isolate;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#171a28e8,#10111bdc);padding:24px;min-height:290px;transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s}\n.school[data-accent=\"gold\"]{--accent:var(--gold);--glow:#ffbf2e18}\n.school[data-accent=\"purple\"]{--accent:var(--purple);--glow:#c45cff18}\n.school[data-accent=\"blue\"]{--accent:var(--blue);--glow:#8497ff18}\n.school:before{content:\"\";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at var(--mx,90%) var(--my,0%),var(--glow),transparent 47%);opacity:0;transition:opacity .3s}.school:hover:before{opacity:1}.school:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 22px 60px #0005,0 0 25px var(--glow)}\n.school-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.school-icon{height:48px;width:48px;border-radius:15px;display:grid;place-items:center;color:var(--accent);background:var(--glow);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);font-size:19px;transition:transform .4s}.school:hover .school-icon{transform:rotate(-8deg) scale(1.08)}\n.status{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:var(--glow);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);padding:8px 10px;border-radius:99px}\n.school-title{display:block;margin:19px 0 9px;font-size:24px;letter-spacing:-.045em;font-weight:900;transition:color .25s}.school-title:hover{color:var(--accent)}.school-desc{font-size:12px;line-height:1.85;color:#b4b8c9;margin:0;min-height:45px}\n.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.tag{font-size:9px;font-weight:800;color:#b8bdd0;background:#ffffff07;border:1px solid #ffffff0c;border-radius:8px;padding:7px 9px}\n.school-foot{border-top:1px solid #ffffff11;margin-top:18px;padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:12px}.school-foot small{font-size:10px;color:var(--muted)}.enter-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:10px;font-weight:900}.enter-link span{height:27px;width:27px;border-radius:50%;display:grid;place-items:center;background:var(--glow);transition:transform .3s}.school:hover .enter-link span{transform:translateX(4px)}\n.empty{grid-column:1\/-1;padding:35px;border:1px dashed var(--line);border-radius:18px;text-align:center;color:var(--muted);font-size:12px}\nfooter{border-top:1px solid #ffffff12;background:#080910a8}.footer{min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:18px;color:var(--muted);font-size:10px}.footer-brand{font-size:10px;letter-spacing:.13em;color:white;font-weight:900}\n.backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:17px;background:#03040bdd;backdrop-filter:blur(18px);opacity:0;visibility:hidden;transition:opacity .32s,visibility .32s}.backdrop.open{opacity:1;visibility:visible}.modal{position:relative;width:min(100%,650px);max-height:92vh;overflow:auto;border:1px solid #ffffff20;border-radius:25px;background:linear-gradient(145deg,#191c2b,#0b0c14);box-shadow:0 35px 120px #000c;padding:26px;transform:translateY(20px) scale(.98);transition:transform .35s cubic-bezier(.2,.8,.2,1)}.backdrop.open .modal{transform:translateY(0) scale(1)}.close{position:absolute;right:15px;top:15px;width:35px;height:35px;border-radius:11px;border:1px solid var(--line);background:#ffffff08;color:white;display:grid;place-items:center}.modal h3{font-size:23px;letter-spacing:-.04em;margin:0 0 6px}.modal .sub{font-size:11px;color:var(--muted);line-height:1.8;margin:0 0 21px}.field-label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.16em;font-weight:900;margin-bottom:8px}.code-input{width:100%;padding:14px;border:1px solid #ffffff20;background:#080a12;border-radius:13px;color:white;outline:none;text-align:center;text-transform:uppercase;letter-spacing:.32em;font-size:18px;font-weight:900;transition:.25s}.code-input:focus{border-color:var(--purple);box-shadow:0 0 0 4px #c45cff16}.error{min-height:18px;color:#ff8ca5;font-size:10px;margin-top:7px}.modal-submit{width:100%;margin-top:7px}\n\n.admin-intro{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #c45cff38;background:#c45cff0c;border-radius:14px;margin-bottom:18px}\n.admin-intro .admin-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#c45cff19;color:var(--purple);font-size:17px}\n.admin-intro strong{display:block;font-size:12px}.admin-intro span{display:block;color:var(--muted);font-size:10px;margin-top:4px;line-height:1.6}\n.admin-form{display:grid;gap:13px}.admin-field{display:grid;gap:7px}.admin-field label{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:#d8daea}\n.admin-field input,.admin-field textarea,.admin-field select{width:100%;padding:12px 13px;border:1px solid #ffffff1b;background:#080a12;border-radius:12px;color:#fff;outline:none;font-size:11px;transition:border-color .25s,box-shadow .25s}\n.admin-field textarea{min-height:80px;resize:vertical;line-height:1.7}.admin-field input:focus,.admin-field textarea:focus,.admin-field select:focus{border-color:#c45cff88;box-shadow:0 0 0 4px #c45cff12}\n.admin-form-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.admin-list{display:grid;gap:8px;margin-top:17px}.admin-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border:1px solid #ffffff12;background:#ffffff05;border-radius:12px}.admin-item strong{font-size:11px;display:block}.admin-item span{font-size:9px;color:var(--muted);display:block;margin-top:2px}.admin-delete{border:1px solid #ff718b44;background:#ff718b10;color:#ff9db0;border-radius:9px;padding:8px 10px;font-size:9px;font-weight:900;flex-shrink:0}\n.admin-edit{border:1px solid #24ef8744;background:#24ef8710;color:var(--green);border-radius:9px;padding:8px 10px;font-size:9px;font-weight:900;flex-shrink:0;margin-left:auto}\n.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);opacity:0;z-index:150;background:#181b28;border:1px solid #24ef8750;border-radius:12px;padding:12px 16px;font-size:10px;font-weight:900;transition:.3s;pointer-events:none;color:#fff}.toast.show{opacity:1;transform:translate(-50%,0)}\n\n@keyframes ambientDrift{from{transform:translate3d(-1%,0,0) scale(1);filter:hue-rotate(0)}to{transform:translate3d(1%,-1%,0) scale(1.06);filter:hue-rotate(22deg)}}\n@keyframes logoBreath{0%,100%{filter:drop-shadow(0 0 9px #24ef8730);transform:scale(1)}50%{filter:drop-shadow(0 0 18px #c45cff55);transform:scale(1.045)}}\n@keyframes stageFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-11px) rotate(3deg)}}\n@keyframes labelFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}\n@keyframes spin{to{transform:rotate(360deg)}}@keyframes gradientFlow{to{background-position:300% center}}\n@keyframes pulseDot{0%{box-shadow:0 0 0 0 #24ef8770}70%{box-shadow:0 0 0 8px #24ef8700}100%{box-shadow:0 0 0 0 #24ef8700}}\n@media(max-width:850px){.navlinks{display:none}.hero{grid-template-columns:1fr;padding-top:40px}.hero-art{grid-row:1;height:245px}.hero-copy{text-align:center}.hero-copy .eyebrow{margin:auto}.hero-copy p{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.school-grid{grid-template-columns:1fr}}\n<\/style>\n\n\n<canvas id=\"particles\"><\/canvas>\n<header>\n  <div class=\"wrap nav\">\n    <a class=\"brand\" href=\"#\">\n      <div class=\"brand-fallback\"><i class=\"fa-solid fa-graduation-cap\"><\/i><\/div>\n      <div>ACAD\u00c9MIE STERLING<small>ESPACE \u00c9TABLISSEMENTS<\/small><\/div>\n    <\/a>\n    <div class=\"navlinks\">\n      <a href=\"#accueil\">Accueil<\/a>\n      <a href=\"#etablissements\">\u00c9tablissements<\/a>\n    <\/div>\n    <div class=\"nav-right\">\n      <button class=\"nav-btn\" onclick=\"openAdminModal()\"><i class=\"fa-solid fa-lock\"><\/i> Espace Admin<\/button>\n    <\/div>\n  <\/div>\n<\/header>\n\n<main class=\"wrap\" id=\"accueil\">\n  <section class=\"hero\">\n    <div class=\"hero-copy\">\n      <div class=\"eyebrow\"><span class=\"pulse\"><\/span> Plateforme Acad\u00e9mique<\/div>\n      <h1>Acc\u00e9dez \u00e0 vos <span class=\"gradient\">\u00c9tablissements<\/span><\/h1>\n      <p>Bienvenue sur le portail officiel de l&rsquo;Acad\u00e9mie Sterling. Retrouvez vos espaces d&rsquo;apprentissage, outils d&rsquo;administration et acc\u00e8s s\u00e9curis\u00e9s.<\/p>\n      <div class=\"hero-actions\">\n        <a href=\"#etablissements\" class=\"btn btn-primary\"><i class=\"fa-solid fa-compass\"><\/i> Explorer les campus<\/a>\n        <button onclick=\"openAdminModal()\" class=\"btn btn-soft\"><i class=\"fa-solid fa-user-shield\"><\/i> Administration<\/button>\n      <\/div>\n    <\/div>\n    <div class=\"hero-art\">\n      <div class=\"logo-stage\">\n        <div class=\"logo-fallback-hero\"><i class=\"fa-solid fa-university\"><\/i><\/div>\n        <div class=\"logo-orbit-dot\"><\/div>\n      <\/div>\n      <div class=\"art-label label-one\"><i class=\"fa-solid fa-shield-halved\"><\/i> S\u00e9curis\u00e9<\/div>\n      <div class=\"art-label label-two\"><i class=\"fa-solid fa-bolt\"><\/i> Temps R\u00e9el<\/div>\n    <\/div>\n  <\/section>\n\n  <section id=\"etablissements\">\n    <div class=\"section-top\">\n      <div>\n        <span class=\"overline\">Campus &amp; \u00c9coles<\/span>\n        <h2>Nos \u00c9tablissements<\/h2>\n        <p>S\u00e9lectionnez votre \u00e9tablissement pour acc\u00e9der \u00e0 l&rsquo;espace de connexion s\u00e9curis\u00e9.<\/p>\n      <\/div>\n      <div class=\"count-badge\" id=\"school-count\">2 \u00c9tablissements disponibles<\/div>\n    <\/div>\n\n    <div class=\"toolbar\">\n      <div class=\"search\">\n        <i class=\"fa-solid fa-magnifying-glass\"><\/i>\n        <input type=\"text\" id=\"search-input\" placeholder=\"Rechercher un \u00e9tablissement...\" oninput=\"renderSchools()\">\n      <\/div>\n      <div class=\"filters\">\n        <button class=\"filter active\" onclick=\"setFilter('all', this)\">Tous<\/button>\n        <button class=\"filter\" onclick=\"setFilter('ouvert', this)\">Ouverts<\/button>\n      <\/div>\n    <\/div>\n\n    <div class=\"school-grid\" id=\"school-grid\">\n      <!-- G\u00e9n\u00e9r\u00e9 dynamiquement en JS -->\n    <\/div>\n  <\/section>\n<\/main>\n\n<footer>\n  <div class=\"wrap footer\">\n    <div class=\"footer-brand\">ACAD\u00c9MIE STERLING \u00a9 2026<\/div>\n    <div>Syst\u00e8me de gestion acad\u00e9mique s\u00e9curis\u00e9<\/div>\n  <\/div>\n<\/footer>\n\n<!-- MODAL ACC\u00c8S & ADMIN -->\n<div class=\"backdrop\" id=\"modal-backdrop\">\n  <div class=\"modal\">\n    <button class=\"close\" onclick=\"closeModal()\"><i class=\"fa-solid fa-xmark\"><\/i><\/button>\n    \n    <!-- \u00c9CRAN DE CONNEXION ADMIN -->\n    <div id=\"admin-login-view\">\n      <h3>Espace Administration<\/h3>\n      <p class=\"sub\">Veuillez saisir le code d&rsquo;acc\u00e8s administrateur pour modifier les informations des \u00e9tablissements.<\/p>\n      <div class=\"field-label\">Code d&rsquo;acc\u00e8s Admin<\/div>\n      <input type=\"password\" id=\"admin-code\" class=\"code-input\" placeholder=\"\u2022\u2022\u2022\u2022\" maxlength=\"10\">\n      <div class=\"error\" id=\"admin-error\"><\/div>\n      <button class=\"btn btn-primary modal-submit\" onclick=\"loginAdmin()\">Se connecter<\/button>\n    <\/div>\n\n    <!-- \u00c9CRAN D'\u00c9DITION ADMIN (Masqu\u00e9 par d\u00e9faut) -->\n    <div id=\"admin-panel-view\" style=\"display: none;\">\n      <div class=\"admin-intro\">\n        <div class=\"admin-icon\"><i class=\"fa-solid fa-sliders\"><\/i><\/div>\n        <div>\n          <strong>Panneau de Gestion Admin<\/strong>\n          <span>Modifiez les informations des \u00e9tablissements en temps r\u00e9el.<\/span>\n        <\/div>\n      <\/div>\n\n      <form class=\"admin-form\" onsubmit=\"saveSchool(event)\">\n        <input type=\"hidden\" id=\"edit-id\">\n        <div class=\"admin-field\">\n          <label>Nom de l&rsquo;\u00e9tablissement<\/label>\n          <input type=\"text\" id=\"edit-name\" required=\"\" placeholder=\"Ex: Poudlard \/ Sterling High\">\n        <\/div>\n        <div class=\"admin-field\">\n          <label>Description<\/label>\n          <textarea id=\"edit-desc\" required=\"\" placeholder=\"Description courte...\"><\/textarea>\n        <\/div>\n        <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 10px;\">\n          <div class=\"admin-field\">\n            <label>Statut<\/label>\n            <input type=\"text\" id=\"edit-status\" placeholder=\"Ex: Inscriptions Ouvertes\">\n          <\/div>\n          <div class=\"admin-field\">\n            <label>Couleur Th\u00e8me<\/label>\n            <select id=\"edit-accent\">\n              <option value=\"green\">Vert (Green)<\/option>\n              <option value=\"gold\">Or (Gold)<\/option>\n              <option value=\"purple\">Violet (Purple)<\/option>\n              <option value=\"blue\">Bleu (Blue)<\/option>\n            <\/select>\n          <\/div>\n        <\/div>\n        <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 10px;\">\n          <div class=\"admin-field\">\n            <label>Ic\u00f4ne FontAwesome<\/label>\n            <input type=\"text\" id=\"edit-icon\" placeholder=\"fa-solid fa-hat-wizard\">\n          <\/div>\n          <div class=\"admin-field\">\n            <label>Lien d&rsquo;acc\u00e8s<\/label>\n            <input type=\"text\" id=\"edit-link\" placeholder=\"#\">\n          <\/div>\n        <\/div>\n        <div class=\"admin-field\">\n          <label>Tags (s\u00e9par\u00e9s par des virgules)<\/label>\n          <input type=\"text\" id=\"edit-tags\" placeholder=\"Magie, Sorcellerie, Internat\">\n        <\/div>\n\n        <div class=\"admin-form-actions\">\n          <button type=\"submit\" class=\"btn btn-primary\"><i class=\"fa-solid fa-floppy-disk\"><\/i> Enregistrer<\/button>\n          <button type=\"button\" class=\"btn btn-soft\" onclick=\"resetForm()\">R\u00e9initialiser<\/button>\n        <\/div>\n      <\/form>\n\n      <hr style=\"border: 0; border-top: 1px solid var(--line); margin: 20px 0;\">\n\n      <h4>\u00c9tablissements existants<\/h4>\n      <div class=\"admin-list\" id=\"admin-school-list\">\n        <!-- Liste dynamique avec boutons \u00c9diter \/ Supprimer -->\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/div>\n\n<div class=\"toast\" id=\"toast\">Modifications enregistr\u00e9es !<\/div>\n\n<script>\n\/\/ CODE ADMIN PAR D\u00c9FAUT\nconst ADMIN_SECRET = \"STERLING26\";\n\n\/\/ DONN\u00c9ES PAR D\u00c9FAUT\nconst defaultSchools = [\n  {\n    id: \"HP\",\n    name: \"Poudlard\",\n    desc: \"\u00c9cole de sorcellerie dispensant un enseignement de la magie d'excellence.\",\n    status: \"Inscriptions Ouvertes\",\n    accent: \"gold\",\n    icon: \"fa-solid fa-hat-wizard\",\n    tags: [\"Magie\", \"Sorcellerie\", \"Internat\"],\n    link: \"#poudlard\"\n  },\n  {\n    id: \"SH\",\n    name: \"Sterling High\",\n    desc: \"\u00c9tablissement moderne ax\u00e9 sur les sciences, les arts et le leadership.\",\n    status: \"Acc\u00e8s Restreint\",\n    accent: \"green\",\n    icon: \"fa-solid fa-building-columns\",\n    tags: [\"Sciences\", \"Technologies\", \"Leadership\"],\n    link: \"#sterling-high\"\n  }\n];\n\n\/\/ Chargement initial depuis LocalStorage ou par d\u00e9faut\nlet schools = JSON.parse(localStorage.getItem('sterling_schools')) || defaultSchools;\nlet currentFilter = 'all';\n\nfunction saveToLocalStorage() {\n  localStorage.setItem('sterling_schools', JSON.stringify(schools));\n}\n\nfunction renderSchools() {\n  const grid = document.getElementById('school-grid');\n  const search = document.getElementById('search-input').value.toLowerCase();\n  \n  grid.innerHTML = '';\n  \n  const filtered = schools.filter(s => {\n    const matchesSearch = s.name.toLowerCase().includes(search) || s.desc.toLowerCase().includes(search);\n    const matchesFilter = currentFilter === 'all' ? true : s.status.toLowerCase().includes('ouvert');\n    return matchesSearch && matchesFilter;\n  });\n\n  document.getElementById('school-count').innerText = `${filtered.length} \u00c9tablissement(s) disponible(s)`;\n\n  if(filtered.length === 0) {\n    grid.innerHTML = `<div class=\"empty\"><i class=\"fa-solid fa-circle-exclamation\"><\/i> Aucun \u00e9tablissement ne correspond \u00e0 votre recherche.<\/div>`;\n    return;\n  }\n\n  filtered.forEach(s => {\n    const tagsHTML = s.tags.map(t => `<span class=\"tag\">${t}<\/span>`).join('');\n    const card = document.createElement('div');\n    card.className = 'school';\n    card.setAttribute('data-accent', s.accent || 'green');\n    card.innerHTML = `\n      <div class=\"school-head\">\n        <div class=\"school-icon\"><i class=\"${s.icon || 'fa-solid fa-school'}\"><\/i><\/div>\n        <span class=\"status\">${s.status}<\/span>\n      <\/div>\n      <a href=\"${s.link}\" class=\"school-title\">${s.name}<\/a>\n      <p class=\"school-desc\">${s.desc}<\/p>\n      <div class=\"tags\">${tagsHTML}<\/div>\n      <div class=\"school-foot\">\n        <small>Acc\u00e8s Portail<\/small>\n        <a href=\"${s.link}\" class=\"enter-link\">Rejoindre <span><i class=\"fa-solid fa-arrow-right\"><\/i><\/span><\/a>\n      <\/div>\n    `;\n    grid.appendChild(card);\n  });\n}\n\nfunction setFilter(filter, btn) {\n  currentFilter = filter;\n  document.querySelectorAll('.filter').forEach(b => b.classList.remove('active'));\n  btn.classList.add('active');\n  renderSchools();\n}\n\n\/\/ GESTION ADMIN\nfunction openAdminModal() {\n  document.getElementById('modal-backdrop').classList.add('open');\n}\n\nfunction closeModal() {\n  document.getElementById('modal-backdrop').classList.remove('open');\n}\n\nfunction loginAdmin() {\n  const code = document.getElementById('admin-code').value;\n  const errorEl = document.getElementById('admin-error');\n  \n  if(code === ADMIN_SECRET) {\n    errorEl.innerText = \"\";\n    document.getElementById('admin-login-view').style.display = 'none';\n    document.getElementById('admin-panel-view').style.display = 'block';\n    renderAdminList();\n    showToast(\"Connexion Admin r\u00e9ussie\");\n  } else {\n    errorEl.innerText = \"Code d'acc\u00e8s incorrect. (Code par d\u00e9faut: STERLING2026)\";\n  }\n}\n\nfunction renderAdminList() {\n  const list = document.getElementById('admin-school-list');\n  list.innerHTML = '';\n\n  schools.forEach(s => {\n    const item = document.createElement('div');\n    item.className = 'admin-item';\n    item.innerHTML = `\n      <div>\n        <strong>${s.name}<\/strong>\n        <span>Statut: ${s.status}<\/span>\n      <\/div>\n      <button class=\"admin-edit\" onclick=\"editSchool('${s.id}')\"><i class=\"fa-solid fa-pen\"><\/i> Modifier<\/button>\n      <button class=\"admin-delete\" onclick=\"deleteSchool('${s.id}')\"><i class=\"fa-solid fa-trash\"><\/i><\/button>\n    `;\n    list.appendChild(item);\n  });\n}\n\nfunction editSchool(id) {\n  const s = schools.find(item => item.id === id);\n  if(!s) return;\n\n  document.getElementById('edit-id').value = s.id;\n  document.getElementById('edit-name').value = s.name;\n  document.getElementById('edit-desc').value = s.desc;\n  document.getElementById('edit-status').value = s.status;\n  document.getElementById('edit-accent').value = s.accent || 'green';\n  document.getElementById('edit-icon').value = s.icon || 'fa-solid fa-school';\n  document.getElementById('edit-link').value = s.link || '#';\n  document.getElementById('edit-tags').value = s.tags.join(', ');\n}\n\nfunction resetForm() {\n  document.getElementById('edit-id').value = '';\n  document.querySelector('.admin-form').reset();\n}\n\nfunction saveSchool(e) {\n  e.preventDefault();\n  \n  const id = document.getElementById('edit-id').value || 'SCH_' + Date.now();\n  const name = document.getElementById('edit-name').value;\n  const desc = document.getElementById('edit-desc').value;\n  const status = document.getElementById('edit-status').value;\n  const accent = document.getElementById('edit-accent').value;\n  const icon = document.getElementById('edit-icon').value;\n  const link = document.getElementById('edit-link').value;\n  const tags = document.getElementById('edit-tags').value.split(',').map(t => t.trim()).filter(t => t.length > 0);\n\n  const existingIndex = schools.findIndex(s => s.id === id);\n\n  const schoolData = { id, name, desc, status, accent, icon, link, tags };\n\n  if(existingIndex > -1) {\n    schools[existingIndex] = schoolData;\n  } else {\n    schools.push(schoolData);\n  }\n\n  saveToLocalStorage();\n  renderSchools();\n  renderAdminList();\n  resetForm();\n  showToast(\"\u00c9tablissement enregistr\u00e9 !\");\n}\n\nfunction deleteSchool(id) {\n  if(confirm(\"Voulez-vous vraiment supprimer cet \u00e9tablissement ?\")) {\n    schools = schools.filter(s => s.id !== id);\n    saveToLocalStorage();\n    renderSchools();\n    renderAdminList();\n    showToast(\"\u00c9tablissement supprim\u00e9\");\n  }\n}\n\nfunction showToast(msg) {\n  const toast = document.getElementById('toast');\n  toast.innerText = msg;\n  toast.classList.add('show');\n  setTimeout(() => toast.classList.remove('show'), 3000);\n}\n\n\/\/ Initialisation\nrenderSchools();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Acad\u00e9mie Sterling \u2014 Espace des \u00e9tablissements ACAD\u00c9MIE STERLINGESPACE \u00c9TABLISSEMENTS Accueil \u00c9tablissements Espace Admin Plateforme Acad\u00e9mique Acc\u00e9dez \u00e0 vos \u00c9tablissements Bienvenue sur le portail officiel de l&rsquo;Acad\u00e9mie Sterling. Retrouvez vos espaces d&rsquo;apprentissage, outils d&rsquo;administration et acc\u00e8s s\u00e9curis\u00e9s. Explorer les campus Administration S\u00e9curis\u00e9 Temps R\u00e9el Campus &amp; \u00c9coles Nos \u00c9tablissements S\u00e9lectionnez votre \u00e9tablissement pour acc\u00e9der \u00e0 l&rsquo;espace [&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-37","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ac-sterling.fr\/index.php?rest_route=\/wp\/v2\/pages\/37","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ac-sterling.fr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ac-sterling.fr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ac-sterling.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ac-sterling.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=37"}],"version-history":[{"count":6,"href":"https:\/\/ac-sterling.fr\/index.php?rest_route=\/wp\/v2\/pages\/37\/revisions"}],"predecessor-version":[{"id":49,"href":"https:\/\/ac-sterling.fr\/index.php?rest_route=\/wp\/v2\/pages\/37\/revisions\/49"}],"wp:attachment":[{"href":"https:\/\/ac-sterling.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=37"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}