{"id":2324,"date":"2020-05-25T19:29:36","date_gmt":"2020-05-25T17:29:36","guid":{"rendered":"https:\/\/paroisse-herbasse.fr\/?page_id=2324"},"modified":"2026-06-02T10:14:01","modified_gmt":"2026-06-02T08:14:01","slug":"liturgie","status":"publish","type":"page","link":"https:\/\/paroisse-herbasse.fr\/index.php\/liturgie\/","title":{"rendered":"Liturgie"},"content":{"rendered":"<p>[et_pb_section fb_built=\u00a0\u00bb1&Prime; _builder_version=\u00a0\u00bb4.27.6&Prime; module_class=\u00a0\u00bbliturgie-section\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||true|false\u00a0\u00bb][et_pb_row _builder_version=\u00a0\u00bb4.27.6&Prime; module_class=\u00a0\u00bbliturgie-row\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.27.6&Prime;][et_pb_code _builder_version=\u00a0\u00bb4.27.6&Prime; admin_label=\u00a0\u00bbPage liturgie\u00a0\u00bb]<\/p>\n<style>\nbody.page-id-2324 #main-content { background:#fff9ed; }\nbody.page-id-2324 #main-content > .container { width:100%!important; max-width:none!important; margin:0!important; padding-top:0!important; }\nbody.page-id-2324 #main-content .container:before { display:none!important; }\nbody.page-id-2324 #left-area { float:none!important; width:100%!important; margin:0!important; padding:0!important; }\nbody.page-id-2324 #sidebar { display:none!important; }\nbody.page-id-2324 .entry-title.main_title,\nbody.page-id-2324 .et_post_meta_wrapper { display:none!important; }\nbody.page-id-2324 article.page,\nbody.page-id-2324 .entry-content { margin:0!important; padding:0!important; }\nbody.page-id-2324 .liturgie-section,\nbody.page-id-2324 .liturgie-row,\nbody.page-id-2324 .liturgie-row .et_pb_column,\nbody.page-id-2324 .liturgie-row .et_pb_module,\nbody.page-id-2324 .liturgie-row .et_pb_code_inner { width:100%!important; max-width:none!important; margin:0!important; padding:0!important; }\nbody.page-id-2324 .liturgie-wp{\n      --ink: #071a5f;\n      --muted: #536284;\n      --paper: #fff9ed;\n      --line: #eadfd0;\n      --teal: #079aa6;\n      --teal-dark: #057985;\n      --pink: #ef2d6f;\n      --gold: #f5a800;\n      --shadow: 0 14px 38px rgba(7, 26, 95, .09);\n    }body.page-id-2324 .liturgie-wp *{\n      box-sizing: border-box;\n    }body.page-id-2324{\n      margin: 0;\n      background: var(--paper);\n      color: var(--ink);\n      font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n      line-height: 1.55;\n    }body.page-id-2324 .liturgie-wp .liturgy-page{\n      min-height: 100vh;\n      background:\n        radial-gradient(circle at 0 12%, rgba(7, 154, 166, .12), transparent 25%),\n        radial-gradient(circle at 100% 8%, rgba(245, 168, 0, .14), transparent 24%),\n        radial-gradient(circle at 96% 82%, rgba(239, 45, 111, .08), transparent 22%),\n        var(--paper);\n    }body.page-id-2324 .liturgie-wp .liturgy-wrap{\n      width: min(1120px, calc(100% - 32px));\n      margin: 0 auto;\n      padding: 58px 0;\n    }body.page-id-2324 .liturgie-wp .liturgy-eyebrow{\n      display: inline-flex;\n      margin: 0 0 16px;\n      padding: 7px 10px;\n      border-radius: 8px;\n      background: var(--gold);\n      color: var(--ink);\n      font-size: 13px;\n      font-weight: 850;\n      line-height: 1.1;\n      text-transform: uppercase;\n    }body.page-id-2324 .liturgie-wp .liturgy-page h1,\nbody.page-id-2324 .liturgie-wp .liturgy-page h2,\nbody.page-id-2324 .liturgie-wp .liturgy-page h3{\n      margin: 0;\n      color: var(--ink);\n      font-weight: 850;\n      line-height: 1.08;\n      letter-spacing: 0;\n    }body.page-id-2324 .liturgie-wp .liturgy-page h1{\n      max-width: 880px;\n      font-size: clamp(38px, 5vw, 64px);\n    }body.page-id-2324 .liturgie-wp .liturgy-button{\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      min-height: 48px;\n      border: 1px solid transparent;\n      border-radius: 8px;\n      padding: 12px 18px;\n      background: var(--pink);\n      color: #fff;\n      font-size: 16px;\n      font-weight: 850;\n      line-height: 1.2;\n      text-align: center;\n      text-decoration: none;\n      box-shadow: 0 12px 24px rgba(239, 45, 111, .20);\n    }body.page-id-2324 .liturgie-wp .liturgy-button.secondary{\n      border-color: rgba(7, 26, 95, .14);\n      background: #fff;\n      color: var(--ink);\n      box-shadow: 0 10px 22px rgba(7, 26, 95, .08);\n    }body.page-id-2324 .liturgie-wp .liturgy-panel{\n      border: 1px solid var(--line);\n      border-radius: 8px;\n      background: rgba(255, 255, 255, .94);\n      box-shadow: var(--shadow);\n    }body.page-id-2324 .liturgie-wp .liturgy-section-head{\n      display: grid;\n      grid-template-columns: minmax(0, 1fr) minmax(260px, 390px);\n      gap: 22px;\n      align-items: end;\n      margin: 42px 0 18px;\n    }body.page-id-2324 .liturgie-wp .liturgy-section-head p{\n      margin: 0;\n      color: var(--muted);\n      font-weight: 700;\n    }body.page-id-2324 .liturgie-wp .liturgy-panel{\n      overflow: hidden;\n      border-top: 6px solid var(--teal);\n    }body.page-id-2324 .liturgie-wp .liturgy-panel-header{\n      display: flex;\n      justify-content: space-between;\n      gap: 16px;\n      align-items: center;\n      padding: 18px 20px;\n      border-bottom: 1px solid var(--line);\n      background: rgba(255, 255, 255, .82);\n    }body.page-id-2324 .liturgie-wp .liturgy-panel-header p{\n      margin: 6px 0 0;\n      color: var(--muted);\n      font-size: 14px;\n      font-weight: 700;\n    }body.page-id-2324 .liturgie-wp .liturgy-table-controls{\n      display: grid;\n      grid-template-columns: minmax(0, 1fr) 260px 260px;\n      gap: 12px;\n      padding: 16px 20px;\n      border-bottom: 1px solid var(--line);\n      background: #fff9ed;\n    }body.page-id-2324 .liturgie-wp .liturgy-search,\nbody.page-id-2324 .liturgie-wp .liturgy-period{\n      width: 100%;\n      min-height: 46px;\n      border: 1px solid rgba(7, 26, 95, .14);\n      border-radius: 8px;\n      background: #fff;\n      color: var(--ink);\n      font: inherit;\n      font-weight: 700;\n      padding: 11px 13px;\n    }body.page-id-2324 .liturgie-wp #liturgySearch{\n      grid-column: 1;\n      grid-row: 1;\n    }body.page-id-2324 .liturgie-wp #liturgyPeriod{\n      grid-column: 2;\n      grid-row: 1;\n    }body.page-id-2324 .liturgie-wp .liturgy-toggle{\n      grid-column: 3;\n      grid-row: 1;\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      gap: 10px;\n      width: 100%;\n      min-height: 46px;\n      padding: 10px 16px;\n      border: 1px solid rgba(7, 26, 95, .12);\n      border-radius: 8px;\n      background: #fff;\n      color: var(--ink);\n      font-size: 14px;\n      font-weight: 850;\n      line-height: 1.15;\n      text-align: center;\n      white-space: nowrap;\n    }body.page-id-2324 .liturgie-wp .liturgy-toggle input{\n      flex: 0 0 auto;\n      width: 18px;\n      height: 18px;\n      margin: 0;\n      accent-color: var(--pink);\n    }body.page-id-2324 .liturgie-wp .liturgy-toggle span{\n      display: block;\n    }body.page-id-2324 .liturgie-wp .liturgy-table-wrap{\n      max-height: 680px;\n      overflow: auto;\n      background: #fff;\n    }body.page-id-2324 .liturgie-wp .liturgy-table{\n      width: 100%;\n      min-width: 860px;\n      border-collapse: separate;\n      border-spacing: 0;\n      color: var(--ink);\n      font-size: 15px;\n    }body.page-id-2324 .liturgie-wp .liturgy-table th,\nbody.page-id-2324 .liturgie-wp .liturgy-table td{\n      border-right: 1px solid var(--line);\n      border-bottom: 1px solid var(--line);\n      padding: 12px 14px;\n      text-align: left;\n      vertical-align: top;\n    }body.page-id-2324 .liturgie-wp .liturgy-table th{\n      position: sticky;\n      top: 0;\n      z-index: 3;\n      background: var(--ink);\n      color: #fff;\n      font-size: 13px;\n      font-weight: 900;\n      letter-spacing: .02em;\n      text-transform: uppercase;\n    }body.page-id-2324 .liturgie-wp .liturgy-table th:first-child,\nbody.page-id-2324 .liturgie-wp .liturgy-table td:first-child{\n      position: sticky;\n      left: 0;\n      z-index: 2;\n      box-shadow: 8px 0 14px rgba(7, 26, 95, .06);\n    }body.page-id-2324 .liturgie-wp .liturgy-table th:first-child{\n      z-index: 4;\n    }body.page-id-2324 .liturgie-wp .liturgy-table td:first-child{\n      background: #fff;\n      font-weight: 900;\n      white-space: nowrap;\n    }body.page-id-2324 .liturgie-wp .liturgy-table tbody tr:nth-child(even) td{\n      background: #fffdf8;\n    }body.page-id-2324 .liturgie-wp .liturgy-table tbody tr:nth-child(even) td:first-child{\n      background: #fffdf8;\n    }body.page-id-2324 .liturgie-wp .liturgy-month-row td{\n      position: sticky;\n      left: 0;\n      z-index: 1;\n      padding: 10px 14px;\n      background: #fff9ed !important;\n      color: var(--teal-dark);\n      font-size: 14px;\n      font-weight: 900;\n      text-transform: uppercase;\n      letter-spacing: .03em;\n    }body.page-id-2324 .liturgie-wp .liturgy-date{\n      display: grid;\n      gap: 2px;\n    }body.page-id-2324 .liturgie-wp .liturgy-date strong{\n      font-size: 15px;\n      line-height: 1.2;\n    }body.page-id-2324 .liturgie-wp .liturgy-date span{\n      color: var(--muted);\n      font-size: 12px;\n      font-weight: 800;\n      text-transform: uppercase;\n    }body.page-id-2324 .liturgie-wp .liturgy-badge{\n      display: inline-flex;\n      align-items: center;\n      min-height: 30px;\n      padding: 5px 9px;\n      border-radius: 8px;\n      background: rgba(7, 154, 166, .10);\n      color: var(--teal-dark);\n      font-size: 13px;\n      font-weight: 900;\n    }body.page-id-2324 .liturgie-wp .liturgy-badge.feast{\n      background: rgba(245, 168, 0, .18);\n      color: #8a5d00;\n    }body.page-id-2324 .liturgie-wp .liturgy-badge.missing{\n      background: rgba(239, 45, 111, .10);\n      color: #b5164b;\n    }body.page-id-2324 .liturgie-wp .liturgy-empty-cell{\n      color: #9aa1b8;\n      font-weight: 800;\n    }body.page-id-2324 .liturgie-wp .liturgy-loading,\nbody.page-id-2324 .liturgie-wp .liturgy-error{\n      padding: 22px;\n      color: var(--muted);\n      font-weight: 800;\n    }body.page-id-2324 .liturgie-wp .liturgy-error{\n      color: #b5164b;\n    }@media (max-width: 980px){body.page-id-2324 .liturgie-wp .liturgy-section-head{\n        grid-template-columns: 1fr;\n      }\n    }@media (max-width: 640px){body.page-id-2324 .liturgie-wp .liturgy-wrap{\n        width: min(100% - 22px, 1120px);\n        padding: 40px 0;\n      }body.page-id-2324 .liturgie-wp .liturgy-page h1{\n        font-size: 38px;\n      }body.page-id-2324 .liturgie-wp .liturgy-button{\n        width: 100%;\n      }body.page-id-2324 .liturgie-wp .liturgy-panel-header{\n        display: grid;\n      }body.page-id-2324 .liturgie-wp .liturgy-table-controls{\n        grid-template-columns: 1fr;\n        padding: 14px;\n      }body.page-id-2324 .liturgie-wp #liturgySearch,\nbody.page-id-2324 .liturgie-wp #liturgyPeriod,\nbody.page-id-2324 .liturgie-wp .liturgy-toggle{\n        grid-column: 1;\n        grid-row: auto;\n      }body.page-id-2324 .liturgie-wp .liturgy-toggle{\n        justify-content: flex-start;\n      }body.page-id-2324 .liturgie-wp .liturgy-table-wrap{\n        max-height: 620px;\n      }\n    }<\/p>\n<\/style>\n<div class=\"liturgie-wp\"><main class=\"liturgy-page\"><\/p>\n<div class=\"liturgy-wrap\">\n      <pee class=\"liturgy-eyebrow\">Espace priv\u00e9<\/pee>\n<h1>Planning liturgique<\/h1>\n<section id=\"planning\" aria-label=\"Planning des services liturgiques\">\n<article class=\"liturgy-panel\">\n<div class=\"liturgy-panel-header\">\n<div>\n<h3>Feuille liturgique<\/h3>\n<pee>Donn\u00e9es lues automatiquement depuis le Google Sheet publi\u00e9.<\/pee>\n            <\/div>\n<p>            <a class=\"liturgy-button secondary\" href=\"https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vSaZw_Oq3hFyAcFZms-Qf1L1LCsH9ZG7NUnUFx-m6iZfx3dOV2goGYkeK7yLmIinmsFgFIQt5i4uBU3\/pubhtml?gid=0&#038;single=true&#038;widget=true&#038;headers=false\" target=\"_blank\" rel=\"noopener\">Agrandir<\/a>\n          <\/div>\n<div class=\"liturgy-table-controls\" aria-label=\"Filtres du planning\">\n            <input class=\"liturgy-search\" id=\"liturgySearch\" type=\"search\" placeholder=\"Rechercher une date, une f\u00eate, un chantre, un organiste...\"><br \/>\n            <select class=\"liturgy-period\" id=\"liturgyPeriod\" aria-label=\"P\u00e9riode affich\u00e9e\"><option value=\"upcoming\" selected>\u00c0 venir<\/option><option value=\"all\">Toutes les dates<\/option><\/select><br \/>\n            <label class=\"liturgy-toggle\"><br \/>\n              <input id=\"liturgyMissingOnly\" type=\"checkbox\"><br \/>\n              <span>Voir les lignes \u00e0 compl\u00e9ter<\/span><br \/>\n            <\/label>\n          <\/div>\n<div class=\"liturgy-table-wrap\" id=\"liturgyTableWrap\">\n            <pee class=\"liturgy-loading\">Chargement du planning liturgique&#8230;<\/pee>\n          <\/div>\n<\/article>\n<\/section><\/div>\n<p>  <\/main><\/p>\n<p>  <script>\n    (function () {\n      var CSV_URL = \"https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vSaZw_Oq3hFyAcFZms-Qf1L1LCsH9ZG7NUnUFx-m6iZfx3dOV2goGYkeK7yLmIinmsFgFIQt5i4uBU3\/pub?gid=0&single=true&output=csv\";\n      var FALLBACK_CSV = `Date,F\u00eate liturgique,Chantre,Organiste,PU,M\u00e9lanie,Val\u00e9rie,Evelyne,R\u00e9mi,Fr\u00e9d\u00e9rique,Mireille,C\u00e9cile,Emmanuelle,Fabrice\ndimanche 12 avril,,Fabrice,Hubert,,,,,,,,,,\ndimanche 19 avril,,C\u00e9cile,Michel,,,,,,,,,,\ndimanche 26 avril,,R\u00e9mi,Maxime,,,,,,,,,,\ndimanche 3 mai,,Mireille,Michel,,,,,,,,,,\ndimanche 10 mai,Confirmations,Fabrice,Maxime,,,,,,,,,,\njeudi 14 mai,Ascension,Jean-Pierre,Michel,,,,,,,,,,\ndimanche 17 mai,,Emmanuelle,Maxime,,,,,,,,,,\ndimanche 24 mai,,C\u00e9cile,Maxime,,,,,,,,,,\ndimanche 31 mai,,Mireille,Michel,,,,,,,,,,\ndimanche 7 juin,F\u00eate-Dieu,R\u00e9mi,Maxime,,,,,,,,,,\ndimanche 14 juin,premi\u00e8res communions,Mireille,Maxime,,,,,,,,,,\ndimanche 21 juin,,Fabrice,Michel,,,,,,,,,,\ndimanche 28 juin,,Emmanuelle,Hubert,,,,,,,,,,\ndimanche 5 juillet,,Jean-Pierre,Maxime,,,,,,,,,,\ndimanche 12 juillet,,R\u00e9mi,Hubert,,,,,,,,,,\ndimanche 19 juillet,,Mireille,Michel,,,,,,,,,,\ndimanche 26 juillet,,Jean-Pierre,Hubert,,,,,,,,,,\ndimanche 2 ao\u00fbt,,??,Michel,,,,,,,,,,\ndimanche 9 ao\u00fbt,,??,Maxime,,,,,,,,,,\nsamedi 15 ao\u00fbt,Assomption,R\u00e9mi,Michel,,,,,,,,,,\ndimanche 16 ao\u00fbt,,Jean-Pierre,Michel,,,,,,,,,,\ndimanche 23 ao\u00fbt,,R\u00e9mi,Hubert,,,,,,,,,,\ndimanche 30 ao\u00fbt,,Mireille,Hubert,,,,,,,,,,\ndimanche 6 septembre,,R\u00e9mi,Michel,,,,,,,,,,\ndimanche 13 septembre,,Fabrice,,,,,,,,,,,\ndimanche 20 septembre,,Mireille,,,,,,,,,,,\ndimanche 27 septembre,,Jean-Pierre,,,,,,,,,,,`;<\/p>\n<p>      var monthOrder = {\n        janvier: 1, fevrier: 2, \"f\u00e9vrier\": 2, mars: 3, avril: 4, mai: 5, juin: 6,\n        juillet: 7, aout: 8, \"ao\u00fbt\": 8, septembre: 9, octobre: 10, novembre: 11,\n        decembre: 12, \"d\u00e9cembre\": 12\n      };\n      var rows = [];<\/p>\n<p>      function parseCsv(text) {\n        var output = [];\n        var row = [];\n        var value = \"\";\n        var quoted = false;\n        for (var i = 0; i < text.length; i += 1) {\n          var char = text[i];\n          var next = text[i + 1];\n          if (char === '\"' &#038;&#038; quoted &#038;&#038; next === '\"') {\n            value += '\"';\n            i += 1;\n          } else if (char === '\"') {\n            quoted = !quoted;\n          } else if (char === \",\" &#038;&#038; !quoted) {\n            row.push(value);\n            value = \"\";\n          } else if ((char === \"\\n\" || char === \"\\r\") &#038;&#038; !quoted) {\n            if (char === \"\\r\" &#038;&#038; next === \"\\n\") i += 1;\n            row.push(value);\n            if (row.some(function (cell) { return cell.trim(); })) output.push(row);\n            row = [];\n            value = \"\";\n          } else {\n            value += char;\n          }\n        }\n        if (value || row.length) {\n          row.push(value);\n          if (row.some(function (cell) { return cell.trim(); })) output.push(row);\n        }\n        return output;\n      }\n\n      function escapeHtml(value) {\n        return String(value || \"\")\n          .replace(\/&#038;\/g, \"&amp;\")\n          .replace(\/<\/g, \"&lt;\")\n          .replace(\/>\/g, \"&gt;\")\n          .replace(\/\"\/g, \"&quot;\")\n          .replace(\/'\/g, \"&#039;\");\n      }<\/p>\n<p>      function isMissing(value) {\n        var cleaned = String(value || \"\").trim();\n        return !cleaned || \/^\\?+$\/.test(cleaned);\n      }<\/p>\n<p>      function monthFromDate(dateText) {\n        var match = String(dateText || \"\").toLowerCase().match(\/\\b([a-z\u00e9\u00fb\u00f4\u00ee\u00ef]+)\\b\\s*$\/);\n        return match ? match[1] : \"\";\n      }<\/p>\n<p>      function dateParts(dateText) {\n        var match = String(dateText || \"\").trim().match(\/^([a-z\u00e9\u00fb\u00f4\u00ee\u00ef]+)\\s+(\\d{1,2})\\s+([a-z\u00e9\u00fb\u00f4\u00ee\u00ef]+)$\/i);\n        if (!match) return { weekday: \"\", day: dateText, month: \"\" };\n        return { weekday: match[1], day: match[2], month: match[3] };\n      }<\/p>\n<p>      function rowDate(dateText) {\n        var parts = dateParts(dateText);\n        var monthNumber = monthOrder[String(parts.month || \"\").toLowerCase()];\n        var day = Number(parts.day);\n        if (!monthNumber || !day) return null;\n        return new Date(new Date().getFullYear(), monthNumber - 1, day);\n      }<\/p>\n<p>      function currentOrNextSunday() {\n        var today = new Date();\n        today.setHours(0, 0, 0, 0);\n        var day = today.getDay();\n        var offset = day === 0 ? 0 : 7 - day;\n        var sunday = new Date(today);\n        sunday.setDate(today.getDate() + offset);\n        return sunday;\n      }<\/p>\n<p>      function normalize(parsedRows) {\n        if (!parsedRows.length) return [];\n        var headers = parsedRows[0].map(function (cell) { return cell.trim(); });\n        return parsedRows.slice(1).map(function (row, index) {\n          var item = { id: index, extras: [] };\n          headers.forEach(function (header, columnIndex) {\n            var key = header || (\"colonne_\" + columnIndex);\n            var value = (row[columnIndex] || \"\").trim();\n            item[key] = value;\n            if (columnIndex > 4 && value) {\n              item.extras.push({ label: key, value: value });\n            }\n          });\n          item.month = monthFromDate(item.Date);\n          item.monthNumber = monthOrder[item.month.toLowerCase()] || 99;\n          item.date = rowDate(item.Date);\n          item.dateTime = item.date ? item.date.getTime() : Number.MAX_SAFE_INTEGER;\n          item.needsAttention = isMissing(item.Chantre) || isMissing(item.Organiste);\n          item.searchText = [\n            item.Date,\n            item[\"F\u00eate liturgique\"],\n            item.Chantre,\n            item.Organiste,\n            item.PU,\n            item.extras.map(function (extra) { return extra.label + \" \" + extra.value; }).join(\" \")\n          ].join(\" \").toLowerCase();\n          return item;\n        }).filter(function (item) {\n          return item.Date;\n        }).sort(function (a, b) {\n          return a.dateTime - b.dateTime;\n        });\n      }<\/p>\n<p>      function personCell(value) {\n        if (isMissing(value)) {\n          return '<span class=\"liturgy-badge missing\">\u00c0 compl\u00e9ter<\/span>';\n        }\n        return '<span class=\"liturgy-badge\">' + escapeHtml(value) + '<\/span>';\n      }<\/p>\n<p>      function plainCell(value, className) {\n        if (!String(value || \"\").trim()) return '<span class=\"liturgy-empty-cell\">\u2014<\/span>';\n        return '<span class=\"' + className + '\">' + escapeHtml(value) + '<\/span>';\n      }<\/p>\n<p>      function dateCell(value) {\n        var parts = dateParts(value);\n        return '<\/p>\n<div class=\"liturgy-date\"><strong>' + escapeHtml(parts.day + \" \" + parts.month) + '<\/strong><span>' + escapeHtml(parts.weekday) + '<\/span><\/div>\n<p>';\n      }<\/p>\n<p>      function extrasCell(item) {\n        if (!item.extras.length) return '<span class=\"liturgy-empty-cell\">\u2014<\/span>';\n        return item.extras.map(function (extra) {\n          return '<span class=\"liturgy-badge\">' + escapeHtml(extra.label + \" : \" + extra.value) + '<\/span>';\n        }).join(\" \");\n      }<\/p>\n<p>      function filteredRows() {\n        var search = (document.getElementById(\"liturgySearch\").value || \"\").trim().toLowerCase();\n        var period = document.getElementById(\"liturgyPeriod\").value;\n        var missingOnly = document.getElementById(\"liturgyMissingOnly\").checked;\n        var upcomingStart = currentOrNextSunday().getTime();\n        return rows.filter(function (item) {\n          if (period === \"upcoming\" && item.dateTime < upcomingStart) return false;\n          if (missingOnly &#038;&#038; !item.needsAttention) return false;\n          if (search &#038;&#038; item.searchText.indexOf(search) === -1) return false;\n          return true;\n        });\n      }\n\n      function renderTable() {\n        var target = document.getElementById(\"liturgyTableWrap\");\n        var visibleRows = filteredRows();\n        if (!visibleRows.length) {\n          target.innerHTML = '<pee class=\"liturgy-loading\">Aucune ligne ne correspond \u00e0 ce filtre.<\/pee>';\n          return;\n        }<\/p>\n<p>        var currentMonth = \"\";\n        var body = visibleRows.map(function (item) {\n          var month = item.month || \"Autres dates\";\n          var heading = \"\";\n          if (month !== currentMonth) {\n            currentMonth = month;\n            heading = '<\/p>\n<tr class=\"liturgy-month-row\">\n<td colspan=\"6\">' + escapeHtml(month) + '<\/td>\n<\/tr>\n<p>';\n          }\n          return heading +\n            '<\/p>\n<tr>' +\n              '<\/p>\n<td>' + dateCell(item.Date) + '<\/td>\n<p>' +\n              '<\/p>\n<td>' + plainCell(item[\"F\u00eate liturgique\"], \"liturgy-badge feast\") + '<\/td>\n<p>' +\n              '<\/p>\n<td>' + personCell(item.Chantre) + '<\/td>\n<p>' +\n              '<\/p>\n<td>' + personCell(item.Organiste) + '<\/td>\n<p>' +\n              '<\/p>\n<td>' + plainCell(item.PU, \"liturgy-badge\") + '<\/td>\n<p>' +\n              '<\/p>\n<td>' + extrasCell(item) + '<\/td>\n<p>' +\n            '<\/tr>\n<p>';\n        }).join(\"\");<\/p>\n<p>        target.innerHTML =\n          '<\/p>\n<table class=\"liturgy-table\">' +\n            '<\/p>\n<thead>\n<tr>' +\n              '<\/p>\n<th>Date<\/th>\n<p>' +\n              '<\/p>\n<th>F\u00eate liturgique<\/th>\n<p>' +\n              '<\/p>\n<th>Chantre<\/th>\n<p>' +\n              '<\/p>\n<th>Organiste<\/th>\n<p>' +\n              '<\/p>\n<th>PU<\/th>\n<p>' +\n              '<\/p>\n<th>Autres services<\/th>\n<p>' +\n            '<\/tr>\n<\/thead>\n<p>' +\n            '<\/p>\n<tbody>' + body + '<\/tbody>\n<p>' +\n          '<\/table>\n<p>';\n      }<\/p>\n<p>      function loadTable() {\n        fetch(CSV_URL, { cache: \"no-store\" })\n          .then(function (response) {\n            if (!response.ok) throw new Error(\"HTTP \" + response.status);\n            return response.text();\n          })\n          .catch(function () {\n            return FALLBACK_CSV;\n          })\n          .then(function (text) {\n            rows = normalize(parseCsv(text));\n            renderTable();\n          })\n          .catch(function () {\n            document.getElementById(\"liturgyTableWrap\").innerHTML = '<pee class=\"liturgy-error\">Impossible de charger le planning pour le moment. Le bouton \u201cAgrandir\u201d permet encore d\u2019ouvrir la feuille Google.<\/pee>';\n          });\n      }<\/p>\n<p>      document.addEventListener(\"DOMContentLoaded\", function () {\n        document.getElementById(\"liturgySearch\").addEventListener(\"input\", renderTable);\n        document.getElementById(\"liturgyPeriod\").addEventListener(\"change\", renderTable);\n        document.getElementById(\"liturgyMissingOnly\").addEventListener(\"change\", renderTable);\n        loadTable();\n      });\n    })();\n  <\/script><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\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":{"_et_pb_use_builder":"on","_et_pb_old_content":"<!-- wp:heading {\"textAlign\":\"center\"} -->\r\n<h2 class=\"has-text-align-center\" id=\"liturgie\">LITURGIE<\/h2>\r\n<!-- \/wp:heading -->\r\n\r\n<!-- wp:spacer {\"height\":\"50px\"} -->\r\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\r\n<!-- \/wp:spacer -->\r\n\r\n<p><span style=\"color: #993300;\"><em>Cette page est destin\u00e9e uniquement aux membres des \u00e9quipes liturgiques de Saint Donat. Tous les renseignements y sont indiqu\u00e9s \u00e0 titre pr\u00e9visionnels et sont susceptibles de changements.<\/em><\/span><\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche 21\/08\/2022 \u00e0 10h30 : 21\u00b0 dimanche ordinaire<\/span><\/p>\r\n<p>Remarque : <br \/>Pri\u00e8re universelle : Christiane BARRET<br \/>Fleurissement : Christiane BARRET<br \/>Accueil : Christiane BEAUDENON<br \/>Chantre : Fabrice CAMHI<br \/>Organiste : Michel ROBERT<\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche 28\/08\/2022 \u00e0 10h30 : 22\u00b0 dimanche ordinaire<\/span><\/p>\r\n<p>Remarque :\u00a0<br \/>Pri\u00e8re universelle : Maryl\u00e8ne DUPUPED<br \/>Fleurissement : Sylvie PASQUET<br \/>Accueil : Christine REGACHE<br \/>Chantre : Nathalie ANDRIES + Fr\u00e9d\u00e9rique ROMAIN<br \/>Organiste : Hubert BRUYERE<\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche <\/span><span style=\"background-color: var(--page-background-color); color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">04\/09\/2022 \u00e0 10h30 : 23\u00b0 dimanche ordinaire<\/span><\/p>\r\n<p>Remarque :\u00a0<br \/>Pri\u00e8re universelle : Christine REGACHE<br \/>Fleurissement : Emmanuelle CAMHI<br \/>Accueil : Martine MOULIN<br \/>Chantre : Val\u00e9rie JOUD<br \/>Organiste : Michel ROBERT<\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche <\/span><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">11\/09\/2022 \u00e0 10h30 : 24\u00b0 dimanche ordinaire<\/span><\/p>\r\n<p>Remarque : <strong><span style=\"color: #ff0000;\">Rentr\u00e9e paroissiale (\u00e0 l'\u00e9glise de St Donat) et installation du nouveau cur\u00e9, pr\u00e9sid\u00e9e par l'\u00e9v\u00eaque<\/span><\/strong><br \/>Pri\u00e8re universelle : Martine MOULIN<br \/>Fleurissement : Catherine LAGIER<br \/>Accueil : ?<br \/>Chantre : Mireille ROBERT et les autres chantres<br \/>Musicien : Thierry ROBERT et tous les musiciens<\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche <\/span><span style=\"background-color: var(--page-background-color); color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">18\/09\/2022 \u00e0 10h30 : 25\u00b0 dimanche ordinaire<\/span><\/p>\r\n<p>Remarque :\u00a0<br \/>Pri\u00e8re universelle : Christiane BARRET<br \/>Fleurissement : Christiane BARRET<br \/>Accueil : ?<br \/>Chantre : Emmanuelle CAMUS<br \/>Organiste : Hubert BRUYERE<\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche <\/span><span style=\"background-color: var(--page-background-color); color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">25\/09\/2022 \u00e0 10h30 : 26\u00b0 dimanche ordinaire<\/span><\/p>\r\n<p>Remarque :\u00a0<br \/>Pri\u00e8re universelle : Maryl\u00e8ne DUPUPED<br \/>Fleurissement : Sylvie PASQUET<br \/>Accueil : ?<br \/>Chantre : Val\u00e9rie JOUD + Fr\u00e9d\u00e9rique ROMAIN<br \/>Organiste : Michel ROBERT<\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche <\/span><span style=\"background-color: var(--page-background-color); color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">02\/10\/2022 \u00e0 10h30 : 27\u00b0 dimanche ordinaire<\/span><\/p>\r\n<p>Remarque :\u00a0<br \/>Pri\u00e8re universelle : Christine REGACHE<br \/>Fleurissement : Emmanuelle CAMHI<br \/>Accueil : ?<br \/>Chantre : Evelyne COTTE<br \/>Organiste : Hubert BRUYERE<\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche <\/span><span style=\"background-color: var(--page-background-color); color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">09\/10\/2022 \u00e0 10h30 : 28\u00b0 dimanche ordinaire<\/span><\/p>\r\n<p>Remarque : Messe des familles<br \/>Pri\u00e8re universelle : Martine MOULIN<br \/>Fleurissement : Catherine LAGIER<br \/>Accueil : ?<br \/>Chantre : Fabrice CAMHI + Emmanuelle CAMUS<br \/>Musicien : Thierry ROBERT<\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche <\/span><span style=\"background-color: var(--page-background-color); color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">16\/10\/2022 \u00e0 10h30 : 29\u00b0 dimanche ordinaire<\/span><\/p>\r\n<p>Remarque :\u00a0<br \/>Pri\u00e8re universelle : Christiane BARRET<br \/>Fleurissement : Christiane BARRET<br \/>Accueil : ?<br \/>Chantre : Mireille ROBERT<br \/>Organiste : Hubert BRUYERE<\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche <\/span><span style=\"background-color: var(--page-background-color); color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">23\/10\/2022 \u00e0 10h30 : 30\u00b0 dimanche ordinaire<\/span><\/p>\r\n<p>Remarque :\u00a0<br \/>Pri\u00e8re universelle : Maryl\u00e8ne DUPUPED<br \/>Fleurissement : Sylvie PASQUET<br \/>Accueil : ?<br \/>Chantre : Val\u00e9rie JOUD<br \/>Organiste : Michel ROBERT<\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche <\/span><span style=\"background-color: var(--page-background-color); color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">30\/10\/2022 \u00e0 10h30 : 31\u00b0 dimanche ordinaire<\/span><\/p>\r\n<p>Remarque :\u00a0<br \/>Pri\u00e8re universelle : Alix de POMYERS<br \/>Fleurissement : Christiane BARRET<br \/>Accueil : ?<br \/>Chantre : Fr\u00e9d\u00e9rique ROMAIN<br \/>Organiste : Michel ROBERT<\/p>\r\n<hr \/>\r\n<p><span style=\"color: #ff9900;\"><span style=\"font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Mardi <\/span><span style=\"background-color: var(--page-background-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">01\/11\/2022 \u00e0 10h30 : TOUSSAINT<\/span><\/span><\/p>\r\n<p>Remarque :\u00a0<br \/>Pri\u00e8re universelle : <span style=\"background-color: #ff0000;\">?<\/span><br \/>Fleurissement : Christiane BARRET<br \/>Accueil : ?<br \/>Chantre : B\u00e9atrice DUFOUR et M\u00e9lanie DUFOUR<br \/>Organiste : Michel ROBERT<\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\"><span style=\"color: #ff00ff;\">Mercredi<\/span> <\/span><span style=\"background-color: var(--page-background-color); color: #ff00ff; font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">02\/11\/2022 \u00e0 19h00 : D\u00e9funts<\/span><\/p>\r\n<p>Remarque : Messe prise en charge par l'\u00e9quipe-fun\u00e9railles<br \/>Pri\u00e8re universelle : Equipe fun\u00e9railles<br \/>Fleurissement : Christiane BARRET<br \/>Accueil : ?<br \/>Chantre : Hubert BRUYERE\u00a0<br \/>Organiste : ?<\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche <\/span><span style=\"background-color: var(--page-background-color); color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">06\/11\/2022 \u00e0 10h30 : 32\u00b0 dimanche ordinaire<\/span><\/p>\r\n<p>Remarque :\u00a0<br \/>Pri\u00e8re universelle : Christine REGACHE<br \/>Fleurissement : Emmanuelle CAMHI<br \/>Accueil : ?<br \/>Chantre : Mireille ROBERT + Fr\u00e9d\u00e9rique ROMAIN<br \/>Organiste : Hubert BRUYERE<\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche <\/span><span style=\"background-color: var(--page-background-color); color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">13\/11\/2022 \u00e0 10h30 : 33\u00b0 dimanche ordinaire<\/span><\/p>\r\n<p>Remarque : Messe des familles<br \/>Pri\u00e8re universelle : Martine MOULIN<br \/>Fleurissement : ?<br \/>Accueil : ?<br \/>Chantre : Evelyne COTTE<br \/>Organiste : Thierry ROBERT<\/p>\r\n<hr \/>\r\n<p><strong><span style=\"color: #0000ff;\">REUNION DES CHANTRES POUR ETABLIR LE PLANNING : <\/span><\/strong><strong><span style=\"color: #0000ff;\">samedi 19 novembre 2022 \u00e0 10h00.<\/span><\/strong><\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche <\/span><span style=\"background-color: var(--page-background-color); color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">20\/11\/2022 \u00e0 10h30 : Christ-Roi<\/span><\/p>\r\n<p>Remarque :\u00a0<br \/>Pri\u00e8re universelle : Christiane BARRET<br \/>Fleurissement : ?<br \/>Accueil : ?<br \/>Chantre : Emmanuelle CAMUS<br \/>Organiste : Hubert BRUYERE<\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche <\/span><span style=\"background-color: var(--page-background-color); color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">27\/11\/2022 \u00e0 10h30 : 1\u00b0 dimanche de l'Avent<\/span><\/p>\r\n<p>Remarque :\u00a0<br \/>Pri\u00e8re universelle : Maryl\u00e8ne DUPUPED<br \/>Fleurissement : ?<br \/>Accueil : ?<br \/>Chantre : Val\u00e9rie JOUD<br \/>Organiste : Michel ROBERT<\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche <\/span><span style=\"background-color: var(--page-background-color); color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">04\/12\/2022 \u00e0 10h30 : 2\u00b0 dimanche de l'Avent<\/span><\/p>\r\n<p>Remarque :\u00a0<br \/>Pri\u00e8re universelle : Christine REGACHE<br \/>Fleurissement : ?<br \/>Accueil : ?<br \/>Chantre : Evelyne COTTE<br \/>Organiste : Hubert BRUYERE<\/p>\r\n<hr \/>\r\n<p><span style=\"color: #3366ff;\"><span style=\"font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Jeudi <\/span><span style=\"background-color: var(--page-background-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">08\/12\/2022 \u00e0 19h00 : IMMACUL\u00c9E CONCEPTION<\/span><\/span><\/p>\r\n<p><span style=\"color: #3366ff;\">Remarque :\u00a0<\/span><br \/><span style=\"color: #3366ff;\">Pri\u00e8re universelle : ?<\/span><br \/><span style=\"color: #3366ff;\">Fleurissement : ?<\/span><br \/><span style=\"color: #3366ff;\">Accueil : ?<\/span><br \/><span style=\"color: #3366ff;\">Chantre :\u00a0 Val\u00e9rie JOUD + Mireille ROBERT + Fr\u00e9d\u00e9rique ROMAIN<\/span><br \/><span style=\"color: #3366ff;\">Organiste : ?<\/span><\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche <\/span><span style=\"background-color: var(--page-background-color); color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">11\/12\/2022 \u00e0 10h30 : 3\u00b0 dimanche de l'Avent<\/span><\/p>\r\n<p>Remarque : Messe des familles<br \/>Pri\u00e8re universelle : Martine MOULIN<br \/>Fleurissement : ?<br \/>Accueil : ?<br \/>Chantre : Fabrice CAMHI<br \/>Organiste : Thierry ROBERT<\/p>\r\n<hr \/>\r\n<p><span style=\"color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600; background-color: var(--page-background-color);\">Dimanche <\/span><span style=\"background-color: var(--page-background-color); color: var(--text-color); font-family: var(--title-font); font-size: 1.5rem; font-weight: 600;\">18\/12\/2022 \u00e0 10h30 : 4\u00b0 dimanche de l'Avent<\/span><\/p>\r\n<p>Remarque :\u00a0<br \/>Pri\u00e8re universelle : Christiane BARRET<br \/>Fleurissement : ?<br \/>Accueil : ?<br \/>Chantre : B\u00e9atrice DUFOUR et M\u00e9lanie DUFOUR<br \/>Organiste : Michel ROBERT<\/p>\r\n<hr \/>\r\n\r\n<!-- wp:spacer -->\r\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\r\n<!-- \/wp:spacer -->\r\n\r\n<!-- wp:block {\"ref\":2073} \/-->","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"class_list":["post-2324","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/paroisse-herbasse.fr\/index.php\/wp-json\/wp\/v2\/pages\/2324","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/paroisse-herbasse.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/paroisse-herbasse.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/paroisse-herbasse.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/paroisse-herbasse.fr\/index.php\/wp-json\/wp\/v2\/comments?post=2324"}],"version-history":[{"count":12,"href":"https:\/\/paroisse-herbasse.fr\/index.php\/wp-json\/wp\/v2\/pages\/2324\/revisions"}],"predecessor-version":[{"id":19799,"href":"https:\/\/paroisse-herbasse.fr\/index.php\/wp-json\/wp\/v2\/pages\/2324\/revisions\/19799"}],"wp:attachment":[{"href":"https:\/\/paroisse-herbasse.fr\/index.php\/wp-json\/wp\/v2\/media?parent=2324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}