{"id":192,"date":"2024-05-02T13:42:46","date_gmt":"2024-05-02T11:42:46","guid":{"rendered":"http:\/\/178.170.38.7:8443\/?page_id=192"},"modified":"2026-02-23T14:35:21","modified_gmt":"2026-02-23T13:35:21","slug":"ouvrages","status":"publish","type":"page","link":"https:\/\/ido.construction\/index.php\/ouvrages\/","title":{"rendered":"REFERENCES"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"192\" class=\"elementor elementor-192\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4af9a004 e-con-full e-flex wpr-particle-no wpr-parallax-no wpr-sticky-section-no e-con e-parent\" data-id=\"4af9a004\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;background_motion_fx_motion_fx_mouse&quot;:&quot;yes&quot;,&quot;background_motion_fx_mouseTrack_effect&quot;:&quot;yes&quot;,&quot;background_motion_fx_mouseTrack_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.2,&quot;sizes&quot;:[]}}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7018b7f8 animated-slow elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"7018b7f8\" data-element_type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;slideInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">I.D.O.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2841ce69 animated-slow elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"2841ce69\" data-element_type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;slideInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">REFERENCES<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bb81e56 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no elementor-invisible e-con e-parent\" data-id=\"bb81e56\" data-element_type=\"container\" data-settings=\"{&quot;sticky&quot;:&quot;bottom&quot;,&quot;animation&quot;:&quot;slideInUp&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;],&quot;sticky_offset&quot;:0,&quot;sticky_effects_offset&quot;:0}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-4930e42 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"4930e42\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ba99222 elementor-nav-menu__align-center elementor-nav-menu__text-align-center elementor-nav-menu--dropdown-tablet elementor-nav-menu--toggle elementor-nav-menu--burger elementor-widget elementor-widget-nav-menu\" data-id=\"ba99222\" data-element_type=\"widget\" data-settings=\"{&quot;layout&quot;:&quot;horizontal&quot;,&quot;submenu_icon&quot;:{&quot;value&quot;:&quot;&lt;svg class=\\&quot;e-font-icon-svg e-fas-caret-down\\&quot; viewBox=\\&quot;0 0 320 512\\&quot; xmlns=\\&quot;http:\\\/\\\/www.w3.org\\\/2000\\\/svg\\&quot;&gt;&lt;path d=\\&quot;M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\\&quot;&gt;&lt;\\\/path&gt;&lt;\\\/svg&gt;&quot;,&quot;library&quot;:&quot;fa-solid&quot;},&quot;toggle&quot;:&quot;burger&quot;}\" data-widget_type=\"nav-menu.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<nav class=\"elementor-nav-menu--main elementor-nav-menu__container elementor-nav-menu--layout-horizontal e--pointer-underline e--animation-fade\">\n\t\t\t\t<ul id=\"menu-1-ba99222\" class=\"elementor-nav-menu\"><li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-379\"><a class=\"elementor-item\">Charpentes &#038; Couvertures<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-380\"><a class=\"elementor-item\">Industriel &#038; TP<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-381\"><a href=\"http:\/\/.\/#facades\" class=\"elementor-item elementor-item-anchor\">Escaliers &#038; Facades<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-382\"><a class=\"elementor-item\">Toiles tendues<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-384\"><a class=\"elementor-item\">Serrurerie et Garde-corps<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-385\"><a class=\"elementor-item\">Divers<\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t<div class=\"elementor-menu-toggle\" role=\"button\" tabindex=\"0\" aria-label=\"Menu Toggle\" aria-expanded=\"false\">\n\t\t\t<svg aria-hidden=\"true\" role=\"presentation\" class=\"elementor-menu-toggle__icon--open e-font-icon-svg e-eicon-menu-bar\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M104 333H896C929 333 958 304 958 271S929 208 896 208H104C71 208 42 237 42 271S71 333 104 333ZM104 583H896C929 583 958 554 958 521S929 458 896 458H104C71 458 42 487 42 521S71 583 104 583ZM104 833H896C929 833 958 804 958 771S929 708 896 708H104C71 708 42 737 42 771S71 833 104 833Z\"><\/path><\/svg><svg aria-hidden=\"true\" role=\"presentation\" class=\"elementor-menu-toggle__icon--close e-font-icon-svg e-eicon-close\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M742 167L500 408 258 167C246 154 233 150 217 150 196 150 179 158 167 167 154 179 150 196 150 212 150 229 154 242 171 254L408 500 167 742C138 771 138 800 167 829 196 858 225 858 254 829L496 587 738 829C750 842 767 846 783 846 800 846 817 842 829 829 842 817 846 804 846 783 846 767 842 750 829 737L588 500 833 258C863 229 863 200 833 171 804 137 775 137 742 167Z\"><\/path><\/svg>\t\t\t<span class=\"elementor-screen-only\">Menu<\/span>\n\t\t<\/div>\n\t\t\t\t\t<nav class=\"elementor-nav-menu--dropdown elementor-nav-menu__container\" aria-hidden=\"true\">\n\t\t\t\t<ul id=\"menu-2-ba99222\" class=\"elementor-nav-menu\"><li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-379\"><a class=\"elementor-item\" tabindex=\"-1\">Charpentes &#038; Couvertures<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-380\"><a class=\"elementor-item\" tabindex=\"-1\">Industriel &#038; TP<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-381\"><a href=\"http:\/\/.\/#facades\" class=\"elementor-item elementor-item-anchor\" tabindex=\"-1\">Escaliers &#038; Facades<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-382\"><a class=\"elementor-item\" tabindex=\"-1\">Toiles tendues<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-384\"><a class=\"elementor-item\" tabindex=\"-1\">Serrurerie et Garde-corps<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-385\"><a class=\"elementor-item\" tabindex=\"-1\">Divers<\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0a22128 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-parent\" data-id=\"0a22128\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-caf0947 elementor-widget elementor-widget-text-editor\" data-id=\"caf0947\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>PAGE EN COURS DE COMPLEMENT !<br \/>N&rsquo;h\u00e9sitez pas \u00e0 revenir dans quelques jours pour voir toutes nos r\u00e9f\u00e9rences&#8230; Merci !<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2264154 elementor-widget elementor-widget-shortcode\" data-id=\"2264154\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <!-- ==== CONTROLES ==== -->\n    <div class=\"lws-controls\" style=\"margin-bottom:1.5rem;\">\n        <button id=\"lws-toggle-all\" class=\"lws-btn lws-primary\">\n            Tout cocher \/ Tout d\u00e9cocher\n        <\/button>\n\n        <button id=\"lws-filter-mode-toggle\" class=\"lws-btn lws-primary\"\n                style=\"margin-left:0.8rem;\">\n            Mode filtre : <span id=\"lws-filter-mode-label\">OU<\/span>\n        <\/button>\n    <\/div>\n\n    <!-- ==== FILTRES ==== -->\n    <div id=\"lws-video-filters\" class=\"lws-filters\">\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"aep\">\n                AEP            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"architecture\">\n                Architecture            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"assemblages\">\n                Assemblages            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"bois\">\n                Bois            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"b\u00e9ton\">\n                B\u00e9ton            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"charpente\">\n                Charpente            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"d\u00e9tails\">\n                D\u00e9tails            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"exe\">\n                EXE            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"escalier\">\n                Escalier            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"fa\u00e7ade\">\n                Fa\u00e7ade            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"gc\">\n                GC            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"garde-corps\">\n                Garde-corps            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"industriel\">\n                Industriel            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"moe\">\n                Moe            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"m\u00e9tal\">\n                M\u00e9tal            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"reportage\">\n                Reportage            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"step\">\n                STEP            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"toiles_tendues\">\n                Toiles_tendues            <\/label>\n                    <label class=\"lws-filter-label\">\n                <input type=\"checkbox\" class=\"lws-filter-checkbox\"\n                       value=\"travaux_sp\u00e9ciaux\">\n                Travaux_sp\u00e9ciaux            <\/label>\n            <\/div>\n\n    <!-- Message lorsqu\u2019aucun r\u00e9sultat -->\n    <p id=\"lws-no-results\"\n       style=\"display:none;margin-top:1rem;color:#a00;font-weight:bold;font-style:italic;font-family:'Eras Light ITC',serif;\">\n        D\u00e9sol\u00e9, aucune r\u00e9f\u00e9rence ne correspond aux s\u00e9lections du filtre.\n    <\/p>\n\n    <!-- ==== GRILLE ==== -->\n    <div id=\"lws-video-grid\" class=\"lws-grid\">\n                    <div class=\"lws-grid-item\" data-keywords=\"exe escalier bois fa\u00e7ade m\u00e9tal architecture garde-corps\">\n                <div class=\"lws-video-wrapper\">\n                    <img decoding=\"async\" class=\"lws-poster\"\n                         src=\"\"\n                         alt=\"Miniature de la vid\u00e9o\">\n\n                    <video class=\"lws-video\"\n                           preload=\"metadata\"\n                           muted\n                           loop\n                           playsinline\n                           data-url=\"https:\/\/ido.construction\/wp-content\/uploads\/2025\/06\/0054-Facade-et-escalier-17-Marechal-Leclerc-C3-Model3.webm\">\n                        <source src=\"https:\/\/ido.construction\/wp-content\/uploads\/2025\/06\/0054-Facade-et-escalier-17-Marechal-Leclerc-C3-Model3.webm\" type=\"video\/mp4\">\n                        Votre navigateur ne supporte pas la balise vid\u00e9o.\n                    <\/video>\n                <\/div>\n                <h4 class=\"lws-video-title\">0054 Facade et escalier 17 Marechal Leclerc C3 Model3<\/h4>\n            <\/div>\n                    <div class=\"lws-grid-item\" data-keywords=\"exe assemblages bois escalier d\u00e9tails m\u00e9tal architecture garde-corps fa\u00e7ade\">\n                <div class=\"lws-video-wrapper\">\n                    <img decoding=\"async\" class=\"lws-poster\"\n                         src=\"\"\n                         alt=\"Miniature de la vid\u00e9o\">\n\n                    <video class=\"lws-video\"\n                           preload=\"metadata\"\n                           muted\n                           loop\n                           playsinline\n                           data-url=\"https:\/\/ido.construction\/wp-content\/uploads\/2025\/06\/0054-Facade-et-escalier-17-Marechal-Leclerc-C3-Cam.webm\">\n                        <source src=\"https:\/\/ido.construction\/wp-content\/uploads\/2025\/06\/0054-Facade-et-escalier-17-Marechal-Leclerc-C3-Cam.webm\" type=\"video\/mp4\">\n                        Votre navigateur ne supporte pas la balise vid\u00e9o.\n                    <\/video>\n                <\/div>\n                <h4 class=\"lws-video-title\">0054 Facade et escalier 17 Marechal Leclerc C3 Cam<\/h4>\n            <\/div>\n                    <div class=\"lws-grid-item\" data-keywords=\"exe charpente industriel m\u00e9tal\">\n                <div class=\"lws-video-wrapper\">\n                    <img decoding=\"async\" class=\"lws-poster\"\n                         src=\"\"\n                         alt=\"Miniature de la vid\u00e9o\">\n\n                    <video class=\"lws-video\"\n                           preload=\"metadata\"\n                           muted\n                           loop\n                           playsinline\n                           data-url=\"https:\/\/ido.construction\/wp-content\/uploads\/2025\/06\/0053Essai2.webm\">\n                        <source src=\"https:\/\/ido.construction\/wp-content\/uploads\/2025\/06\/0053Essai2.webm\" type=\"video\/mp4\">\n                        Votre navigateur ne supporte pas la balise vid\u00e9o.\n                    <\/video>\n                <\/div>\n                <h4 class=\"lws-video-title\">0053 Charpente Dassy St Pierre<\/h4>\n            <\/div>\n                    <div class=\"lws-grid-item\" data-keywords=\"toiles_tendues exe m\u00e9tal architecture\">\n                <div class=\"lws-video-wrapper\">\n                    <img decoding=\"async\" class=\"lws-poster\"\n                         src=\"\"\n                         alt=\"Miniature de la vid\u00e9o\">\n\n                    <video class=\"lws-video\"\n                           preload=\"metadata\"\n                           muted\n                           loop\n                           playsinline\n                           data-url=\"https:\/\/ido.construction\/wp-content\/uploads\/2024\/05\/0125A-Animation-ombre-projetee-IDO.mp4\">\n                        <source src=\"https:\/\/ido.construction\/wp-content\/uploads\/2024\/05\/0125A-Animation-ombre-projetee-IDO.mp4\" type=\"video\/mp4\">\n                        Votre navigateur ne supporte pas la balise vid\u00e9o.\n                    <\/video>\n                <\/div>\n                <h4 class=\"lws-video-title\">0125A Animation ombre projetee (IDO)<\/h4>\n            <\/div>\n                    <div class=\"lws-grid-item\" data-keywords=\"exe m\u00e9tal b\u00e9ton aep industriel travaux_sp\u00e9ciaux reportage gc\">\n                <div class=\"lws-video-wrapper\">\n                    <img decoding=\"async\" class=\"lws-poster\"\n                         src=\"\"\n                         alt=\"Miniature de la vid\u00e9o\">\n\n                    <video class=\"lws-video\"\n                           preload=\"metadata\"\n                           muted\n                           loop\n                           playsinline\n                           data-url=\"https:\/\/ido.construction\/wp-content\/uploads\/2024\/05\/0121-Citerne-eau-potable-Mafate-Presentation-mission-IDO-ST-incrustes-720p-3000kbs.mp4\">\n                        <source src=\"https:\/\/ido.construction\/wp-content\/uploads\/2024\/05\/0121-Citerne-eau-potable-Mafate-Presentation-mission-IDO-ST-incrustes-720p-3000kbs.mp4\" type=\"video\/mp4\">\n                        Votre navigateur ne supporte pas la balise vid\u00e9o.\n                    <\/video>\n                <\/div>\n                <h4 class=\"lws-video-title\">0121 Citerne eau potable Mafate &#8211; Presentation mission IDO (ST incrustes 720p 3000kbs)<\/h4>\n            <\/div>\n                    <div class=\"lws-grid-item\" data-keywords=\"exe d\u00e9tails m\u00e9tal assemblages\">\n                <div class=\"lws-video-wrapper\">\n                    <img decoding=\"async\" class=\"lws-poster\"\n                         src=\"\"\n                         alt=\"Miniature de la vid\u00e9o\">\n\n                    <video class=\"lws-video\"\n                           preload=\"metadata\"\n                           muted\n                           loop\n                           playsinline\n                           data-url=\"https:\/\/ido.construction\/wp-content\/uploads\/2024\/05\/Animation-IDO-icones-assemblages-960x720p-15is.mp4\">\n                        <source src=\"https:\/\/ido.construction\/wp-content\/uploads\/2024\/05\/Animation-IDO-icones-assemblages-960x720p-15is.mp4\" type=\"video\/mp4\">\n                        Votre navigateur ne supporte pas la balise vid\u00e9o.\n                    <\/video>\n                <\/div>\n                <h4 class=\"lws-video-title\">Animation IDO icones assemblages 960x720p 15is<\/h4>\n            <\/div>\n                    <div class=\"lws-grid-item\" data-keywords=\"moe step reportage b\u00e9ton m\u00e9tal architecture industriel gc\">\n                <div class=\"lws-video-wrapper\">\n                    <img decoding=\"async\" class=\"lws-poster\"\n                         src=\"\"\n                         alt=\"Miniature de la vid\u00e9o\">\n\n                    <video class=\"lws-video\"\n                           preload=\"metadata\"\n                           muted\n                           loop\n                           playsinline\n                           data-url=\"https:\/\/ido.construction\/wp-content\/uploads\/2024\/05\/0026-Chantier-STEP-Grand-Prado-assistance-MOe-GC-par-IDO-V6.mp4\">\n                        <source src=\"https:\/\/ido.construction\/wp-content\/uploads\/2024\/05\/0026-Chantier-STEP-Grand-Prado-assistance-MOe-GC-par-IDO-V6.mp4\" type=\"video\/mp4\">\n                        Votre navigateur ne supporte pas la balise vid\u00e9o.\n                    <\/video>\n                <\/div>\n                <h4 class=\"lws-video-title\">0026 Chantier STEP Grand Prado assistance MOe GC par IDO-V6<\/h4>\n            <\/div>\n            <\/div>\n\n    <!-- ==== JAVASCRIPT ==== -->\n    <script>\n    (function(){\n        const grid      = document.getElementById('lws-video-grid');\n        const items     = Array.from(grid.querySelectorAll('.lws-grid-item'));\n        const checks    = Array.from(document.querySelectorAll('.lws-filter-checkbox'));\n        const toggleAll = document.getElementById('lws-toggle-all');\n        const modeBtn   = document.getElementById('lws-filter-mode-toggle');\n        const modeLabel = document.getElementById('lws-filter-mode-label');\n        const noResult  = document.getElementById('lws-no-results');\n\n        let filterMode = 'or';\n\n        function applyFilters(){\n            const active = checks.filter(c=>c.checked).map(c=>c.value);\n            let visibleCount = 0;\n\n            items.forEach(it=>{\n                const kw = it.dataset.keywords.split(' ');\n                let show = false;\n\n                if (active.length===0) {\n                    show = true;\n                } else if (filterMode==='or') {\n                    show = active.some(v=>kw.includes(v));\n                } else {\n                    show = active.every(v=>kw.includes(v));\n                }\n                it.style.display = show ? '' : 'none';\n                if (show) visibleCount++;\n            });\n\n            noResult.style.display = (visibleCount===0) ? '' : 'none';\n        }\n\n        let allChecked = false;\n        toggleAll.addEventListener('click',()=>{\n            allChecked = !allChecked;\n            checks.forEach(c=>c.checked = allChecked);\n            applyFilters();\n            toggleAll.textContent = allChecked ?\n                'Tout d\u00e9cocher' : 'Tout cocher \/ Tout d\u00e9cocher';\n        });\n\n        modeBtn.addEventListener('click',()=>{\n            if (filterMode==='or'){\n                filterMode = 'and';\n                modeLabel.textContent = 'ET';\n            }else{\n                filterMode = 'or';\n                modeLabel.textContent = 'OU';\n            }\n            applyFilters();\n        });\n\n        checks.forEach(c=>c.addEventListener('change',applyFilters));\n\n        const vids = document.querySelectorAll('.lws-video');\n        let currentlyPlaying = null;\n\n        vids.forEach(v => {\n            const url = v.dataset.url;\n            const posterImg = v.parentNode.querySelector('.lws-poster');\n\n            v.addEventListener('play',()=>{ if(posterImg) posterImg.style.display='none'; });\n\n            v.addEventListener('mouseenter', () => {\n                if (!('ontouchstart' in window)) {\n                    v.play();\n                    currentlyPlaying = v;\n                }\n            });\n            v.addEventListener('mouseleave', () => {\n                if (!('ontouchstart' in window)) {\n                    v.pause();\n                    currentlyPlaying = null;\n                }\n            });\n\n            v.addEventListener('click', e => {\n                if (!('ontouchstart' in window)) {\n                    e.preventDefault();\n                    window.open(url, '_blank');\n                }\n            });\n\n            let lastTapTime = 0;\n            let tapTimer    = null;\n            let startY      = 0;\n            let moved       = false;\n\n            v.addEventListener('touchstart', e => {\n                startY = e.touches[0].clientY;\n                moved  = false;\n            });\n\n            v.addEventListener('touchmove', e => {\n                const diff = Math.abs(e.touches[0].clientY - startY);\n                if (diff > 10) { moved = true; }\n            });\n\n            v.addEventListener('touchend', e => {\n                const now = Date.now();\n\n                if (now - lastTapTime < 300) {\n                    clearTimeout(tapTimer);\n                    window.open(url, '_blank');\n                    lastTapTime = 0;\n                    return;\n                }\n\n                if (moved) { lastTapTime = now; return; }\n\n                tapTimer = setTimeout(() => {\n                    if (!v.paused) {\n                        v.pause();\n                    } else {\n                        if (currentlyPlaying && currentlyPlaying !== v) {\n                            currentlyPlaying.pause();\n                        }\n                        v.play();\n                        currentlyPlaying = v;\n                    }\n                }, 300);\n\n                lastTapTime = now;\n            });\n        });\n\n        applyFilters();\n    })();\n    <\/script>\n\n    <!-- ==== STYLES ==== -->\n    <style>\n    \/* ----------------- BOUTONS ----------------- *\/\n    .lws-btn{\n        background:#6666CC;\n        color:#fff;\n        border:none;\n        padding:0.4rem 0.8rem;\n        border-radius:0.3rem;\n        cursor:pointer;\n        font-size:1em;               \/* taille du texte = 1\u202fem *\/\n    }\n    .lws-controls{\n        display:flex;\n        align-items:center;\n        gap:0.8rem;\n    }\n\n    \/* ----------------- FILTRES ----------------- *\/\n    .lws-filters{\n        margin-bottom:2%;\n        display:flex;\n        flex-wrap:wrap;\n        \/* row\u2011gap (vertical) = 1\u202fem \u2192 interligne souhait\u00e9e\n           column\u2011gap (horizontal) = 3.2\u202frem \u2192 espace large entre les filtres *\/\n        gap:1em 3.2rem;\n    }\n    .lws-filter-label{\n        display:inline-flex;\n        align-items:center;\n        gap:0.15rem;                \/* espace entre case et texte *\/\n        font-size:1em;              \/* taille du texte = 1\u202fem *\/\n        line-height:1;              \/* interligne tr\u00e8s compact (d\u00e9j\u00e0 contr\u00f4l\u00e9 par le row\u2011gap) *\/\n        margin:0;                   \/* aucune marge suppl\u00e9mentaire *\/\n    }\n\n    \/* ----------------- GRILLE ----------------- *\/\n    .lws-grid{\n        display:grid;\n        grid-template-columns:repeat(auto-fill,minmax(30%,1fr));\n        gap:2%;                     \/* marge verticale = 2\u202f% de la largeur totale *\/\n        justify-items:center;\n    }\n    .lws-grid-item{\n        width:100%;\n        text-align:center;\n    }\n\n    \/* Wrapper vid\u00e9o \u2013 ratio 4:3, bordure responsive *\/\n    .lws-video-wrapper{\n        position:relative;\n        width:100%;\n        aspect-ratio:4\/3;\n        border:0.15rem solid #660099;\n        overflow:hidden;\n    }\n    .lws-video,\n    .lws-poster{\n        position:absolute;\n        top:0; left:0;\n        width:100%; height:100%;\n        object-fit:cover;\n    }\n    .lws-video{cursor:pointer;}\n\n    .lws-video-title{\n        margin-top:0.5rem;\n        color:#660099;\n        font-weight:600;\n        font-size:1rem;\n    }\n\n    \/* ----------------- RESPONSIVE MOBILE ----------------- *\/\n    @media (max-width:768px){\n        .lws-grid{\n            grid-template-columns:1fr;\n            gap:4%;\n        }\n        .lws-btn{\n            font-size:1em;\n            padding:0.35rem 0.7rem;\n        }\n        .lws-filter-label{\n            font-size:1em;\n        }\n        .lws-video-title{\n            font-size:0.95rem;\n        }\n    }\n    <\/style>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-46d59de elementor-widget elementor-widget-text-editor\" data-id=\"46d59de\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Tous les mod\u00e8les pr\u00e9sent\u00e9s sur notre site sont propri\u00e9t\u00e9s de I.D.O. et de ses clients respectifs.<br \/>En consultant cette page, vous acceptez les <a href=\"https:\/\/ido.construction\/index.php\/mentions-legales\/#conditions_utilisation\"><span style=\"text-decoration: underline;\">Conditions d&rsquo;utilisation<\/span><\/a> et les <a href=\"https:\/\/ido.construction\/index.php\/mentions-legales\/#confidentialite\"><span style=\"text-decoration: underline;\">R\u00e8gles de confidentialit\u00e9<\/span><\/a>.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\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>I.D.O. REFERENCES PAGE EN COURS DE COMPLEMENT !N&rsquo;h\u00e9sitez pas \u00e0 revenir dans quelques jours pour voir toutes nos r\u00e9f\u00e9rences&#8230; Merci ! Tous les mod\u00e8les pr\u00e9sent\u00e9s sur notre site sont propri\u00e9t\u00e9s de I.D.O. et de ses clients respectifs.En consultant cette page, vous acceptez les Conditions d&rsquo;utilisation et les R\u00e8gles de confidentialit\u00e9.<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-192","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/ido.construction\/index.php\/wp-json\/wp\/v2\/pages\/192","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ido.construction\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ido.construction\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ido.construction\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ido.construction\/index.php\/wp-json\/wp\/v2\/comments?post=192"}],"version-history":[{"count":294,"href":"https:\/\/ido.construction\/index.php\/wp-json\/wp\/v2\/pages\/192\/revisions"}],"predecessor-version":[{"id":3036,"href":"https:\/\/ido.construction\/index.php\/wp-json\/wp\/v2\/pages\/192\/revisions\/3036"}],"wp:attachment":[{"href":"https:\/\/ido.construction\/index.php\/wp-json\/wp\/v2\/media?parent=192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}