Uri: https%3A%2F%2Fwww.complexeculturelfelixleclerc.com%2Fprogrammation
Page name: Accueil | Culture La Tuque
Edit | BackDate Scraped: 2026-04-16 22:13:33 -0400
Last Successful Refresh: 2026-04-16 22:13:33 -0400
Created: 2024-04-19 01:13:39 -0400
Updated: 2026-04-16 22:13:33 -0400
HTTP Response Code: 200
Html:
<!DOCTYPE html><!-- Last Published: Wed Apr 15 2026 14:53:52 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="culturelatuque.com" data-wf-page="68467101ca5601b2972ff6c7" data-wf-site="67ff26d3c9b287a9d681f229" data-wf-intellimize-customer-id="117601192" lang="en"><head><meta charset="utf-8"/><title>Accueil | Culture La Tuque</title><meta content="Découvrez l’effervescence culturelle de La Tuque — Arts, spectacles, congrès & expositions — Des étoiles dans les yeux depuis 25 ans." name="description"/><meta content="Accueil | Culture La Tuque" property="og:title"/><meta content="Découvrez l’effervescence culturelle de La Tuque — Arts, spectacles, congrès & expositions — Des étoiles dans les yeux depuis 25 ans." property="og:description"/><meta content="Accueil | Culture La Tuque" property="twitter:title"/><meta content="Découvrez l’effervescence culturelle de La Tuque — Arts, spectacles, congrès & expositions — Des étoiles dans les yeux depuis 25 ans." property="twitter:description"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/67ff26d3c9b287a9d681f229/css/ccfl-1.webflow.shared.5a00ae718.css" rel="stylesheet" type="text/css" integrity="sha384-WgCucY/kI5vbOnisvM+3PPlhPCyetJ+RHzQBpkNgQ2nJF8YHfroxgNiUC18U5SyL" crossorigin="anonymous"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/><script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script><script type="text/javascript">
WebFont.load({ google: { families: ["Inconsolata:400,700"] }});
</script><script type="text/javascript">
!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);
</script><link href="https://cdn.prod.website-files.com/67ff26d3c9b287a9d681f229/67ff2a681d4da1045cf4a1c1_ccfl_oeil_32px.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/67ff26d3c9b287a9d681f229/67ff2a6d2c5a366429cb8b34_ccfl_oeil_256px.png" rel="apple-touch-icon"/><style>
.anti-flicker, .anti-flicker * {visibility: hidden !important; opacity: 0 !important;}
</style><style>
[data-wf-hidden-variation], [data-wf-hidden-variation] * {
display: none !important;
}
</style><style>
.w-webflow-badge{
display:none !important;
}
</style>
<script>
(() => {
const YEAR = String(new Date().getFullYear());
const YEAR_AFTER_COPY = /(©\s*)\d{4}/;
// Efficient: XPath returns only text nodes containing "©" (not every text node on the page)
function patchCopyrightYear(scope) {
if (!scope) return 0;
const xp =
".//text()[contains(., '©') and not(ancestor::script) and not(ancestor::style) and not(ancestor::noscript)]";
const snap = document.evaluate(xp, scope, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
let patched = 0;
for (let i = 0; i < snap.snapshotLength; i++) {
const tn = snap.snapshotItem(i); // Text node
const s = tn.nodeValue;
if (!s || s.indexOf("©") === -1) continue;
if (!YEAR_AFTER_COPY.test(s)) continue;
const next = s.replace(YEAR_AFTER_COPY, `$1${YEAR}`);
if (next !== s) {
tn.nodeValue = next;
patched++;
}
}
return patched;
}
function run() {
// 1) Inner pages: footer is present
const footer = document.querySelector("footer, [role='contentinfo']");
if (patchCopyrightYear(footer)) return;
// 2) Homepage variant: often not a semantic <footer>, so target the DOM tail first
const tail = document.body.lastElementChild || document.body;
if (patchCopyrightYear(tail)) return;
// 3) Last resort (still only touches nodes containing "©")
patchCopyrightYear(document.body);
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", run, { once: true });
} else {
run();
}
})();
</script>
<!-- Meta Pixel Code -->
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '936530161718079');
fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=936530161718079&ev=PageView&noscript=1"
/></noscript>
<!-- End Meta Pixel Code -->
<!-- Hotjar Tracking Code for Site web -->
<script>
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid:6465582,hjsv:6};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
</script><script type="text/javascript">
window.__WEBFLOW_CURRENCY_SETTINGS = {"currencyCode":"USD","symbol":"$","decimal":".","fractionDigits":2,"group":",","template":"{{wf {\"path\":\"symbol\",\"type\":\"PlainText\"} }} {{wf {\"path\":\"amount\",\"type\":\"CommercePrice\"} }} {{wf {\"path\":\"currencyCode\",\"type\":\"PlainText\"} }}","hideDecimalForWholeNumbers":false};
</script></head><body>
<div data-animation="default" data-collapse="small" data-duration="400" data-easing="ease" data-easing2="ease" role="banner" class="navbar w-nav"><a href="/a-propos" class="brand-mobile w-inline-block"><img width="Auto" height="Auto" alt="" src="https://cdn.prod.website-files.com/67ff26d3c9b287a9d681f229/683685ca8e715b078ba9c7ae_OEIL%20-%20Blanc.svg" loading="eager" class="logo mobile"/></a><nav role="navigation" class="nav-menu w-nav-menu">
<div class="w-layout-grid grid-navbar">
<div id="w-node-b8e57bd2-b8ef-6d7e-0212-692184e028e9-972ff6c7" class="nav"><a data-w-id="b8e57bd2-b8ef-6d7e-0212-692184e028ea" href="/contact" class="nav-link right w-inline-block">
<div class="nav-text">Contact</div>
<div class="block-underline">
<div style="-webkit-transform:translate3d(-105%, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(-105%, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(-105%, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(-105%, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" class="underline"></div>
</div>
</a></div>
<a href="/a-propos" class="brand w-nav-brand"><img loading="eager" src="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579/68366858c71ca75916b26d4c_OEIL%20-%20Blanc.svg" alt="" class="logo"/></a>
<div id="w-node-b8e57bd2-b8ef-6d7e-0212-692184e028e1-972ff6c7" class="nav"><a data-w-id="b8e57bd2-b8ef-6d7e-0212-692184e028e2" href="/programmation" class="nav-link w-inline-block">
<div class="nav-text">Programmation</div>
<div class="block-underline">
<div style="-webkit-transform:translate3d(-105%, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(-105%, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(-105%, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(-105%, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" class="underline"></div>
</div>
</a></div>
</div>
</nav>
<div class="menu-button w-nav-button">
<div class="menu-icon w-icon-nav-menu"></div>
</div>
</div>
<section class="section-hero">
<div class="w-embed"><style>
/*
CE CODE-CI FONCTIONNE, MAIS N'EST PAS ANIMABLE, DONC CRÉE UN JITTER
*/
.wrapper-letter{
display:flex;
justify-content:center;
transition:justify-content .25s;
}
.wrapper-letter:has(> .block-letter:first-child:hover){
justify-content:flex-start;
}
.wrapper-letter:has(> .block-letter:last-child:hover){
justify-content:flex-end;
}
</style></div>
<div class="wrapper-letter extra"><a style="opacity:0;-webkit-transform:translate3d(3px, 0, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(70deg) rotateZ(0) skew(0, 0);-moz-transform:translate3d(3px, 0, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(70deg) rotateZ(0) skew(0, 0);-ms-transform:translate3d(3px, 0, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(70deg) rotateZ(0) skew(0, 0);transform:translate3d(3px, 0, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(70deg) rotateZ(0) skew(0, 0);transform-style:preserve-3d" href="/complexe-culturel-felix-leclerc" class="block-letter block-letter-1 w-inline-block">
<div data-w-id="0884c4c3-2943-acc7-7b75-abaa641b5e83" class="letter preload-2 landing-page-underline">Spectacles</div>
<div data-poster-url="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F6824342c28cd9a5fe2f09e88_spectacles1mp4-poster-00001.jpg" data-video-urls="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F6824342c28cd9a5fe2f09e88_spectacles1mp4-transcode.mp4,https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F6824342c28cd9a5fe2f09e88_spectacles1mp4-transcode.webm" data-autoplay="true" data-loop="true" data-wf-ignore="true" style="opacity:0;-webkit-transform:translate3d(6px, null, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(50deg) rotateZ(0) skew(0, 0);-moz-transform:translate3d(6px, null, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(50deg) rotateZ(0) skew(0, 0);-ms-transform:translate3d(6px, null, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(50deg) rotateZ(0) skew(0, 0);transform:translate3d(6px, null, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(50deg) rotateZ(0) skew(0, 0);transform-style:preserve-3d" class="bg-video-letter preload-1 w-background-video w-background-video-atom">
<video id="0884c4c3-2943-acc7-7b75-abaa641b5e85-video" autoplay="" loop="" style="background-image:url("https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F6824342c28cd9a5fe2f09e88_spectacles1mp4-poster-00001.jpg")" muted="" playsinline="" data-wf-ignore="true" data-object-fit="cover"><source src="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F6824342c28cd9a5fe2f09e88_spectacles1mp4-transcode.mp4" data-wf-ignore="true"/><source src="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F6824342c28cd9a5fe2f09e88_spectacles1mp4-transcode.webm" data-wf-ignore="true"/></video>
</div>
</a><a style="opacity:0;-webkit-transform:translate3d(3px, 0, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(70deg) rotateZ(0) skew(0, 0);-moz-transform:translate3d(3px, 0, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(70deg) rotateZ(0) skew(0, 0);-ms-transform:translate3d(3px, 0, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(70deg) rotateZ(0) skew(0, 0);transform:translate3d(3px, 0, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(70deg) rotateZ(0) skew(0, 0);transform-style:preserve-3d" href="/complexe-culturel-felix-leclerc#cinema" class="block-letter block-letter-2 w-inline-block">
<div class="letter preload-2 landing-page-underline">Cinéma</div>
<div data-poster-url="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F682433e2052891c761139b00_cinema1mp4-poster-00001.jpg" data-video-urls="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F682433e2052891c761139b00_cinema1mp4-transcode.mp4,https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F682433e2052891c761139b00_cinema1mp4-transcode.webm" data-autoplay="true" data-loop="true" data-wf-ignore="true" style="opacity:0;-webkit-transform:translate3d(6px, null, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(50deg) rotateZ(0) skew(0, 0);-moz-transform:translate3d(6px, null, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(50deg) rotateZ(0) skew(0, 0);-ms-transform:translate3d(6px, null, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(50deg) rotateZ(0) skew(0, 0);transform:translate3d(6px, null, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(50deg) rotateZ(0) skew(0, 0);transform-style:preserve-3d" class="bg-video-letter preload-2 w-background-video w-background-video-atom">
<video id="708a2b9a-240b-fa16-8127-479b200e6288-video" autoplay="" loop="" style="background-image:url("https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F682433e2052891c761139b00_cinema1mp4-poster-00001.jpg")" muted="" playsinline="" data-wf-ignore="true" data-object-fit="cover"><source src="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F682433e2052891c761139b00_cinema1mp4-transcode.mp4" data-wf-ignore="true"/><source src="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F682433e2052891c761139b00_cinema1mp4-transcode.webm" data-wf-ignore="true"/></video>
</div>
</a><a style="opacity:0;-webkit-transform:translate3d(3px, 0, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(70deg) rotateZ(0) skew(0, 0);-moz-transform:translate3d(3px, 0, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(70deg) rotateZ(0) skew(0, 0);-ms-transform:translate3d(3px, 0, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(70deg) rotateZ(0) skew(0, 0);transform:translate3d(3px, 0, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(70deg) rotateZ(0) skew(0, 0);transform-style:preserve-3d" href="/complexe-multimedia" class="block-letter block-letter-3 w-inline-block">
<div class="letter preload-2 landing-page-underline">multimédia</div>
<div data-poster-url="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F6824345b22ea55a8b8859ed8_multimedia1-poster-00001.jpg" data-video-urls="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F6824345b22ea55a8b8859ed8_multimedia1-transcode.mp4,https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F6824345b22ea55a8b8859ed8_multimedia1-transcode.webm" data-autoplay="true" data-loop="true" data-wf-ignore="true" style="opacity:0;-webkit-transform:translate3d(6px, null, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(50deg) rotateZ(0) skew(0, 0);-moz-transform:translate3d(6px, null, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(50deg) rotateZ(0) skew(0, 0);-ms-transform:translate3d(6px, null, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(50deg) rotateZ(0) skew(0, 0);transform:translate3d(6px, null, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(50deg) rotateZ(0) skew(0, 0);transform-style:preserve-3d" class="bg-video-letter preload-3 w-background-video w-background-video-atom">
<video id="0884c4c3-2943-acc7-7b75-abaa641b5e8d-video" autoplay="" loop="" style="background-image:url("https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F6824345b22ea55a8b8859ed8_multimedia1-poster-00001.jpg")" muted="" playsinline="" data-wf-ignore="true" data-object-fit="cover"><source src="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F6824345b22ea55a8b8859ed8_multimedia1-transcode.mp4" data-wf-ignore="true"/><source src="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F6824345b22ea55a8b8859ed8_multimedia1-transcode.webm" data-wf-ignore="true"/></video>
</div>
</a><a style="opacity:0;-webkit-transform:translate3d(3px, 0, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(70deg) rotateZ(0) skew(0, 0);-moz-transform:translate3d(3px, 0, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(70deg) rotateZ(0) skew(0, 0);-ms-transform:translate3d(3px, 0, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(70deg) rotateZ(0) skew(0, 0);transform:translate3d(3px, 0, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(70deg) rotateZ(0) skew(0, 0);transform-style:preserve-3d" href="/centre-des-congres" class="block-letter block-letter-4 w-inline-block">
<div class="letter preload-2 landing-page-underline">Congrès</div>
<div data-poster-url="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F683fe65b0cf652951ba0c278_congres1_first11-poster-00001.jpg" data-video-urls="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F683fe65b0cf652951ba0c278_congres1_first11-transcode.mp4,https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F683fe65b0cf652951ba0c278_congres1_first11-transcode.webm" data-autoplay="true" data-loop="true" data-wf-ignore="true" style="opacity:0;-webkit-transform:translate3d(6px, null, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(50deg) rotateZ(0) skew(0, 0);-moz-transform:translate3d(6px, null, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(50deg) rotateZ(0) skew(0, 0);-ms-transform:translate3d(6px, null, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(50deg) rotateZ(0) skew(0, 0);transform:translate3d(6px, null, 0) scale3d(1, 1, 1) rotateX(7deg) rotateY(50deg) rotateZ(0) skew(0, 0);transform-style:preserve-3d" class="bg-video-letter preload-4 w-background-video w-background-video-atom">
<video id="0884c4c3-2943-acc7-7b75-abaa641b5e91-video" autoplay="" loop="" style="background-image:url("https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F683fe65b0cf652951ba0c278_congres1_first11-poster-00001.jpg")" muted="" playsinline="" data-wf-ignore="true" data-object-fit="cover"><source src="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F683fe65b0cf652951ba0c278_congres1_first11-transcode.mp4" data-wf-ignore="true"/><source src="https://cdn.prod.website-files.com/67ff28251fcf6edc826c1579%2F683fe65b0cf652951ba0c278_congres1_first11-transcode.webm" data-wf-ignore="true"/></video>
</div>
</a></div>
<div style="opacity:0" class="block-info">
<div class="text-info">— Des étoiles dans les yeux —<br/>
© 2025 Culture La Tuque</div>
<div class="w-layout-grid grid partenaires-landing-page"><img style="opacity:0.5" data-w-id="0884c4c3-2943-acc7-7b75-abaa641b5e98" alt="" src="https://cdn.prod.website-files.com/67ff26d3c9b287a9d681f229/683779a8e04393c627425195_VLT.svg" loading="lazy" id="w-node-_0884c4c3-2943-acc7-7b75-abaa641b5e98-972ff6c7" class="partenaire-pour-landing-page"/><img style="opacity:0.5" data-w-id="0884c4c3-2943-acc7-7b75-abaa641b5e99" alt="" src="https://cdn.prod.website-files.com/67ff26d3c9b287a9d681f229/683779a826ce1fca67838fe9_CALQ%20-%20Conseil%20arts%20%26%20lettres.svg" loading="lazy" id="w-node-_0884c4c3-2943-acc7-7b75-abaa641b5e99-972ff6c7" class="partenaire-pour-landing-page"/><img style="opacity:0.5" data-w-id="0884c4c3-2943-acc7-7b75-abaa641b5e9a" alt="" src="https://cdn.prod.website-files.com/67ff26d3c9b287a9d681f229/683779a8cda539268d268f36_Patrimoine%20canadien.svg" loading="lazy" id="w-node-_0884c4c3-2943-acc7-7b75-abaa641b5e9a-972ff6c7" class="partenaire-pour-landing-page"/><img style="opacity:0.5" data-w-id="0884c4c3-2943-acc7-7b75-abaa641b5e9b" alt="" src="https://cdn.prod.website-files.com/67ff26d3c9b287a9d681f229/683779a869cab00c2032aec8_Desjardins.svg" loading="lazy" id="w-node-_0884c4c3-2943-acc7-7b75-abaa641b5e9b-972ff6c7" class="partenaire-pour-landing-page"/><img style="opacity:0.5" data-w-id="0884c4c3-2943-acc7-7b75-abaa641b5e9c" alt="" src="https://cdn.prod.website-files.com/67ff26d3c9b287a9d681f229/683779a8fa30fb80b04d345c_Hydro-Que%CC%81bec.svg" loading="lazy" id="w-node-_0884c4c3-2943-acc7-7b75-abaa641b5e9c-972ff6c7" class="partenaire-pour-landing-page"/></div>
</div>
</section>
<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=67ff26d3c9b287a9d681f229" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/67ff26d3c9b287a9d681f229/js/webflow.schunk.1a807f015b216e46.js" type="text/javascript" integrity="sha384-oY4R8SfnVBTWnix6ULiWbZs/5tyRyxEiWcG+WrT3unnu5pmfsIYJEraZcyFVlvND" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/67ff26d3c9b287a9d681f229/js/webflow.schunk.525db01ad58fcf19.js" type="text/javascript" integrity="sha384-/urDy1T7pAj5nEjBqnahAKSeP+7MSOHm8uwvKY/Fg8vI85zn2lpQFRIhmL1NaZHY" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/67ff26d3c9b287a9d681f229/js/webflow.schunk.12f66a7a1043bbab.js" type="text/javascript" integrity="sha384-HNZTKJ8WDhYv0MYd2/DshG03tUC884xqMkewa2sbJaXcw0wuKN4aCoLgFT2Rr1lo" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/67ff26d3c9b287a9d681f229/js/webflow.fcaacf6d.bf921cd6140e8c57.js" type="text/javascript" integrity="sha384-xd+5r6h5jyhRPmK6iS76FcMYLwjIghSb6VjimA3hWLWEKU3S23B+XUciz84gwG7S" crossorigin="anonymous"></script><script>
/* =====================================================================
“TOUT” injector – keeps highlight correct & removes extra first “/”
===================================================================== */
(function () {
/* --------------------------------------------------------- helpers */
function updateHighlight() {
const tout = document.querySelector('a[href="/programmation"]');
if (!tout) return;
const onProg = /^\/programmation\/?$/.test(location.pathname.toLowerCase());
/* Webflow relies on class **and** aria-current */
tout.classList.toggle('w--current', onProg);
if (onProg) {
tout.setAttribute('aria-current', 'page');
} else {
tout.removeAttribute('aria-current');
}
}
/* Remove any divider immediately before the first <a> in the list */
function removeLeadingDivider(list) {
const firstLink = list.querySelector('a');
if (!firstLink) return;
let n = firstLink.previousSibling;
while (n &&
((n.nodeType === Node.TEXT_NODE && /\/\s*$/.test(n.textContent)) ||
(n.nodeType === Node.ELEMENT_NODE && n.classList.contains('category-divider')))) {
const prev = n;
n = n.previousSibling;
prev.remove();
}
}
/* ----------------------------------------------------- main routine */
function run() {
const path = location.pathname.toLowerCase();
if (!(path.includes('/programmation') ||
path.includes('/categories-evenements'))) return;
/* wrapper holding the dynamic list */
const list = document.querySelector('.w-dyn-list');
if (!list) return;
/* already injected? just refresh highlight & tidy dividers */
if (list.querySelector('a[href="/programmation"]')) {
updateHighlight();
removeLeadingDivider(list);
return;
}
/* first category link (e.g. “Hommage”) */
const firstCat = list.querySelector('a[href^="/categories-evenements/"]');
if (!firstCat) return;
/* clone link for “TOUT” */
const tout = firstCat.cloneNode(false);
tout.href = '/programmation';
tout.textContent = 'TOUT';
/* ensure highlight status is correct right away */
updateHighlight = () => { // redefine with new element in scope
const onProg = /^\/programmation\/?$/.test(location.pathname.toLowerCase());
tout.classList.toggle('w--current', onProg);
if (onProg) {
tout.setAttribute('aria-current', 'page');
} else {
tout.removeAttribute('aria-current');
}
};
updateHighlight();
/* proper divider clone so margins & weight stay identical */
const templateDiv = list.querySelector('.category-divider');
const divider = templateDiv
? templateDiv.cloneNode(true)
: Object.assign(document.createElement('div'), {
className: 'text-400 category-divider',
textContent: '/'
});
/* remove any divider that precedes firstCat (old leading “/”) */
removeLeadingDivider(list);
/* insert: TOUT / HOMMAGE … */
firstCat.parentElement.insertBefore(divider, firstCat);
firstCat.parentElement.insertBefore(tout, divider);
}
/* ---------------------------------- fire on load & SPA navigations */
window.addEventListener('load', run);
['pushState', 'replaceState'].forEach(fn => {
const orig = history[fn];
history[fn] = function () {
const out = orig.apply(this, arguments);
setTimeout(run, 0);
return out;
};
});
window.addEventListener('popstate', () => setTimeout(run, 0));
})();
</script>
<!-- Formulaire d'inscription à l'infolettre vers Ovation -->
<script>
if (1==0) { // Attendre le GO LIVE
document.addEventListener('DOMContentLoaded', () => {
const form = document.getElementById('wf-form-inscription-infolettre'); // form name in Webflow
if (!form) return;
const wrapper = form.closest('.w-form') || form.parentElement;
const done = wrapper.querySelector('.w-form-done');
const fail = wrapper.querySelector('.w-form-fail');
const submitBtn = form.querySelector('button[type="submit"], .w-button');
// Accessible live region (optional)
let status = form.querySelector('[role="status"]');
if (!status) {
status = document.createElement('p');
status.setAttribute('role', 'status');
status.setAttribute('aria-live', 'polite');
form.appendChild(status);
}
form.addEventListener('submit', async (e) => {
// Stop BOTH browser navigation and Webflow's own AJAX handler
e.preventDefault();
e.stopImmediatePropagation();
// Basic validity UI
if (!form.checkValidity()) { form.reportValidity(); return; }
// UI: sending state
const originalLabel = submitBtn ? submitBtn.textContent : null;
if (submitBtn) { submitBtn.disabled = true; submitBtn.textContent = 'Subscribing…'; }
status.textContent = '';
if (fail) fail.style.display = 'none';
try {
const body = new FormData(form);
// Honeypot: if filled, pretend success
if (body.get('website')) {
if (done) { done.style.display = 'block'; form.style.display = 'none'; }
return;
}
// POST to your backend / serverless (proxy to your ESP to keep API keys secret)
const res = await fetch('https://www.ovation.ca/marketing/1L/Newsletter/DirectSubscribe', {
method: 'POST',
body,
credentials: 'same-origin',
headers: { 'Accept': 'application/json' }
});
if (!res.ok) {
let msg = `Request failed (HTTP ${res.status})`;
try { const j = await res.json(); if (j.error) msg = j.error; } catch {}
throw new Error(msg);
}
const data = await res.json();
// Show Webflow-style success UI (you control the message)
if (done) {
const msgEl = done.querySelector('div, p') || done;
msgEl.textContent = data.message || 'Presque terminé — Vérifiez votre courriel pour confirmer l\'inscription.';
done.style.display = 'block';
form.style.display = 'none';
} else {
status.textContent = data.message || 'Inscription réussie!';
form.reset();
}
} catch (err) {
// Show Webflow-style error UI
const msg = err.message || 'Une erreur s\'est produite. Vérifier le courriel & réessayez.';
if (fail) {
const msgEl = fail.querySelector('div, p') || fail;
msgEl.textContent = msg;
fail.style.display = 'block';
} else {
status.textContent = msg;
}
} finally {
if (submitBtn) { submitBtn.disabled = false; submitBtn.textContent = originalLabel; }
}
});
});
}
</script>
</body></html>