{"id":11746,"date":"2023-07-24T12:18:54","date_gmt":"2023-07-24T12:18:54","guid":{"rendered":"https:\/\/senhorcursos.com\/?p=11746"},"modified":"2023-07-24T22:52:13","modified_gmt":"2023-07-24T22:52:13","slug":"recomendador-aprender-programacao","status":"publish","type":"post","link":"https:\/\/senhorcursos.com\/fr\/recomendador-aprender-programacao\/","title":{"rendered":"Recommandeur SCS \u2013 Cours de programmation"},"content":{"rendered":"<!--landing--><div class=\"wp-block-lazyblock-landing-page-variant lazyblock-landing-page-variant-Z2532hC\"><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          Envie d&#039;apprendre \u00e0 programmer sans d\u00e9penser un sou\u00a0? Alors restez avec nous.        <\/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            D\u00e9couvrez les meilleurs cours pour apprendre la programmation gratuitement ici !          <\/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              Apprendre \u00e0 programmer, c&#039;est se lancer dans un voyage de d\u00e9couvertes technologiques et cr\u00e9atives. Ma\u00eetriser des langages de programmation comme Python, JavaScript et d&#039;autres vous permet de cr\u00e9er des solutions innovantes, de d\u00e9velopper des applications, d&#039;automatiser des t\u00e2ches et de r\u00e9soudre des probl\u00e8mes complexes. Lancez-vous d\u00e8s maintenant dans ce passionnant voyage d&#039;apprentissage technologique et d\u00e9couvrez votre potentiel en codage\u00a0!          <\/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\/aprender-programacao\/\" 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\/2023\/07\/Aprender-programacao-3-1-scaled.jpeg\">\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\/aprender-programacao\/\"  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                        JE VEUX APPRENDRE LA PROGRAMMATION                      <\/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\/2023\/07\/Aprender-programacao-3-1-scaled.jpeg\">\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                  Apprendre \u00e0 programmer, c&#039;est se lancer dans un voyage de d\u00e9couvertes technologiques et cr\u00e9atives. Ma\u00eetriser des langages de programmation comme Python, JavaScript et d&#039;autres vous permet de cr\u00e9er des solutions innovantes, de d\u00e9velopper des applications, d&#039;automatiser des t\u00e2ches et de r\u00e9soudre des probl\u00e8mes complexes. Lancez-vous d\u00e8s maintenant dans ce passionnant voyage d&#039;apprentissage technologique et d\u00e9couvrez votre potentiel en codage\u00a0!                <\/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\/aprender-programacao\/\"  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                        JE VEUX APPRENDRE LA PROGRAMMATION                      <\/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        D\u00e9couvrez quelques-uns des innombrables avantages que l\u2019apprentissage de la programmation peut apporter \u00e0 votre vie.      <\/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              Ouvre les portes aux opportunit\u00e9s d&#039;emploi            <\/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              Cr\u00e9er des solutions innovantes aux probl\u00e8mes du monde r\u00e9el            <\/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              Automatiser les t\u00e2ches r\u00e9p\u00e9titives et routini\u00e8res            <\/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              D\u00e9veloppe la pens\u00e9e logique et les comp\u00e9tences de r\u00e9solution de probl\u00e8mes            <\/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\/aprender-programacao\/\" 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              JE VEUX APPRENDRE LA PROGRAMMATION            <\/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              D\u00e9couvrez les meilleurs cours pour apprendre la programmation gratuitement ici !            <\/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\/aprender-programacao\/\"  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\/aprender-programacao\/ \">\n  <link rel=\"prerender\" href=\"https:\/\/senhorcursos.com\/aprender-programacao\/ \">\n\n  <link rel=\"prefetch\" href=\"https:\/\/senhorcursos.com\/aprender-programacao\/ \">\n  <link rel=\"prerender\" href=\"https:\/\/senhorcursos.com\/aprender-programacao\/ \">\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=\"wp-block-lazyblock-accordion lazyblock-accordion-Zim2bA\"><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                        Comment apprendre \u00e0 programmer soi-m\u00eame \u00e0 partir de z\u00e9ro ?                    <\/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                        Pour apprendre \u00e0 programmer seul et de A \u00e0 Z, vous pouvez opter pour des cours en ligne. Vous aurez ainsi acc\u00e8s \u00e0 des cours flexibles, que vous pourrez suivre o\u00f9 et quand vous le souhaitez. Pour mieux comprendre leur fonctionnement, consultez notre article complet en cliquant sur les boutons ci-dessus\u00a0!                    <\/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                        Est-il possible d&#039;apprendre \u00e0 programmer avec des cours gratuits ?                    <\/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, il est possible d&#039;apprendre la programmation gr\u00e2ce \u00e0 des cours gratuits. Nous avons d&#039;ailleurs s\u00e9lectionn\u00e9 quelques cours gratuits pour vous permettre de commencer d\u00e8s aujourd&#039;hui. D\u00e9couvrez toutes les options dans notre article complet.                    <\/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                        Que faut-il \u00e9tudier en premier pour programmer ?                    <\/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                        Pour d\u00e9buter votre parcours en programmation, il est recommand\u00e9 de commencer par les concepts fondamentaux et les langages de programmation les plus accessibles aux d\u00e9butants. En cliquant sur les boutons ci-dessus, vous pourrez acc\u00e9der \u00e0 notre article complet et mieux comprendre les premi\u00e8res \u00e9tapes.\n                    <\/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                        Quel est le meilleur cours de programmation 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                        Chaque cours a ses propres caract\u00e9ristiques\u00a0; il est donc pr\u00e9f\u00e9rable de lire attentivement les d\u00e9tails de chacun et de choisir celui qui vous convient le mieux. Consultez l&#039;article complet pour d\u00e9couvrir les meilleures options.                    <\/p>\n                <\/div>\n            <\/div>\n        \t<\/div>\n<\/div><\/div><div class=\"mx-5 sm:mx-0 prose leading-relaxed text-lg mb-5 text-left wp-paragraph\">\n<p>Que vous soyez curieux ou \u00e0 la recherche de nouvelles opportunit\u00e9s de carri\u00e8re, les cours de programmation sont id\u00e9aux. Apr\u00e8s tout, ils vous ouvrent un monde de possibilit\u00e9s.<\/p>\n<\/div><div class=\"mx-5 sm:mx-0 prose leading-relaxed text-lg mb-5 text-left wp-paragraph\">\n<p>Avec ces cours, vous pourrez cr\u00e9er vos propres applications, d\u00e9velopper des sites Web et percer les secrets de l&#039;intelligence artificielle !<\/p>\n<\/div><div class=\"mx-5 sm:mx-0 prose leading-relaxed text-lg mb-5 text-left wp-paragraph\">\n<p>Mais la programmation ne vous convient pas\u00a0? Pas de panique\u00a0! Consultez l&#039;article ci-dessous et d\u00e9couvrez d&#039;autres cours gratuits propos\u00e9s par le SENAC qui pourraient vous ouvrir de nouvelles portes\u00a0!<\/p>\n<\/div><div class=\"wp-block-lazyblock-credit-card lazyblock-credit-card-Z1z104a\"><section class=\"credit-card 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 sm:px-0 py-6 mx-auto\" data-anchor-target=\"lazyBlock\">\n    <div class=\"flex flex-wrap mx-auto\">\n      <a class=\"lg:w-2\/5 w-full lg:pl-6 mt-6 lg:mt-0\" href=\"https:\/\/senhorcursos.com\/fr\/cursos-gratuitos-senac\/\" data-analytics-label=\"creditCardImage\" data-action=\"analytics#trackCTA\" >\n        <img class=\"w-full h-64 object-cover object-center rounded\" loading=\"lazy\" alt=\"card\" style=\"height: 190px;\" src=\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2023\/07\/Aprender-programacao-1-1.png\">\n      <\/a>\n      <div class=\"lg:w-3\/5 w-full lg:pl-6 mt-6 lg:mt-0\">\n        <h2 class=\"text-sm title-font text-gray-500 tracking-widest uppercase\">\n          Article sur les cours        <\/h2>\n        <h1 class=\"text-gray-900 text-3xl title-font font-medium mb-1\">\n          Cours gratuits au Senac        <\/h1>\n        <div class=\"flex mb-4 justify-center sm:justify-start\">\n          \n                      <span class=\"inline-block py-1 px-2 rounded text-xs font-medium tracking-widest uppercase mr-2\">\n              cours gratuit            <\/span>\n                      <span class=\"inline-block py-1 px-2 rounded text-xs font-medium tracking-widest uppercase mr-2\">\n              cours de s\u00e9nac            <\/span>\n                    \n        <\/div>\n        <p class=\"leading-relaxed\">\n          Faites un bond en avant dans votre carri\u00e8re informatique avec les cours gratuits de Senac.         <\/p>\n        <div class=\"flex mt-6 items-center pb-5 border-b-2 border-gray-100 mb-5\">\n          \n        <\/div>\n        <div class=\"flex\">\n          <a data-km2-rewarded=\"true\" style=\"font-size: 13px;\" class=\"hidden animate-fade-in flex m-auto sm:mr-0 sm:ml-auto\"  href=\"https:\/\/senhorcursos.com\/fr\/cursos-gratuitos-senac\/\" data-analytics-label=\"creditCardButton\" data-action=\"analytics#trackCTA\"  >\n            <button class=\"uppercase flex m-auto sm:mr-0 sm:ml-auto border-0 py-2 px-4 focus:outline-none rounded  disabled:opacity-50\">\n              TROUVER DES COURS            <\/button>\n          <\/a>\n          <a data-km2-rewarded=\"false\" style=\"font-size: 15px;\" class=\"flex m-auto sm:mr-0 sm:ml-auto\"  href=\"https:\/\/senhorcursos.com\/fr\/cursos-gratuitos-senac\/\" data-analytics-label=\"creditCardButton\" data-action=\"analytics#trackCTA\"  >\n            <button id=\"offer-first\" class=\"flex m-auto sm:mr-0 sm:ml-auto border-0 py-2 px-6 focus:outline-none rounded  disabled:opacity-50\">\n              TROUVER DES 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\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\/fr\/cursos-gratuitos-senac\/\"  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\/07\/Aprender-programacao-1-1.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                Lancez votre carri\u00e8re informatique avec des cours informatiques gratuits de...              <\/p>\n              <a href=\"https:\/\/senhorcursos.com\/fr\/cursos-gratuitos-senac\/\"  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                    TROUVER DES COURS                  <\/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><\/div><!--loader--><div class=\"wp-block-lazyblock-loader lazyblock-loader-1hvzPL\"><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 class=\"px-2 my-4 text-center animate-pulse text-xl\">\n                Vous cherchez o\u00f9 apprendre la programmation...            <\/div>\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-->","protected":false},"excerpt":{"rendered":"<p>Que vous soyez curieux ou \u00e0 la recherche de nouvelles opportunit\u00e9s de carri\u00e8re, les cours de programmation sont id\u00e9aux. Apr\u00e8s tout, ils ouvrent un monde de possibilit\u00e9s. Gr\u00e2ce \u00e0 ces cours, vous pourrez cr\u00e9er vos propres applications, d\u00e9velopper des sites web et percer les secrets de l&#039;intelligence artificielle\u00a0! Mais la programmation ne vous int\u00e9resse pas\u00a0? Pas de panique\u00a0! Acc\u00e9dez\u2026 <a class=\"more-link\" href=\"https:\/\/senhorcursos.com\/fr\/recomendador-aprender-programacao\/\">Continuer \u00e0 lire <span class=\"screen-reader-text\">Recommandeur SCS \u2013 Cours de programmation<\/span><\/a><\/p>","protected":false},"author":22,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[17,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>Recomendador SCS - Cursos de programa\u00e7\u00e3o - Senhor Cursos<\/title>\n<meta name=\"description\" content=\"Desperte o seu potencial tecnol\u00f3gico com cursos para aprender programa\u00e7\u00e3o! Acesse agora mesmo e mergulhe na arte da codifica\u00e7\u00e3o.\" \/>\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\/recomendador-aprender-programacao\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Recomendador SCS - Cursos de programa\u00e7\u00e3o\" \/>\n<meta property=\"og:description\" content=\"Desperte o seu potencial tecnol\u00f3gico com cursos para aprender programa\u00e7\u00e3o! Acesse agora mesmo e mergulhe na arte da codifica\u00e7\u00e3o.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/senhorcursos.com\/fr\/recomendador-aprender-programacao\/\" \/>\n<meta property=\"og:site_name\" content=\"Senhor Cursos\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-24T12:18:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-24T22:52:13+00:00\" \/>\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=\"1 minute\" \/>\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\":\"WebPage\",\"@id\":\"https:\/\/senhorcursos.com\/recomendador-aprender-programacao\/#webpage\",\"url\":\"https:\/\/senhorcursos.com\/recomendador-aprender-programacao\/\",\"name\":\"Recomendador SCS - Cursos de programa\u00e7\u00e3o - Senhor Cursos\",\"isPartOf\":{\"@id\":\"https:\/\/senhorcursos.com\/#website\"},\"datePublished\":\"2023-07-24T12:18:54+00:00\",\"dateModified\":\"2023-07-24T22:52:13+00:00\",\"author\":{\"@id\":\"https:\/\/senhorcursos.com\/#\/schema\/person\/5a8da21f1d4065f2efd2a4285a3258bd\"},\"description\":\"Desperte o seu potencial tecnol\u00f3gico com cursos para aprender programa\u00e7\u00e3o! Acesse agora mesmo e mergulhe na arte da codifica\u00e7\u00e3o.\",\"breadcrumb\":{\"@id\":\"https:\/\/senhorcursos.com\/recomendador-aprender-programacao\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/senhorcursos.com\/recomendador-aprender-programacao\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/senhorcursos.com\/recomendador-aprender-programacao\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/senhorcursos.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Recomendador SCS &#8211; Cursos de programa\u00e7\u00e3o\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/senhorcursos.com\/#\/schema\/person\/5a8da21f1d4065f2efd2a4285a3258bd\",\"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":"Recomendador SCS - Cursos de programa\u00e7\u00e3o - Senhor Cursos","description":"Desperte o seu potencial tecnol\u00f3gico com cursos para aprender programa\u00e7\u00e3o! Acesse agora mesmo e mergulhe na arte da codifica\u00e7\u00e3o.","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\/recomendador-aprender-programacao\/","og_locale":"fr_FR","og_type":"article","og_title":"Recomendador SCS - Cursos de programa\u00e7\u00e3o","og_description":"Desperte o seu potencial tecnol\u00f3gico com cursos para aprender programa\u00e7\u00e3o! Acesse agora mesmo e mergulhe na arte da codifica\u00e7\u00e3o.","og_url":"https:\/\/senhorcursos.com\/fr\/recomendador-aprender-programacao\/","og_site_name":"Senhor Cursos","article_published_time":"2023-07-24T12:18:54+00:00","article_modified_time":"2023-07-24T22:52:13+00:00","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Aline Saes","Est. reading time":"1 minute"},"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":"WebPage","@id":"https:\/\/senhorcursos.com\/recomendador-aprender-programacao\/#webpage","url":"https:\/\/senhorcursos.com\/recomendador-aprender-programacao\/","name":"Recomendador SCS - Cursos de programa\u00e7\u00e3o - Senhor Cursos","isPartOf":{"@id":"https:\/\/senhorcursos.com\/#website"},"datePublished":"2023-07-24T12:18:54+00:00","dateModified":"2023-07-24T22:52:13+00:00","author":{"@id":"https:\/\/senhorcursos.com\/#\/schema\/person\/5a8da21f1d4065f2efd2a4285a3258bd"},"description":"Desperte o seu potencial tecnol\u00f3gico com cursos para aprender programa\u00e7\u00e3o! Acesse agora mesmo e mergulhe na arte da codifica\u00e7\u00e3o.","breadcrumb":{"@id":"https:\/\/senhorcursos.com\/recomendador-aprender-programacao\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/senhorcursos.com\/recomendador-aprender-programacao\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/senhorcursos.com\/recomendador-aprender-programacao\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/senhorcursos.com\/"},{"@type":"ListItem","position":2,"name":"Recomendador SCS &#8211; Cursos de programa\u00e7\u00e3o"}]},{"@type":"Person","@id":"https:\/\/senhorcursos.com\/#\/schema\/person\/5a8da21f1d4065f2efd2a4285a3258bd","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\/11746"}],"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=11746"}],"version-history":[{"count":0,"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/posts\/11746\/revisions"}],"wp:attachment":[{"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/media?parent=11746"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/categories?post=11746"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/tags?post=11746"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}