{"id":11,"date":"2026-07-25T12:28:05","date_gmt":"2026-07-25T10:28:05","guid":{"rendered":"https:\/\/collectifcarcasse.fr\/?page_id=11"},"modified":"2026-10-26T17:55:34","modified_gmt":"2026-10-26T16:55:34","slug":"accueil","status":"publish","type":"page","link":"https:\/\/collectifcarcasse.fr\/","title":{"rendered":"Accueil"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"11\" class=\"elementor elementor-11\">\n\t\t\t\t<div class=\"elementor-element elementor-element-76d5692 e-con-full e-flex e-con e-parent\" data-id=\"76d5692\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-565c9d9 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"565c9d9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"fr\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Carcasse Collectif - Intro<\/title>\n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n    <!-- Import de Lenis -->\n    <script src=\"https:\/\/unpkg.com\/lenis@1.1.13\/dist\/lenis.min.js\"><\/script>\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Syne+Mono&display=swap\" rel=\"stylesheet\">\n    <style>\n        \/* Styles de base recommand\u00e9s pour Lenis *\/\n        html.lenis, html.lenis body {\n            height: auto;\n        }\n        .lenis.lenis-smooth {\n            scroll-behavior: auto !important;\n        }\n        .lenis.lenis-smooth [data-lenis-prevent] {\n            overscroll-behavior: contain;\n        }\n        .lenis.lenis-stopped {\n            overflow: hidden;\n        }\n        .lenis.lenis-scrolling iframe {\n            pointer-events: none;\n        }\n\n        \/* Tes styles existants *\/\n        html { margin: 0; padding: 0; width: 100%; min-height: 100%; overflow-x: hidden; overflow-y: auto; background-color: #ff8bff; }\n        body { margin: 0; padding: 0; width: 100%; min-height: 100%; font-family: sans-serif; }\n\n        \/* Pendant l'intro, la sc\u00e8ne recouvre toute la page : la timeline et le reste ne peuvent plus se m\u00e9langer avec elle *\/\n        body.cc-intro-en-cours #scene { z-index: 1000000; }\n        #scene { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; overflow: hidden; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; z-index: 0; }\n        #scene-spacer { width: 100%; height: 200vh; \/* Augment\u00e9 pour bien tester le scroll *\/ }\n        #bg-move { position: absolute; top: 0; left: 0; width: 100vw; height: 200vh; transition: transform 2s cubic-bezier(0.92, 0, 0.58, 1); will-change: transform; }\n        #bg-pink { width: 100vw; height: 100vh; background-color: #ff8bff; }\n        #bg-grey { width: 100vw; height: 100vh; background-color: #D9D9D9; }\n\n        #black-plane { position: absolute; top: 0; left: 0; width: 100vw; height: 100vh; background-color: #000; z-index: 5; pointer-events: none; transition: transform 2s cubic-bezier(0.92, 0, 0.58, 1); will-change: transform; }\n\n        #car-wrapper { position: absolute; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 10; opacity: 0; transition: opacity 1s ease; pointer-events: none; will-change: opacity; }\n\n        #car-inner { position: absolute; top: 41%; left: 50%; width: 41.667vw; transform: translate(-50%, -50%) scale(0.495); pointer-events: auto; cursor: pointer; }\n\n        #carcasse-logo { position: absolute; top: 50%; left: 50%; width: 38.194vw; max-width: 70vw; transform: translate(-50%, -50%); z-index: 20; transition: transform 2s cubic-bezier(0.92, 0, 0.58, 1); pointer-events: none; will-change: transform; }\n\n        #pink-blend { position: absolute; top: 0; left: 0; width: 100vw; height: 100vh; background-color: #ff8bff; mix-blend-mode: screen; z-index: 15; pointer-events: none; transition: transform 2s cubic-bezier(0.92, 0, 0.58, 1); will-change: transform; }\n\n        #grey-blur { position: absolute; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 12; pointer-events: none; backdrop-filter: blur(0.694vw); -webkit-backdrop-filter: blur(0.694vw); transform: translateY(100vh); transition: transform 2s cubic-bezier(0.92, 0, 0.58, 1); will-change: transform; }\n\n        #menu-bar { position: fixed; top: 0; left: 0; width: 100vw; height: 4.861vw; background: #fff; z-index: 100; display: flex; align-items: center; padding: 0 1.042vw; box-sizing: border-box; transform: translateY(-100%); transition: transform 2s cubic-bezier(0.92, 0, 0.58, 1); will-change: transform; }\n        #menu-logo { height: 2.639vw; }\n\n        #car-svg { width: 100%; height: auto; overflow: visible; }\n        .car-part { transform-box: fill-box; transform-origin: center; transition: transform 1.5s cubic-bezier(0.92, 0, 0.58, 1); will-change: transform; }\n\n        .st0 { fill: #49ff89; } .st1 { fill: #fff; } .st2 { fill: #ff8bff; } .st3 { fill: #aa82ff; }\n\n        #content-below {\n            position: absolute;\n            top: 20vh;\n            width: 100%;\n            padding: 1.042vw 1.042vw 3.472vw;\n            box-sizing: border-box;\n            background: transparent;\n            z-index: 30;\n            opacity: 0;\n            pointer-events: none;\n            transition: opacity 0.5s ease;\n        }\n\n        .hero-text { font-family: 'Syne Mono', monospace; font-weight: 400; font-size: 7.986vw; line-height: 0.90; margin: 0; color: #000; }\n\n        .creation-section { display: flex; width: calc(100% + 2.083vw); margin: 7.639vw -1.042vw 0; height: 48.611vw; }\n        .creation-left { position: relative; flex: 1; background: #b7c2bb; overflow: hidden; padding: 1.389vw; box-sizing: border-box; transform: translateY(5.556vw); opacity: 0; transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1), opacity 1.2s ease; }\n        .creation-label { font-weight: bold; margin: 0; font-size: 0.972vw; }\n        .blob { position: absolute; background: #6fe0a0; filter: blur(2.431vw); border-radius: 45% 55% 40% 60%; opacity: 0.85; }\n        .blob-1 { width: 12.5vw; height: 18.056vw; top: 4.167vw; left: 0.694vw; }\n        .blob-2 { width: 9.722vw; height: 15.278vw; top: 6.25vw; left: 13.889vw; }\n        .creation-title { font-family: 'Syne Mono', monospace; font-weight: 400; font-size: 2.778vw; line-height: 1.15; position: absolute; bottom: 1.389vw; left: 1.389vw; margin: 0; }\n        .creation-right { flex: 1; position: relative; background: #111 center\/cover no-repeat; display: flex; align-items: flex-start; justify-content: flex-end; padding: 1.389vw; box-sizing: border-box; transform: translateY(5.556vw); opacity: 0; transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1), opacity 1.2s ease; }\n\n        .agenda-label { font-family: 'Syne Mono', monospace; color: #fff; font-size: 2.222vw; }\n\n        \/* \u00c0 la une : gauche = couleur unie au choix + image_gauche flout\u00e9e, droite = image en couleur *\/\n        .creation-left, .creation-right { overflow: hidden; }\n        .creation-left::before,\n        .creation-right::before {\n            content: '';\n            position: absolute;\n            inset: 0;\n            background-position: center;\n            background-size: cover;\n            background-repeat: no-repeat;\n            z-index: 0;\n        }\n        .creation-left { isolation: isolate; }\n        .creation-left::before  { background-image: var(--une-image-gauche); filter: blur(1.389vw); transform: scale(1.1); mix-blend-mode: saturation; }\n        .creation-right::before { background-image: var(--une-image-droite); }\n        .creation-left.une-vert   { background-color: #49ff89; }\n        .creation-left.une-rose   { background-color: #ff8bff; }\n        .creation-left.une-violet { background-color: #aa82ff; }\n        \/* Calque noir en soft light 20% au-dessus de l'image, sous les textes *\/\n        .creation-left::after {\n            content: '';\n            position: absolute;\n            inset: 0;\n            background: #000;\n            opacity: 0.2;\n            mix-blend-mode: soft-light;\n            z-index: 1;\n            pointer-events: none;\n        }\n        .creation-label, .creation-title { z-index: 2; }\n        .creation-label { position: relative; }\n        .creation-left .creation-title {\n            text-transform: uppercase;\n            font-size: 5vw;      \/* 100px sur un \u00e9cran de 1440px (valeur Figma) *\/\n            line-height: 1;         \/* interlignage 100 *\/\n            letter-spacing: 0.1em;  \/* interlettrage 10% *\/\n            color: #000000\n        }\n        .creation-link-overlay { position: absolute; inset: 0; z-index: 3; }\n\n        \/* Bouton \u00ab Voir plus \u00bb : appara\u00eet au survol de la photo, suit la souris (voir le script en bas) *\/\n        .creation-right { position: relative; cursor: none; }   \/* pas de curseur sur la photo *\/\n        .creation-right .discover-link {\n            position: absolute;\n            left: var(--x, 50%); top: var(--y, 50%);   \/* suit la souris *\/\n            transform: translate(-50%, -50%);\n            z-index: 1; isolation: isolate;\n            display: block; box-sizing: border-box;\n            width: 10.316vw;            \/* largeur du carr\u00e9 *\/\n            height: 1.598vw;            \/* hauteur du carr\u00e9 *\/\n            padding: 0.300vw 0.281vw;   \/* marge interne *\/\n            color: rgba(0, 0, 0, 0.5);\n            font-family: 'Helvetica', Arial, sans-serif; font-weight: 700;\n            font-size: 2.292vw; line-height: 0.997vw;   \/* m\u00eame taille que le paragraphe .text-helvetica *\/\n            text-decoration: none; white-space: nowrap;\n            cursor: none;               \/* pas de curseur : le bouton le remplace *\/\n        }\n        \/* doublon blanc du texte, au-dessus du carr\u00e9 vert, \u00e0 la m\u00eame position *\/\n        .creation-right .discover-link::after {\n            content: attr(data-text);\n            position: absolute; inset: 0; z-index: -1;  \n            box-sizing: border-box; padding: inherit; pointer-events: none;\n            color: rgba(255, 255, 255, 1); font: inherit; line-height: inherit; white-space: nowrap;\n            clip-path: inset(-1em 100% -1em 0);   \/* cache \u00e0 gauche->droite ; marge verticale 1em pour ne pas couper les lettres *\/\n            mix-blend-mode: exclusion;   \/* mode de fusion : exclusion *\/\n        }\n        \/* carr\u00e9 vert : se d\u00e9ploie de gauche \u00e0 droite (scale X) *\/\n        .creation-right .discover-link::before {\n            content: ''; position: absolute; inset: 0; z-index: 0;\n            background: #49ff89;\n            transform: scaleX(0); transform-origin: left center;\n        }\n        \/* texte noir 50 % : r\u00e9v\u00e9l\u00e9 de gauche \u00e0 droite, comme s'il s'\u00e9crivait *\/\n        .creation-right .discover-text {\n            display: block;\n            clip-path: inset(-1em 100% -1em 0);\n        }\n        \/* au survol de la photo : 1) texte blanc, 2) carr\u00e9 vert qui le recouvre, 3) texte noir. Au d\u00e9part : retour imm\u00e9diat *\/\n        .creation-right.survol .discover-link::after {\n            clip-path: inset(-1em 0 -1em 0);\n            transition: clip-path 0.35s cubic-bezier(0.4, 0, 0.2, 1);\n        }\n        .creation-right.survol .discover-link::before {\n            transform: scaleX(1);\n            transition: transform 0.45s cubic-bezier(0.65, 0, 0.35, 1) 0.2s;\n        }\n        .creation-right.survol .discover-text {\n            clip-path: inset(-1em 0 -1em 0);\n            transition: clip-path 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.35s;\n        }\n\n        \/* NOUVEAUX STYLES AJOUT\u00c9S POUR LES TEXTES *\/\n        .text-helvetica {\n            font-family: 'Helvetica', Arial, sans-serif;\n            font-size: 2.292vw;\n            font-weight: 700;\n            line-height: 1;\n            color: #000;\n            margin: 13.889vw 0; \/* Espace autour du paragraphe *\/\n            padding-left: 0.347vw;\n            box-sizing: border-box;\n            max-width: 97%;\n        }\n\n        .highlight-pink {\n            color: rgba(0, 0, 0, 0.5);   \/* texte noir \u00e0 50 % *\/\n            padding: 0 0.12em;           \/* espace \u00e0 gauche\/droite du texte dans le rectangle *\/\n            text-decoration: none;\n            \/* Rectangle : hauteur et position verticale r\u00e9glables *\/\n            --rect-h: 0.78em;            \/* hauteur du rectangle *\/\n            --rect-y: 0.145em;           \/* distance depuis le haut de la ligne (plus grand = le rectangle descend) *\/\n            \/* 2 calques : blanc (anim\u00e9, arrive de la gauche au survol) par-dessus le rose *\/\n            background-image: linear-gradient(#fff, #fff), linear-gradient(#ff8bff, #ff8bff);\n            background-repeat: no-repeat;\n            background-position: left var(--rect-y), left var(--rect-y);\n            background-size: 0% var(--rect-h), 100% var(--rect-h);\n        }\n        .highlight-pink:hover {\n            background-size: 100% var(--rect-h), 100% var(--rect-h);\n            transition: background-size 0.45s cubic-bezier(0.65, 0, 0.35, 1);   \/* vitesse de l'arriv\u00e9e du blanc *\/\n        }\n\n        .second-hero-text {\n            margin: 13.889vw 0 4.167vw 0;\n        }\n\n    <\/style>\n<\/head>\n<body>\n    <div id=\"scene\">\n        <div id=\"bg-move\">\n            <div id=\"bg-pink\"><\/div>\n            <div id=\"bg-grey\"><\/div>\n        <\/div>\n        <div id=\"black-plane\"><\/div>\n        <div id=\"grey-blur\"><\/div>\n        <img id=\"carcasse-logo\"  alt=\"Carcasse Collectif\" loading=\"eager\" fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/collectifcarcasse.fr\/wp-content\/uploads\/2026\/07\/CARCASSE-LOGO-scaled.png\">\n        <div id=\"pink-blend\"><\/div>\n        <div id=\"car-wrapper\">\n            <div id=\"car-inner\">\n            <svg id=\"car-svg\" viewBox=\"-200 -200 1070 633\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                <g class=\"car-part\"><path class=\"st0\" d=\"M302.07,46.32c-31.69,16.49-96.18,47.37-96.18,47.37l29.58,67.54,100.3,40.91,27.81-85.73s-42.37-45.67-61.52-70.09ZM234.33,97.06l66.93-30.19,33.44,42.41-100.37-12.22Z\"\/><\/g>\n                <g class=\"car-part\"><path class=\"st3\" d=\"M186.68,77.31l41.53,89.83-29.66,1.69-30.51-38.14-44.92-.85-63.56,30.51s-27.12-27.97-6.78-61.87c0,0,87.29,22.03,133.9-21.19Z\"\/><\/g>\n                <g class=\"car-part\"><ellipse class=\"st1\" cx=\"135.04\" cy=\"187.16\" rx=\"49.17\" ry=\"46.21\"\/><\/g>\n                <g class=\"car-part\"><polygon class=\"st0\" points=\"147.04 46.34 167.44 82.71 34.08 94.24 14.27 83 54.49 56.39 105.35 72.95 147.04 46.34\"\/><\/g>\n                <g class=\"car-part\"><polygon class=\"st1\" points=\"10.24 90.57 0 145.54 32.23 137.2 36.4 121.28 10.24 90.57\"\/><\/g>\n                <g class=\"car-part\"><polygon class=\"st2\" points=\"3.41 158.44 29.95 186.87 66.73 187.25 72.42 169.81 32.61 170.95 32.71 145.73 3.41 158.44\"\/><\/g>\n                <g class=\"car-part\"><polygon class=\"st1\" points=\"446.59 36.19 480.61 71.17 480.12 99.35 412.1 159.6 383.92 98.87 441.74 81.37 446.59 36.19\"\/><\/g>\n                <g class=\"car-part\"><ellipse class=\"st0\" cx=\"504.78\" cy=\"186.76\" rx=\"37.74\" ry=\"49.82\" transform=\"translate(219.21 642.98) rotate(-78.26)\"\/><\/g>\n                <g class=\"car-part\"><path class=\"st2\" d=\"M507.39,63.34l-57.49-55.13-56.61-2.44-42.5,17.16L314.54.83l-36.72-.83-113.81,62.62,4.91,8.25,70.61-32.93-8.43,16.89-37.84,21.04,6.86,11.42,44.32-21.49,23.48-46.32,41.7-1.44,36.09,16.42-3.27,46.77,10.65,11.48,9.04-45.96,31.98-19.67h50.87l46.35,43.25c5.34-2.29,10.69-4.58,16.03-6.87v-.13Z\"\/><\/g>\n                <g class=\"car-part\"><path class=\"st3\" d=\"M491.34,70.34l-2.06,31.87-71.89,63.9-60.69-12.25-6.39,19.15,74.79,12.14,43.21-43.46,32.06-6.99,7.01-71.23c-5.34,2.29-10.69,4.58-16.03,6.87Z\"\/><\/g>\n                <g class=\"car-part\"><polygon class=\"st0\" points=\"515.69 63.6 509.74 137.46 570.5 99.34 621.72 105.3 652.1 74.32 644.95 63 611.6 68.96 586.58 47.52 543.69 68.96 515.69 63.6\"\/><\/g>\n                <g class=\"car-part\"><polygon class=\"st3\" points=\"657 85.27 633.23 107.5 647.62 131.96 670.65 124.7 657 85.27\"\/><\/g>\n                <g class=\"car-part\"><polygon class=\"st2\" points=\"637.54 136.03 623.26 115.23 575.84 110.51 525.89 141.71 570.2 155.03 637.54 136.03\"\/><\/g>\n            <\/svg>\n            <\/div>\n        <\/div>\n    <\/div>\n    <div id=\"scene-spacer\"><\/div>\n    <div id=\"content-below\">\n        <h1 class=\"hero-text\">Danse<br>et cr\u00e9ation sonore<br>tout terrain<\/h1>\n\n        <div class=\"creation-section\"><div class=\"creation-left une-vert\" style=\"--une-image-gauche:url(https:\/\/collectifcarcasse.fr\/wp-content\/uploads\/2026\/10\/alaune-gauche-1.png);\"><p class=\"creation-label\">Cr\u00e9ation en cours<\/p><h2 class=\"creation-title\">Le Flou<br \/>\r\ntitre<br \/>\r\nprovisoire<\/h2><\/div><div class=\"creation-right\" style=\"--une-image-droite:url(https:\/\/collectifcarcasse.fr\/wp-content\/uploads\/2026\/10\/alaune.png);\"><a href=\"#\" class=\"discover-link\" data-text=\"Voir plus\"><span class=\"discover-text\">Voir plus<\/span><\/a><\/div><\/div>\n\n        <!-- TEXTE 1 : Helvetica 30px (Image 1) -->\n        <p class=\"text-helvetica\">\n            Carcasse d\u00e9veloppe des cr\u00e9ations \u00e0 la crois\u00e9e de la danse et de la cr\u00e9ation sonore.<br>\n            Entre pi\u00e8ces \u00e9crites et formes contextuelles, ses projets explorent le rapport au lieu,<br>\n            \u00e0 l&rsquo;\u00e9coute et \u00e0 la pr\u00e9sence. Le corps et le son y forment les axes principaux d&rsquo;un\n            langage sensible, parfois frontal, parfois discret. Carcasse est une structure ouverte,\n            qui collabore avec d&rsquo;autres artistes et m\u00e8ne des actions culturelles en lien avec ses\n            d\u00e9marches de cr\u00e9ation. <a href=\"https:\/\/collectifcarcasse.fr\/index.php\/collectif\/\" class=\"highlight-pink\">Decouvrir le collectif<\/a>\n        <\/p>\n\n        <!-- TEXTE 2 : Syne Mono m\u00eame taille que le d\u00e9but (Image 2) -->\n        <h2 class=\"hero-text second-hero-text\">\n            Habiter l'espace,<br>\n            d\u00e9finir son point<br>\n            de vue sur la<br>\n            performance\n        <\/h2>\n    <\/div>\n\n    <script>\n        \/\/ ==========================================\n        \/\/ INITIALISATION LENIS\n        \/\/ ==========================================\n        const lenis = new Lenis({\n            duration: 1.2,\n            easing: (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)),\n            direction: 'vertical',\n            gestureDirection: 'vertical',\n            smooth: true,\n            mouseMultiplier: 1,\n            smoothTouch: false,\n            touchMultiplier: 2,\n            infinite: false,\n        });\n\n        \/\/ Loop d'animation requise par Lenis\n        function raf(time) {\n            lenis.raf(time);\n            requestAnimationFrame(raf);\n        }\n        requestAnimationFrame(raf);\n\n        \/\/ Au d\u00e9marrage, on emp\u00eache de scroller car on est sur l'intro\n        lenis.stop();\n        \/\/ ==========================================\n\n\n        const scene = document.getElementById('scene');\n        const bg = document.getElementById('bg-move');\n        const wrapper = document.getElementById('car-wrapper');\n        const logo = document.getElementById('carcasse-logo');\n        const pinkBlend = document.getElementById('pink-blend');\n        const blackPlane = document.getElementById('black-plane');\n        const greyBlur = document.getElementById('grey-blur');\n        const menuBar = document.querySelector('.cc-header');   \/\/ en-t\u00eate partag\u00e9 (snippet menu + footer)\n        const heroText = document.querySelector('.hero-text');\n        const creationLeft = document.querySelector('.creation-left');\n        const creationRight = document.querySelector('.creation-right');\n        const parts = Array.from(document.querySelectorAll('.car-part'));\n        const heroHTML = heroText.innerHTML;\n        const sceneSpacer = document.getElementById('scene-spacer');\n        const contentBelowEl = document.getElementById('content-below');\n\n        \/\/ Le spacer doit r\u00e9server exactement la hauteur r\u00e9elle de #content-below,\n        \/\/ sinon les widgets Elementor suivants (comme la timeline) se superposent au contenu.\n        function syncSpacerHeight() {\n            if (!sceneSpacer || !contentBelowEl) return;\n            const bottom = contentBelowEl.getBoundingClientRect().bottom + window.scrollY;\n            sceneSpacer.style.height = bottom + 'px';\n        }\n\n        window.addEventListener('load', syncSpacerHeight);\n        window.addEventListener('resize', syncSpacerHeight);\n        if (document.fonts && document.fonts.ready) {\n            document.fonts.ready.then(syncSpacerHeight);\n        }\n        \/\/ Recalcule aussi apr\u00e8s les transitions d'apparition (texte\/typewriter, conteneurs)\n        setTimeout(syncSpacerHeight, 2000);\n        setTimeout(syncSpacerHeight, 4000);\n\n        let typewriterStarted = false;\n        let typewriterTimeout = null;\n        let revealTimeout = null;\n        let containerTimeout = null;\n        let isDispersed = false;\n        let revealed = false;\n        let readyForRealScroll = false;\n        let realScrollTimeout = null;\n        let animationId = null;\n        let partsData = [];\n\n        function typewriterEffect(el, html, speed = 45) {\n            const tokens = html.split(\/(<br>)\/);\n            let tokenIndex = 0;\n            let charIndex = 0;\n            let output = '';\n\n            el.innerHTML = '';\n\n            function step() {\n                if (tokenIndex >= tokens.length) return;\n                const token = tokens[tokenIndex];\n\n                if (token === '<br>') {\n                    output += '<br>';\n                    tokenIndex++;\n                    charIndex = 0;\n                    typewriterTimeout = setTimeout(step, speed);\n                    return;\n                }\n\n                if (charIndex < token.length) {\n                    output += token[charIndex];\n                    charIndex++;\n                    el.innerHTML = output;\n                    typewriterTimeout = setTimeout(step, speed);\n                } else {\n                    tokenIndex++;\n                    charIndex = 0;\n                    step();\n                }\n            }\n\n            step();\n        }\n\n        function initPartsData() {\n            partsData = parts.map(part => ({\n                element: part,\n                x: 0, y: 0, r: 0,\n                vx: (Math.random() - 0.5) * 2,\n                vy: Math.random() * 2,\n                vr: (Math.random() - 0.5) * 2,\n                falling: true,\n                wanderScale: 6 + Math.random() * 0.6,\n                wanderOpacity: 0.5,\n                currentScale: 1,\n                currentOpacity: 1,\n                oscX_amp: 15 + Math.random() * 20,\n                oscY_amp: 15 + Math.random() * 20,\n                oscX_speed: 0.00015 + Math.random() * 0.00015,\n                oscY_speed: 0.00015 + Math.random() * 0.00015,\n                timeOffset: Math.random() * 10000\n            }));\n            partsData.forEach(p => { p.timeOffsetX = p.timeOffset; p.timeOffsetY = p.timeOffset; });\n        }\n\n        function animate() {\n            if (!isDispersed) return;\n\n            const sceneRect = scene.getBoundingClientRect();\n            const time = performance.now();\n            const wanderZoneStart = sceneRect.top + sceneRect.height * 0.65;\n\n            partsData.forEach(p => {\n                const partRect = p.element.getBoundingClientRect();\n                const partCenterY = partRect.top + partRect.height \/ 2;\n\n                if (p.falling) {\n                    p.vy += 0.6;\n                    if (partCenterY > wanderZoneStart) p.falling = false;\n                } else {\n                    p.vx *= 0.995;\n                    p.vy *= 0.995;\n                    if (Math.abs(p.vx) < 2) p.vx += (Math.random() - 0.5) * 0.4;\n                    if (Math.abs(p.vy) < 2) p.vy += (Math.random() - 0.5) * 0.4;\n                }\n\n                p.x += p.vx;\n                p.y += p.vy;\n                p.r += p.vr;\n                p.currentScale += ((p.falling ? 2 : p.wanderScale) - p.currentScale) * 0.05;\n                p.currentOpacity += ((p.falling ? 1 : p.wanderOpacity) - p.currentOpacity) * 0.05;\n\n                const overflowL = sceneRect.left - partRect.left;\n                if (overflowL > 0) { p.x += overflowL + 2; p.vx = Math.abs(p.vx) * 0.9; }\n\n                const overflowR = partRect.right - sceneRect.right;\n                if (overflowR > 0) { p.x -= overflowR + 2; p.vx = -Math.abs(p.vx) * 0.9; }\n\n                const overflowB = partRect.bottom - sceneRect.bottom;\n                if (overflowB > 0) { p.y -= overflowB + 2; p.vy = -Math.abs(p.vy) * 0.85; p.falling = false; }\n\n                if (!p.falling) {\n                    const overflowT = sceneRect.top - partRect.top;\n                    if (overflowT > 0) { p.y += overflowT + 2; p.vy = Math.abs(p.vy) * 0.85; }\n                }\n\n                const floatX = p.falling ? 0 : Math.sin(time * p.oscX_speed + p.timeOffsetX) * p.oscX_amp;\n                const floatY = p.falling ? 0 : Math.cos(time * p.oscY_speed + p.timeOffsetY) * p.oscY_amp;\n\n                p.element.style.transform = `translate(${p.x + floatX}px, ${p.y + floatY}px) rotate(${p.r}deg) scale(${p.currentScale})`;\n                p.element.style.opacity = p.currentOpacity;\n            });\n\n            animationId = requestAnimationFrame(animate);\n        }\n\n        function disperse() {\n            if (isDispersed) return;\n            isDispersed = true;\n            try { sessionStorage.setItem('ccIntroVue', '1'); } catch (e) {}   \/\/ l'intro a \u00e9t\u00e9 vue pendant cette visite\n            document.body.classList.remove('cc-intro-en-cours');\n            readyForRealScroll = false;\n\n            clearTimeout(realScrollTimeout);\n            realScrollTimeout = setTimeout(() => {\n                readyForRealScroll = true;\n                lenis.start(); \/\/ <-- ON ACTIVE LE SCROLL FLUIDE ICI\n            }, 2000);\n\n            bg.style.transform = 'translateY(-100vh)';\n            logo.style.transform = 'translate(-50%, calc(-50% - 100vh))';\n            pinkBlend.style.transform = 'translateY(-100vh)';\n            blackPlane.style.transform = 'translateY(-100vh)';\n\n            greyBlur.style.transform = 'translateY(0)';\n            (menuBar || {style:{}}).style.transform = 'translateY(0)';\n\n            const contentBelow = document.getElementById('content-below');\n            contentBelow.style.opacity = '1';\n            contentBelow.style.pointerEvents = 'auto';\n\n            if (!typewriterStarted) {\n                typewriterStarted = true;\n                heroText.innerHTML = '';\n\n                revealTimeout = setTimeout(() => {\n                    typewriterEffect(heroText, heroHTML);\n                }, 1500);\n\n                containerTimeout = setTimeout(() => {\n                    creationLeft.style.transform = 'translateY(0)';\n                    creationLeft.style.opacity = '1';\n                    creationRight.style.transform = 'translateY(0)';\n                    creationRight.style.opacity = '1';\n                }, 3500);\n            }\n\n            parts.forEach(p => {\n                p.style.transition = 'none';\n            });\n\n            initPartsData();\n            animationId = requestAnimationFrame(animate);\n        }\n\n        function assemble() {\n            if (!isDispersed) return;\n            isDispersed = false;\n            readyForRealScroll = false;\n\n            \/\/ <-- ON BLOQUE LE SCROLL ET ON REMONTE LE NAVIGATEUR EN HAUT\n            lenis.stop();\n            window.scrollTo(0, 0);\n            document.body.classList.add('cc-intro-en-cours');\n            try { sessionStorage.removeItem('ccIntroVue'); } catch (e) {}   \/\/ on est revenu \u00e0 l'intro : un rafra\u00eechissement la rejoue\n\n            clearTimeout(realScrollTimeout);\n\n            if (animationId) cancelAnimationFrame(animationId);\n\n            revealed = false;\n            wrapper.style.transition = 'opacity 0.5s ease 1.6s';\n            wrapper.style.opacity = '0';\n\n            bg.style.transform = 'translateY(0)';\n            logo.style.transform = 'translate(-50%, -50%)';\n            pinkBlend.style.transform = 'translateY(0)';\n            blackPlane.style.transform = 'translateY(0)';\n\n            greyBlur.style.transform = 'translateY(100vh)';\n            (menuBar || {style:{}}).style.transform = 'translateY(-100%)';\n\n            const contentBelow = document.getElementById('content-below');\n            contentBelow.style.opacity = '0';\n            contentBelow.style.pointerEvents = 'none';\n\n            creationLeft.style.transform = 'translateY(5.556vw)';\n            creationLeft.style.opacity = '0';\n            creationRight.style.transform = 'translateY(5.556vw)';\n            creationRight.style.opacity = '0';\n\n            typewriterStarted = false;\n            clearTimeout(typewriterTimeout);\n            clearTimeout(revealTimeout);\n            clearTimeout(containerTimeout);\n            heroText.innerHTML = heroHTML;\n\n            parts.forEach(p => {\n                p.style.transition = 'transform 1.5s cubic-bezier(0.92, 0, 0.58, 1), opacity 1.5s cubic-bezier(0.92, 0, 0.58, 1)';\n                p.style.transform = '';\n                p.style.opacity = '1';\n            });\n        }\n\n        wrapper.addEventListener('click', () => {\n            if (!revealed) {\n                revealed = true;\n                wrapper.style.transition = 'opacity 1s ease';\n                wrapper.style.opacity = '1';\n            }\n            disperse();\n        });\n\n        window.addEventListener('wheel', (e) => {\n            const atTop = document.scrollingElement.scrollTop <= 0;\n\n            if (e.deltaY > 0 && !isDispersed) {\n                e.preventDefault(); \/\/ On bloque l'\u00e9v\u00e9nement scroll natif\n                if (!revealed) {\n                    revealed = true;\n                    wrapper.style.transition = 'opacity 1s ease';\n                    wrapper.style.opacity = '1';\n                }\n                disperse();\n            } else if (e.deltaY > 0 && isDispersed && !readyForRealScroll) {\n                e.preventDefault(); \/\/ On bloque pendant la transition\n            } else if (e.deltaY < 0 && atTop && isDispersed) {\n                e.preventDefault();\n                assemble();\n            }\n        }, { passive: false });\n\n        \/\/ =====================================================================\n        \/\/ INTRO D\u00c9J\u00c0 VUE (rafra\u00eechissement, retour sur l'accueil depuis une autre page) :\n        \/\/ on saute l'intro, la voiture ne se reforme pas, et on retrouve la position de scroll\n        \/\/ =====================================================================\n        (function () {\n            var CLE = 'ccIntroVue', CLE_Y = 'ccAccueilScrollY';\n            function lire(k) { try { return sessionStorage.getItem(k); } catch (e) { return null; } }\n            function ecrire(k, v) { try { sessionStorage.setItem(k, v); } catch (e) {} }\n\n            \/\/ on retient la position de scroll pour la retrouver apr\u00e8s un rafra\u00eechissement\n            if ('scrollRestoration' in history) { history.scrollRestoration = 'manual'; }\n            var enAttente = false;\n            window.addEventListener('scroll', function () {\n                if (enAttente || !isDispersed) return;\n                enAttente = true;\n                setTimeout(function () { ecrire(CLE_Y, String(Math.round(window.scrollY))); enAttente = false; }, 150);\n            }, { passive: true });\n            window.addEventListener('pagehide', function () { if (isDispersed) ecrire(CLE_Y, String(Math.round(window.scrollY))); });\n\n            if (!lire(CLE)) {                \/\/ premi\u00e8re visite : l'intro se joue normalement\n                \/\/ solution 3 : on remonte en haut (jamais de position restaur\u00e9e au milieu d'une intro) et rien ne se m\u00e9lange\n                document.body.classList.add('cc-intro-en-cours');\n                window.scrollTo(0, 0);\n                window.addEventListener('load', function () { if (!isDispersed) window.scrollTo(0, 0); });\n                window.addEventListener('pageshow', function () { if (!isDispersed) window.scrollTo(0, 0); });\n                return;\n            }\n\n            window.ccIntroSautee = true;\n            var els = [bg, logo, pinkBlend, blackPlane, greyBlur, menuBar, wrapper, creationLeft, creationRight, contentBelowEl].filter(Boolean);\n            els.forEach(function (e) { e.style.transition = 'none'; });   \/\/ pas d'animation : on arrive directement \u00e0 l'\u00e9tat final\n\n            revealed = true;\n            wrapper.style.opacity = '1';\n            typewriterStarted = true;                 \/\/ le titre s'affiche d'un coup, sans machine \u00e0 \u00e9crire\n            heroText.innerHTML = heroHTML;\n            disperse();\n            clearTimeout(realScrollTimeout);\n            readyForRealScroll = true;\n            lenis.start();\n            [creationLeft, creationRight].forEach(function (c) { if (c) { c.style.transform = 'translateY(0)'; c.style.opacity = '1'; } });\n\n            \/\/ les morceaux sont d\u00e9j\u00e0 \u00e9parpill\u00e9s et flottent ; si on vient d'une autre page, ils reprennent leur place exacte\n            var sauve = null;\n            try { sauve = JSON.parse(sessionStorage.getItem('ccFormes') || 'null'); } catch (e) {}\n            if (sauve && sauve.length !== partsData.length) sauve = null;\n            var maintenant = performance.now();\n            partsData.forEach(function (p, i) {\n                var s = sauve && sauve[i];\n                if (s) {\n                    p.x = s.x; p.y = s.y; p.vx = s.vx; p.vy = s.vy; p.r = s.r;\n                    p.currentScale = s.scale;\n                    p.oscX_amp = s.ax; p.oscY_amp = s.ay; p.oscX_speed = s.sx; p.oscY_speed = s.sy;\n                    p.timeOffsetX = s.ph - maintenant * s.sx; p.timeOffsetY = s.pv - maintenant * s.sy;\n                } else {\n                    p.x = (Math.random() - 0.5) * window.innerWidth * 0.8;\n                    p.y = Math.random() * window.innerHeight * 0.5;\n                    p.currentScale = p.wanderScale;\n                }\n                p.falling = false;\n                p.currentOpacity = p.wanderOpacity;\n            });\n\n            requestAnimationFrame(function () { requestAnimationFrame(function () { els.forEach(function (e) { e.style.transition = ''; }); }); });\n\n            \/\/ rafra\u00eechissement ou retour en arri\u00e8re : on retrouve la position\n            var nav = (performance.getEntriesByType('navigation')[0] || {}).type;\n            var y = parseFloat(lire(CLE_Y));\n            if ((nav === 'reload' || nav === 'back_forward') && y > 0) {\n                var essais = 0;\n                (function restaurer() {\n                    syncSpacerHeight();\n                    if (document.documentElement.scrollHeight > y + window.innerHeight * 0.5 || essais > 25) {\n                        window.scrollTo(0, y);\n                        try { lenis.scrollTo(y, { immediate: true, force: true }); } catch (e) {}\n                    } else { essais++; setTimeout(restaurer, 150); }\n                })();\n            }\n        })();\n\n        \/\/ avant de quitter l'accueil, on m\u00e9morise la place des formes : la page suivante les reprend exactement l\u00e0\n        function memoriserFormes() {\n            if (!isDispersed || !partsData.length) return;\n            var t = performance.now();\n            try {\n                sessionStorage.setItem('ccFormes', JSON.stringify(partsData.map(function (p) {\n                    return { x: p.x, y: p.y, hx: p.x, hy: p.y, vx: p.vx, vy: p.vy, r: p.r, scale: p.currentScale,\n                             ax: p.oscX_amp, ay: p.oscY_amp, sx: p.oscX_speed, sy: p.oscY_speed,\n                             ph: t * p.oscX_speed + p.timeOffsetX, pv: t * p.oscY_speed + p.timeOffsetY };\n                })));\n            } catch (e) {}\n        }\n        window.addEventListener('pagehide', memoriserFormes);\n        document.addEventListener('visibilitychange', function () { if (document.hidden) memoriserFormes(); });\n\n        \/\/ Bouton \u00ab Voir plus \u00bb : il reste coll\u00e9 \u00e0 la souris, m\u00eame quand on scrolle (position recalcul\u00e9e \u00e0 chaque image)\n        const zoneUne = document.querySelector('.creation-right');\n        if (zoneUne) {\n            let sx = 0, sy = 0, sourisVue = false;\n            document.addEventListener('mousemove', (e) => { sx = e.clientX; sy = e.clientY; sourisVue = true; });\n            document.documentElement.addEventListener('mouseleave', () => { sourisVue = false; });\n            const suivre = () => {\n                if (sourisVue) {\n                    const r = zoneUne.getBoundingClientRect();\n                    const dedans = sx >= r.left && sx <= r.right && sy >= r.top && sy <= r.bottom;\n                    zoneUne.classList.toggle('survol', dedans);\n                    if (dedans) {\n                        zoneUne.style.setProperty('--x', (sx - r.left) + 'px');\n                        zoneUne.style.setProperty('--y', (sy - r.top) + 'px');\n                    }\n                } else {\n                    zoneUne.classList.remove('survol');\n                }\n                requestAnimationFrame(suivre);\n            };\n            requestAnimationFrame(suivre);\n        }\n    <\/script>\n<\/body>\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b1beb05 elementor-widget elementor-widget-shortcode\" data-id=\"b1beb05\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"timeline-section-wrapper\"><div class=\"timeline-pages-viewport\"><span class=\"timeline-year-btn active\" data-index=\"0\">2026<\/span><span class=\"timeline-year-btn\" data-index=\"1\">2027<\/span><div class=\"timeline-pages-track\" id=\"timeline-pages-track\" style=\"width: 200%;\"><div class=\"timeline-page\" style=\"width: 50%;\"><div class=\"timeline-track\"><div class=\"month-marker\" style=\"left: 5%;\"><\/div><div class=\"month-marker\" style=\"left: 11.666666666667%;\"><\/div><div class=\"month-marker\" style=\"left: 18.333333333333%;\"><\/div><div class=\"month-marker\" style=\"left: 25%;\"><\/div><div class=\"month-marker\" style=\"left: 31.666666666667%;\"><\/div><div class=\"month-marker\" style=\"left: 38.333333333333%;\"><\/div><div class=\"month-marker\" style=\"left: 45%;\"><\/div><div class=\"month-marker\" style=\"left: 51.666666666667%;\"><\/div><div class=\"month-marker\" style=\"left: 58.333333333333%;\"><\/div><div class=\"month-marker\" style=\"left: 65%;\"><\/div><div class=\"month-marker\" style=\"left: 71.666666666667%;\"><\/div><div class=\"month-marker\" style=\"left: 78.333333333333%;\"><\/div><div class=\"month-marker\" style=\"left: 85%;\"><\/div><div class=\"timeline-event\" style=\"left: 18.555555555556%; z-index: 999;\"><div class=\"timeline-event-top\" style=\"padding-bottom: 125px;\"><div class=\"timeline-label\"><span class=\"badge-type bg-green\">R\u00e9sidence<\/span><h3 class=\"event-title\">Le Flou<\/h3><\/div><\/div><div class=\"timeline-event-bottom\" style=\"padding-top: 125px;\"><div class=\"timeline-info\"><div>Date:02 au 06 mars 2026<\/div><div>Lieu:Le 37\u00b0Parall\u00e8le (37)<\/div><\/div><\/div><\/div><div class=\"timeline-event\" style=\"left: 33.888888888889%; z-index: 998;\"><div class=\"timeline-event-top\" style=\"padding-bottom: 190px;\"><div class=\"timeline-label\"><span class=\"badge-type bg-green\">R\u00e9sidence<\/span><h3 class=\"event-title\">Seuils<\/h3><\/div><\/div><div class=\"timeline-event-bottom\" style=\"padding-top: 190px;\"><div class=\"timeline-info\"><div>Date:11 au 15 mai 2026<\/div><div>Lieu:Le 37\u00b0Parall\u00e8le (37)<\/div><\/div><\/div><\/div><div class=\"timeline-event\" style=\"left: 43.16091954023%; z-index: 997;\"><div class=\"timeline-event-top\" style=\"padding-bottom: 60px;\"><div class=\"timeline-label\"><span class=\"badge-type bg-green\">R\u00e9sidence<\/span><h3 class=\"event-title\">Seuils<\/h3><\/div><\/div><div class=\"timeline-event-bottom\" style=\"padding-top: 60px;\"><div class=\"timeline-info\"><div>Date:22 au 26 juin  2026<\/div><div>Lieu:Le 37\u00b0Parall\u00e8le (37)<\/div><\/div><\/div><\/div><div class=\"timeline-event\" style=\"left: 69%; z-index: 996;\"><div class=\"timeline-event-top\" style=\"padding-bottom: 190px;\"><div class=\"timeline-label\"><span class=\"badge-type bg-pink\">Action Culturelle<\/span><h3 class=\"event-title\">Dispositif Arc-En-Cien<\/h3><\/div><\/div><div class=\"timeline-event-bottom\" style=\"padding-top: 190px;\"><div class=\"timeline-info\"><div>Date:19 au 22 octobre 2026<\/div><div>Lieu:(36)<\/div><\/div><\/div><\/div><div class=\"timeline-event\" style=\"left: 75.114942528736%; z-index: 995;\"><div class=\"timeline-event-top\" style=\"padding-bottom: 60px;\"><div class=\"timeline-label\"><span class=\"badge-type bg-green\">R\u00e9sidence<\/span><h3 class=\"event-title\">Le Flou<\/h3><\/div><\/div><div class=\"timeline-event-bottom\" style=\"padding-top: 60px;\"><div class=\"timeline-info\"><div>Date:16 au 20 novembre  2026<\/div><div>Lieu: La Pratique (36)<\/div><\/div><\/div><\/div><\/div><\/div><div class=\"timeline-page\" style=\"width: 50%;\"><div class=\"timeline-track\"><div class=\"month-marker\" style=\"left: 5%;\"><\/div><div class=\"month-marker\" style=\"left: 11.666666666667%;\"><\/div><div class=\"month-marker\" style=\"left: 18.333333333333%;\"><\/div><div class=\"month-marker\" style=\"left: 25%;\"><\/div><div class=\"month-marker\" style=\"left: 31.666666666667%;\"><\/div><div class=\"month-marker\" style=\"left: 38.333333333333%;\"><\/div><div class=\"month-marker\" style=\"left: 45%;\"><\/div><div class=\"month-marker\" style=\"left: 51.666666666667%;\"><\/div><div class=\"month-marker\" style=\"left: 58.333333333333%;\"><\/div><div class=\"month-marker\" style=\"left: 65%;\"><\/div><div class=\"month-marker\" style=\"left: 71.666666666667%;\"><\/div><div class=\"month-marker\" style=\"left: 78.333333333333%;\"><\/div><div class=\"month-marker\" style=\"left: 85%;\"><\/div><div class=\"timeline-event\" style=\"left: 11.666666666667%; z-index: 999;\"><div class=\"timeline-event-top\" style=\"padding-bottom: 190px;\"><div class=\"timeline-label\"><span class=\"badge-type bg-green\">R\u00e9sidence<\/span><h3 class=\"event-title\">Le Flou<\/h3><\/div><\/div><div class=\"timeline-event-bottom\" style=\"padding-top: 190px;\"><div class=\"timeline-info\"><div>Date:1 au 5 f\u00e9vrier 2027<\/div><div>Lieu:Th\u00e9\u00e2tre de l\u2019Unit\u00e9 (25)<\/div><\/div><\/div><\/div><div class=\"timeline-event\" style=\"left: 16.851851851852%; z-index: 998;\"><div class=\"timeline-event-top\" style=\"padding-bottom: 60px;\"><div class=\"timeline-label\"><span class=\"badge-type bg-pink\">Action Culturelle<\/span><h3 class=\"event-title\">Dispositif Arc-En-Cien<\/h3><\/div><\/div><div class=\"timeline-event-bottom\" style=\"padding-top: 60px;\"><div class=\"timeline-info\"><div>Date:22 au 25 f\u00e9vrier 2027<\/div><div>Lieu:(36)<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><script>\n    (function() {\n        var track = document.getElementById(\"timeline-pages-track\");\n        if (!track) return;\n        var buttons = document.querySelectorAll(\".timeline-year-btn\");\n        var pageCount = document.querySelectorAll(\".timeline-page\").length;\n        buttons.forEach(function(btn) {\n            btn.addEventListener(\"click\", function() {\n                var index = parseInt(btn.getAttribute(\"data-index\"), 10);\n                buttons.forEach(function(b) { b.classList.remove(\"active\"); });\n                btn.classList.add(\"active\");\n                var shift = (index * 100) \/ pageCount;\n                track.style.transform = \"translateX(-\" + shift + \"%)\";\n            });\n        });\n    })();\n    <\/script><\/div>\n\t\t\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>Carcasse Collectif &#8211; Intro Danseet cr\u00e9ation sonoretout terrain Carcasse d\u00e9veloppe des cr\u00e9ations \u00e0 la crois\u00e9e de la danse et de la cr\u00e9ation sonore. Entre pi\u00e8ces \u00e9crites et formes contextuelles, ses projets explorent le rapport au lieu, \u00e0 l&rsquo;\u00e9coute et \u00e0 la pr\u00e9sence. Le corps et le son y forment les axes principaux d&rsquo;un langage sensible, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-11","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Accueil - Collectif Carcasse<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/collectifcarcasse.fr\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Accueil - Collectif Carcasse\" \/>\n<meta property=\"og:description\" content=\"Carcasse Collectif &#8211; Intro Danseet cr\u00e9ation sonoretout terrain Carcasse d\u00e9veloppe des cr\u00e9ations \u00e0 la crois\u00e9e de la danse et de la cr\u00e9ation sonore. Entre pi\u00e8ces \u00e9crites et formes contextuelles, ses projets explorent le rapport au lieu, \u00e0 l&rsquo;\u00e9coute et \u00e0 la pr\u00e9sence. Le corps et le son y forment les axes principaux d&rsquo;un langage sensible, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/collectifcarcasse.fr\/\" \/>\n<meta property=\"og:site_name\" content=\"Collectif Carcasse\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-26T16:55:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/collectifcarcasse.fr\/wp-content\/uploads\/2026\/07\/CARCASSE-LOGO-scaled.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/collectifcarcasse.fr\\\/\",\"url\":\"https:\\\/\\\/collectifcarcasse.fr\\\/\",\"name\":\"Accueil - Collectif Carcasse\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/collectifcarcasse.fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/collectifcarcasse.fr\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/collectifcarcasse.fr\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/collectifcarcasse.fr\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/CARCASSE-LOGO-scaled.png\",\"datePublished\":\"2026-07-25T10:28:05+00:00\",\"dateModified\":\"2026-10-26T16:55:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/collectifcarcasse.fr\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/collectifcarcasse.fr\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/collectifcarcasse.fr\\\/#primaryimage\",\"url\":\"https:\\\/\\\/collectifcarcasse.fr\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/CARCASSE-LOGO-scaled.png\",\"contentUrl\":\"https:\\\/\\\/collectifcarcasse.fr\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/CARCASSE-LOGO-scaled.png\",\"width\":2560,\"height\":1810},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/collectifcarcasse.fr\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/collectifcarcasse.fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Accueil\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/collectifcarcasse.fr\\\/#website\",\"url\":\"https:\\\/\\\/collectifcarcasse.fr\\\/\",\"name\":\"Collectif Carcasse\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/collectifcarcasse.fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Accueil - Collectif Carcasse","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/collectifcarcasse.fr\/","og_locale":"fr_FR","og_type":"article","og_title":"Accueil - Collectif Carcasse","og_description":"Carcasse Collectif &#8211; Intro Danseet cr\u00e9ation sonoretout terrain Carcasse d\u00e9veloppe des cr\u00e9ations \u00e0 la crois\u00e9e de la danse et de la cr\u00e9ation sonore. Entre pi\u00e8ces \u00e9crites et formes contextuelles, ses projets explorent le rapport au lieu, \u00e0 l&rsquo;\u00e9coute et \u00e0 la pr\u00e9sence. Le corps et le son y forment les axes principaux d&rsquo;un langage sensible, [&hellip;]","og_url":"https:\/\/collectifcarcasse.fr\/","og_site_name":"Collectif Carcasse","article_modified_time":"2026-10-26T16:55:34+00:00","og_image":[{"url":"https:\/\/collectifcarcasse.fr\/wp-content\/uploads\/2026\/07\/CARCASSE-LOGO-scaled.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/collectifcarcasse.fr\/","url":"https:\/\/collectifcarcasse.fr\/","name":"Accueil - Collectif Carcasse","isPartOf":{"@id":"https:\/\/collectifcarcasse.fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/collectifcarcasse.fr\/#primaryimage"},"image":{"@id":"https:\/\/collectifcarcasse.fr\/#primaryimage"},"thumbnailUrl":"https:\/\/collectifcarcasse.fr\/wp-content\/uploads\/2026\/07\/CARCASSE-LOGO-scaled.png","datePublished":"2026-07-25T10:28:05+00:00","dateModified":"2026-10-26T16:55:34+00:00","breadcrumb":{"@id":"https:\/\/collectifcarcasse.fr\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/collectifcarcasse.fr\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/collectifcarcasse.fr\/#primaryimage","url":"https:\/\/collectifcarcasse.fr\/wp-content\/uploads\/2026\/07\/CARCASSE-LOGO-scaled.png","contentUrl":"https:\/\/collectifcarcasse.fr\/wp-content\/uploads\/2026\/07\/CARCASSE-LOGO-scaled.png","width":2560,"height":1810},{"@type":"BreadcrumbList","@id":"https:\/\/collectifcarcasse.fr\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/collectifcarcasse.fr\/"},{"@type":"ListItem","position":2,"name":"Accueil"}]},{"@type":"WebSite","@id":"https:\/\/collectifcarcasse.fr\/#website","url":"https:\/\/collectifcarcasse.fr\/","name":"Collectif Carcasse","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/collectifcarcasse.fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"}]}},"_links":{"self":[{"href":"https:\/\/collectifcarcasse.fr\/index.php\/wp-json\/wp\/v2\/pages\/11","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/collectifcarcasse.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/collectifcarcasse.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/collectifcarcasse.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/collectifcarcasse.fr\/index.php\/wp-json\/wp\/v2\/comments?post=11"}],"version-history":[{"count":725,"href":"https:\/\/collectifcarcasse.fr\/index.php\/wp-json\/wp\/v2\/pages\/11\/revisions"}],"predecessor-version":[{"id":932,"href":"https:\/\/collectifcarcasse.fr\/index.php\/wp-json\/wp\/v2\/pages\/11\/revisions\/932"}],"wp:attachment":[{"href":"https:\/\/collectifcarcasse.fr\/index.php\/wp-json\/wp\/v2\/media?parent=11"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}