{"id":14679,"date":"2025-09-02T21:33:23","date_gmt":"2025-09-02T21:33:23","guid":{"rendered":"https:\/\/senhorcursos.com\/?p=14679"},"modified":"2025-09-04T21:01:29","modified_gmt":"2025-09-04T21:01:29","slug":"iow-rec-curso-de-marceneiro","status":"publish","type":"post","link":"https:\/\/senhorcursos.com\/fr\/iow-rec-curso-de-marceneiro\/","title":{"rendered":"IOW REC &#8211; Curso de Marcenaria"},"content":{"rendered":"<!--loader--><div class=\"wp-block-lazyblock-loader lazyblock-loader-byLvC\"><script>\n    Math.min(window.screen.width, window.screen.height) < 768 ? document.getElementById(\"page\").classList.add(\"fixed\") : '';\n<\/script>\n<div id=\"loader\" class=\"flex h-screen fixed bg-white inset-0\" style=\"z-index: 99999;\" >\n    <div class=\"m-auto flex flex-col\">\n        <div class=\"flex\">\n            <svg style=\"color: \" class=\"m-auto animate-spin h-28 w-28\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewbox=\"0 0 24 24\">\n                <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"><\/circle>\n                <path class=\"opacity-75\" fill=\"currentColor\" d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"><\/path>\n            <\/svg>\n        <\/div>\n                            <div style=\"color: white;\" id=\"loader-message\" class=\"px-2 my-4 text-center text-xl\">\n                Voir votre recommandation apr\u00e8s l&#039;annonce...            <\/div>\n            <script>\n                if ((window.location.pathname.includes('\/iow')) && ((document.referrer ?? '').includes('senhorcursos.com'.replace('cb.', ''))) && (!document.cookie.includes('avOfferWallRewarded'))) {\n                    document.getElementById('loader-message').classList.add('animate-blink', 'animate-pulse');\n                    setTimeout(() => {\n                        document.getElementById('loader-message').style = '';\n                        document.getElementById('loader-message').classList.remove('animate-blink');\n                    }, 1000);\n                }\n            <\/script>\n            <\/div>\n<\/div>\n<script>\n    function waitFor(conditionFunction) {\n        const poll = resolve => {\n            if(conditionFunction()) resolve();\n            else setTimeout(_ => poll(resolve), 400);\n        };\n        return new Promise(poll);\n    }\n\n    window.loaderHandler = setTimeout(() => {\n        waitFor(_ => ((document.querySelector('[data-google-query-id]') !== null) || (typeof avCustomConfig === 'object' && avCustomConfig.skipAds === true)))\n            .then(_ => {\n                if ((window.location.pathname.includes('\/iow')) && ((document.referrer ?? '').includes('senhorcursos.com'.replace('cb.', ''))) && (!document.cookie.includes('avOfferWallRewarded'))) return;\n\n                if (document.getElementById('loader')) {\n                    document.getElementById('loader').addEventListener('animationend', () => {\n                        document.getElementById(\"page\").classList.remove(\"fixed\");\n                        document.getElementById(\"loader\").remove();\n                    });\n                    document.getElementById('loader').classList.add('animate-fade-out-quickly');\n                }\n            });\n    }, 2500);\n\n    window.loaderHandler = setTimeout(() => {\n        waitFor(_ => ((typeof av === 'object' && av.requested === true) || (typeof av === 'object' && av.showLimitedAds() === true && window.googletag && googletag.pubadsReady)))\n            .then(_ => {\n                if ((window.location.pathname.includes('\/iow')) && ((document.referrer ?? '').includes('senhorcursos.com'.replace('cb.', ''))) && (!document.cookie.includes('avOfferWallRewarded'))) return;\n                \n                if (document.getElementById('loader')) {\n                    document.getElementById('loader').addEventListener('animationend', () => {\n                        document.getElementById(\"page\").classList.remove(\"fixed\");\n                        document.getElementById(\"loader\").remove();\n                    });\n                    document.getElementById('loader').classList.add('animate-fade-out-quickly');\n                }\n            });\n    }, 3500);\n\n    window.loaderHandler = setTimeout(() => {\n        waitFor(_ => (typeof av === 'object' && av.timeline?.includes('rewarded->visible')))\n            .then(_ => {                        \n                if (document.getElementById('loader')) {\n                    document.getElementById('loader').addEventListener('animationend', () => {\n                        document.getElementById(\"page\").classList.remove(\"fixed\");\n                        document.getElementById(\"loader\").remove();\n                    });\n                    document.getElementById('loader').classList.add('animate-fade-out-quickly');\n                }\n            });\n    }, 5000);\n\n    setTimeout(() => {\n        if (document.getElementById('loader')) {\n            document.getElementById('loader').addEventListener('animationend', () => {\n                document.getElementById(\"page\").classList.remove(\"fixed\");\n                document.getElementById(\"loader\").remove();\n            });\n            document.getElementById('loader').classList.add('animate-fade-out-quickly');\n        }\n    }, ((window.location.pathname.includes('\/iow')) && ((document.referrer ?? '').includes('senhorcursos.com'.replace('cb.', ''))) && (!document.cookie.includes('avOfferWallRewarded'))) ? 20000 : 10000);\n<\/script>\n<\/div><!--loader--><!--offerwall--><div class=\"wp-block-lazyblock-offer-wall lazyblock-offer-wall-ZAp40Q\">\n  <script data-no-translation>\n    window.avCustomConfig = window.avCustomConfig || {};\n    window.avCustomConfig.slots = window.avCustomConfig.slots || {};\n    window.avCustomConfig.slots.offerWall = window.avCustomConfig.slots.offerWall || {};\n    window.avCustomConfig.slots.offerWall.extraOptions = window.avCustomConfig.slots.offerWall.extraOptions || {\n      'title': \"Encontramos uma op\u00e7\u00e3o de curso com flexibilidade e alta demanda!\",\n      'subtitle': \"ideal para renda extra ou para ter sua pr\u00f3pria empresa\",\n      'cta': \"Veja as op\u00e7\u00f5es\",\n      'footnote': \"Veja o an\u00fancio e debloqueie a sua recomenda\u00e7\u00e3o...\",\n      'failsafeUrl': \"\"\n    };\n  <\/script>\n\n<\/div><!--offerwall--><!--landing--><div class=\"wp-block-lazyblock-landing-page-variant lazyblock-landing-page-variant-ZFFRnq\"><div id=\"landing\" style=\"\" class=\"mb-40\">\n  <section class=\"text-gray-600 body-font border-gray-200 sm:border-0\">\n    <div style=\"max-width: 850px;\" class=\"sm:pt-6 mx-auto block\">\n      <div class=\"text-center py-3 px-5\">\n        <p data-av-subtitle class=\"leading-relaxed sm:w-3\/4 mx-auto mb-0\">\n          Vous souhaitez apprendre \u00e0 travailler le bois, mais vous ne savez pas par o\u00f9 commencer ?        <\/p>\n      <\/div>\n\n              <section id=\"half\" class=\"text-gray-600 body-font border-gray-200 sm:border-0\">\n          <h4 class=\"pt-3 text-center text-gray-900 text-2xl title-font font-medium px-5 mb-12\">\n            Les cours de menuiserie en ligne sont l&#039;un des moyens les plus pratiques d&#039;entrer sur ce march\u00e9 aujourd&#039;hui !          <\/h4>\n          <div id=\"scs_top_wrapper\" style=\"height:600px;\" align=\"center\" class=\"w-full border-gray-200 border-b mt-8 mb-8 pb-5\">\n    <div align=\"center\" style=\"position: sticky; top: 120px;\" class=\"w-full\">\n                  <p style=\"font-size: 10px;\" class=\"uppercase text-center\">\n            Publicit\u00e9          <\/p>\n                <div id=\"scs_top\" >\n        <\/div>\n    <\/div>\n<\/div>\n          <p class=\"sm:hidden pb-2 text-center sm:text-left leading-relaxed px-5\">\n              Avec un cours de menuiserie en ligne, vous pouvez \u00e9tudier \u00e0 votre rythme, gr\u00e2ce \u00e0 des le\u00e7ons vid\u00e9o, des supports p\u00e9dagogiques et m\u00eame un certificat de r\u00e9ussite. En plus d&#039;apprendre \u00e0 fabriquer des objets, vous d\u00e9couvrirez comment faire de la menuiserie une source de revenus.          <\/p>\n          \n          <div class=\"sm:hidden sm:px-0 py-6 mx-auto px-5\">\n            <div class=\"w-full mx-auto flex flex-wrap\">\n                              <a class=\"mx-auto block\" href=\"https:\/\/senhorcursos.com\/fr\/curso-de-marcenaria\/\" data-analytics-label=\"landingPageImage\" data-action=\"analytics#trackCTA\">\n                  <img loading=\"lazy\" alt=\"card\" style=\"height: 190px;\" class=\"w-full h-64 object-cover object-center rounded border-gray-100 border-2\" src=\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2025\/09\/marcenaria.png\">\n                <\/a>\n                                          <div class=\"lg:w-3\/5 w-full lg:pl-6 mt-6 lg:mt-0\">\n                                  <div class=\"flex\">\n                    <a class=\"flex text-white no-underline mt-10 m-auto sm:mr-0 sm:ml-auto\" href=\"https:\/\/senhorcursos.com\/fr\/curso-de-marcenaria\/\"  data-analytics-label=\"landingPageFirstButton\" data-action=\"analytics#trackCTA\">\n                      <button id=\"landing-first\" class=\"text-white flex m-auto sm:mr-0 sm:ml-auto border-0 py-2 px-8 text-lg focus:outline-none rounded\">\n                        Apprenez-en davantage sur ces cours !                      <\/button>\n                    <\/a>\n                  <\/div>\n                                      <p class=\"text-xs text-gray-500 mt-3 text-center sm:text-right\">\n                      Je me reposerai sur mon propre site Web                    <\/p>\n                                                                <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"mt-10 h-1 bg-gray-200 rounded overflow-hidden sm:hidden mx-5\">\n            <div class=\"w-24 h-full\"><\/div>\n          <\/div>\n          <div class=\"hidden sm:block sm:px-0 py-6 mx-auto px-5\">\n            <div class=\"w-full py-3 mx-auto flex flex-wrap\">\n                              <img loading=\"lazy\" alt=\"card\" style=\"height: 190px;\" class=\"lg:w-2\/5 w-full h-64 object-cover object-center rounded border-gray-100 border-2\" src=\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2025\/09\/marcenaria.png\">\n                            \n              <div class=\"lg:w-3\/5 w-full lg:pl-6 mt-6 lg:mt-0\">\n                \n                \n                <p class=\"py-2 text-center sm:text-left leading-relaxed\">\n                  Avec un cours de menuiserie en ligne, vous pouvez \u00e9tudier \u00e0 votre rythme, gr\u00e2ce \u00e0 des le\u00e7ons vid\u00e9o, des supports p\u00e9dagogiques et m\u00eame un certificat de r\u00e9ussite. En plus d&#039;apprendre \u00e0 fabriquer des objets, vous d\u00e9couvrirez comment faire de la menuiserie une source de revenus.                <\/p>\n                <div class=\"flex mt-6 items-center pb-5 border-b-2 border-gray-100 mb-5\">\n                <\/div>\n                                  <div class=\"flex\">\n                    <a class=\"flex text-white no-underline mt-10 m-auto sm:mr-0 sm:ml-auto\" href=\"https:\/\/senhorcursos.com\/fr\/curso-de-marcenaria\/\"  data-analytics-label=\"landingPageFirstButton\" data-action=\"analytics#trackCTA\">\n                      <button id=\"landing-first\" class=\"text-white flex m-auto sm:mr-0 sm:ml-auto border-0 py-2 px-8 text-lg focus:outline-none rounded\">\n                        Apprenez-en davantage sur ces cours !                      <\/button>\n                    <\/a>\n                  <\/div>\n                                      <p class=\"text-xs text-gray-500 mt-3 text-center sm:text-right\">\n                      Je me reposerai sur mon propre site Web                    <\/p>\n                                                                <\/div>\n            <\/div>\n          <\/div>\n        <\/section>\n      \n      <p class=\"text-center leading-relaxed sm:w-3\/4 mx-auto my-10 px-5\">\n        Avantages d&#039;un cours de menuiserie en ligne      <\/p>\n            <div class=\"flex flex-wrap sm:w-full sm:mx-auto sm:mb-2 px-5\">\n        <div class=\"p-2 sm:w-1\/2 w-full\">\n          <div class=\"bg-gray-100 rounded flex p-4 h-full items-center\">\n            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"3\" class=\"w-6 h-6 flex-shrink-0 mr-4\" viewbox=\"0 0 24 24\">\n              <path d=\"M22 11.08V12a10 10 0 11-5.93-9.14\"><\/path>\n              <path d=\"M22 4L12 14.01l-3-3\"><\/path>\n            <\/svg>\n            <span class=\"title-font font-medium text-left\">\n              Flexibilit\u00e9 totale dans les cours en ligne.            <\/span>\n          <\/div>\n        <\/div>\n        <div class=\"p-2 sm:w-1\/2 w-full\">\n          <div class=\"bg-gray-100 rounded flex p-4 h-full items-center\">\n            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"3\" class=\"w-6 h-6 flex-shrink-0 mr-4\" viewbox=\"0 0 24 24\">\n              <path d=\"M22 11.08V12a10 10 0 11-5.93-9.14\"><\/path>\n              <path d=\"M22 4L12 14.01l-3-3\"><\/path>\n            <\/svg>\n            <span class=\"title-font font-medium text-left\">\n              Un contenu pratique et actualis\u00e9, pertinent pour le march\u00e9 du travail.            <\/span>\n          <\/div>\n        <\/div>\n        <div class=\"p-2 sm:w-1\/2 w-full\">\n          <div class=\"bg-gray-100 rounded flex p-4 h-full items-center\">\n            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"3\" class=\"w-6 h-6 flex-shrink-0 mr-4\" viewbox=\"0 0 24 24\">\n              <path d=\"M22 11.08V12a10 10 0 11-5.93-9.14\"><\/path>\n              <path d=\"M22 4L12 14.01l-3-3\"><\/path>\n            <\/svg>\n            <span class=\"title-font font-medium text-left\">\n              La plupart d\u00e9livrent un certificat de r\u00e9ussite.            <\/span>\n          <\/div>\n        <\/div>\n        <div class=\"p-2 sm:w-1\/2 w-full\">\n          <div class=\"bg-gray-100 rounded flex p-4 h-full items-center\">\n            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"3\" class=\"w-6 h-6 flex-shrink-0 mr-4\" viewbox=\"0 0 24 24\">\n              <path d=\"M22 11.08V12a10 10 0 11-5.93-9.14\"><\/path>\n              <path d=\"M22 4L12 14.01l-3-3\"><\/path>\n            <\/svg>\n            <span class=\"title-font font-medium text-left\">\n              Des cours gratuits et payants sont propos\u00e9s, du niveau d\u00e9butant au niveau avanc\u00e9.            <\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n      \n              <div class=\"mx-5\" data-anchor-target=\"lazyBlock\">\n          <a class=\"text-white no-underline\"  href=\"https:\/\/senhorcursos.com\/fr\/curso-de-marcenaria\/\" data-analytics-label=\"landingPageSecondButton\" data-action=\"analytics#trackCTA\">\n            <button id=\"landing-second\" class=\"flex mx-auto mt-16 border-0 py-2 px-8 focus:outline-none rounded text-lg\">\n              Apprenez-en davantage sur ces cours !            <\/button>\n          <\/a>\n        <\/div>\n                          <p class=\"text-xs text-gray-500 mt-3 text-center\">\n            Je me reposerai sur mon propre site Web          <\/p>\n                        <\/div>\n  <\/section>\n\n    <script type=\"module\"> function waitFor(conditionFunction) { const poll = resolve => { if(conditionFunction()) resolve(); else setTimeout(_ => poll(resolve), 400); }; return new Promise(poll); } import { Application, Controller } from \"\/wp-content\/themes\/twentytwentyone\/assets\/js\/stimulus.min.js\"; let Stimulus = Application.start(); Stimulus.register(\"anchor\", class extends Controller { static get targets() { return [ \"lazyBlock\", \"lazyBlockAnchor\" ]; } initialize() { this.active = false; this.passed = false; this.closed = false; this.anchorViews = 0; this.boundOnShowAnchor = this.onShowAnchor.bind(this); window.anchorReady = window.anchorReady || false; waitFor(_ => (window.scrollY > this.getHeightBlock() && !this.active)) .then(_ => { !window.anchorReady? this.visible() : ''; window.anchorReady = true; }); if (document.getElementById('landing')) { setTimeout(() => { !window.anchorReady ? this.visible() : ''; window.anchorReady = true; }, 1 * 30000); }; } connect() { this.onShowAnchor(); document.addEventListener(\"scroll\", this.boundOnShowAnchor); } disconnect() { document.removeEventListener(\"scroll\", this.boundOnShowAnchor); } visible() { if (document.getElementById('av-offerwall__wrapper')) { setTimeout(() => this.visible(), 20000); return; } if (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 100) { setTimeout(() => this.visible(), 1000); return; } if (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 10) { this.getAnchorElement().style.marginBottom = '60px'; } if (document.querySelector('[data-anchor-shown=\"true\"]') && document.querySelector('[data-anchor-shown=\"true\"]').style.bottom === '0px') { setTimeout(() => this.visible(), 1000); return; } if (!window.km2AnchorReady) { this.active = true; \/*this.getAnchorElement().style.animation = \"none\"; this.getAnchorElement().classList.remove('animate-show-down');*\/ \/*this.getAnchorElement().classList.add('animate-show-up');*\/ \/*setTimeout(() => {*\/ \/*this.getAnchorElement().style.animation = \"\";*\/ this.getAnchorElement().classList.add('animate-show-up'); this.getAnchorElement().classList.remove('hidden'); this.setAnchorViews(this.anchorViews+1); setTimeout(() => this.closeAnchor(), 20000); waitFor(_ => (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 10 && this.getAnchorElement().style.marginBottom !== '60px')) .then(_ => { this.closeAnchor(); }); this.active = false; \/*}, 10);*\/ } } invisible() { this.active = true; this.getAnchorElement().style.animation = \"none\"; this.getAnchorElement().classList.remove('animate-show-up'); this.getAnchorElement().classList.add('animate-show-down'); setTimeout(() => { this.getAnchorElement().style.animation = \"\"; setTimeout(() => { this.getAnchorElement().classList.add('hidden'); this.active = false; }, 800); }, 10); } onShowAnchor() { let anchorReady = false;  \/*if (!this.active && !anchorReady) { if (this.getAnchorViews() <= 3) { if (window.scrollY > this.getHeightBlock()) { if (!this.passed && !this.closed) { this.visible(); this.passed = true; } } else { if (this.passed) { this.invisible(); this.passed = false; } } } else { if (!this.getAnchorElement().classList.contains('close')) { this.getAnchorElement().classList.add('close'); if (window.scrollY < this.getHeightBlock()) { this.invisible(); } } } }*\/ } closeAnchor() { if (this.closed) return; this.invisible(); this.getAnchorElement().classList.add('close'); this.closed = true; } getAnchorElement() { return this.lazyBlockAnchorTargets[0]; } getAnchorViews() { this.anchorViews = parseInt(sessionStorage.getItem(\"anchorViews\")) >= 1 ? parseInt(sessionStorage.getItem(\"anchorViews\")) : 0; return this.anchorViews; } setAnchorViews(views) { sessionStorage.setItem(\"anchorViews\", views); } getHeightBlock() { return this.lazyBlockTarget.offsetTop + this.lazyBlockTarget.offsetHeight - 110; } }) <\/script>  <div data-anchor-target=\"lazyBlockAnchor\" class=\"fixed w-full sm:w-96 px-3 py-2 bottom-0 left-0 hidden\" style=\"z-index: 999999;\" name=\"lazyBlockAnchor\">\n    <div class=\"grid justify-items-stretch\">        \n              <div class=\"relative justify-self-end top-4 -right-2\">\n          <button data-no-translation class=\"bg-white text-md font-medium text-center rounded-full h-7 w-7 border-2\" data-analytics-label=\"anchorCloseAnchor\" data-action=\"anchor#closeAnchor\" style=\"z-index: 999999;\">\n            X\n          <\/button>\n        <\/div>\n        <div class=\"w-full justify-self-start flex flex-col h-32 bg-white border-solid border-2 shadow-md rounded-md\">\n          <div class=\"mx-2 h-1\/2\">\n            <p class=\"px-5 text-center pt-3 text-xs\">\n              Les cours de menuiserie en ligne sont l&#039;un des moyens les plus pratiques d&#039;entrer sur ce march\u00e9 aujourd&#039;hui !            <\/p>\n          <\/div>\n          <div class=\"mx-2 mt-1 bottom-0 h-1\/2\">\n            <a class=\"w-full m-auto\" href=\"https:\/\/senhorcursos.com\/fr\/curso-de-marcenaria\/\"  data-analytics-label=\"anchorButton\" data-action=\"analytics#trackCTA\" >\n              <button class=\"flex m-auto border-0 py-2 px-6 focus:outline-none rounded text-center text-sm\">\n                Continuer la lecture              <\/button>\n            <\/a>\n            <p class=\"text-gray-500 text-center mt-1\" style=\"font-size: 0.50rem;\">\n              Je me reposerai sur mon propre site Web  \n            <\/p>\n          <\/div>\n        <\/div>\n          <\/div>\n  <\/div>\n\n  <link rel=\"prefetch\" href=\"https:\/\/senhorcursos.com\/curso-de-marcenaria\/\">\n  <link rel=\"prerender\" href=\"https:\/\/senhorcursos.com\/curso-de-marcenaria\/\">\n\n  <link rel=\"prefetch\" href=\"\">\n  <link rel=\"prerender\" href=\"\">\n\n  <div style=\"margin-top: 100px;\">\n     <script type=\"module\"> function waitFor(conditionFunction) { const poll = resolve => { if(conditionFunction()) resolve(); else setTimeout(_ => poll(resolve), 400); }; return new Promise(poll); } import { Application, Controller } from \"\/wp-content\/themes\/twentytwentyone\/assets\/js\/stimulus.min.js\"; import { Typos } from \"\/wp-content\/themes\/twentytwentyone\/assets\/js\/typos.js\"; import { phoneNumberMask, writeEmailOptions } from \"\/wp-content\/themes\/twentytwentyone\/assets\/js\/commons.js\"; let Stimulus = Application.start(); Stimulus.register(\"quiz\", class extends Controller { static get targets() { return [ \"quiz\", \"body\", \"block\", \"footer\", \"pane\", \"email\", \"name\", \"phone\", \"phoneField\", \"checkbox\", \"overlay\", \"submit\", \"unloader\", \"loader\", \"tooltip\", \"tip\", \"emailOptions\", \"formBox\", \"formData\", \"formMessage\", \"formBoxBackGround\", \"formTitle\", \"soi\", \"successMessage\", \"emailDiv\", \"phoneDiv\", \"nameDiv\", \"soiDiv\", \"skipper\", \"trigger\", \"link\", \"cta\", \"footnote\" ] } static get values() { return { showhighlight: Boolean }; } replaceAll(string, search, replace) { return string.split(search).join(replace); } initialize() { this.index = 0; this.formViews = 0; this.mode = 'email'; this.showContentForm = this.getViewEmailForm() || this.getViewPhoneForm() || this.getViewPushForm(); if (this.showContentForm) { this.showedHighlight = false; this.inProcessAnimate = false; } this.conditions = []; this.country = \"\"; this.phoneMaskOptions = { 'br': {\"areaCod\": \"+55\", \"areaCodSpace\": 2, \"dddSpace\": 2, \"prefixoSpace\": 4, \"prefixoSpace2\": 5, \"sufixoSpace\": 4, \"placeHolder\": \"(XX) XXXX-XXXX\" }, 'us': {\"areaCod\": \"+1\", \"areaCodSpace\": 1, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 4, \"placeHolder\": \"(XXX) XXX-XXXX\" }, 'ca': {\"areaCod\": \"+1\", \"areaCodSpace\": 1, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 4, \"placeHolder\": \"(XXX) XXX-XXXX\" }, 'pt': {\"areaCod\": \"+351\", \"areaCodSpace\": 3, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 2, \"placeHolder\": \"XXX XXX XXX\" }, 'es': {\"areaCod\": \"+34\", \"areaCodSpace\": 2, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 2, \"placeHolder\": \"XXX XXX XXX\" }, 'mx': {\"areaCod\": \"+52\", \"areaCodSpace\": 2, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 4, \"placeHolder\": \"XXX XXX XXXX\" }, 'ar': {\"areaCod\": \"+54\", \"areaCodSpace\": 2, \"dddSpace\": 2, \"prefixoSpace\": 4, \"sufixoSpace\": 4, \"placeHolder\": \"(XX) XXXX-XXXX\" }, 'co': {\"areaCod\": \"+57\", \"areaCodSpace\": 2, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 4, \"placeHolder\": \"XXX XXX XXXX\" }, 'za': {\"areaCod\": \"+27\", \"areaCodSpace\": 2, \"dddSpace\": 2, \"prefixoSpace\": 3, \"sufixoSpace\": 4, \"placeHolder\": \"(XX) XXX-XXXX\" }, 'de': {\"areaCod\": \"+49\", \"areaCodSpace\": 99, \"dddSpace\": 99, \"prefixoSpace\": 99, \"prefixoSpace2\": 99, \"sufixoSpace\": 99, \"placeHolder\": \"\" }, 'fr': {\"areaCod\": \"+33\", \"areaCodSpace\": 99, \"dddSpace\": 99, \"prefixoSpace\": 99, \"prefixoSpace2\": 99, \"sufixoSpace\": 99, \"placeHolder\": \"\" }, 'gb': {\"areaCod\": \"+44\", \"areaCodSpace\": 99, \"dddSpace\": 99, \"prefixoSpace\": 99, \"prefixoSpace2\": 99, \"sufixoSpace\": 99, \"placeHolder\": \"\" }, 'it': {\"areaCod\": \"+39\", \"areaCodSpace\": 99, \"dddSpace\": 99, \"prefixoSpace\": 99, \"prefixoSpace2\": 99, \"sufixoSpace\": 99, \"placeHolder\": \"\" } }; this.phoneMaskOption = (this.country in this.phoneMaskOptions) ? this.phoneMaskOptions[this.country] : this.phoneMaskOptions['br']; this.phoneTarget.placeholder = this.phoneMaskOption.placeHolder; this.searchParams = new URLSearchParams(window.location.search); this.quiz = this.replaceAll(window.location.pathname, '\/', ''); this.slug = this.quiz.split('-').slice(0, this.quiz.split('-').length - 1).join(''); this.hostname = \"senhorcursos.com\"; let splitOptions = ['a', 'b', 'c', 'd']; this.splitTag = splitOptions[Math.floor(Math.random() * splitOptions.length)]; this.tags = 'quiz='+this.quiz+',host='+this.hostname+',slug='+this.slug+',split='+this.splitTag; if (this.country !== '') { this.tags += `,country=${this.country}`; } this.autocompleted = false; this.emsAccounts = [\n          {\n              'weight': 1.0,\n              'name': '',\n              'list': 1\n          }\n      ]; this.addPhone = false;; this.showForm = false;; this.skipForm = true;; this.showFormFirst = false;; this.triggerInterstitial = false;; this.exitIntent = \"\"; this.paneTargetsLength = this.paneTargets.length; if (!this.getViewEmailForm() && !this.getViewPhoneForm() && this.showFormFirst && this.paneTargetsLength > 1) { this.skip(); } if (!this.getViewAnyForm() && this.showFormFirst && this.paneTargetsLength > 1) { this.skip(); } if (!this.getViewEmailForm() && !this.getViewPhoneForm() && !this.showFormFirst) { this.paneTargetsLength = this.skipForm ? this.paneTargetsLength : this.paneTargetsLength - 1; this.skipForm = true; } if (!this.getViewAnyForm() && !this.showFormFirst) { this.paneTargetsLength = this.skipForm ? this.paneTargetsLength : this.paneTargetsLength - 1; this.skipForm = true; } this.typos = Typos; for (var paramKey of this.searchParams.keys()) { this.tags += paramKey.includes('utm_') ? `,${paramKey}=${this.searchParams.get(paramKey)}` : ''; } if (this.paneTargetsLength === 1 || this.showFormFirst) { this.insertPixels(); this.chooseEmsAccount(); this.chooseConditions(); this.getAnalyticsData(); } !this.skipForm || this.showhighlightValue ? this.manipulateForm() : ''; if (this.showFormFirst) { this.blockTarget.classList.add(\"animate-fade-in\"); this.blockTarget.classList.remove(\"hidden\"); this.enable(); } if (this.exitIntent.includes('http')) { let search = window.location.search; history.replaceState(null, document.title, location.pathname + \"#!\/history\"); history.pushState(null, document.title, location.pathname + search); window.addEventListener(\"popstate\", (function() { window.location.replace(this.exitIntent); }).bind(this), true); } } manipulateForm() {  if (this.getViewPhoneForm() && this.getViewEmailForm()) { this.mode = 'email'; } else if (this.getViewPhoneForm()) { this.mode = 'phone'; this.emailDivTarget.classList.add(\"hidden\"); } else if (this.getViewEmailForm()) { this.mode = 'email'; this.phoneDivTarget.classList.add(\"hidden\"); } else if (this.getViewPushForm()) { this.mode = 'push'; this.phoneDivTarget.classList.add(\"hidden\"); this.emailDivTarget.classList.add(\"hidden\"); this.nameDivTarget.classList.add(\"hidden\"); this.soiDivTarget.classList.add(\"hidden\"); this.enable(); }  } connect() { if (this.showhighlightValue && this.showContentForm && this.getFormViews() <= 1) { if (this.emsAccount === \"\") { const endpoint = \"\"; if (endpoint !== \"\") { fetch(endpoint).then(response => response.json()).then(response => { if ('form-title' in response['content']) { this.emsAccounts = response['content']['accounts']; this.chooseEmsAccount(); this.country = response['content']['country'].toLowerCase(); this.tags += `,country=${this.country}`; this.phoneMaskOption = (this.country in this.phoneMaskOptions) ? this.phoneMaskOptions[this.country] : this.phoneMaskOptions['br']; this.phoneTarget.placeholder = this.phoneMaskOption.placeHolder; this.formTitleTarget.innerHTML = response['content']['form-title']; this.soiTarget.innerHTML = response['content']['soi']; this.submitTarget.innerHTML = response['content']['cta']; this.successMessageTarget.innerHTML = response['content']['success-message']; this.quizTarget.classList.remove('hidden'); this.observerScrollEmailForm(); this.formMessageTarget.style.height = this.paneTarget.offsetHeight + 'px'; this.formMessageTarget.children[0].style.marginTop = 0.4 * this.paneTarget.offsetHeight + 'px'; if (false && 'success-cta' in response['content'] && 'link' in response['content']) { this.linkTarget.classList.remove('hidden'); this.linkTarget.setAttribute('href', response['content']['link']); this.linkTarget.setAttribute('data-href', 'secondary_link' in response['content'] ? response['content']['secondary_link'] : response['content']['link']); this.ctaTarget.innerHTML = response['content']['success-cta']; if (!response['content']['link'].includes('\/\/senhorcursos.com')) { this.footnoteTarget.classList.remove('hidden'); } this.formMessageTarget.children[0].style.marginTop = 0.25 * this.paneTarget.offsetHeight + 'px'; waitFor(_ => (document.cookie.includes(\"avInterstitialViewed=true\"))) .then(_ => { [this.linkTarget].forEach(linkTarget => { if (linkTarget.getAttribute('href') !== linkTarget.getAttribute('data-href')) { linkTarget.setAttribute('href', linkTarget.getAttribute('data-href')); if (!linkTarget.getAttribute('data-href').includes(\"senhorcursos.com\")) { linkTarget.setAttribute('rel', 'nofollow'); } if (!linkTarget.getAttribute('data-href').includes('\/\/senhorcursos.com')) { this.footnoteTarget.classList.remove('hidden'); } } linkTarget.removeAttribute('data-href'); }) }); } if (typeof window.wildcardController === 'object') { window.wildcardController.replaceWildcards(); } }; }).catch((error) => { console.error('Error:', error); }); } } else { this.quizTarget.classList.remove('hidden'); this.observerScrollEmailForm(); this.formMessageTarget.style.height = this.paneTarget.offsetHeight + 'px'; this.formMessageTarget.children[0].style.marginTop = 0.4 * this.paneTarget.offsetHeight + 'px'; } } } readTextFile(file, callback) { var rawFile = new XMLHttpRequest(); rawFile.overrideMimeType(\"application\/json\"); rawFile.open(\"GET\", file, true); rawFile.onreadystatechange = () => { if (rawFile.readyState === 4 && rawFile.status == \"200\") { callback(rawFile.responseText); } }; rawFile.send(null); } next(event) { this.index++; this.showCurrentPane(event); } insertRudderPixel() { if (typeof window.rudderanalytics !== 'object') { var e=window.rudderanalytics=window.rudderanalytics||[]; e.methods=[\"load\",\"page\",\"track\",\"identify\",\"alias\",\"group\",\"ready\",\"reset\",\"getAnonymousId\",\"setAnonymousId\"], e.factory=function(t){ return function(){ var r=Array.prototype.slice.call(arguments); return r.unshift(t), e.push(r),e } }; for(var t=0;t<e.methods.length;t++){ var r=e.methods[t]; e[r]=e.factory(r) } e.loadJS=function(e,t){ var r=document.createElement(\"script\"); r.type=\"text\/javascript\",r.async=!0,r.src=\"https:\/\/cdn.rudderlabs.com\/v2\/rudder-analytics.min.js?transport=beacon\"; var a=document.getElementsByTagName(\"script\")[0];a.parentNode.insertBefore(r,a) }, e.loadJS(), e.load('1qlJXFMeYUmTyucX6KUVQVEjBBM', 'https:\/\/rudder.adtechpanda.com') }; } insertFacebookPixel() { if (typeof window.av?.findTag !== 'undefined') { if (window.av.findTag('fb', '', 'formConversion') !== undefined) return; }  !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('set', 'autoConfig', false, \"\"); fbq('init', \"\"); fbq('track', 'PageView');   } insertGooglePixel() {  window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);}; gtag('js', new Date()); gtag('config', \"\", {'allow_enhanced_conversions': true}); window.gtag = gtag; let gogleScript = document.createElement(\"script\"); gogleScript.type = \"text\/javascript\"; gogleScript.setAttribute('async', 'async'); gogleScript.src = \"https:\/\/www.googletagmanager.com\/gtag\/js?id=\"; this.quizTarget.appendChild(gogleScript);   } insertTiktokPixel() {  !function (w, d, t) { w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=[\"page\",\"track\",\"identify\",\"instances\",\"debug\",\"on\",\"off\",\"once\",\"ready\",\"alias\",\"group\",\"enableCookie\",\"disableCookie\"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i=\"https:\/\/analytics.tiktok.com\/i18n\/pixel\/events.js\";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};var o=document.createElement(\"script\");o.type=\"text\/javascript\",o.async=!0,o.src=i+\"?sdkid=\"+e+\"&#038;lib=\"+t;var a=document.getElementsByTagName(\"script\")[0];a.parentNode.insertBefore(o,a)}; ttq.load(\"\"); ttq.page(); }(window, document, 'ttq');   } insertTaboolaPixel() {  window._tfa = window._tfa || []; window._tfa.push({notify: 'event', name: 'page_view', id: Number(\"\")}); !function (t, f, a, x) { if (!document.getElementById(x)) { t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f); } }(document.createElement('script'), document.getElementsByTagName('script')[0], \"\/\/cdn.taboola.com\/libtrc\/unip\/\/tfa.js\", 'tb_tfa_script');   } insertMedianetPixel() {  !function(a, b, c, d, e, f, g) {if(a.ctrk)return;e=a.ctrk=function(){e.runner? e.runner.apply(e,arguments):e.q.push(arguments)}; e.q=[];f=b.createElement(c);f.async=true; f.src=d+'?d='+a.location.hostname;g=b.getElementsByTagName(c)[0]; g.parentNode.insertBefore(f,g);} (window, document,'script','https:\/\/c.pm-srv.co\/v1\/analytics.js'); ctrk('boot', \"\"); ctrk('record', 'page-land', {dnt: false});   } insertPixels() { this.insertRudderPixel(); this.insertFacebookPixel(); this.insertGooglePixel();    } chooseFrom(weights, results) { let num = Math.random(); let s = 0; let lastIndex = weights.length - 1; for (var i = 0; i < lastIndex; ++i) { s += weights[i]; if (num < s) { return results[i]; } } return results[lastIndex]; } chooseEmsAccount() { let emsAccount = this.chooseFrom( this.emsAccounts.map(account => account['weight']), this.emsAccounts ); this.emsAccount = emsAccount['name']; this.emsList = emsAccount['list']; }; prefetchLandingPages() { let link = document.createElement('link'); \/*let fbclid = this.searchParams.get('fbclid') ? '?fbclid=' + this.searchParams.get('fbclid') : ''; let gclid = this.searchParams.get('gclid') ? '?gclid=' + this.searchParams.get('gclid') : '';*\/ for (const condition of this.conditions) { let landingUrl = new URL(condition['link']); let landingPathname = landingUrl.pathname.split('\/').filter(elem => elem).join('-'); let conditionLink = `${condition['link']}`; if (!landingUrl.search) { conditionLink += window.location.search; } if (document.location.pathname[0] === '\/' && document.location.pathname[3] === '\/' && !conditionLink.includes(document.location.pathname.substr(0,3)) && !conditionLink.includes('app.')) { conditionLink = conditionLink.replace(document.location.hostname, document.location.hostname + document.location.pathname.substr(0,3)); } link = document.createElement('link'); link.rel = 'prefetch'; link.href = conditionLink; this.quizTarget.appendChild(link); link = document.createElement('link'); link.rel = 'prerender'; link.href = conditionLink; this.quizTarget.appendChild(link); } } chooseConditions() { this.conditions = []; if (typeof window.wildcardController !== 'undefined') { this.conditions = this.conditions.map(condition => ({ 'answers': condition['answers'], 'link': window.wildcardController.replace( this.chooseFrom( Object.values(condition['links']), Object.keys(condition['links']) ) ) })); } else { this.conditions = this.conditions.map(condition => ({ 'answers': condition['answers'], 'link': this.chooseFrom( Object.values(condition['links']), Object.keys(condition['links']) ) })); } this.prefetchLandingPages(); } showCurrentPane(event) { if (this.skipForm && event?.target !== undefined) { this.tags += `,answer=${event.target.innerText}`; } if (this.showFormFirst && this.index > 1 && event?.target !== undefined) { this.tags += `,answer=${event.target.innerText}`; } if (!this.showFormFirst && this.index <= this.paneTargetsLength - 1) { this.tags += `,answer=${event.target.innerText}`; } if (this.index > this.paneTargetsLength - 1) { this.submit(event); } else { this.paneTargets.forEach((element, index) => { if (index != this.index) { element.classList.add(\"hidden\"); } else { element.classList.remove(\"hidden\"); } }) } if (!this.showFormFirst && this.index === 1 && this.paneTargetsLength > 1) { this.insertPixels(); this.chooseEmsAccount(); this.chooseConditions(); this.getAnalyticsData(); } if (this.showFormFirst && this.index === 1 && this.isValid()) { this.sendForm(false); } if (this.index === this.paneTargetsLength - 1) { this.enable(); } } match(value, regexp) { const validationRegexp = (regexp instanceof RegExp ? regexp : (new RegExp(regexp))); return validationRegexp.test(value); } emptyInput(target) { target.classList.remove('border-red-700'); target.classList.remove('focus:ring-red-200'); target.classList.remove('border-green-700'); target.classList.remove('focus:ring-green-200'); target.classList.add('border-gray-300'); target.classList.add('focus:ring-gray-200'); } goodInput(target) { target.classList.remove('border-red-700'); target.classList.remove('focus:ring-red-200'); target.classList.remove('border-gray-300'); target.classList.remove('focus:ring-gray-200'); target.classList.add('border-green-700'); target.classList.add('focus:ring-green-200'); } badInput(target) { target.classList.remove('border-green-700'); target.classList.remove('focus:ring-green-200'); target.classList.remove('border-gray-300'); target.classList.remove('focus:ring-gray-200'); target.classList.add('border-red-700'); target.classList.add('focus:ring-red-200'); } checkEmail() { let split = this.emailTarget.value.toLowerCase().split(\"@\"); writeEmailOptions(this.emailTarget.value, this.emailOptionsTarget); let emailDomain = split[split.length - 1]; if (this.emailTarget.value === '' || !this.match(this.emailTarget.value, \/^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$\/i)) { this.emptyInput(this.emailTarget); this.tooltipTarget.classList.add('hidden'); } else if (emailDomain in this.typos) { this.badInput(this.emailTarget); if (this.typos[emailDomain] !== '') { this.tooltipTarget.classList.remove('hidden'); this.tipTarget.innerHTML = `Vouliez-vous dire ${this.typos[emailDomain]}? Touchez pour corriger`; } } else { this.goodInput(this.emailTarget); this.tooltipTarget.classList.add('hidden'); } } fixEmail() { let split = this.emailTarget.value.toLowerCase().split(\"@\"); let emailDomain = split[split.length - 1]; this.emailTarget.value = this.emailTarget.value.replace(emailDomain, this.typos[emailDomain]); this.checkEmail(); this.enable(); } checkName() { if (this.nameTarget.value === '') { this.emptyInput(this.nameTarget); } else { this.goodInput(this.nameTarget); } } checkPhone() { if (this.phoneTarget.value != \"\") { this.phoneTarget.value = phoneNumberMask(this.phoneTarget.value, this.phoneMaskOption); } } autocomplete() { if (!this.autocompleted && this.emailTarget.value.endsWith('@g')) { this.emailTarget.value += 'mail.com'; this.autocompleted = true; } } isValid() { if (document.getElementById('doubleoptin') !== null) { return document.getElementById('optin').checked && document.getElementById('doubleoptin').checked; } if (this.mode === 'phone' && this.showhighlightValue) { return ( this.getPhoneNumberAreaCod().length > 5 && this.nameTarget.value !== '' && this.checkboxTarget.checked ); } if (this.mode === 'phone' && this.phoneTarget.value === '') { return true; } if (this.mode === 'email' && this.emailTarget.value === '' && !this.showhighlightValue) { return true; } if (this.mode === 'phone') { return ( this.getPhoneNumberAreaCod().length > 5 && this.nameTarget.value !== '' && this.checkboxTarget.checked ); } if (this.mode === 'push') { return true; } let split = this.emailTarget.value.toLowerCase().split(\"@\"); let emailDomain = split[split.length - 1]; if (this.mode === 'email' && this.emailTarget.value !== '' && !this.showhighlightValue) { if (!this.match(this.emailTarget.value, \/^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$\/i) || emailDomain in this.typos) { return true; } } return ( this.emailTarget.value !== '' && this.nameTarget.value !== '' && this.checkboxTarget.checked && this.match( this.emailTarget.value, \/^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$\/i ) && !(emailDomain in this.typos) ); } enable() { this.submitTarget.disabled = !this.isValid(); } identify() { if (typeof window.rudderanalytics === 'object') { window.rudderanalytics.identify( this.emailTarget.value.toLowerCase(), { email: this.emailTarget.value.toLowerCase(), name: this.nameTarget.value, ip: this.cf?.analyticsIp || '', host: this.hostname, quiz: this.quiz, country: this.country, answers: this.tags, utm_source: this.searchParams.get('utm_source') || localStorage.getItem('analytics_utm_source'), utm_medium: this.searchParams.get('utm_medium') || localStorage.getItem('analytics_utm_medium'), utm_campaign: this.searchParams.get('utm_campaign') || localStorage.getItem('analytics_utm_campaign'), utm_content: this.searchParams.get('utm_content') || localStorage.getItem('analytics_utm_content'), utm_term: this.searchParams.get('utm_term') || localStorage.getItem('analytics_utm_term'), fbclid: this.searchParams.get('fbclid') || localStorage.getItem('avFbclid'), gclid: this.searchParams.get('gclid') || localStorage.getItem('avGclid'), fb_pixel: '', aw_pixel: '', ems_account: this.emsAccount, domain: window.location.host, ems_list: String(this.emsList), phone: this.getPhoneNumberAreaCod(), cf_city: this.cf?.analyticsCity || '', cf_country: this.cf?.analyticsCountry || '', cf_region: this.cf?.analyticsRegion || '', cf_regionCode: this.cf?.analyticsCode || '' } ); if (window.complianceFlags && window.complianceFlags['necessary']) { fetch('https:\/\/id.adtechpanda.com\/new', { method: 'POST', body: JSON.stringify({ email: this.emailTarget.value.toLowerCase() }), headers: {'accept': 'application\/json'}, mode: 'no-cors' } ).then(response => { }).catch(error => { }); } } } trackFacebookPixel() { if (typeof window.av?.findTag !== 'undefined') { if (window.av.findTag('fb', '', 'formConversion') !== undefined) { window.av.triggerTags('formConversion', { email: this.emailTarget.value.toLowerCase(), firstName: this.nameTarget.value.split(' ')[0], lastName: this.nameTarget.value.split(' ').slice(1).join(' '), phoneNumber: this.getPhoneNumberAreaCod().replace('+', '') }, ['fb']); return; }; } if (typeof window.fbq === 'function') { window.fbq('track', 'Lead', {tags: this.tags}); }; } track() {  if (document.cookie.includes(\"quizLeadEvent=true\")) { return true; } this.setCookie(\"quizLeadEvent\", \"true\", 1\/192); this.trackFacebookPixel(); if (typeof window.gtag === 'function') { window.gtag('set', 'user_data', { \"email\": this.emailTarget.value.toLowerCase(), \"phone_number\": this.getPhoneNumberAreaCod() }); window.gtag('event', 'conversion', {'send_to': ``}); }; if (typeof window.ttq === 'object') { window.ttq.track('SubmitForm'); }; if (typeof window._tfa === 'object') { window._tfa.push({notify: 'event', name: 'lead', id: Number(\"\")}); }; if (typeof window.ctrk === 'function') { window.ctrk('record', 'Lead', { dnt: false }); };   } chooseLandingPage() { for (let condition of this.conditions) { if (condition['answers'].every( answer => this.replaceAll(this.replaceAll(this.tags, '\u2013', '-'), ' ', '').includes(this.replaceAll(this.replaceAll(answer, '\u2013', '-'), ' ', '')) )) { this.landingPage = condition['link']; this.landingUrl = new URL(this.landingPage); this.landingPathname = this.landingUrl.pathname.split('\/').filter(elem => elem).join('-'); break; }; }; if (typeof this.landingPage === 'undefined' && document.location.pathname[0] === '\/' && document.location.pathname[3] !== '\/') { this.landingPage = this.conditions[0]['link']; this.landingUrl = new URL(this.landingPage); this.landingPathname = this.landingUrl.pathname.split('\/').filter(elem => elem).join('-'); } if (typeof this.landingPage === 'undefined' && document.location.pathname[0] === '\/' && document.location.pathname[3] === '\/') { this.landingPage = !this.conditions[0]['link'].includes(document.location.pathname.substr(0,3)) && !this.conditions[0]['link'].includes('app.') ? this.conditions[0]['link'].replace(document.location.hostname, document.location.hostname + document.location.pathname.substr(0,3)) : this.conditions[0]['link']; this.landingUrl = new URL(this.landingPage); this.landingPathname = this.landingUrl.pathname.split('\/').filter(elem => elem).join('-'); } } redirect() { \/*let fbclid = this.searchParams.get('fbclid') ? '?fbclid=' + this.searchParams.get('fbclid') : ''; let gclid = this.searchParams.get('gclid') ? '?gclid=' + this.searchParams.get('gclid') : '';*\/ let url = `${this.landingPage}`; if (!this.landingUrl.search) { url += window.location.search; } this.formIgnored() ? this.setViewAnyForm(false) : ''; if (this.triggerInterstitial) { this.triggerTarget.href = url.replace(\"\/quiz.\", \"\/\"); this.triggerTarget.click(); setTimeout(() => { this.unloaderTargets.forEach((element, index) => { element.classList.remove(\"hidden\"); }); this.loaderTargets.forEach((element, index) => { element.classList.add(\"hidden\"); }); }, 1000); } else {  window.location.href = url;   } } skip() { if ((false) &&(window.km2RewardedExists) && (window.km2RewardedReady) && (!window.km2RewardedGranted)) { window.km2MakeRewardedVisible( function() { if (!this.showFormFirst) { this.bodyTarget.classList.add('hidden'); this.footerTarget.classList.add('hidden'); } }.bind(this), function() { this.skip(); }.bind(this) ); this.skipperTarget.disabled = true; this.skipperTarget.innerText = \"\"; this.triggerInterstitial = false; } else if (!this.showFormFirst) { this.chooseLandingPage(); this.identify(); this.track(); this.redirect(); } else { this.next(); } } submit(event) { this.unloaderTargets.forEach((element, index) => { element.classList.add(\"hidden\"); }); this.loaderTargets.forEach((element, index) => { element.classList.remove(\"hidden\"); }); this.chooseLandingPage(); if (this.skipForm) { this.identify(); this.track(); this.redirect(); } else { this.sendForm(true); } } submitEmailForm(event) { this.sendForm(); } sendForm(redirect=false) { this.identify(); let formData = new FormData(); formData.set('email', this.emailTarget.value.toLowerCase()); formData.set('name', this.nameTarget.value); formData.set('phone', this.getPhoneNumberAreaCod()); formData.set('tags', this.tags); formData.set(`p[${this.emsList}]`, this.emsList); fetch(`https:\/\/webhooks.adtechpanda.com\/quiz\/${this.emsAccount}`, { method: 'POST', body: formData, headers: {}, mode: 'no-cors', } ).then(response => { this.track(); this.emailTarget.value.length > 5 ? this.setViewEmailForm(false) : ''; this.getPhoneNumberAreaCod().length > 5 ? this.setViewPhoneForm(false) : ''; if (redirect) { this.redirect(); } else { !this.showFormFirst ? this.successMessage() : ''; } }).catch(error => { if (redirect) { this.redirect(); } else { !this.showFormFirst ? this.successMessage() : ''; } }); } successMessage() { this.formDataTarget.classList.add(\"hidden\"); this.formMessageTarget.classList.remove(\"hidden\"); let event = new CustomEvent(\"sendPulseTriggerPrompt\"); window.dispatchEvent(event); this.setFormViews(0); } getAnalyticsData() { this.cf = JSON.parse(sessionStorage.getItem(\"wildcardData\")); if (sessionStorage.getItem(\"wildcardCountry\") === null) { fetch('https:\/\/tracker.adtechpanda.com\/', { method: 'GET', headers: {'accept': 'application\/json'} }).then(response => response.json()).then(data => { const wildcardData = { analyticsIp: data.ip, analyticsCity: data.city, analyticsRegion: data.region, analyticsCode: data.regionCode, analyticsCountry: data.country }; sessionStorage.setItem(\"wildcardData\", JSON.stringify(wildcardData)); sessionStorage.setItem(\"wildcardCountry\", data.country); sessionStorage.setItem(\"wildcardRegion\", data.regionCode); sessionStorage.setItem(\"wildcardCity\", data.city); sessionStorage.setItem(\"wildcardState\", data.region); this.cf = wildcardData; }); } } getPhoneNumberAreaCod() { return '+'+(''+(this.phoneMaskOption.areaCod+this.phoneTarget.value)).replace(\/\\D\/g, ''); } observerScrollEmailForm() { const observer = new IntersectionObserver(entries => { entries.forEach(entry => { if (entry.isIntersecting) { this.formViews === -1 ? this.addAnimate() : ''; this.setFormViews(this.formViews + 1); } else { this.removeAnimate(); } }); }); observer.observe(this.submitTarget); } addAnimate() { if (!this.showedHighlight) { this.inProcessAnimate = true; this.formBoxBackGroundTarget.style.animation = \"none\"; this.formBoxBackGroundTarget.classList.remove('animate-fast-fade-out'); this.formBoxBackGroundTarget.classList.add('animate-fade-in'); this.formBoxTarget.classList.add('relative'); this.formBoxTarget.classList.add('animate-show-highlight'); setTimeout(() => { this.formBoxBackGroundTarget.style.animation = \"\"; this.formBoxBackGroundTarget.classList.remove('hidden'); this.showedHighlight = true; setTimeout(() => this.removeAnimate(), 5000); }, 10); } } removeAnimate() { if (this.inProcessAnimate) { this.formBoxBackGroundTarget.style.animation = \"none\"; this.formBoxBackGroundTarget.classList.remove('animate-fade-in'); this.formBoxBackGroundTarget.classList.add('animate-fade-out-quickly'); this.formBoxTarget.style.animation = \"none\"; this.formBoxTarget.classList.add('animate-hide-highlight'); this.formBoxTarget.classList.remove('animate-show-highlight'); this.formBoxTarget.classList.remove('relative'); setTimeout(() => { this.formBoxBackGroundTarget.style.animation = \"\"; this.formBoxTarget.style.animation = \"\"; setTimeout(() => { this.formBoxBackGroundTarget.classList.add('hidden'); this.inProcessAnimate = false; }, 1000); }, 10); } } setCookie(key, value, days) { let date = new Date(); date.setTime(date.getTime() + parseInt(days * 24 * 60 * 60 * 1000)); document.cookie = key + \"=\" + value + \";expires=\" + date.toUTCString() + \";domain=.senhorcursos.com;path=\/\"; } setViewEmailForm(view) { localStorage.setItem(\"viewEmailForm\", view); this.setCookie(\"viewEmailForm\", String(view), 28); } getViewEmailForm() {  if (document.cookie.includes(\"viewEmailForm=false\")) { return false; } return ((localStorage.getItem(\"viewEmailForm\") || 'true') === 'true'); } setViewPhoneForm(view) { localStorage.setItem(\"viewPhoneForm\", view); this.setCookie(\"viewPhoneForm\", String(view), 28); } getViewPhoneForm() {  if (document.cookie.includes(\"viewPhoneForm=false\")) { return false; } return ((localStorage.getItem(\"viewPhoneForm\") || 'true') === 'true'); } getViewPushForm() { \/*if (typeof navigator.permissions === \"undefined\") { return false; } let permissionStatus = await navigator.permissions.query({name:'push', userVisibleOnly:true}); return (permissionStatus.state === 'granted' || permissionStatus.state === 'denied');*\/ return false; } setViewAnyForm(view) { localStorage.setItem(\"viewAnyForm\", view); this.setCookie(\"viewAnyForm\", String(view), 14); } getViewAnyForm() { if (document.cookie.includes(\"viewAnyForm=false\")) { return false; } return ((localStorage.getItem(\"viewAnyForm\") || 'true') === 'true'); } getFormViews() { this.formViews = parseInt(sessionStorage.getItem(\"quizFormViews\")) >= 1 ? parseInt(sessionStorage.getItem(\"quizFormViews\")) : 0; return this.formViews; } setFormViews(views) { sessionStorage.setItem(\"quizFormViews\", views); } formIgnored() { return (!this.skipForm && this.showForm && Math.max(this.emailTarget.value.length, this.getPhoneNumberAreaCod().length) < 5); } }); <\/script><div data-controller=\"quiz\" data-quiz-target=\"quiz\" data-quiz-showhighlight-value=\"true\" class=\"hidden sm:hidden   py-5 my-10 shadow-lg\">    \n  <div class=\"w-full p-2 md:p-4\" data-quiz-target=\"formBox\" style=\"z-index: 10;\">\n        <div class=\"flex flex-col rounded-lg p-4 w-full my-4 border bg-white shadow-lg\">\n      <div data-quiz-target=\"formData pane\" class=\"flex flex-col\">      \n        <h2 data-quiz-target=\"formTitle\" class=\"text-gray-900 text-base font-medium title-font mb-5 text-center\">\n                  <\/h2>\n        <div data-quiz-target=\"emailDiv\" class=\"text-left relative mb-4\">\n          <label for=\"email\" class=\"px-2 leading-7 text-sm text-gray-600 text-left\">\n            E-mail          <\/label>\n          <div data-quiz-target=\"tooltip\" style=\"top: 0px; right: 0px;\" class=\"hidden absolute mx-2\">\n            <button data-action=\"quiz#fixEmail\" class=\"bg-black text-white text-xs rounded py-1 px-4 right-0 bottom-full\">\n                <span data-quiz-target=\"tip\"><\/span>\n              <svg class=\"absolute text-black h-2 w-full left-0 top-full\" x=\"0px\" y=\"0px\" viewbox=\"0 0 255 255\" xml:space=\"preserve\"><polygon class=\"fill-current\" points=\"0,0 127.5,127.5 255,0\"\/><\/svg>\n            <\/button>\n          <\/div>\n          <input data-quiz-target=\"email\" data-action=\"quiz#enable quiz#checkEmail\" list=\"email-options\" type=\"email\" name=\"email\" placeholder=\"exemple@gmail.com\" class=\"w-full mt-1 bg-white rounded-lg border border-gray-300 focus:ring-2 focus:ring-gray-200 text-base outline-none text-gray-700 py-1 px-3 leading-8 transition-colors duration-200 ease-in-out\">\n          <datalist data-quiz-target=\"emailOptions\" id=\"email-options\"><\/datalist>\n        <\/div>  \n        <div data-quiz-target=\"phoneDiv\" class=\"grid grid-cols-3 gap-6 mb-4\">\n          <div class=\"col-span-3 text-left\">\n            <label for=\"phone\" class=\"px-2 leading-7 text-sm text-gray-600 text-left\">\n              Num\u00e9ro de t\u00e9l\u00e9phone            <\/label>\n            <div class=\"mt-1 flex rounded shadow\">\n              \n              <input data-quiz-target=\"phone\" data-action=\"quiz#enable quiz#checkPhone\" type=\"phone\" name=\"phone\" id=\"phone\" maxlength=\"16\" class=\"rounded-none rounded-r-md w-full bg-white border border-gray-300 focus:border-gray-500 focus:ring-2 focus:ring-gray-200 text-base outline-none text-gray-700 py-1 px-3 leading-8 transition-colors duration-200 ease-in-out\">\n            <\/div>\n          <\/div>\n        <\/div>\n        <div data-quiz-target=\"nameDiv\" class=\"text-left relative mb-4\">\n          <label for=\"name\" class=\"px-2 leading-7 text-sm text-gray-600 text-left\">\n            Pr\u00e9nom          <\/label>\n          <input data-quiz-target=\"name\" data-action=\"quiz#enable quiz#checkName\" type=\"text\" id=\"name\" name=\"name\" class=\"w-full mt-1 bg-white rounded-lg border border-gray-300 focus:border-gray-500 focus:ring-2 focus:ring-gray-200 text-base outline-none text-gray-700 py-1 px-3 leading-8 transition-colors duration-200 ease-in-out\">\n        <\/div>\n        \n        <div data-quiz-target=\"soiDiv\" class=\"text-left relative mb-4 flex justify-start items-center\">\n          <input data-quiz-target=\"checkbox\" data-action=\"quiz#enable\" type=\"checkbox\" id=\"optin\" style=\"min-width: 25px;\" class=\"w-4 h-4 transition duration-300 rounded focus:ring-2 focus:ring-offset-0 focus:outline-none focus:ring-green-200\" \/>\n          <label data-quiz-target=\"soi\" for=\"optin\" class=\"ml-3 text-sm text-gray-600 text-left\">\n                      <\/label>\n        <\/div>\n                \n        <button aria-label=\"\" disabled data-quiz-target=\"submit\" data-action='quiz#submitEmailForm analytics#trackEmailForm' data-analytics-label=\"submitButton\" class=\"border-0 py-3 px-8 focus:outline-none rounded-lg text-lg disabled:opacity-50 block shadow-lg\">\n                  <\/button>\n      <\/div>\n      <div data-quiz-target=\"formMessage\" class=\"hidden\">\n        <div data-quiz-target=\"successMessage\" class=\"w-full  px-4 py-3 rounded relative text-center\">\n                  <\/div>\n        <p style=\"font-size: 10px;\" data-quiz-target=\"footnote\" class=\"hidden mb-4 text-xs mt-3 text-center sm:text-right\">\n          Je serai redirig\u00e9 vers un autre site Web        <\/p>\n      <\/div>\n    <\/div>\n  <\/div> \n    <div data-quiz-target=\"formBoxBackGround\" class=\"dark-background hidden\" style=\"z-index: 0;\"><\/div> \n<\/div>  <\/div>\n\n<\/div>\n\n<\/div><!--landing--><div class=\"mx-5 sm:mx-0 prose leading-relaxed text-lg mb-5 text-left wp-paragraph\">\n<p>La menuiserie n&#039;est pas seulement un loisir : c&#039;est une profession appr\u00e9ci\u00e9e. Quiconque s&#039;y adonne <strong>cours de menuiserie de base<\/strong> apprenez tout, depuis l&#039;utilisation d&#039;outils manuels jusqu&#039;aux techniques simples d&#039;assemblage de meubles. <\/p>\n<\/div><div class=\"mx-5 sm:mx-0 prose leading-relaxed text-lg mb-5 text-left wp-paragraph\">\n<p>D\u00e9j\u00e0 un <strong>cours de meubles sur mesure<\/strong> enseigne comment cr\u00e9er des pi\u00e8ces sur mesure, tr\u00e8s recherch\u00e9es dans les maisons et les appartements.<\/p>\n<\/div><div class=\"mx-5 sm:mx-0 prose leading-relaxed text-lg mb-5 text-left wp-paragraph\">\n<p>De plus, de nombreuses formations proposent des modules suppl\u00e9mentaires de <strong>menuiserie en ligne<\/strong>, l&#039;entrepreneuriat et la tarification. <\/p>\n<\/div><div class=\"mx-5 sm:mx-0 prose text-left mb-5\">\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<\/div><div class=\"mx-5 sm:mx-0 prose text-left mb-5\">\n<figure class=\"wp-block-pullquote has-text-align-center has-background has-large-font-size\" style=\"background-color:#8dd2fcb5;border-radius:0px;border-style:dotted;font-style:normal;font-weight:100\"><blockquote><p><strong>J&#039;ai appris \u00e0 partir de z\u00e9ro et aujourd&#039;hui je fabrique mes propres meubles<\/strong><\/p><cite>Carlos, 32 ans.<\/cite><\/blockquote><\/figure>\n<\/div><div class=\"mx-5 sm:mx-0 prose text-left mb-5\">\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile is-vertically-aligned-center is-style-default\" style=\"grid-template-columns:35% auto\"><figure class=\"wp-block-media-text__media\"><img width=\"683\" height=\"1024\" src=\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2025\/09\/marceneiro-683x1024.jpg\" alt=\"\" class=\"wp-image-14639 size-large\" srcset=\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2025\/09\/marceneiro-683x1024.jpg 683w, https:\/\/senhorcursos.com\/wp-content\/uploads\/2025\/09\/marceneiro-200x300.jpg 200w, https:\/\/senhorcursos.com\/wp-content\/uploads\/2025\/09\/marceneiro-768x1152.jpg 768w, https:\/\/senhorcursos.com\/wp-content\/uploads\/2025\/09\/marceneiro-8x12.jpg 8w, https:\/\/senhorcursos.com\/wp-content\/uploads\/2025\/09\/marceneiro.jpg 1024w\" sizes=\"(max-width: 683px) 100vw, 683px\" \/><\/figure><div class=\"wp-block-media-text__content\"><div class=\"mx-5 sm:mx-0 prose text-left mb-5\">\n<blockquote class=\"wp-block-quote\" style=\"font-size:17px\"><p>J&#039;ai toujours aim\u00e9 travailler avec mes mains, mais je n&#039;avais jamais travaill\u00e9 le bois. J&#039;ai fait un <strong>cours de menuiserie pour d\u00e9butants<\/strong> et bient\u00f4t j&#039;ai r\u00e9ussi \u00e0 assembler une simple biblioth\u00e8que ici \u00e0 la maison.<\/p><p>Au fil du temps, j&#039;ai commenc\u00e9 \u00e0 y prendre go\u00fbt. J&#039;ai ensuite suivi un module sur <strong>meubles sur mesure en ligne<\/strong> J&#039;ai appris des techniques plus avanc\u00e9es. Aujourd&#039;hui, je r\u00e9alise des pi\u00e8ces pour mes proches et j&#039;envisage d&#039;ouvrir mon propre atelier.<\/p><p>Si je pouvais apprendre avec juste un cahier et quelques outils de base, tout le monde le pourrait.<\/p><\/blockquote>\n<\/div><\/div><\/div>\n<\/div><div class=\"mx-5 sm:mx-0 prose text-left mb-5\">\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<\/div><div class=\"mx-5 sm:mx-0 prose leading-relaxed text-lg mb-5 text-left wp-paragraph\">\n<p>C&#039;est pourquoi de plus en plus de gens recherchent <strong>cours de menuiserie en ligne<\/strong> comme alternative pour changer votre vie ou compl\u00e9ter vos revenus.<\/p>\n<\/div><div class=\"mx-5 sm:mx-0 prose text-left mb-5\">\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<\/div><!--advertisement--><div class=\"mx-5 sm:mx-0 sm:text-3xl text-2xl font-medium title-font mb-4 text-gray-900 text-left\">\n<h2 id=\"h-perguntas-frequentes-sobre-cursos-de-marcenaria\">Questions fr\u00e9quemment pos\u00e9es sur les cours de menuiserie<\/h2>\n<\/div><div class=\"wp-block-lazyblock-accordion lazyblock-accordion-ZkS9gx\"><div data-controller=\"accordion\" class=\"mx-5 sm:mx-0 rounded mt-10 mb-20\">\n\t<div>\n                    <h2>\n                <button data-accordion-target=\"title\" data-accordion-index=\"0\" data-action=\"accordion#update\" type=\"button\" class=\"h-24 sm:h-16 flex justify-between items-center py-5 w-full font-medium text-left text-gray-900 rounded-t-xl border-b border-gray-200 dark:border-gray-700 dark:text-white\">\n                    <span class=\"w-4\/5\" data-accordion-index=\"0\">\n                        Ai-je besoin d\u2019une exp\u00e9rience pr\u00e9alable pour commencer ?                    <\/span>\n                    <svg data-accordion-index=\"0\" data-accordion-target=\"icon\" class=\"w-6 h-6 rotate-180 shrink-0\" fill=\"currentColor\" viewbox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\"><\/path><\/svg>\n                <\/button>\n            <\/h2>\n            <div data-accordion-target=\"description\" class=\"animate-fade-in-down\">\n                <div class=\"py-5 border-b border-gray-200 dark:border-gray-70 text-left\">\n                    <p class=\"mb-2 text-gray-500 dark:text-gray-400\">\n                        Non. Il existe des cours de menuiserie en ligne con\u00e7us pour ceux qui n&#039;ont jamais travaill\u00e9 le bois. Pour les d\u00e9butants, le contenu commence de z\u00e9ro et explique tout, des essences de bois \u00e0 l&#039;utilisation des outils manuels.                    <\/p>\n                <\/div>\n            <\/div>\n                    <h2>\n                <button data-accordion-target=\"title\" data-accordion-index=\"1\" data-action=\"accordion#update\" type=\"button\" class=\"h-24 sm:h-16 flex justify-between items-center py-5 w-full font-medium text-left text-gray-900 rounded-t-xl border-b border-gray-200 dark:border-gray-700 dark:text-white\">\n                    <span class=\"w-4\/5\" data-accordion-index=\"1\">\n                        Les cours sont-ils vraiment pratiques ?                    <\/span>\n                    <svg data-accordion-index=\"1\" data-accordion-target=\"icon\" class=\"w-6 h-6 rotate-180 shrink-0\" fill=\"currentColor\" viewbox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\"><\/path><\/svg>\n                <\/button>\n            <\/h2>\n            <div data-accordion-target=\"description\" class=\"animate-fade-in-down\">\n                <div class=\"py-5 border-b border-gray-200 dark:border-gray-70 text-left\">\n                    <p class=\"mb-2 text-gray-500 dark:text-gray-400\">\n                        Oui. Les cours expliquent \u00e9tape par \u00e9tape comment d\u00e9couper, assembler et finir des pi\u00e8ces. De nombreux cours incluent des projets concrets, comme l&#039;assemblage de tables, d&#039;\u00e9tag\u00e8res et m\u00eame de meubles sur mesure.                    <\/p>\n                <\/div>\n            <\/div>\n                    <h2>\n                <button data-accordion-target=\"title\" data-accordion-index=\"2\" data-action=\"accordion#update\" type=\"button\" class=\"h-24 sm:h-16 flex justify-between items-center py-5 w-full font-medium text-left text-gray-900 rounded-t-xl border-b border-gray-200 dark:border-gray-700 dark:text-white\">\n                    <span class=\"w-4\/5\" data-accordion-index=\"2\">\n                        Est-ce que je re\u00e7ois un certificat ?                    <\/span>\n                    <svg data-accordion-index=\"2\" data-accordion-target=\"icon\" class=\"w-6 h-6 rotate-180 shrink-0\" fill=\"currentColor\" viewbox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\"><\/path><\/svg>\n                <\/button>\n            <\/h2>\n            <div data-accordion-target=\"description\" class=\"animate-fade-in-down\">\n                <div class=\"py-5 border-b border-gray-200 dark:border-gray-70 text-left\">\n                    <p class=\"mb-2 text-gray-500 dark:text-gray-400\">\n                        Dans la plupart des cas, oui. Une formation en ligne en menuiserie avec certificat permet de valider vos comp\u00e9tences, que vous cherchiez un emploi ou des clients.                    <\/p>\n                <\/div>\n            <\/div>\n                    <h2>\n                <button data-accordion-target=\"title\" data-accordion-index=\"3\" data-action=\"accordion#update\" type=\"button\" class=\"h-24 sm:h-16 flex justify-between items-center py-5 w-full font-medium text-left text-gray-900 rounded-t-xl border-b border-gray-200 dark:border-gray-700 dark:text-white\">\n                    <span class=\"w-4\/5\" data-accordion-index=\"3\">\n                        Existe-t-il un cours de menuiserie gratuit ?                    <\/span>\n                    <svg data-accordion-index=\"3\" data-accordion-target=\"icon\" class=\"w-6 h-6 rotate-180 shrink-0\" fill=\"currentColor\" viewbox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\"><\/path><\/svg>\n                <\/button>\n            <\/h2>\n            <div data-accordion-target=\"description\" class=\"animate-fade-in-down\">\n                <div class=\"py-5 border-b border-gray-200 dark:border-gray-70 text-left\">\n                    <p class=\"mb-2 text-gray-500 dark:text-gray-400\">\n                        Oui, il existe des options gratuites en ligne. Ce sont g\u00e9n\u00e9ralement des formations courtes, id\u00e9ales pour ceux qui souhaitent s&#039;initier \u00e0 la menuiserie de base. Par la suite, il est judicieux d&#039;investir dans des formations compl\u00e8tes pour approfondir vos connaissances.                    <\/p>\n                <\/div>\n            <\/div>\n                    <h2>\n                <button data-accordion-target=\"title\" data-accordion-index=\"4\" data-action=\"accordion#update\" type=\"button\" class=\"h-24 sm:h-16 flex justify-between items-center py-5 w-full font-medium text-left text-gray-900 rounded-t-xl border-b border-gray-200 dark:border-gray-700 dark:text-white\">\n                    <span class=\"w-4\/5\" data-accordion-index=\"4\">\n                        Quel \u00e9quipement est n\u00e9cessaire ?                    <\/span>\n                    <svg data-accordion-index=\"4\" data-accordion-target=\"icon\" class=\"w-6 h-6 rotate-180 shrink-0\" fill=\"currentColor\" viewbox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\"><\/path><\/svg>\n                <\/button>\n            <\/h2>\n            <div data-accordion-target=\"description\" class=\"animate-fade-in-down\">\n                <div class=\"py-5 border-b border-gray-200 dark:border-gray-70 text-left\">\n                    <p class=\"mb-2 text-gray-500 dark:text-gray-400\">\n                        Vous pouvez commencer avec des outils manuels, puis passer aux outils \u00e9lectriques. Une bonne formation vous apprendra \u00e9galement quel \u00e9quipement acheter en priorit\u00e9, \u00e9vitant ainsi des d\u00e9penses inutiles.                    <\/p>\n                <\/div>\n            <\/div>\n                    <h2>\n                <button data-accordion-target=\"title\" data-accordion-index=\"5\" data-action=\"accordion#update\" type=\"button\" class=\"h-24 sm:h-16 flex justify-between items-center py-5 w-full font-medium text-left text-gray-900 rounded-t-xl border-b border-gray-200 dark:border-gray-700 dark:text-white\">\n                    <span class=\"w-4\/5\" data-accordion-index=\"5\">\n                        Est-ce que cela fonctionne pour ceux qui veulent d\u00e9marrer leur propre entreprise ?                    <\/span>\n                    <svg data-accordion-index=\"5\" data-accordion-target=\"icon\" class=\"w-6 h-6 rotate-180 shrink-0\" fill=\"currentColor\" viewbox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\"><\/path><\/svg>\n                <\/button>\n            <\/h2>\n            <div data-accordion-target=\"description\" class=\"animate-fade-in-down\">\n                <div class=\"py-5 border-b border-gray-200 dark:border-gray-70 text-left\">\n                    <p class=\"mb-2 text-gray-500 dark:text-gray-400\">\n                        Oui. De nombreux cours abordent tous les aspects, de la tarification aux strat\u00e9gies de vente de meubles sur mesure et de services de menuiserie. Gr\u00e2ce \u00e0 une formation de menuiserie en ligne, vous pouvez d\u00e9sormais proposer des travaux sur mesure et attirer une client\u00e8le locale.                    <\/p>\n                <\/div>\n            <\/div>\n        \t<\/div>\n<\/div><\/div><!--advertisement--><div class=\"mx-5 sm:mx-0 sm:text-3xl text-2xl font-medium title-font mb-4 text-gray-900 text-left\">\n<h2 id=\"h-conclusao\">Conclusion<\/h2>\n<\/div><div class=\"mx-5 sm:mx-0 prose leading-relaxed text-lg mb-5 text-left wp-paragraph\">\n<p>Un <strong>cours de menuiserie en ligne<\/strong> C\u2019est bien plus qu\u2019un simple apprentissage : c\u2019est un investissement dans un vrai m\u00e9tier et un avenir plus stable. <\/p>\n<\/div><div class=\"mx-5 sm:mx-0 prose leading-relaxed text-lg mb-5 text-left wp-paragraph\">\n<p>Cela ouvre les portes pour travailler sur des projets de <strong>menuiserie de base<\/strong>, <strong>meubles sur mesure<\/strong> et m\u00eame dans des zones plus vastes de la <strong>menuiserie en ligne<\/strong>.<\/p>\n<\/div><div class=\"mx-5 sm:mx-0 prose leading-relaxed text-lg mb-5 text-left wp-paragraph\">\n<p>Et si vous souhaitez \u00e9largir encore plus vos possibilit\u00e9s, vous pouvez \u00e9galement compl\u00e9ter votre formation par une <strong>cours de m\u00e9canique en ligne<\/strong>, devenant un professionnel polyvalent et beaucoup plus comp\u00e9titif sur le march\u00e9.<\/p>\n<\/div><div class=\"wp-block-lazyblock-cta lazyblock-cta-F16fV\">\n  <section class=\"cta mx-5 sm:mx-0 text-gray-600 body-font my-10 border-gray-200 border-b border-l border-r sm:border-0\">\n    <div class=\"h-1 bg-gray-200 rounded overflow-hidden\">\n      <div class=\"w-24 h-full\"><\/div>\n    <\/div>\n    <div class=\"container px-5 pt-6 pb-6 mx-auto flex flex-wrap\" data-anchor-target=\"lazyBlock\">    \n    \n              <a class=\"flex flex-wrap content-center w-full mb-4 md:hidden\" href=\"https:\/\/senhorcursos.com\/es\/vagas-de-cursos-de-mecanico\/\"  data-analytics-label=\"ctaImage\" data-action=\"analytics#trackCTA\" aria-label=\"M\u00e9canicien : tout sur le m\u00e9tier et les cours en ligne\">\n          <div class=\"m-auto float-none\">\n            <img loading=\"lazy\" src=\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2023\/02\/image-186.png\" alt=\"\">\n          <\/div>\n        <\/a>\n            <h2 class=\"w-full sm:text-3xl text-2xl text-gray-900 font-medium title-font mb-2 text-center md:text-left md:w-2\/5\">\n        <a href=\"https:\/\/senhorcursos.com\/es\/vagas-de-cursos-de-mecanico\/\" data-analytics-label=\"ctaTitle\" data-action=\"analytics#trackCTA\" aria-label=\"M\u00e9canicien : tout sur le m\u00e9tier et les cours en ligne\">\n            M\u00e9canicien : tout sur le m\u00e9tier et les cours en ligne        <\/a>\n      <\/h2>\n      <div class=\"w-full md:w-3\/5 md:pl-6\">\n        <p class=\"text-center md:text-left leading-relaxed text-base\">\n            Plusieurs postes de m\u00e9canicien sont actuellement \u00e0 pourvoir. Ils requi\u00e8rent peu de qualifications et peuvent \u00eatre un excellent moyen de r\u00e9int\u00e9grer le march\u00e9 du travail\u00a0! En savoir plus.        <\/p>\n        <div class=\"flex mt-6 w-full flex-1 justify-center ml-auto md:mt-4 md:justify-start\" style=\"font-weight: bold;\">\n          <a class=\"inline-flex items-center\" href=\"https:\/\/senhorcursos.com\/es\/vagas-de-cursos-de-mecanico\/\"  data-analytics-label=\"ctaButton\" data-action=\"analytics#trackCTA\" >\n            Continuer la lecture            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"w-4 h-4 ml-2\" viewbox=\"0 0 24 24\">\n              <path d=\"M5 12h14M12 5l7 7-7 7\"><\/path>\n            <\/svg>\n          <\/a>\n        <\/div>\n      <\/div>  \n          \n    <\/div>\n      <script type=\"module\"> function waitFor(conditionFunction) { const poll = resolve => { if(conditionFunction()) resolve(); else setTimeout(_ => poll(resolve), 400); }; return new Promise(poll); } import { Application, Controller } from \"\/wp-content\/themes\/twentytwentyone\/assets\/js\/stimulus.min.js\"; let Stimulus = Application.start(); Stimulus.register(\"anchor\", class extends Controller { static get targets() { return [ \"lazyBlock\", \"lazyBlockAnchor\" ]; } initialize() { this.active = false; this.passed = false; this.closed = false; this.anchorViews = 0; this.boundOnShowAnchor = this.onShowAnchor.bind(this); window.anchorReady = window.anchorReady || false; waitFor(_ => (window.scrollY > this.getHeightBlock() && !this.active)) .then(_ => { !window.anchorReady? this.visible() : ''; window.anchorReady = true; }); if (document.getElementById('landing')) { setTimeout(() => { !window.anchorReady ? this.visible() : ''; window.anchorReady = true; }, 1 * 30000); }; } connect() { this.onShowAnchor(); document.addEventListener(\"scroll\", this.boundOnShowAnchor); } disconnect() { document.removeEventListener(\"scroll\", this.boundOnShowAnchor); } visible() { if (document.getElementById('av-offerwall__wrapper')) { setTimeout(() => this.visible(), 20000); return; } if (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 100) { setTimeout(() => this.visible(), 1000); return; } if (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 10) { this.getAnchorElement().style.marginBottom = '60px'; } if (document.querySelector('[data-anchor-shown=\"true\"]') && document.querySelector('[data-anchor-shown=\"true\"]').style.bottom === '0px') { setTimeout(() => this.visible(), 1000); return; } if (!window.km2AnchorReady) { this.active = true; \/*this.getAnchorElement().style.animation = \"none\"; this.getAnchorElement().classList.remove('animate-show-down');*\/ \/*this.getAnchorElement().classList.add('animate-show-up');*\/ \/*setTimeout(() => {*\/ \/*this.getAnchorElement().style.animation = \"\";*\/ this.getAnchorElement().classList.add('animate-show-up'); this.getAnchorElement().classList.remove('hidden'); this.setAnchorViews(this.anchorViews+1); setTimeout(() => this.closeAnchor(), 20000); waitFor(_ => (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 10 && this.getAnchorElement().style.marginBottom !== '60px')) .then(_ => { this.closeAnchor(); }); this.active = false; \/*}, 10);*\/ } } invisible() { this.active = true; this.getAnchorElement().style.animation = \"none\"; this.getAnchorElement().classList.remove('animate-show-up'); this.getAnchorElement().classList.add('animate-show-down'); setTimeout(() => { this.getAnchorElement().style.animation = \"\"; setTimeout(() => { this.getAnchorElement().classList.add('hidden'); this.active = false; }, 800); }, 10); } onShowAnchor() { let anchorReady = false;  \/*if (!this.active && !anchorReady) { if (this.getAnchorViews() <= 3) { if (window.scrollY > this.getHeightBlock()) { if (!this.passed && !this.closed) { this.visible(); this.passed = true; } } else { if (this.passed) { this.invisible(); this.passed = false; } } } else { if (!this.getAnchorElement().classList.contains('close')) { this.getAnchorElement().classList.add('close'); if (window.scrollY < this.getHeightBlock()) { this.invisible(); } } } }*\/ } closeAnchor() { if (this.closed) return; this.invisible(); this.getAnchorElement().classList.add('close'); this.closed = true; } getAnchorElement() { return this.lazyBlockAnchorTargets[0]; } getAnchorViews() { this.anchorViews = parseInt(sessionStorage.getItem(\"anchorViews\")) >= 1 ? parseInt(sessionStorage.getItem(\"anchorViews\")) : 0; return this.anchorViews; } setAnchorViews(views) { sessionStorage.setItem(\"anchorViews\", views); } getHeightBlock() { return this.lazyBlockTarget.offsetTop + this.lazyBlockTarget.offsetHeight - 110; } }) <\/script>  <div data-anchor-target=\"lazyBlockAnchor\" class=\"fixed w-full sm:w-96 px-3 py-2 bottom-0 left-0 hidden\" style=\"z-index: 999999;\" name=\"lazyBlockAnchor\">\n    <div class=\"grid justify-items-stretch\">        \n              <div class=\"relative justify-self-end top-4 -right-2\">\n          <button data-no-translation class=\"bg-white text-md font-medium text-center rounded-full h-7 w-7 border-2\" data-analytics-label=\"anchorCloseAnchor\" data-action=\"anchor#closeAnchor\" style=\"z-index: 999999;\">\n            X\n          <\/button>\n        <\/div>\n        <div class=\"justify-self-auto flex flex-col h-32 bg-white border-solid border-2 shadow-md rounded-md\">\n          <div class=\"flex my-0 h-full\">\n            <div class=\"w-2\/5 p-1 ml-2 mt-2 w-full\">\n              <a href=\"https:\/\/senhorcursos.com\/es\/vagas-de-cursos-de-mecanico\/\"  data-analytics-label=\"anchorImage\" data-action=\"analytics#trackCTA\">          \n                <img loading=\"lazy\" alt=\"card\" class=\"w-full object-cover h-24 object-center rounded justify-self-auto border-2 border-gray-100\" src=\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2023\/02\/image-186.png\">          \n              <\/a>\n            <\/div>\n            <div class=\"w-3\/5 my-2\">\n              <p class=\"px-4 text-center text-xs h-1\/2\">\n                M\u00e9canicien : tout sur le m\u00e9tier et les cours en ligne              <\/p>\n              <a href=\"https:\/\/senhorcursos.com\/es\/vagas-de-cursos-de-mecanico\/\"  data-analytics-label=\"anchorButton\" data-action=\"analytics#trackCTA\" >\n                <button class=\"flex w-5\/6 m-auto mt-2 border-0 py-1 px-3 focus:outline-none rounded\">                \n                  <p class=\"text-center w-full\" style=\"font-size: 0.67rem;\">\n                    Continuer la lecture                  <\/p>\n                <\/button>\n              <\/a>\n              <p class=\"text-gray-500 text-center mt-1\" style=\"font-size: 0.50rem;\">\n                Je me reposerai sur mon propre site Web              <\/p>\n            <\/div>\n          <\/div>\n        <\/div>\n          <\/div>\n  <\/div>\n  <\/section>\n\n<\/div>","protected":false},"excerpt":{"rendered":"<p>A marcenaria n\u00e3o \u00e9 s\u00f3 um hobby: \u00e9 uma profiss\u00e3o valorizada. Quem faz um curso de marcenaria b\u00e1sica aprende desde o uso das ferramentas manuais at\u00e9 t\u00e9cnicas de montagem de m\u00f3veis simples. J\u00e1 um curso de m\u00f3veis planejados ensina como criar pe\u00e7as sob medida, muito procuradas em casas e apartamentos. Al\u00e9m disso, muitos treinamentos oferecem&hellip; <a class=\"more-link\" href=\"https:\/\/senhorcursos.com\/fr\/iow-rec-curso-de-marceneiro\/\">Continuer \u00e0 lire <span class=\"screen-reader-text\">IOW REC &#8211; Curso de Marcenaria<\/span><\/a><\/p>","protected":false},"author":22,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.7 (Yoast SEO v19.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>IOW REC - Curso de Marcenaria - Senhor Cursos<\/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:\/\/senhorcursos.com\/fr\/iow-rec-curso-de-marceneiro\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"IOW REC - Curso de Marcenaria\" \/>\n<meta property=\"og:description\" content=\"A marcenaria n\u00e3o \u00e9 s\u00f3 um hobby: \u00e9 uma profiss\u00e3o valorizada. Quem faz um curso de marcenaria b\u00e1sica aprende desde o uso das ferramentas manuais at\u00e9 t\u00e9cnicas de montagem de m\u00f3veis simples. J\u00e1 um curso de m\u00f3veis planejados ensina como criar pe\u00e7as sob medida, muito procuradas em casas e apartamentos. Al\u00e9m disso, muitos treinamentos oferecem&hellip; Continue reading IOW REC &#8211; Curso de Marcenaria\" \/>\n<meta property=\"og:url\" content=\"https:\/\/senhorcursos.com\/fr\/iow-rec-curso-de-marceneiro\/\" \/>\n<meta property=\"og:site_name\" content=\"Senhor Cursos\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-02T21:33:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-04T21:01:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2025\/09\/marceneiro-683x1024.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Aline Saes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/senhorcursos.com\/#website\",\"url\":\"https:\/\/senhorcursos.com\/\",\"name\":\"Senhor Cursos\",\"description\":\"Os melhores cursos, concursos e vagas de empregos para voc\u00ea\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/senhorcursos.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/senhorcursos.com\/iow-rec-curso-de-marceneiro\/#primaryimage\",\"url\":\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2025\/09\/marceneiro.jpg\",\"contentUrl\":\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2025\/09\/marceneiro.jpg\",\"width\":1024,\"height\":1536},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/senhorcursos.com\/iow-rec-curso-de-marceneiro\/#webpage\",\"url\":\"https:\/\/senhorcursos.com\/iow-rec-curso-de-marceneiro\/\",\"name\":\"IOW REC - Curso de Marcenaria - Senhor Cursos\",\"isPartOf\":{\"@id\":\"https:\/\/senhorcursos.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/senhorcursos.com\/iow-rec-curso-de-marceneiro\/#primaryimage\"},\"datePublished\":\"2025-09-02T21:33:23+00:00\",\"dateModified\":\"2025-09-04T21:01:29+00:00\",\"author\":{\"@id\":\"https:\/\/senhorcursos.com\/#\/schema\/person\/47de1e8e7bcc62a01879587be4023f27\"},\"breadcrumb\":{\"@id\":\"https:\/\/senhorcursos.com\/iow-rec-curso-de-marceneiro\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/senhorcursos.com\/iow-rec-curso-de-marceneiro\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/senhorcursos.com\/iow-rec-curso-de-marceneiro\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/senhorcursos.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"IOW REC &#8211; Curso de Marcenaria\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/senhorcursos.com\/#\/schema\/person\/47de1e8e7bcc62a01879587be4023f27\",\"name\":\"Aline Saes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/senhorcursos.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fbba2c3f92032de0d7a091559878aacc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fbba2c3f92032de0d7a091559878aacc?s=96&d=mm&r=g\",\"caption\":\"Aline Saes\"},\"url\":\"https:\/\/senhorcursos.com\/fr\/author\/aline-saes-rodriguesgmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"IOW REC - Curso de Marcenaria - Senhor Cursos","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:\/\/senhorcursos.com\/fr\/iow-rec-curso-de-marceneiro\/","og_locale":"fr_FR","og_type":"article","og_title":"IOW REC - Curso de Marcenaria","og_description":"A marcenaria n\u00e3o \u00e9 s\u00f3 um hobby: \u00e9 uma profiss\u00e3o valorizada. Quem faz um curso de marcenaria b\u00e1sica aprende desde o uso das ferramentas manuais at\u00e9 t\u00e9cnicas de montagem de m\u00f3veis simples. J\u00e1 um curso de m\u00f3veis planejados ensina como criar pe\u00e7as sob medida, muito procuradas em casas e apartamentos. Al\u00e9m disso, muitos treinamentos oferecem&hellip; Continue reading IOW REC &#8211; Curso de Marcenaria","og_url":"https:\/\/senhorcursos.com\/fr\/iow-rec-curso-de-marceneiro\/","og_site_name":"Senhor Cursos","article_published_time":"2025-09-02T21:33:23+00:00","article_modified_time":"2025-09-04T21:01:29+00:00","og_image":[{"url":"https:\/\/senhorcursos.com\/wp-content\/uploads\/2025\/09\/marceneiro-683x1024.jpg"}],"twitter_card":"summary_large_image","twitter_misc":{"Written by":"Aline Saes","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/senhorcursos.com\/#website","url":"https:\/\/senhorcursos.com\/","name":"Senhor Cursos","description":"Os melhores cursos, concursos e vagas de empregos para voc\u00ea","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/senhorcursos.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/senhorcursos.com\/iow-rec-curso-de-marceneiro\/#primaryimage","url":"https:\/\/senhorcursos.com\/wp-content\/uploads\/2025\/09\/marceneiro.jpg","contentUrl":"https:\/\/senhorcursos.com\/wp-content\/uploads\/2025\/09\/marceneiro.jpg","width":1024,"height":1536},{"@type":"WebPage","@id":"https:\/\/senhorcursos.com\/iow-rec-curso-de-marceneiro\/#webpage","url":"https:\/\/senhorcursos.com\/iow-rec-curso-de-marceneiro\/","name":"IOW REC - Curso de Marcenaria - Senhor Cursos","isPartOf":{"@id":"https:\/\/senhorcursos.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/senhorcursos.com\/iow-rec-curso-de-marceneiro\/#primaryimage"},"datePublished":"2025-09-02T21:33:23+00:00","dateModified":"2025-09-04T21:01:29+00:00","author":{"@id":"https:\/\/senhorcursos.com\/#\/schema\/person\/47de1e8e7bcc62a01879587be4023f27"},"breadcrumb":{"@id":"https:\/\/senhorcursos.com\/iow-rec-curso-de-marceneiro\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/senhorcursos.com\/iow-rec-curso-de-marceneiro\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/senhorcursos.com\/iow-rec-curso-de-marceneiro\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/senhorcursos.com\/"},{"@type":"ListItem","position":2,"name":"IOW REC &#8211; Curso de Marcenaria"}]},{"@type":"Person","@id":"https:\/\/senhorcursos.com\/#\/schema\/person\/47de1e8e7bcc62a01879587be4023f27","name":"Aline Saes","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/senhorcursos.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/fbba2c3f92032de0d7a091559878aacc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fbba2c3f92032de0d7a091559878aacc?s=96&d=mm&r=g","caption":"Aline Saes"},"url":"https:\/\/senhorcursos.com\/fr\/author\/aline-saes-rodriguesgmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/posts\/14679"}],"collection":[{"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/comments?post=14679"}],"version-history":[{"count":0,"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/posts\/14679\/revisions"}],"wp:attachment":[{"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/media?parent=14679"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/categories?post=14679"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/tags?post=14679"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}