{"id":54,"date":"2017-07-14T21:30:38","date_gmt":"2017-07-14T21:30:38","guid":{"rendered":"http:\/\/katharsys.org\/?page_id=54"},"modified":"2026-07-16T09:10:44","modified_gmt":"2026-07-16T07:10:44","slug":"presentation-de-lassociation","status":"publish","type":"page","link":"https:\/\/curtaincall.ch\/?page_id=54","title":{"rendered":"Nos Lives"},"content":{"rendered":"<section class=\"l-section wpb_row height_medium color_secondary\"><div class=\"l-section-h i-cf\"><div class=\"g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default\"><div class=\"wpb_column vc_column_container\"><div class=\"vc_column-inner\"><div class=\"wpb_text_column\"><div class=\"wpb_wrapper\"><h3>Notre programmation<\/h3>\n<p>Retrouvez ici les \u00e9v\u00e9nements qui ont marqu\u00e9 l\u2019histoire de Curtain Call, ainsi que les prochaines dates \u00e0 venir. Concerts, spectacles et rencontres : d\u00e9couvrez une programmation port\u00e9e par la passion de la sc\u00e8ne et l\u2019envie de cr\u00e9er des moments m\u00e9morables.<\/p>\n<\/div><\/div><div class=\"w-separator size_small\"><\/div><div class=\"w-html\"><div id=\"calendrier-filtre\">\n  <div class=\"cf-controls\">\n    <div class=\"cf-range-group\">\n      <label>De<\/label>\n      <select id=\"cf-mois-de\"><\/select>\n    <\/div>\n    <div class=\"cf-range-group\">\n      <label>\u00c0<\/label>\n      <select id=\"cf-mois-a\"><\/select>\n    <\/div>\n    <div class=\"cf-range-group\">\n      <label>Ann\u00e9e<\/label>\n      <select id=\"cf-annee\"><\/select>\n    <\/div>\n  <\/div>\n  <div id=\"cf-liste\"><\/div>\n<\/div>\n\n<style>\n  #calendrier-filtre {\n    font-family: inherit;\n    max-width: 700px;\n    margin: 0 auto;\n  }\n  .cf-controls {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 20px;\n    margin-bottom: 20px;\n  }\n  .cf-range-group {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n  }\n  .cf-range-group label {\n    font-weight: 700;\n    font-size: 17px;\n  }\n  .cf-controls select {\n    padding: 8px 12px;\n    border-radius: 6px;\n    border: 1px solid rgba(255,255,255,0.2);\n    background: #ffffff;\n    color: #000000;\n    font-family: inherit;\n    font-size: 17px;\n    font-weight: 700;\n  }\n  .cf-controls select option {\n    color: #000000;\n    background: #ffffff;\n  }\n  .cf-event {\n    display: flex;\n    align-items: baseline;\n    gap: 16px;\n    padding: 14px 0;\n    border-bottom: 1px solid rgba(255,255,255,0.1);\n  }\n  .cf-event:last-child {\n    border-bottom: none;\n  }\n  .cf-date {\n    flex: 0 0 110px;\n    font-weight: 600;\n    opacity: 0.85;\n  }\n  .cf-title {\n    flex: 1;\n    font-weight: 500;\n  }\n  .cf-empty {\n    opacity: 0.6;\n    font-style: italic;\n    padding: 20px 0;\n  }\n<\/style>\n\n<script>\n(function() {\n  \/\/ === \u00c0 CONFIGURER ===\n  var API_KEY = \"AIzaSyDOYvgi2-Vn2pyH4o3CTTMjTA0A7FtPyG4\";\n  var CALENDAR_ID = \"9n4snmsubo6i5o9rbajd7f2kjg@group.calendar.google.com\";\n  var TAG_FILTRE = \"Live: \";\n  var ANNEE_DEBUT = 2024;\n  var ANNEE_FIN = 2030;\n  var MOIS_NOMS = [\"Janvier\",\"F\u00e9vrier\",\"Mars\",\"Avril\",\"Mai\",\"Juin\",\"Juillet\",\"Ao\u00fbt\",\"Septembre\",\"Octobre\",\"Novembre\",\"D\u00e9cembre\"];\n  \/\/ =====================\n\n  var liste = document.getElementById(\"cf-liste\");\n  var selectMoisDe = document.getElementById(\"cf-mois-de\");\n  var selectMoisA = document.getElementById(\"cf-mois-a\");\n  var selectAnnee = document.getElementById(\"cf-annee\");\n  var tousLesEvenements = [];\n\n  function remplirMois(select) {\n    MOIS_NOMS.forEach(function(nom, index) {\n      var opt = document.createElement(\"option\");\n      opt.value = index;\n      opt.textContent = nom;\n      select.appendChild(opt);\n    });\n  }\n\n  remplirMois(selectMoisDe);\n  remplirMois(selectMoisA);\n\n  for (var a = ANNEE_DEBUT; a <= ANNEE_FIN; a++) {\n    var opt = document.createElement(\"option\");\n    opt.value = a;\n    opt.textContent = a;\n    selectAnnee.appendChild(opt);\n  }\n\n  var maintenant = new Date();\n  selectMoisDe.value = 0;  \/\/ Janvier\n  selectMoisA.value = 11;  \/\/ D\u00e9cembre\n  selectAnnee.value = maintenant.getFullYear();\n\n  function afficherPlage() {\n    var moisDe = parseInt(selectMoisDe.value, 10);\n    var moisA = parseInt(selectMoisA.value, 10);\n    var annee = parseInt(selectAnnee.value, 10);\n\n    var dateDebut = new Date(annee, moisDe, 1);\n    var dateFin = new Date(annee, moisA + 1, 0, 23, 59, 59); \/\/ dernier jour du mois \"\u00e0\"\n\n    var filtres = tousLesEvenements.filter(function(ev) {\n      var start = ev.start.dateTime || ev.start.date;\n      var date = new Date(start);\n      return date >= dateDebut && date <= dateFin;\n    });\n\n    if (filtres.length === 0) {\n      liste.innerHTML = '<p class=\"cf-empty\">Aucun concert sur cette p\u00e9riode.<\/p>';\n      return;\n    }\n\n    var html = filtres.map(function(ev) {\n      var start = ev.start.dateTime || ev.start.date;\n      var date = new Date(start);\n      var dateStr = date.toLocaleDateString(\"fr-CH\", {\n        day: \"2-digit\",\n        month: \"short\",\n        year: \"numeric\"\n      });\n      var title = ev.summary.substring(TAG_FILTRE.length);\n      return '<div class=\"cf-event\">'\n        + '<div class=\"cf-date\">' + dateStr + '<\/div>'\n        + '<div class=\"cf-title\">' + title + '<\/div>'\n        + '<\/div>';\n    }).join(\"\");\n\n    liste.innerHTML = html;\n  }\n\n  [selectMoisDe, selectMoisA, selectAnnee].forEach(function(sel) {\n    sel.addEventListener(\"change\", afficherPlage);\n  });\n\n  var url = \"https:\/\/www.googleapis.com\/calendar\/v3\/calendars\/\"\n    + encodeURIComponent(CALENDAR_ID)\n    + \"\/events?key=\" + API_KEY\n    + \"&singleEvents=true\"\n    + \"&orderBy=startTime\"\n    + \"&timeMin=\" + ANNEE_DEBUT + \"-01-01T00:00:00Z\"\n    + \"&timeMax=\" + (ANNEE_FIN + 1) + \"-01-01T00:00:00Z\"\n    + \"&maxResults=2500\";\n\n  liste.innerHTML = '<p class=\"cf-empty\">Chargement...<\/p>';\n\n  fetch(url)\n    .then(function(res) {\n      if (!res.ok) throw new Error(\"Erreur API: \" + res.status);\n      return res.json();\n    })\n    .then(function(data) {\n      tousLesEvenements = (data.items || []).filter(function(ev) {\n        return ev.summary && ev.summary.indexOf(TAG_FILTRE) === 0;\n      });\n      afficherPlage();\n    })\n    .catch(function(err) {\n      console.error(\"Erreur chargement calendrier:\", err);\n      liste.innerHTML = '<p class=\"cf-empty\">Impossible de charger les \u00e9v\u00e9nements pour le moment.<\/p>';\n    });\n})();\n<\/script><\/div><\/div><\/div><\/div><\/div><\/section><section class=\"l-section wpb_row height_large color_alternate\"><div class=\"l-section-h i-cf\"><div class=\"g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default\"><div class=\"wpb_column vc_column_container\"><div class=\"vc_column-inner\"><div class=\"wpb_text_column\"><div class=\"wpb_wrapper\"><h3>Billetterie<\/h3>\n<p>R\u00e9servez vos places pour les prochains \u00e9v\u00e9nements de Curtain Call et pr\u00e9parez-vous \u00e0 vivre pleinement l\u2019exp\u00e9rience. Retrouvez ici toutes les dates disponibles et acc\u00e9dez directement \u00e0 la billetterie.<\/p>\n<\/div><\/div><div class=\"w-separator size_medium\"><\/div><div class=\"w-html\"><script src=\"https:\/\/embed.eventfrog.ch\/js\/relaunch\/embed\/embed.js\"><\/script>\n\n      <iframe loading=\"lazy\" width=\"100%\" height=\"100%\" style=\"border: none;\" src=\"https:\/\/embed.eventfrog.ch\/fr\/events.html?key=82d6498a-b1b1-4993-88b9-c9c46355d0c4&color=60BF00&showSearch=true&excludeOrgs=false&orgId=2828347&orgId=4803068&geoRadius=10\"><\/iframe>\n<\/div><\/div><\/div><\/div><\/div><\/section><section class=\"l-section wpb_row height_small width_custom color_primary with_img parallax_ver\" style=\"--site-content-width:880px;\"><div class=\"l-section-img\" role=\"img\" aria-label=\"Image\" data-img-width=\"1024\" data-img-height=\"683\" style=\"background-image: url(https:\/\/curtaincall.ch\/wp-content\/uploads\/2026\/07\/CSH5-162.webp);\"><\/div><div class=\"l-section-overlay\" style=\"background:var(--color-content-overlay)\"><\/div><div class=\"l-section-h i-cf\"><div class=\"g-cols vc_row via_grid cols_1 laptops-cols_inherit tablets-cols_inherit mobiles-cols_1 valign_top type_default stacking_default\"><div class=\"wpb_column vc_column_container\"><div class=\"vc_column-inner\"><h2 class=\"w-text us_custom_8fac178d has_text_color\"><span class=\"w-text-h\"><span class=\"w-text-value\">Passez de l\u2019autre c\u00f4t\u00e9 du rideau<\/span><\/span><\/h2><div class=\"wpb_text_column us_custom_e2ae0b09 has_text_color\"><div class=\"wpb_wrapper\"><p>Artistes, b\u00e9n\u00e9voles, partenaires ou passionn\u00e9s : Curtain Call vous ouvre ses coulisses.<\/p>\n<\/div><\/div><div class=\"w-separator size_medium\"><\/div><div class=\"w-btn-wrapper align_center\"><a class=\"w-btn us-btn-style_1 us_custom_09d3e09f\" href=\"https:\/\/curtaincall.ch\/?page_id=84\"><span class=\"w-btn-label\">Nous contacter<\/span><\/a><\/div><\/div><\/div><\/div><\/div><\/section>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-54","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/curtaincall.ch\/index.php?rest_route=\/wp\/v2\/pages\/54","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/curtaincall.ch\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/curtaincall.ch\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/curtaincall.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/curtaincall.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=54"}],"version-history":[{"count":39,"href":"https:\/\/curtaincall.ch\/index.php?rest_route=\/wp\/v2\/pages\/54\/revisions"}],"predecessor-version":[{"id":383,"href":"https:\/\/curtaincall.ch\/index.php?rest_route=\/wp\/v2\/pages\/54\/revisions\/383"}],"wp:attachment":[{"href":"https:\/\/curtaincall.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=54"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}