{"id":4087,"date":"2026-09-23T08:57:53","date_gmt":"2026-09-23T08:57:53","guid":{"rendered":"https:\/\/international-school33.com\/?page_id=4087"},"modified":"2026-09-23T09:15:55","modified_gmt":"2026-09-23T09:15:55","slug":"2026-2027-calendar","status":"publish","type":"page","link":"https:\/\/international-school33.com\/en\/calendrier-2026-2027\/","title":{"rendered":"2026\u20132027 Calendar"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4087\" class=\"elementor elementor-4087\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dfdd04b e-con-full e-flex e-con e-parent\" data-id=\"dfdd04b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-150bc44 elementor-widget elementor-widget-html\" data-id=\"150bc44\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\/* ===== IS33 \u2014 Calendrier scolaire 2026-2027 (widget HTML Elementor) ===== *\/\n\/* Toutes les r\u00e8gles sont pr\u00e9fix\u00e9es .is33-cal pour ne rien casser ailleurs *\/\nhtml { scroll-behavior: smooth; }\n\n.is33-cal {\n  font-family: 'Elms Sans', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;\n  color: #05244F;\n  --navy: #05244F;\n  --navy-2: #0a3d7a;\n  --gold: #B59138;\n  --coral: #F45D48;\n  --vac-bg: #F5E9C6;  --vac-tx: #6f5412;\n  --ren-bg: #D8F0E0;  --ren-tx: #16663a;  --ren: #2E9E5B;\n  --fer-bg: #FDE0DA;  --fer-tx: #a8321f;\n  --sem-bg: #DCE6F5;  --sem-tx: #05244F;  --sem: #3d6bb3;\n  --we-bg: #F2F3F5;\n}\n.is33-cal *, .is33-cal *::before, .is33-cal *::after { box-sizing: border-box; }\n\n\/* ---------- HERO ---------- *\/\n.is33-cal-hero {\n  background: linear-gradient(135deg, #05244F 0%, #0a3d7a 100%);\n  color: #fff;\n  padding: 100px 40px 90px;\n  text-align: center;\n}\n.is33-cal-hero-inner { max-width: 1000px; margin: 0 auto; }\n.is33-cal-badge {\n  display: inline-block;\n  background: linear-gradient(135deg, #F45D48 0%, #ff7a66 100%);\n  color: #fff;\n  padding: 10px 28px;\n  border-radius: 50px;\n  font-size: 14px;\n  font-weight: 600;\n  letter-spacing: 0.5px;\n  margin-bottom: 24px;\n  box-shadow: 0 4px 15px rgba(244, 93, 72, 0.3);\n}\n.is33-cal-hero h1 {\n  font-size: 56px;\n  font-weight: 700;\n  line-height: 1.2;\n  margin: 0 0 24px;\n  color: #fff;\n}\n.is33-cal-hero h1 .is33-cal-year { color: #B59138; }\n.is33-cal-hero-sub {\n  font-size: 20px;\n  line-height: 1.7;\n  opacity: 0.9;\n  max-width: 780px;\n  margin: 0 auto 40px;\n  color: #fff;\n}\n\n\n.is33-cal-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }\n.is33-cal-btn,\n.is33-cal-btn:visited,\n.is33-cal-btn:hover,\n.is33-cal-btn:active {\n  display: inline-block;\n  padding: 14px 32px;\n  border-radius: 100px;\n  font-size: 16px;\n  font-weight: 600;\n  text-decoration: none !important;\n  transition: transform 0.25s ease, box-shadow 0.25s ease;\n}\n.is33-cal-btn--primary,\n.is33-cal-btn--primary:visited,\n.is33-cal-btn--primary:hover {\n  background: linear-gradient(135deg, #F45D48 0%, #ff7a66 100%);\n  color: #ffffff !important;\n}\n.is33-cal-btn--ghost,\n.is33-cal-btn--ghost:visited,\n.is33-cal-btn--ghost:hover {\n  background: transparent;\n  color: #ffffff !important;\n  border: 2px solid rgba(255, 255, 255, 0.6);\n}\n.is33-cal-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(244, 93, 72, 0.35); }\n.is33-cal-btn:focus-visible,\n.is33-cal-chip:focus-visible,\n.is33-cal-day:focus-visible { outline: 3px solid #B59138; outline-offset: 2px; }\n\n\/* ---------- SECTIONS ---------- *\/\n.is33-cal-section { padding: 90px 40px; }\n.is33-cal-section--grey { background: #f8f9fa; }\n.is33-cal-container { max-width: 1400px; margin: 0 auto; }\n.is33-cal-head { text-align: center; margin-bottom: 48px; }\n.is33-cal-head h2 {\n  font-size: 42px;\n  font-weight: 700;\n  line-height: 1.2;\n  margin: 0 0 16px;\n  color: #05244F;\n}\n.is33-cal-head p {\n  font-size: 18px;\n  line-height: 1.7;\n  opacity: 0.85;\n  max-width: 760px;\n  margin: 0 auto;\n}\n\n\/* ---------- L\u00c9GENDE \/ FILTRES ---------- *\/\n.is33-cal-legend {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 12px;\n  margin-bottom: 20px;\n}\n.is33-cal-chip {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  padding: 10px 18px;\n  border-radius: 50px;\n  border: 2px solid transparent;\n  background: #fff;\n  color: #05244F;\n  font: inherit;\n  font-size: 15px;\n  font-weight: 600;\n  cursor: pointer;\n  box-shadow: 0 2px 10px rgba(5, 36, 79, 0.06);\n  transition: border-color 0.2s ease, opacity 0.2s ease;\n}\n.is33-cal-chip:hover { border-color: #B59138; }\n.is33-cal-chip[aria-pressed=\"true\"] { border-color: #05244F; }\n.is33-cal-legend.has-filter .is33-cal-chip[aria-pressed=\"false\"] { opacity: 0.55; }\n.is33-cal-swatch { width: 16px; height: 16px; border-radius: 4px; flex: none; }\n.is33-cal-swatch--vacances { background: var(--vac-bg); border: 2px solid #B59138; }\n.is33-cal-swatch--rentree  { background: var(--ren-bg); border: 2px solid var(--ren); }\n.is33-cal-swatch--ferie    { background: var(--fer-bg); border: 2px solid #F45D48; }\n.is33-cal-swatch--semestre { background: var(--sem-bg); border: 2px solid var(--sem); }\n\n\/* Panneau d'info (survol \/ clic sur un jour) *\/\n.is33-cal-info {\n  text-align: center;\n  min-height: 28px;\n  font-size: 16px;\n  margin: 0 auto 36px;\n  max-width: 700px;\n}\n.is33-cal-info strong { color: #05244F; }\n\n\/* ---------- GRILLE DES MOIS ---------- *\/\n.is33-cal-months {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 28px;\n}\n.is33-cal-month {\n  background: #fff;\n  padding: 24px 22px 22px;\n  border-top: 4px solid #B59138;\n  box-shadow: 0 4px 20px rgba(5, 36, 79, 0.06);\n}\n.is33-cal-month.is-current { border-top-color: #F45D48; }\n.is33-cal-month h3 {\n  font-size: 20px;\n  font-weight: 700;\n  margin: 0 0 16px;\n  color: #05244F;\n  text-transform: capitalize;\n}\n.is33-cal-grid {\n  display: grid;\n  grid-template-columns: repeat(7, 1fr);\n  gap: 4px;\n}\n.is33-cal-dow {\n  text-align: center;\n  font-size: 12px;\n  font-weight: 600;\n  opacity: 0.55;\n  padding-bottom: 6px;\n}\n.is33-cal-day {\n  aspect-ratio: 1 \/ 1;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font: inherit;\n  font-size: 14px;\n  font-weight: 500;\n  border: 0;\n  border-radius: 6px;\n  background: transparent;\n  color: #05244F;\n  padding: 0;\n  cursor: default;\n  transition: opacity 0.2s ease, transform 0.15s ease;\n}\n.is33-cal-day.is-we { background: var(--we-bg); color: rgba(5, 36, 79, 0.5); }\n.is33-cal-day.t-vacances { background: var(--vac-bg); color: var(--vac-tx); font-weight: 600; }\n.is33-cal-day.t-rentree  { background: var(--ren-bg); color: var(--ren-tx); font-weight: 700; box-shadow: inset 0 0 0 2px var(--ren); }\n.is33-cal-day.t-ferie    { background: var(--fer-bg); color: var(--fer-tx); font-weight: 700; box-shadow: inset 0 0 0 2px #F45D48; }\n.is33-cal-day.t-semestre { background: var(--sem-bg); color: var(--sem-tx); font-weight: 700; box-shadow: inset 0 0 0 2px var(--sem); }\n.is33-cal-day.has-event { cursor: pointer; }\n.is33-cal-day.has-event:hover { transform: scale(1.12); }\n.is33-cal-day.is-today { outline: 2px solid #F45D48; outline-offset: 1px; }\n.is33-cal-months.is-filtered .is33-cal-day:not(.is-match) { opacity: 0.18; }\n\n.is33-cal-version {\n  text-align: center;\n  font-size: 14px;\n  opacity: 0.65;\n  margin-top: 32px;\n}\n\n\/* ---------- DATES CL\u00c9S (HTML statique, lisible sans JavaScript) ---------- *\/\n.is33-cal-keys {\n  display: grid;\n  grid-template-columns: repeat(2, 1fr);\n  gap: 32px;\n  max-width: 1100px;\n  margin: 0 auto;\n}\n.is33-cal-keybox {\n  background: #fff;\n  padding: 32px;\n  border-left: 4px solid #B59138;\n}\n.is33-cal-keybox--ren { border-left-color: var(--ren); }\n.is33-cal-keybox--fer { border-left-color: #F45D48; }\n.is33-cal-keybox--sem { border-left-color: var(--sem); }\n.is33-cal-keybox h3 { font-size: 22px; font-weight: 700; margin: 0 0 18px; color: #05244F; }\n.is33-cal-keybox ul { list-style: none; margin: 0; padding: 0; }\n.is33-cal-keybox li {\n  display: flex;\n  justify-content: space-between;\n  gap: 16px;\n  padding: 12px 0;\n  border-bottom: 1px solid rgba(5, 36, 79, 0.08);\n  font-size: 16px;\n  line-height: 1.5;\n}\n.is33-cal-keybox li:last-child { border-bottom: 0; }\n.is33-cal-keybox li span:last-child { font-weight: 600; text-align: right; }\n\n\/* ---------- CTA ADMISSION ---------- *\/\n.is33-cal-cta {\n  background: linear-gradient(135deg, #05244F 0%, #0a3d7a 100%);\n  color: #fff;\n  padding: 80px 40px;\n  margin-bottom: 3rem; \/* espace avant le footer *\/\n  text-align: center;\n}\n.is33-cal-cta-inner { max-width: 760px; margin: 0 auto; }\n.is33-cal-cta h2 { font-size: 36px; font-weight: 700; line-height: 1.25; margin: 0 0 16px; color: #fff; }\n.is33-cal-cta p { font-size: 18px; line-height: 1.7; opacity: 0.9; margin: 0 0 32px; color: #fff; }\n@media (max-width: 968px) {\n  .is33-cal-cta { padding: 60px 24px; }\n  .is33-cal-cta h2 { font-size: 28px; }\n}\n\n\/* ---------- RESPONSIVE ---------- *\/\n@media (max-width: 1100px) {\n  .is33-cal-months { grid-template-columns: repeat(2, 1fr); }\n}\n@media (max-width: 968px) {\n  .is33-cal-hero { padding: 60px 24px; }\n  .is33-cal-hero h1 { font-size: 38px; }\n  .is33-cal-hero-sub { font-size: 18px; }\n  .is33-cal-section { padding: 60px 24px; }\n  .is33-cal-head h2 { font-size: 32px; }\n  .is33-cal-keys { grid-template-columns: 1fr; }\n}\n@media (max-width: 640px) {\n  .is33-cal-months { grid-template-columns: 1fr; }\n  .is33-cal-keybox { padding: 24px 20px; }\n  .is33-cal-keybox li { flex-direction: column; gap: 2px; }\n  .is33-cal-keybox li span:last-child { text-align: left; }\n}\n@media (prefers-reduced-motion: reduce) {\n  html { scroll-behavior: auto; }\n  .is33-cal * { transition: none !important; }\n}\n<\/style>\n\n<div class=\"is33-cal\" id=\"is33-calendrier\">\n\n  <!-- ===== HERO ===== -->\n  <section class=\"is33-cal-hero\">\n    <div class=\"is33-cal-hero-inner\">\n      <span class=\"is33-cal-badge\">Ann\u00e9e scolaire 2026-2027<\/span>\n      <h1>Calendrier scolaire <span class=\"is33-cal-year\">2026-2027<\/span> \u00e0 IS33<\/h1>\n      <p class=\"is33-cal-hero-sub\">\n        Rentr\u00e9e, retours en classe, vacances, jours f\u00e9ri\u00e9s et fins de semestre : toutes les dates de l'ann\u00e9e \u00e0 l'International School 33, \u00e9cole internationale bilingue \u00e0 Gradignan, pr\u00e8s de Bordeaux.\n      <\/p>\n\n\n      <div class=\"is33-cal-actions\">\n        <a href=\"https:\/\/international-school33.com\/wp-content\/uploads\/2026\/09\/IS33-calendrier-scolaire-2026-2027.pdf\" class=\"is33-cal-btn is33-cal-btn--primary\" target=\"_blank\" rel=\"noopener\">T\u00e9l\u00e9charger le calendrier (PDF)<\/a>\n        <a href=\"#dates-cles\" class=\"is33-cal-btn is33-cal-btn--ghost\">Voir les dates cl\u00e9s<\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== CALENDRIER INTERACTIF ===== -->\n  <section class=\"is33-cal-section is33-cal-section--grey\" id=\"calendrier\">\n    <div class=\"is33-cal-container\">\n      <div class=\"is33-cal-head\">\n        <h2>L'ann\u00e9e mois par mois<\/h2>\n        <p>Cliquez sur une cat\u00e9gorie pour la mettre en \u00e9vidence, puis sur un jour color\u00e9 pour voir le d\u00e9tail.<\/p>\n      <\/div>\n\n      <div class=\"is33-cal-legend\" id=\"is33-cal-legend\">\n        <button type=\"button\" class=\"is33-cal-chip\" data-filter=\"vacances\" aria-pressed=\"false\"><span class=\"is33-cal-swatch is33-cal-swatch--vacances\"><\/span>Vacances scolaires<\/button>\n        <button type=\"button\" class=\"is33-cal-chip\" data-filter=\"rentree\" aria-pressed=\"false\"><span class=\"is33-cal-swatch is33-cal-swatch--rentree\"><\/span>Rentr\u00e9e \/ retour en classe<\/button>\n        <button type=\"button\" class=\"is33-cal-chip\" data-filter=\"ferie\" aria-pressed=\"false\"><span class=\"is33-cal-swatch is33-cal-swatch--ferie\"><\/span>Jours f\u00e9ri\u00e9s<\/button>\n        <button type=\"button\" class=\"is33-cal-chip\" data-filter=\"semestre\" aria-pressed=\"false\"><span class=\"is33-cal-swatch is33-cal-swatch--semestre\"><\/span>Fin du semestre<\/button>\n      <\/div>\n\n      <p class=\"is33-cal-info\" id=\"is33-cal-info\" aria-live=\"polite\">&nbsp;<\/p>\n\n      <div class=\"is33-cal-months\" id=\"is33-cal-months\"><\/div>\n\n      <p class=\"is33-cal-version\">Calendrier officiel IS33 \u2014 version du 1er septembre 2026. Les week-ends sont gris\u00e9s.<\/p>\n    <\/div>\n  <\/section>\n\n  <!-- ===== DATES CL\u00c9S (texte statique : lisible par Google et les IA m\u00eame sans JavaScript) ===== -->\n  <section class=\"is33-cal-section\" id=\"dates-cles\">\n    <div class=\"is33-cal-container\">\n      <div class=\"is33-cal-head\">\n        <h2>Les dates cl\u00e9s de l'ann\u00e9e<\/h2>\n        <p>L'essentiel \u00e0 retenir pour organiser l'ann\u00e9e de votre enfant.<\/p>\n      <\/div>\n\n      <div class=\"is33-cal-keys\">\n        <div class=\"is33-cal-keybox\">\n          <h3>Vacances scolaires<\/h3>\n          <ul>\n            <li><span>Toussaint<\/span><span>du 19 au 30 octobre 2026<\/span><\/li>\n            <li><span>No\u00ebl<\/span><span>du 21 d\u00e9cembre 2026 au 1er janvier 2027<\/span><\/li>\n            <li><span>Hiver<\/span><span>du 15 au 26 f\u00e9vrier 2027<\/span><\/li>\n            <li><span>Printemps<\/span><span>du 12 au 23 avril 2027<\/span><\/li>\n            <li><span>\u00c9t\u00e9<\/span><span>\u00e0 partir du 25 juin 2027<\/span><\/li>\n          <\/ul>\n        <\/div>\n\n        <div class=\"is33-cal-keybox is33-cal-keybox--ren\">\n          <h3>Rentr\u00e9e et retours en classe<\/h3>\n          <ul>\n            <li><span>Rentr\u00e9e<\/span><span>mardi 1er septembre 2026<\/span><\/li>\n            <li><span>Retour en classe apr\u00e8s la Toussaint<\/span><span>lundi 2 novembre 2026<\/span><\/li>\n            <li><span>Retour en classe apr\u00e8s No\u00ebl<\/span><span>lundi 4 janvier 2027<\/span><\/li>\n            <li><span>Retour en classe apr\u00e8s le printemps<\/span><span>lundi 26 avril 2027<\/span><\/li>\n          <\/ul>\n        <\/div>\n\n        <div class=\"is33-cal-keybox is33-cal-keybox--fer\">\n          <h3>Jours f\u00e9ri\u00e9s et ponts<\/h3>\n          <ul>\n            <li><span>Armistice<\/span><span>mercredi 11 novembre 2026<\/span><\/li>\n            <li><span>Lundi de P\u00e2ques<\/span><span>lundi 29 mars 2027<\/span><\/li>\n            <li><span>Ascension et pont<\/span><span>jeudi 6 et vendredi 7 mai 2027<\/span><\/li>\n            <li><span>Lundi de Pentec\u00f4te<\/span><span>lundi 17 mai 2027<\/span><\/li>\n          <\/ul>\n        <\/div>\n\n        <div class=\"is33-cal-keybox is33-cal-keybox--sem\">\n          <h3>Semestres<\/h3>\n          <ul>\n            <li><span>Fin du 1er semestre<\/span><span>vendredi 29 janvier 2027<\/span><\/li>\n            <li><span>Fin du 2nd semestre<\/span><span>vendredi 18 juin 2027<\/span><\/li>\n          <\/ul>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== CTA ADMISSION ===== -->\n  <section class=\"is33-cal-cta\">\n    <div class=\"is33-cal-cta-inner\">\n      <h2>Votre enfant pourrait rejoindre IS33 cette ann\u00e9e<\/h2>\n      <p>D\u00e9couvrez notre processus d'admission et prenez rendez-vous pour visiter l'\u00e9cole.<\/p>\n      <a href=\"https:\/\/international-school33.com\/admission\/\" class=\"is33-cal-btn is33-cal-btn--primary\">D\u00e9couvrir l'admission<\/a>\n    <\/div>\n  <\/section>\n\n<\/div>\n\n<script>\n(function () {\n  var root = document.getElementById('is33-calendrier');\n  if (!root) return;\n\n  \/* ===== DONN\u00c9ES \u2014 source : calendrier IS33 version 01\/09\/2026 ===== *\/\n  var EVENTS = [\n    { t: 'rentree',  s: '2026-09-01', label: 'Rentr\u00e9e' },\n    { t: 'vacances', s: '2026-10-19', e: '2026-10-30', label: 'Vacances de la Toussaint' },\n    { t: 'rentree',  s: '2026-11-02', label: 'Retour en classe apr\u00e8s la Toussaint' },\n    { t: 'ferie',    s: '2026-11-11', label: 'Armistice (f\u00e9ri\u00e9)' },\n    { t: 'vacances', s: '2026-12-21', e: '2027-01-01', label: 'Vacances de No\u00ebl' },\n    { t: 'rentree',  s: '2027-01-04', label: 'Retour en classe apr\u00e8s No\u00ebl' },\n    { t: 'semestre', s: '2027-01-29', label: 'Fin du 1er semestre' },\n    { t: 'vacances', s: '2027-02-15', e: '2027-02-26', label: \"Vacances d'hiver\" },\n    { t: 'ferie',    s: '2027-03-29', label: 'Lundi de P\u00e2ques (f\u00e9ri\u00e9)' },\n    { t: 'vacances', s: '2027-04-12', e: '2027-04-23', label: 'Vacances de printemps' },\n    { t: 'rentree',  s: '2027-04-26', label: 'Retour en classe apr\u00e8s le printemps' },\n    { t: 'ferie',    s: '2027-05-06', e: '2027-05-07', label: 'Ascension et pont' },\n    { t: 'ferie',    s: '2027-05-17', label: 'Lundi de Pentec\u00f4te (f\u00e9ri\u00e9)' },\n    { t: 'semestre', s: '2027-06-18', label: 'Fin du 2nd semestre' },\n    { t: 'vacances', s: '2027-06-28', e: '2027-07-31', label: \"Vacances d'\u00e9t\u00e9\" }\n  ];\n  var FIRST = { y: 2026, m: 8 };   \/* septembre 2026 (mois 0-index\u00e9s) *\/\n  var COUNT = 11;                  \/* septembre \u2192 juillet *\/\n\n  \/* ===== OUTILS ===== *\/\n  function parse(str) { var p = str.split('-'); return new Date(+p[0], +p[1] - 1, +p[2]); }\n  function key(d) { return d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate(); }\n  function fmt(d, opts) { return d.toLocaleDateString('fr-FR', opts || { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' }); }\n  function cap(s) { return s.charAt(0).toUpperCase() + s.slice(1); }\n  var today = new Date(); today.setHours(0, 0, 0, 0);\n\n  \/* Index jour \u2192 \u00e9v\u00e9nements *\/\n  var map = {};\n  EVENTS.forEach(function (ev) {\n    var d = parse(ev.s), end = parse(ev.e || ev.s);\n    while (d <= end) {\n      var k = key(d);\n      (map[k] = map[k] || []).push(ev);\n      d = new Date(d.getFullYear(), d.getMonth(), d.getDate() + 1);\n    }\n  });\n\n  \/* ===== RENDU DES MOIS ===== *\/\n  var wrap = root.querySelector('#is33-cal-months');\n  var DOW = ['L', 'M', 'M', 'J', 'V', 'S', 'D'];\n  var html = '';\n  for (var i = 0; i < COUNT; i++) {\n    var first = new Date(FIRST.y, FIRST.m + i, 1);\n    var y = first.getFullYear(), m = first.getMonth();\n    var days = new Date(y, m + 1, 0).getDate();\n    var offset = (first.getDay() + 6) % 7;\n    var isCurrent = (today.getFullYear() === y && today.getMonth() === m);\n\n    html += '<div class=\"is33-cal-month' + (isCurrent ? ' is-current' : '') + '\">';\n    html += '<h3>' + fmt(first, { month: 'long', year: 'numeric' }) + '<\/h3><div class=\"is33-cal-grid\">';\n    DOW.forEach(function (l) { html += '<div class=\"is33-cal-dow\" aria-hidden=\"true\">' + l + '<\/div>'; });\n    for (var b = 0; b < offset; b++) html += '<div aria-hidden=\"true\"><\/div>';\n\n    for (var d = 1; d <= days; d++) {\n      var date = new Date(y, m, d);\n      var evs = map[key(date)] || [];\n      var cls = ['is33-cal-day'];\n      var wd = date.getDay();\n      if (wd === 0 || wd === 6) cls.push('is-we');\n      evs.forEach(function (ev) { cls.push('t-' + ev.t); });\n      if (evs.length) cls.push('has-event');\n      if (date.getTime() === today.getTime()) cls.push('is-today');\n      var types = evs.map(function (ev) { return ev.t; }).join(' ');\n      var aria = cap(fmt(date)) + (evs.length ? ' : ' + evs.map(function (ev) { return ev.label; }).join(', ') : '');\n\n      if (evs.length) {\n        html += '<button type=\"button\" class=\"' + cls.join(' ') + '\" data-types=\"' + types + '\" data-k=\"' + key(date) + '\" aria-label=\"' + aria + '\">' + d + '<\/button>';\n      } else {\n        html += '<div class=\"' + cls.join(' ') + '\" aria-label=\"' + aria + '\">' + d + '<\/div>';\n      }\n    }\n    html += '<\/div><\/div>';\n  }\n  wrap.innerHTML = html;\n\n  \/* ===== D\u00c9TAIL AU SURVOL \/ CLIC ===== *\/\n  var info = root.querySelector('#is33-cal-info');\n  function showInfo(btn) {\n    var p = btn.getAttribute('data-k').split('-');\n    var date = new Date(+p[0], +p[1] - 1, +p[2]);\n    var evs = map[btn.getAttribute('data-k')] || [];\n    info.innerHTML = '<strong>' + cap(fmt(date)) + '<\/strong> : ' + evs.map(function (ev) { return ev.label; }).join(', ');\n  }\n  wrap.addEventListener('click', function (e) {\n    var btn = e.target.closest('.has-event'); if (btn) showInfo(btn);\n  });\n  wrap.addEventListener('mouseover', function (e) {\n    var btn = e.target.closest('.has-event'); if (btn) showInfo(btn);\n  });\n  wrap.addEventListener('focusin', function (e) {\n    var btn = e.target.closest('.has-event'); if (btn) showInfo(btn);\n  });\n\n  \/* ===== FILTRES (l\u00e9gende cliquable) ===== *\/\n  var legend = root.querySelector('#is33-cal-legend');\n  var chips = legend.querySelectorAll('.is33-cal-chip');\n  var active = null;\n  legend.addEventListener('click', function (e) {\n    var chip = e.target.closest('.is33-cal-chip'); if (!chip) return;\n    var f = chip.getAttribute('data-filter');\n    active = (active === f) ? null : f;\n    chips.forEach(function (c) { c.setAttribute('aria-pressed', c.getAttribute('data-filter') === active ? 'true' : 'false'); });\n    legend.classList.toggle('has-filter', !!active);\n    wrap.classList.toggle('is-filtered', !!active);\n    wrap.querySelectorAll('.is33-cal-day').forEach(function (d) {\n      var t = (d.getAttribute('data-types') || '').split(' ');\n      d.classList.toggle('is-match', !!active && t.indexOf(active) !== -1);\n    });\n  });\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Ann\u00e9e scolaire 2026-2027 Calendrier scolaire 2026-2027 \u00e0 IS33 Rentr\u00e9e, retours en classe, vacances, jours f\u00e9ri\u00e9s et fins de semestre : toutes les dates de l&rsquo;ann\u00e9e \u00e0 l&rsquo;International School 33, \u00e9cole internationale bilingue \u00e0 Gradignan, pr\u00e8s de Bordeaux. T\u00e9l\u00e9charger le calendrier (PDF) Voir les dates cl\u00e9s L&rsquo;ann\u00e9e mois par mois Cliquez sur une cat\u00e9gorie pour la [&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-4087","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/international-school33.com\/en\/wp-json\/wp\/v2\/pages\/4087","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/international-school33.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/international-school33.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/international-school33.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/international-school33.com\/en\/wp-json\/wp\/v2\/comments?post=4087"}],"version-history":[{"count":7,"href":"https:\/\/international-school33.com\/en\/wp-json\/wp\/v2\/pages\/4087\/revisions"}],"predecessor-version":[{"id":4097,"href":"https:\/\/international-school33.com\/en\/wp-json\/wp\/v2\/pages\/4087\/revisions\/4097"}],"wp:attachment":[{"href":"https:\/\/international-school33.com\/en\/wp-json\/wp\/v2\/media?parent=4087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}