{"id":12913,"date":"2014-10-31T08:13:17","date_gmt":"2014-10-31T06:13:17","guid":{"rendered":"\/produits\/authentification-manager\/strong-authentication-reducing-hidden-costs\/"},"modified":"2024-03-05T16:48:09","modified_gmt":"2024-03-05T14:48:09","slug":"authentification-forte-reduisez-les-couts-caches","status":"publish","type":"page","link":"https:\/\/www.evidian.com\/fr\/produits\/authentification-manager\/authentification-forte-reduisez-les-couts-caches\/","title":{"rendered":"M\u00e9thodes d\u2019authentification forte multifacteurs (MFA)"},"content":{"rendered":"<div id=\"pl-12913\"  class=\"panel-layout\" ><div id=\"pg-12913-0\"  class=\"panel-grid panel-has-style\" ><div class=\"panel-row-style panel-row-style-for-12913-0\" ><div id=\"pgc-12913-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-12913-0-0-0\" class=\"so-panel widget widget_sow-hero panel-first-child panel-last-child\" data-index=\"0\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-hero so-widget-sow-hero-default-6e283e92799f-12913 so-widget-fittext-wrapper\"\n\t\t\t data-fit-text-compressor=\"0.85\"\n\t\t>\t\t\t\t<div class=\"sow-slider-base\" style=\"display: none\" tabindex=\"0\">\n\t\t\t\t\t<ul\n\t\t\t\t\tclass=\"sow-slider-images\"\n\t\t\t\t\tdata-settings=\"{&quot;pagination&quot;:true,&quot;speed&quot;:800,&quot;timeout&quot;:8000,&quot;paused&quot;:false,&quot;pause_on_hover&quot;:false,&quot;swipe&quot;:true,&quot;nav_always_show_desktop&quot;:&quot;&quot;,&quot;nav_always_show_mobile&quot;:&quot;&quot;,&quot;breakpoint&quot;:&quot;780px&quot;,&quot;unmute&quot;:false,&quot;anchor&quot;:null}\"\n\t\t\t\t\t\t\t\t\t\tdata-anchor-id=\"\"\n\t\t\t\t>\t\t<li class=\"sow-slider-image  sow-slider-image-cover\" style=\"visibility: visible;;background-color: #333333;background-image: url(https:\/\/www.evidian.com\/wp-content\/smush-webp\/2020\/11\/Multi-factor-authentication-MFA-min.jpg.webp)\" >\n\t\t\t\t\t<div class=\"sow-slider-image-container\">\n\t\t\t<div class=\"sow-slider-image-wrapper\">\n\t\t\t\t<h1>Livre blanc - M\u00e9thodes d\u2019authentification forte multifacteurs<br \/>(2FA - MFA)<\/h1>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t<\/ul>\t\t\t\t<ol class=\"sow-slider-pagination\">\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#\" data-goto=\"0\" aria-label=\"Display slide 1\"><\/a><\/li>\n\t\t\t\t\t\t\t\t\t<\/ol>\n\n\t\t\t\t<div class=\"sow-slide-nav sow-slide-nav-next\">\n\t\t\t\t\t<a href=\"#\" data-goto=\"next\" aria-label=\"Next slide\" data-action=\"next\">\n\t\t\t\t\t\t<em class=\"sow-sld-icon-thin-right\"><\/em>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\n\t\t\t\t<div class=\"sow-slide-nav sow-slide-nav-prev\">\n\t\t\t\t\t<a href=\"#\" data-goto=\"previous\" aria-label=\"Previous slide\" data-action=\"prev\">\n\t\t\t\t\t\t<em class=\"sow-sld-icon-thin-left\"><\/em>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div><\/div><\/div><\/div><\/div><\/div><div id=\"pg-12913-1\"  class=\"panel-grid panel-has-style\" ><div class=\"panel-row-style panel-row-style-for-12913-1\" ><div id=\"pgc-12913-1-0\"  class=\"panel-grid-cell\" ><div id=\"panel-12913-1-0-0\" class=\"so-panel widget widget_sow-editor panel-first-child panel-last-child\" data-index=\"1\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-editor so-widget-sow-editor-base\"\n\t\t\t\n\t\t>\n<div class=\"siteorigin-widget-tinymce textwidget\">\n\t<h2>Choix d'une authentification \u00e0 double facteur, multi facteurs, du logiciel de gestion MFA, quelques conseils...<\/h2>\n<p>Ce livre blanc pr\u00e9sente les m\u00e9thodes d\u2019authentification forte les plus utilis\u00e9es dans les entreprises et organisations, avec leurs sp\u00e9cificit\u00e9s.<\/p>\n<p>Il d\u00e9taille les probl\u00e8mes les plus fr\u00e9quemment rencontr\u00e9s dans les phases de d\u00e9ploiement et d\u2019administration quotidienne. Il pr\u00e9sente les solutions couramment mises en \u0153uvre: authentification double facteurs, multi facteurs et logiciel de gestion pour la mise en oeuvre.<\/p>\n<p>Les techniques d\u2019authentification fortes en entreprise sont fr\u00e9quemment impos\u00e9es par les r\u00e9glementations. De plus en plus d\u2019organisations les utilisent pour prot\u00e9ger les acc\u00e8s internes et externes.<\/p>\n<p>Mais dans la pratique, les d\u00e9ploiements d\u2019authentification forte sont souvent plus longs et co\u00fbteux que pr\u00e9vu. La faute est rarement due \u00e0 la technologie elle-m\u00eame, mais plut\u00f4t \u00e0 la fa\u00e7on dont elle est mise en \u0153uvre :<\/p>\n<ul>\n<li>Cas d\u2019usage impr\u00e9vus : kiosque en libre service, acc\u00e8s \u00e0 plusieurs postes simultan\u00e9ment, d\u00e9l\u00e9gation, mobilit\u00e9, terminaux l\u00e9gers\u2026<\/li>\n<li>Gestion des oublis de cartes et les approvisionnements.<\/li>\n<li>Utilisateurs (souvent influents) aux besoins particuliers.<\/li>\n<li>Support des \u00e9quipements de nombreux diff\u00e9rents fournisseurs.<\/li>\n<\/ul>\n<p>Par cons\u00e9quent, il faut anticiper les co\u00fbts cach\u00e9s d\u2019un d\u00e9ploiement d\u2019authentification forte, sous peine de manquer de budget et de main d\u2019\u0153uvre apr\u00e8s quelques semaines. Cela dit, de bons choix initiaux peuvent largement \u00e9viter les d\u00e9convenues.<\/p>\n<p>Ce document se base sur plus de 20 ans d\u2019exp\u00e9rience de d\u00e9ploiements d\u2019authentification dans des organisations (de 500 \u00e0 200 000 utilisateurs). Il pr\u00e9sente les techniques d\u2019authentification et leurs limites, puis offre des conseils pratiques pour le d\u00e9ploiement et la gestion de l\u2019authentification forte.<\/p>\n<\/div>\n<\/div><\/div><\/div><div id=\"pgc-12913-1-1\"  class=\"panel-grid-cell\" ><div id=\"panel-12913-1-1-0\" class=\"widget_text so-panel widget widget_custom_html panel-first-child panel-last-child\" data-index=\"2\" ><div class=\"textwidget custom-html-widget\"><!-- search for BR to find all modifications made from the original script -->\r\n<script src=\"\/\/pages.atos.net\/js\/forms2\/js\/forms2.min.js\"><\/script>\r\n<!-- BR - add Japan translation -->\r\n<!--\r\n<script src=\"\/\/pages.atos.net\/rs\/247-MBJ-716\/images\/translations.js\"><\/script>\r\n-->\r\n<script src=\"https:\/\/www.evidian.com\/p\/sm7\/translations.js?ver=1.15\"><\/script>\r\n\r\n\r\n<style>\r\n\/* forms color = new blue *\/\r\nform.mktoForm, .mktoFormCol {\r\n    background-color: #006878;\r\n    padding: 20px 20px 30px 10px;\r\n    border-radius: 20px 20px 20px 20px;\r\n\twidth: 95%!important;\r\n\tmargin: auto;\r\n    font-family: 'Montserrat', sans-serif!important;\r\n}\r\n\r\n.panel-cell-style {\r\n    background-color: #006878!important;\r\n    font-family: 'Montserrat', sans-serif!important;\r\n}\r\n\r\nlabel, .mktoHtmlText {\r\n    font-family: 'Montserrat', sans-serif!important;\r\n    color: #ffffff!important;\r\n}\r\n\r\n.mktoButton {\r\n    background-color: #ffffff!important;\r\n    border: 1px solid #002D3C !important;\r\n    font-family: 'Montserrat', sans-serif!important;\r\n    color: #006878!important;\r\n}\r\n\r\n.mktoButton:hover {\r\n    background-color: #002D3C!important;\r\n    font-family: 'Montserrat', sans-serif!important;\r\n    color: #ffffff!important;\r\n\tfont-weight:bold;\r\n}\r\n\r\n.mktoField {\r\n    border: 1px solid #002D3C !important;\r\n    font-family: 'Montserrat', sans-serif!important;\r\n    color: #5A5A5A;\r\n}\r\n\r\n    .setToInvisible {\r\n        display: none !important;\r\n    }\r\n    .setToVisible {\r\n        display: block;\r\n    }\r\n    .mktoErrorRealign {\r\n        left: 2%;\r\n        right: unset !important;\r\n    }\r\n    #mktoFormThankYouMessage {\r\n        text-align: center;\r\n        font-family:'Montserrat', sans-serif!important; \r\n        font-size: 15px;\r\n        padding: 5px;\r\n        \r\n    }\r\n    #mktoFormThankYouMessage a {\r\n        color: #0596FF;\r\n        text-decoration: underline;\r\n    }\r\n    @media only screen and (max-width: 1400px)  {\r\n        .mktoErrorRealign {\r\n            left: 4%;\r\n            right: unset !important;\r\n        }\r\n    }\r\n    @media only screen and (max-width: 768px)  {\r\n        .mktoErrorRealign {\r\n            left: 10%;\r\n            right: unset !important;\r\n        }\r\n    }\r\n\r\n\r\n<\/style>\r\n\r\n<!--Please insert into <form> below\r\n    id=\"mktoForm_xxxx\"              - where xxxx is the marketo form ID. (not always 4 digits) (1047 = atos primary form, sandbox version) \r\n    form-type=\"TypeOfForm\"          - where TypeOfForm is one of: Thank You; Asset Download; Page Redirect.\r\n    data-content=\"NameOfAsset\"      - where NameOfAsset is a user-friendly title of the asset to download.\r\n    data-destination=\"UrlOfAsset\"   - where UrlOfAsset is the full URL of the asset to download or page redirect. (e.g. https:\/\/clever-touch.com\/)\r\n    class=\"mktoForm\"                - this does not need editing. \r\n-->\r\n\r\n<form id=\"mktoForm_1624\"\r\n      form-type=\"Page Redirect\"\r\n      data-content=\"AUTH_WP_FR M\u00e9thodes d\u2019authentification forte multifacteurs (MFA)\"\r\n      data-destination=\"https:\/\/www.evidian.com\/page-redirect.php?c=AUTH_WP_FR&url=https:\/\/www.evidian.com\/pdf\/wp-strongauth-fr.pdf\"\r\n      class=\"mktoForm marketo\">\r\n<\/form>\r\n\r\n<script>\r\n\/\/ begin BR - token for recaptcha verification in marketo-lead-post.php\r\n\tvar reCAPTCHALastUserFingerprint=\"\";\r\n\/\/ end BR\r\n    \/\/in order to access your desired Marketo form change these 2 variables to the 2 provided by the embed code in the line beginning MktoForms2.loadForm\r\n    const baseURL = \"\/\/pages.atos.net\";\r\n    const munchkinID = \"247-MBJ-716\"\r\n\r\n    \/\/takes the id from mktoForm element and converts to just the id number, for use in MktoForms2.loadForm\r\n    const mktoForm_xxxx_ID = document.getElementsByClassName(\"mktoForm\")[0].getAttribute(\"id\")\r\n    const extractDigits = \/\\d+\/;\r\n    const FormID = parseInt(mktoForm_xxxx_ID.match(extractDigits), 10);\r\n    var language;\r\n    var privacyType = \"none\"\r\n    var browserLangFormatted;\r\n    switch (navigator.language) {\r\n        case \"en\": case \"en-GB\":\r\n            browserLangFormatted = \"English GB\";\r\n            break;\r\n        case \"en-US\":\r\n            browserLangFormatted = \"English US\";\r\n            break;\r\n        case \"es\": case \"es-ES\":\r\n            browserLangFormatted = \"European Spanish\";\r\n            break;\r\n        case catchFrenchLanguageCodes(navigator.language): \r\n            browserLangFormatted = \"French\";\r\n            break;\r\n        case catchLatAmSpanishLanguageCodes(navigator.language):\r\n            browserLangFormatted = \"Latin American Spanish\";\r\n            break;\r\n        case catchGermanLanguageCodes(navigator.language):\r\n            browserLangFormatted = \"German\";\r\n            break;\r\n        case \"it\": case \"it-CH\":\r\n            browserLangFormatted = \"Italian\";\r\n            break;\r\n        case \"nl\": case \"nl-BE\":\r\n            browserLangFormatted = \"Dutch\";\r\n            break;\r\n        case \"pt-BR\": \r\n            browserLangFormatted = \"Brazilian Portuguese\"\r\n            break;\r\n        default:\r\n            browserLangFormatted = \"English US\";\r\n            break;\r\n    }\r\n\r\n    \/\/ * @copyright \u00a9 2021 Sanford Whiteman\r\n    \/\/ @license Hippocratic 2.1\r\n    (function(){\r\n\r\n        var userConfig = {\r\n            apiKeys : {\r\n                recaptcha : \"6LfRM6keAAAAACnaog4Sl9nzvzHupd74YADwTAvp\"\r\n            },\r\n            fields : {\r\n                recaptchaFinger : \"reCAPTCHALastUserFingerprint\"\r\n            },\r\n            actions : {\r\n                formSubmit : \"form\"\r\n            },\r\n            debug : {\r\n                testBadFinger : false\r\n            }\r\n        };\r\n\r\n        \/* --- NO NEED TO TOUCH BELOW THIS LINE --- *\/\r\n\r\n        MktoForms2.whenReady(function(mktoForm) {\r\n            var formEl = mktoForm.getFormElem()[0],\r\n                submitButtonEl = formEl.querySelector(\"button[type='submit']\");\r\n\r\n            \/* pending reCAPTCHA widget ready *\/\r\n            submitButtonEl.disabled = true;\r\n\r\n            \/* pending reCAPTCHA verify *\/\r\n            mktoForm.submittable(false);\r\n            mktoForm.locked = false;\r\n\r\n            mktoForm.onValidate(function(native) {\r\n                if (!native) return;\r\n                if(!validate_email()) {\r\n                    \/\/ document.getElementById(\"LblEmail\").focus();\r\n                    \/\/ document.getElementById(\"Email\").focus();\r\n                    \/\/ form.showErrorMessage(\"Please enter your business email address\", emailField); \/\/ under the Email field\r\n                    return;\r\n                }\r\n\r\n                grecaptcha.ready(function() {\r\n                    grecaptcha.execute(userConfig.apiKeys.recaptcha, {\r\n                        action: userConfig.actions.formSubmit\r\n                    })\r\n                        .then(function(recaptchaFinger) {\r\n\t\t                    var mktoFields = {};\r\n                            if (mktoForm.locked == false) {\r\n                                mktoForm.locked = true;\r\n                                if(!userConfig.debug.testBadFinger) {\r\n                                    mktoFields[userConfig.fields.recaptchaFinger] = recaptchaFinger;\r\n                                } else {\r\n                                    mktoFields[userConfig.fields.recaptchaFinger] = \"known bad fingerprint \" + Math.random();\r\n                                }\r\n                                mktoForm.addHiddenFields(mktoFields);\r\n\t\t\t\t\t\t\t\t\/\/ begin BR\r\n\t\t\t\t\t\t\t\t\/\/ console.log('token 1='+recaptchaFinger); \/\/ debug\r\n\t\t\t\t\t\t\t\t\/\/ a recaptcha token can be verified only once\r\n\t\t\t\t\t\t\t\t\/\/ cannot used this token in marketo-lead-post.php else bug in marketo backend\r\n\t\t\t\t\t\t\t\t\/\/ reCAPTCHALastUserFingerprint=mktoFields.reCAPTCHALastUserFingerprint;\r\n\t\t\t\t\t\t\t\t\/\/ end BR\r\n                                mktoForm.submittable(true);\r\n                                mktoForm.submit();\r\n                            } else {\r\n                            }\r\n                        });\r\n                });\r\n            });\r\n\r\n\t\t\t\/\/ begin BR - need a new recaptcha token for marketo-lead-post.php\r\n            mktoForm.onValidate(function(native) {\r\n                if (!native) return;\r\n\r\n                grecaptcha.ready(function() {\r\n                    grecaptcha.execute(userConfig.apiKeys.recaptcha, {\r\n                        action: userConfig.actions.formSubmit\r\n                    })\r\n                        .then(function(recaptchaFinger) {\r\n\t\t\t\t\t\t\t\t\/\/ called twice\r\n\t\t\t\t\t\t\t\t\/\/ console.log('grecaptcha.execute 2');\r\n\t\t\t\t\t\t\t\tif (reCAPTCHALastUserFingerprint == \"\") {\r\n\t\t\t\t\t\t\t\t\t\/\/ console.log('token 2='+recaptchaFinger); \/\/ debug\r\n\t\t\t\t\t\t\t\t\treCAPTCHALastUserFingerprint=recaptchaFinger; \/\/ new token\r\n\t\t\t\t\t\t\t\t}\r\n                        });\r\n                });\r\n            });\r\n\t\t\t\/\/ end BR\r\n\r\n\t\t\tfunction validate_email() {\r\n               var emailField = mktoForm.getFormElem().find('#Email');\r\n               var emailValue = emailField.val();\r\n               var submittable = true;\r\n               if (!emailValue) {\r\n                  submittable = false;\r\n               }\r\n               else {\r\n                  var domain = emailValue.split('@')[1];\r\n                  if (!domain) {\r\n                     submittable = false;\r\n                  }\r\n                  else {\r\n                     if (domain && ['gmail.com', 'yahoo.com', 'outlook.com'].includes(domain.toLowerCase())) {\r\n                        submittable = false;\r\n                     } \r\n                     \/*else {\r\n                         submittable = true;\r\n                     }*\/\r\n                  }\r\n               }\r\n               if (submittable) {\r\n                   \/\/form.submittable(true);\r\n                   return true;\r\n               }\r\n               else {\r\n                   \/\/ document.getElementById(\"LblEmail\").focus();\r\n                   document.getElementById(\"Email\").focus();\r\n                   mktoForm.showErrorMessage(\"Please enter your business email address\", emailField); \/\/ under the Email field\r\n                   \/\/ alert('Please use your business email address');\r\n                   \/\/\tform.submittable(false);\r\n                   return false;\r\n               }\r\n            }\r\n\t\t});\r\n\r\n        var recaptchaListeners = {\r\n            ready : function() {\r\n                MktoForms2.whenReady(function(mktoForm){\r\n                    var formEl = mktoForm.getFormElem()[0],\r\n                        submitButtonEl = formEl.querySelector(\"button[type='submit']\");\r\n\r\n                    submitButtonEl.disabled = false;\r\n                });\r\n            }\r\n        };\r\n        Object.keys(recaptchaListeners).forEach(function globalize(fnName){\r\n            window[\"grecaptchaListeners_\" + fnName] = recaptchaListeners[fnName];\r\n        });\r\n\r\n        \/* inject the reCAPTCHA library *\/\r\n        recaptchaLib = document.createElement(\"script\");\r\n        recaptchaLib.src = \"https:\/\/www.google.com\/recaptcha\/api.js?render=\" + userConfig.apiKeys.recaptcha + \"&onload=grecaptchaListeners_ready\";\r\n        document.head.appendChild(recaptchaLib);\r\n\r\n    })();\r\n\r\n    MktoForms2.loadForm(baseURL, munchkinID, FormID, function(form) {\r\n\r\n\/\/ this will be replaced by a string fetched from translations.js\r\nvar thankYouMessage = \"Thank you for your interest in\";\r\nvar downloadLinkText = \"You can download the report here.\";\r\nvar contactMessage = \"A member of our team will be in touch with you shortly.\"\r\n\r\n\r\n\/\/find out which type of form this is\r\nvar formType = document.getElementsByClassName(\"mktoForm\")[0].getAttribute(\"form-type\");\r\nvar form_destination = document.getElementsByClassName(\"mktoForm\")[0].getAttribute(\"data-destination\");\r\nvar form_content_name = document.getElementsByClassName(\"mktoForm\")[0].getAttribute(\"data-content\");\r\n\r\n\/\/ begin BR - hidden field added with the URL referrer (URL of the form) to display it in the Market alert notification (email from Marketo to commercials)\r\nMktoForms2.whenReady(function (form) {\r\n\tform.addHiddenFields({lastFormReferrer : document.location.href });\r\n});\r\n\/\/ end BR\r\n\r\n\/\/ begin BR - conversion code coming from google ads\r\n\/\/ Event snippet for Clic Submit Formulaire (11\/03\/2021\/ conversion page\r\nfunction gtag_report_conversion(url) {\r\n\tvar callback = function () {\r\n\t\tif (typeof(url) != 'undefined') {\r\n\t\t\tconsole.log('gtag_report_conversion callback url='+url); \/\/ debug\r\n\t\t\t\/\/ window.location = url; \/\/ loading \"url\" after submit (already managed by Marketo)\r\n\t\t}\r\n\t};\r\n\tgtag('event', 'conversion', {\r\n\t\t 'send_to': 'AW-978904711\/Y3XjCIbkmvsBEIfN49ID', \r\n\t\t 'event_callback': callback \r\n\t});\r\n\tconsole.log('gtag conversion called');\r\n\treturn false;\r\n}\r\n\/\/ end BR\r\n\r\nform.onSuccess(function(values, followUpUrl) {\r\n\r\n\t\/\/ begin BR\r\n\t\/\/ google ads conversion code\r\n\tvar getUrl = window.location;\r\n\tconsole.log('Marketo google ads conversion: '+getUrl); \/\/ debug\r\n\tgtag_report_conversion(getUrl);\r\n\r\n\t\/\/ post form parameters on https:\/\/www.evidian.com\/p\/sm7\/marketo-lead-get.php\r\n\tvar param='';\r\n\r\n\tif (window.location.href !== null) {\r\n\t  url=window.location.href;\r\n\t\/\/  console.log('url='+url);\r\n\t}\r\n\telse url=\"not defined\";\r\n\tparam=param+'url='+encodeURIComponent(url);\r\n\r\n\tif (document.getElementsByClassName(\"mktoForm\") !== null) {\r\n\t  form_id=document.getElementsByClassName(\"mktoForm\")[0].getAttribute(\"id\");\r\n\t\/\/  console.log('form_id='+form_id);\r\n\t}\r\n\telse form_id=\"not defined\";\r\n\tparam=param+'&form_id='+encodeURIComponent(form_id);\r\n\r\n\tif (formType !== null) {\r\n\t  form_type=formType;\r\n\t\/\/  console.log('form_type='+form_type);\r\n\t}\r\n\telse form_type=\"not defined\";\r\n\tparam=param+'&form_type='+encodeURIComponent(form_type);\r\n\r\n\tif (form_destination !== null) {\r\n\t  form_destination=form_destination;\r\n\t\/\/  console.log('form_destination='+form_destination);\r\n\t}\r\n\telse form_destination=\"not defined\";\r\n\tparam=param+'&form_destination='+encodeURIComponent(form_destination);\r\n\r\n\tif (form_content_name !== null) {\r\n\t  form_content=form_content_name;\r\n\t\/\/  console.log('form_content='+form_content);\r\n\t}\r\n\telse form_content=\"not defined\";\r\n\tparam=param+'&form_content='+encodeURIComponent(form_content);\r\n\r\n\tif (document.getElementById('preferredLanguage') !== null) {\r\n\t  preferred_language=document.getElementById('preferredLanguage').value;\r\n\t\/\/  console.log('preferred_language='+preferred_language);\r\n\t}\r\n\telse preferred_language=\"not defined\";\r\n\tparam=param+'&preferred_language='+encodeURIComponent(preferred_language);\r\n\r\n\tif (document.getElementById('Salutation') !== null) {\r\n\t  salutation=document.getElementById('Salutation').value;\r\n\t\/\/  console.log('salutation='+salutation);\r\n\t}\r\n\telse salutation=\"not defined\";\r\n\tparam=param+'&salutation='+encodeURIComponent(salutation);\r\n\r\n\tif (document.getElementById('FirstName') !== null) {\r\n\t  first_name=document.getElementById('FirstName').value;\r\n\t\/\/  console.log('first_name='+first_name);\r\n\t}\r\n\telse first_name=\"not defined\";\r\n\tparam=param+'&first_name='+encodeURIComponent(first_name);\r\n\r\n\tif (document.getElementById('LastName') !== null) {\r\n\t  last_name=document.getElementById('LastName').value;\r\n\t\/\/  console.log('last_name='+last_name);\r\n\t}\r\n\telse last_name=\"not defined\";\r\n\tparam=param+'&last_name='+encodeURIComponent(last_name);\r\n\r\n\tif (document.getElementById('Email') !== null) {\r\n\t  email=document.getElementById('Email').value;\r\n\t\/\/  console.log('email='+email);\r\n\t}\r\n\telse email=\"not defined\";\r\n\tparam=param+'&email='+encodeURIComponent(email);\r\n\r\n\tif (document.getElementById('Phone') !== null) {\r\n\t  phone=document.getElementById(\"Phone\").value;\r\n\t\/\/  console.log('phone='+phone);\r\n\t}\r\n\telse phone=\"not defined\";\r\n\tparam=param+'&phone='+encodeURIComponent(phone);\r\n\r\n\tif (document.getElementById('JobFunction__c') !== null) {\r\n\t  job_function=document.getElementById(\"JobFunction__c\").value;\r\n\t\/\/  console.log('phone='+job_function);\r\n\t}\r\n\telse job_function=\"not defined\";\r\n\tparam=param+'&job_function='+encodeURIComponent(job_function);\r\n\r\n\tif (document.getElementById('SF_Job_Title__c') !== null) {\r\n\t  job_title=document.getElementById(\"SF_Job_Title__c\").value;\r\n\t\/\/  console.log('job_title='+job_title);\r\n\t}\r\n\telse job_title=\"not defined\";\r\n\tparam=param+'&job_title='+encodeURIComponent(job_title);\r\n\r\n\tif (document.getElementById('Company') !== null) {\r\n\t  company=document.getElementById(\"Company\").value;\r\n\t\/\/  console.log('company='+company);\r\n\t}\r\n\telse company=\"not defined\";\r\n\tparam=param+'&company='+encodeURIComponent(company);\r\n\r\n\tif (document.getElementById('Company_Revenue__c') !== null) {\r\n\t  company_revenue=document.getElementById(\"Company_Revenue__c\").value;\r\n\t\/\/  console.log('company_revenue='+company_revenue);\r\n\t}\r\n\telse company_revenue=\"not defined\";\r\n\tparam=param+'&company_revenue='+encodeURIComponent(company_revenue);\r\n\r\n\tif (document.getElementById('Company_Size__c') !== null) {\r\n\t  company_size=document.getElementById(\"Company_Size__c\").value;\r\n\t\/\/  console.log('company_size='+company_size);\r\n\t}\r\n\telse company_size=\"not defined\";\r\n\tparam=param+'&company_size='+encodeURIComponent(company_size);\r\n\r\n\tif (document.getElementById('customerIndustry') !== null) {\r\n\t  industry=document.getElementById(\"customerIndustry\").value;\r\n\t\/\/  console.log('industry='+industry);\r\n\t}\r\n\telse industry=\"not defined\";\r\n\tparam=param+'&industry='+encodeURIComponent(industry);\r\n\r\n\tif (document.getElementById('Country') !== null) {\r\n\t\tcountry=document.getElementById(\"Country\").value;\r\n\t\/\/\tconsole.log('[success] country='+country);\r\n\t}\r\n\telse country=\"not defined\";\r\n\tparam=param+'&country='+encodeURIComponent(country);\r\n\r\n\tif (document.getElementById('Purchase_Authority__c') !== null) {\r\n\t  purchase_authority=document.getElementById(\"Purchase_Authority__c\").value;\r\n\t\/\/  console.log('purchase_authority='+purchase_authority);\r\n\t}\r\n\telse purchase_authority=\"not defined\";\r\n\tparam=param+'&purchase_authority='+encodeURIComponent(purchase_authority);\r\n\r\n\tif (document.getElementsByName('Opt_in__c') !== null) {\r\n\t\tif(document.getElementsByName('Opt_in__c')[0].checked)\r\n\t\t  opt_in=\"Yes\";\r\n\t\telse opt_in=\"No\";\r\n\t\/\/  console.log('opt_in='+opt_in);\r\n\t}\r\n\telse opt_in=\"not defined\";\r\n\tparam=param+'&opt_in='+encodeURIComponent(opt_in);\r\n\r\n\tif (document.getElementById('enquiryType') !== null) {\r\n\t\/\/  enquiry_type=document.getElementById(\"enquiryType\").value;\r\n      \/\/ Get the <select> element and translated \r\n\t  var selectElement=document.getElementById(\"enquiryType\");\r\n\r\n\t  \/\/ Get the selected option\r\n\t  var selectedOption=selectElement.options[selectElement.selectedIndex];\r\n\r\n\t  \/\/ Get the text content of the selected option\r\n\t  enquiry_type=selectedOption.text;\r\n\t  \/\/  console.log('enquiry_type='+enquiry_type);\r\n\t}\r\n\telse enquiry_type=\"not defined\";\r\n\tparam=param+'&enquiry_type='+encodeURIComponent(enquiry_type);\r\n\r\n\tif (document.getElementById('enquiryType') !== null) {\r\n\t   enquiry_type_not_translated=document.getElementById(\"enquiryType\").value;\r\n\t  \/\/  console.log('enquiry_type_not_translated='+enquiry_type_not_translated);\r\n\t}\r\n\telse enquiry_type_not_translated=\"not defined\";\r\n\tparam=param+'&enquiry_type_not_translated='+encodeURIComponent(enquiry_type_not_translated);\r\n\r\n\tmy_campaign=\"\";\r\n\t\/\/ console.log('my_campaign='+my_campaign);\r\n\tparam=param+'&my_campaign='+encodeURIComponent(my_campaign);\r\n\r\n\tif (document.getElementById('enquiry') !== null) {\r\n\t  enquiry=document.getElementById(\"enquiry\").value;\r\n\t\/\/  console.log('enquiry='+enquiry);\r\n\t}\r\n\telse enquiry=\"not defined\";\r\n\tparam=param+'&enquiry='+encodeURIComponent(enquiry);\r\n\r\n\tif (document.getElementById('interestedIn') !== null) {\r\n\t  interested_in=document.getElementById(\"interestedIn\").value;\r\n\t\/\/  console.log('interested_in='+interested_in);\r\n\t}\r\n\telse interested_in=\"not defined\";\r\n\tparam=param+'&interested_in='+encodeURIComponent(interested_in);\r\n\r\n\t\/\/ Deal reg - customer company\r\n\tif (document.getElementById('programMemberField01') !== null) {\r\n\t  programMemberField01=document.getElementById(\"programMemberField01\").value;\r\n\t\/\/  console.log('programMemberField01='+programMemberField01);\r\n\t}\r\n\telse programMemberField01=\"not defined\";\r\n\tparam=param+'&programMemberField01='+encodeURIComponent(programMemberField01);\r\n\r\n\t\/\/ Deal reg - customer industry\r\n\tif (document.getElementById('programMemberField02') !== null) {\r\n\t  programMemberField02=document.getElementById(\"programMemberField02\").value;\r\n\t\/\/  console.log('programMemberField02='+programMemberField02);\r\n\t}\r\n\telse programMemberField02=\"not defined\";\r\n\tparam=param+'&programMemberField02='+encodeURIComponent(programMemberField02);\r\n\r\n\t\/\/ Deal reg - customer country\r\n\tif (document.getElementById('programMemberField03') !== null) {\r\n\t  programMemberField03=document.getElementById(\"programMemberField03\").value;\r\n\t\/\/  console.log('programMemberField03='+programMemberField03);\r\n\t}\r\n\telse programMemberField03=\"not defined\";\r\n\tparam=param+'&programMemberField03='+encodeURIComponent(programMemberField03);\r\n\r\n\t\/\/ Deal reg - quantity of users\/servers\r\n\tif (document.getElementById('programMemberField04') !== null) {\r\n\t  programMemberField04=document.getElementById(\"programMemberField04\").value;\r\n\t\/\/  console.log('programMemberField04='+programMemberField04);\r\n\t}\r\n\telse programMemberField04=\"not defined\";\r\n\tparam=param+'&programMemberField04='+encodeURIComponent(programMemberField04);\r\n\r\n\t\/\/ Deal reg - purchase timeline\r\n\tif (document.getElementById('Purchase_Timeline__c') !== null) {\r\n\t  purchase_timeline=document.getElementById(\"Purchase_Timeline__c\").value;\r\n\t\/\/  console.log('purchase_timeline='+purchase_timeline);\r\n\t}\r\n\telse purchase_timeline=\"not defined\";\r\n\tparam=param+'&purchase_timeline='+encodeURIComponent(purchase_timeline);\r\n\r\n\t\/\/ Deal reg - budget\r\n\tif (document.getElementById('programMemberField05') !== null) {\r\n\t  programMemberField05=document.getElementById(\"programMemberField05\").value;\r\n\t\/\/  console.log('programMemberField05='+programMemberField05);\r\n\t}\r\n\telse programMemberField05=\"not defined\";\r\n\tparam=param+'&programMemberField05='+encodeURIComponent(programMemberField05);\r\n\r\n\t\/\/ Deal reg - advised by\r\n\tif (document.getElementById('programMemberField06') !== null) {\r\n\t  programMemberField06=document.getElementById(\"programMemberField06\").value;\r\n\t\/\/  console.log('programMemberField06='+programMemberField06);\r\n\t}\r\n\telse programMemberField06=\"not defined\";\r\n\tparam=param+'&programMemberField06='+encodeURIComponent(programMemberField06);\r\n\r\n\tif (reCAPTCHALastUserFingerprint !== null) {\r\n\t\/\/  console.log('reCAPTCHALastUserFingerprint='+reCAPTCHALastUserFingerprint);\r\n\t}\r\n\telse reCAPTCHALastUserFingerprint=\"not defined\";\r\n\tparam=param+'&reCAPTCHALastUserFingerprint='+encodeURIComponent(reCAPTCHALastUserFingerprint);\r\n\r\n\t\/\/ console.log('param='+param);\r\n\r\n\t\/\/POST\r\n\tvar request=new XMLHttpRequest();\r\n\trequest.open(\"POST\", \"https:\/\/www.evidian.com\/p\/sm7\/marketo-lead-post.php\", false);\r\n\trequest.setRequestHeader(\"Content-Type\", \"application\/x-www-form-urlencoded; charset=UTF-8\");\r\n\trequest.send(param);\r\n\tif (request.readyState != \"4\") return false;\r\n\tif (request.status != \"200\") return false;\r\n\t\/\/ end BR\r\n\r\n    \/\/ Page Redirect - immediately goes to destination page in same tab\r\n   if (formType == \"Page Redirect\") {\r\n\t\t\/\/ test if it is a call for a SafeKit free trial license key (sek*.asp): if yes add the email in query string\r\n\t\tlet result=form_destination.indexOf(\"sek\");\r\n\t\tif (result !== -1) form_destination=form_destination+\"?Email=\"+encodeURIComponent(email);\r\n\t\t\/\/ console.log('Page Redirect (form_destination)='+\" \"+form_destination);\r\n\t\twindow.open(form_destination, \"_self\");\r\n\t\t\/\/ window.open(form_destination, \"_parent\"); \/\/ original line\r\n        return false;\r\n    }\r\n    \/\/ Asset Download - shows TY message with link to asset. \r\n    else if (formType == \"Asset Download\") {\r\n        if (form_content_name !== \"\") {\r\n            jQuery(\"#mktoFormThankYouMessageText\").html(thankYouMessage + \" \" + form_content_name + \".\");\r\n        } else {\r\n            jQuery(\"#mktoFormThankYouMessageText\").html(thankYouMessage);\r\n        }\r\n        jQuery(\"#mktoFormThankYouMessageLink\").attr(\"href\", form_destination);\r\n        jQuery(\"#mktoFormThankYouMessageLink\").html(downloadLinkText)\r\n        jQuery(\"#mktoFormThankYouMessageLink\").addClass(\"setToVisible\").removeClass(\"setToInvisible\");\r\n        showThankYouMessage();\r\n        return false;\r\n    }\r\n    \/\/ Thank You, or any kind of form not listed - shows TY message saying we'll get back to you\r\n    else {\r\n        jQuery(\"#mktoFormThankYouMessageText\").html(thankYouMessage);\r\n        jQuery(\"#mktoFormContactMessage\").html(contactMessage);\r\n        jQuery(\"#mktoFormContactMessage\").addClass(\"setToVisible\").removeClass(\"setToInvisible\");\r\n        showThankYouMessage();\r\n        return false;\r\n    };\r\n\r\n});\r\n\r\n        function translateFormLabels() {\r\n\t\t\t\r\n\t\t\t\/\/ BR - as translateFormLabels is called each time a field is changed, let's take advantage of it to force Costa Rica.\r\n\t\t\t\/\/ Clear the pre-filled form fields set by the browser based on the user's input history.\r\n\t\t\tif (document.getElementById('Country') !== null) {\r\n\t\t\t\tvar display=\"none\";\r\n\t\t\t\tvar country_predefined=\"France\";\r\n\t\t\t\tif ((display == \"none\") && (country_predefined == \"Costa Rica\")) {\r\n\t\t\t\t\t\/\/ console.log('[translate] country='+document.getElementById(\"Country\").value);\r\n\t\t\t\t\tdocument.getElementById(\"Country\").value=\"Costa Rica\";\r\n\t\t\t\t\t\/\/ console.log('[translate] country='+document.getElementById(\"Country\").value);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n            if (document.getElementById(\"preferredLanguage\")) {\r\n                \/\/use the form's language field, if it's empty, use the browser's default language\r\n                if (form.vals().preferredLanguage.length > 0) {\r\n                    language = form.vals().preferredLanguage;\r\n                } else {\r\n                    language = browserLangFormatted\r\n                }\r\n\r\n                const translationsObj = getTranslations(language);\r\n                const formFieldLabels = Object.keys(form.vals());\r\n                const keysForThisLanguage = Object.keys(languageTranslations[language]);\r\n\r\n                for (var i=0; i<formFieldLabels.length ; i++) {\r\n                    if (formContains(formFieldLabels[i], keysForThisLanguage)) {\r\n                        var objOfThisField = translationsObj[formFieldLabels[i]];\r\n                        \/\/change this label text to translated version\r\n                        jQuery(\"#Lbl\" + formFieldLabels[i]).html(objOfThisField.label);\r\n\r\n                        if (objOfThisField.type == \"select\") {\r\n                            var optionsForThisSelect = objOfThisField.options\r\n\r\n                            \/\/alphabestises the dropdown options for the field, based on the translated display text - ONLY sorts, not displays\r\n\/\/ BR BUG                   if (keysForThisLanguage[i] == \"customerIndustry\") {\r\n\t\t\t\t\t\t\tif (formFieldLabels[i] == \"customerIndustry\") {\r\n                                sortIndustryField(optionsForThisSelect);\r\n                            }\r\n\r\n\/\/ BR added\r\n                            \/\/alphabestises the dropdown options for the field, based on the translated display text - ONLY sorts, not displays\r\n\t\t\t\t\t\t\tif (formFieldLabels[i] == \"Country\") {\r\n                                sortIndustryField(optionsForThisSelect);\r\n                            }\r\n\/\/ end BR\r\n\r\n                            var valuesForThisSelect = optionsForThisSelect.map(a => a.value);\r\n                            var textsForThisSelect = optionsForThisSelect.map(a => a.text);\r\n                            var formOptionsForThisField = jQuery(\"#\" + formFieldLabels[i] + \" option\");\r\n                            var thisFormField = jQuery(\"#\" + formFieldLabels[i])\r\n\r\n                            \/\/if this dropdown option is in translations.js, translate the text that is displayed.\r\n                            for (var j = 0; j < formOptionsForThisField.length; j++) {\r\n                                var indexOfOption = valuesForThisSelect.indexOf(formOptionsForThisField[j].value);\r\n                                if (indexOfOption > -1) {\r\n                                    formOptionsForThisField[j].innerHTML = textsForThisSelect[indexOfOption];\r\n                                }\r\n                            }\r\n\r\n                            \/\/DISPLAYS the alphabetised options for the dropdown\r\n\/\/ BR BUG                   if (keysForThisLanguage[i] == \"customerIndustry\") {\r\n\t\t\t\t\t\t\tif (formFieldLabels[i] == \"customerIndustry\") {\r\n                                overwriteIndustryField(thisFormField, valuesForThisSelect, textsForThisSelect)\r\n                            }\r\n\r\n\/\/ BR added\r\n                            \/\/DISPLAYS the alphabetised options for the dropdown\r\n\t\t\t\t\t\t\tif (formFieldLabels[i] == \"Country\") {\r\n                                overwriteIndustryField(thisFormField, valuesForThisSelect, textsForThisSelect)\r\n                            }\r\n\/\/ end BR\r\n\r\n                            \/\/remove all salutation options, then replace with the values for this language\r\n\/\/ BR BUG                   if (keysForThisLanguage[i] == \"Salutation\") {\r\n                            if (formFieldLabels[i] == \"Salutation\") {                                currentSalutationSelected = form.vals().Salutation\r\n                                jQuery(\"#Salutation\").html(\"\")\r\n                                for (var j = 0; j < valuesForThisSelect.length; j++) {\r\n                                    jQuery(\"#Salutation\").append(jQuery('<option\/>', {\r\n                                        value: valuesForThisSelect[j],\r\n                                        text : textsForThisSelect[j]\r\n                                    }));\r\n                                }\r\n                                \/\/if the selected salutation is still an option, keep it selected.\r\n                                if (valuesForThisSelect.includes(currentSalutationSelected)) {\r\n                                    form.vals({ \"Salutation\" : currentSalutationSelected})\r\n                                }\r\n                            }\r\n\r\n                        } else if (objOfThisField.type == \"radio\") {\r\n                            var optionsForThisSelect = objOfThisField.options\r\n                            var valuesForThisSelect = optionsForThisSelect.map(a => a.value);\r\n                            var textsForThisSelect = optionsForThisSelect.map(a => a.text);\r\n                            var radioOptionsValueForThisField = jQuery(\"input[name='Opt_in__c']\");\r\n                            var radioOptionsLabelForThisField = jQuery(\"input[name='Opt_in__c']\").next();\r\n                            for (var j = 0; j < radioOptionsLabelForThisField.length; j++) {\r\n                                var indexOfOption = valuesForThisSelect.indexOf(radioOptionsValueForThisField[j].value);\r\n                                if (indexOfOption > -1) {\r\n                                    radioOptionsLabelForThisField[j].innerHTML = textsForThisSelect[indexOfOption];\r\n                                    jQuery(radioOptionsLabelForThisField[j]).removeClass(\"setToInvisible\");\r\n                                }\r\n                            }\r\n                        }\r\n                    };\r\n                }\r\n\r\n                \/\/choose correct privacy policy\r\n                var nationalPrivLawURL = \"none\"; \r\n                var nationalPrivLawRegex = new RegExp;\r\n                switch (form.vals().Country) {\r\n                    case \"United Kingdom\": case \"Isle of Man\": case \"Gibraltar\" : \r\n                        privacyType = \"DPA\";\r\n                        nationalPrivLawURL = \"https:\/\/www.legislation.gov.uk\/ukpga\/2018\/12\/contents\/enacted\";\r\n                        nationalPrivLawRegex = \/DPA|APD\/g;\r\n                        break;\r\n                    case \"United States\" : \r\n                        if (form.vals().State == \"CA\") {\r\n                            privacyType = \"CCPA\";\r\n                            nationalPrivLawURL = \"https:\/\/oag.ca.gov\/privacy\/ccpa\";\r\n                            nationalPrivLawRegex = \/CCPA\/g;\r\n                            nationalPrivLawURL2 = \"https:\/\/thecpra.org\/\"\r\n                            nationalPrivLawRegex2 = \/CPRA\/g;\r\n                        } else {\r\n                            privacyType = \"none\";\r\n                            nationalPrivLawURL = \"none\"\r\n                        }\r\n                        break;\r\n                    case \"Canada\" : \r\n                        privacyType = \"CASL\";\r\n                        nationalPrivLawURL = \"https:\/\/laws-lois.justice.gc.ca\/eng\/acts\/E-1.6\/index.html\";\r\n                        nationalPrivLawRegex = \/CASL\/g;\r\n                        break;\r\n                    case \"Brazil\" : \r\n                        privacyType = \"LGDP\";\r\n                        nationalPrivLawURL = \"https:\/\/lgpd-brazil.info\/\";\r\n                        nationalPrivLawRegex = \/LGPD\/g;\r\n                        break;\r\n                    case \"South Africa\" : \r\n                        privacyType = \"POPIA\";\r\n                        nationalPrivLawURL = \"https:\/\/popia.co.za\/\";\r\n                        nationalPrivLawRegex = \/POPIA\/g;\r\n                        break;\r\n                    case \"Mexico\" : \r\n                        privacyType = \"LFPDPPP\";\r\n                        nationalPrivLawURL = \"https:\/\/privacyinternational.org\/state-privacy\/1006\/state-privacy-mexico#dataprotection\"\r\n                        nationalPrivLawRegex = \/LFPDPPP\/g;\r\n                        break;\r\n                    case gdprCountries(form.vals().Country) : \r\n                        privacyType = \"GDPR\";\r\n                        nationalPrivLawURL = \"https:\/\/gdpr.eu\/\";\r\n                        nationalPrivLawRegex = \/GDPR|RGPD|DSGVO|AVG\/g\r\n                        break;\r\n                    default:\r\n                        privacyType = \"none\";\r\n                        nationalPrivLawURL = \"none\";\r\n                        break;\r\n                };\r\n\r\n                \/\/translate opt-in text\t\r\n\t\t\t\t\/\/ BR - translate opt-in messages only if they are displayed\r\n\t\t\t\tif (document.getElementById('LblOpt_in__c') !== null) {\r\n\t\t\t\t\t\/\/ BR - Count all elements with class of mktoHtmlText \r\n\t\t\t\t\t\/\/ and translate only the two last opt-in mktoHtmlText elements\r\n\t\t\t\t\t\/\/ Instead of jQuery(\".mktoHtmlText\").eq(0) jQuery(\".mktoHtmlText\").eq(1)\r\n\t\t\t\t\t\/\/ call jQuery(\".mktoHtmlText\").eq(count_mktoHtmlText-2) and jQuery(\".mktoHtmlText\").eq(count_mktoHtmlText-1)\r\n\t\t\t\t\tvar count_mktoHtmlText = document.querySelectorAll('.mktoHtmlText').length;\r\n\t\t\t\t\t\/\/ console.log('count_mktoHtmlText='+count_mktoHtmlText);\r\n\t\t\t\t\tvar optInTextObj = translationsObj[\"OptInText\"];\r\n\t\t\t\t\tvar optInTypes = optInTextObj.map(a => a.value);\r\n\t\t\t\t\t\/\/only California is different Opt-In to GDPR\/Default\r\n\t\t\t\t\tif (privacyType == \"CCPA\") {\r\n\t\t\t\t\t\tjQuery(\".mktoHtmlText\").eq(count_mktoHtmlText-2).html(optInTextObj[optInTypes.indexOf(privacyType)].text); \r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tjQuery(\".mktoHtmlText\").eq(count_mktoHtmlText-2).html(optInTextObj[0].text); \r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\/\/translate Privacy Policy text\r\n\t\t\t\t\tvar privacyTextObj = translationsObj[\"PrivacyText\"];\r\n\t\t\t\t\tvar privacyTypes = privacyTextObj.map(a => a.value);\r\n\t\t\t\t\tvar indexOfPrivacyType = privacyTypes.indexOf(privacyType);\r\n\t\t\t\t\tjQuery(\".mktoHtmlText\").eq(count_mktoHtmlText-1).html(privacyTextObj[indexOfPrivacyType].text); \r\n\r\n\t\t\t\t\t\/\/add in privacy policy links to translated text, for atos and for national law (e.g. GDPR)\r\n\t\t\t\t\tif (jQuery(\".mktoHtmlText\").eq(count_mktoHtmlText-1).html()) {\r\n\t\t\t\t\t\tvar privacyText = jQuery(\".mktoHtmlText\").eq(count_mktoHtmlText-1)\r\n\t\t\t\t\t\tvar atosPrivLinkRegex = \/(Privacy Policy|Politique de confidentialit\u00e9|Informativa sulla privacy|Datenschutzrichtlinie|Pol\u00edtica de privacidad|Privacybeleid|Pol\u00edtica de Privacidade)\/g\r\n\t\t\t\t\t\tvar atosPrivPolicyURL = 'https:\/\/eviden.com\/privacy-policy\/'\r\n\t\t\t\t\t\t\tif (language == \"French\") {\r\n\t\t\t\t\t\t\t\t\/\/only French link is non-EN\r\n\t\t\t\t\t\t\t\tatosPrivPolicyURL = 'https:\/\/eviden.com\/fr-fr\/politique-de-confidentialite\/'\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\/\/add atos privacy link\r\n\t\t\t\t\t\taddInLink(privacyText, atosPrivLinkRegex, atosPrivPolicyURL);\r\n\t\t\t\t\t\tif (privacyType != \"none\" ) {\r\n\t\t\t\t\t\t\t\/\/add GDPR etc. link\r\n\t\t\t\t\t\t\taddInLink(privacyText, nationalPrivLawRegex, nationalPrivLawURL);\r\n\t\t\t\t\t\t\tif (privacyType == \"CCPA\") {\r\n\t\t\t\t\t\t\t\t\/\/California has two links\r\n\t\t\t\t\t\t\t\taddInLink(privacyText, nationalPrivLawRegex2, nationalPrivLawURL2);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t\/* end modif BR *\/\r\n\t\t\t\t\r\n                \/\/translate Submit Button\r\n                var submitButtonObj = translationsObj[\"Submit\"];\r\n\t\t\t\tvar submit_text=\"\"; \/\/ special text requested for Submit\r\n\t\t\t\tif (submit_text == \"\") {\r\n\t\t\t\t\tsubmit_text=submitButtonObj.text;\r\n\t\t\t\t}\r\n                jQuery(\".mktoButton[type='submit']\").html(submit_text);\r\n                \r\n                \/\/translate Thank You texts\r\n                if (form_content_name != \"\" && formType == \"Asset Download\") {\r\n                    thankYouMessage = translationsObj[\"ThankYouDataContent\"]\r\n                } else {\r\n                    thankYouMessage = translationsObj[\"ThankYouEmptyDataContent\"]\r\n                }\r\n                downloadLinkText = translationsObj[\"DownloadLinkText\"]\r\n                contactMessage = translationsObj[\"ContactTYText\"]\r\n                \r\n            };\r\n\t\t\t\r\n\t\t\t\/\/ BR - set label_job_title if defined\r\n\t\t\tvar label_job_title=\"\";\r\n\t\t\tif (label_job_title != \"\") {\r\n\t\t\t\tlabelElement = document.getElementById(\"LblSF_Job_Title__c\");\r\n\t\t\t\tlabelElement.innerHTML = label_job_title;\r\n\t\t\t}\r\n\r\n        };\r\n\r\n        const sortIndustryField = function(options) {\r\n            options.sort(function(a,b) {\r\n                \/\/make sure the 'please select' option is first\r\n                if (a.value == b.value) return 0\r\n                if (a.value == \"\") return -1;\r\n                if (b.value == \"\") return 1;\r\n                \/\/and sort the rest alphabetically\r\n                return a.text.localeCompare(b.text)\r\n                \/\/if (a.text > b.text) return 1;\r\n                \/\/if (a.text < b.text) return -1;\r\n                \/\/return 0 \r\n            })\r\n        }\r\n\r\n\r\n        const overwriteIndustryField = function(field, values, texts) {\r\n            var selectedVal = (field.val())\r\n            field.html(\"\");\r\n            for (var j = 0; j < values.length; j++) {\r\n                field.append(jQuery('<option\/>', {\r\n                    value: values[j],\r\n                    text : texts[j]\r\n                }));\r\n            }\r\n            \/\/keep previously selected value as selected\r\n            field.val(selectedVal);\r\n        } \r\n\r\n        \/\/add in privacy links to translated text\r\n        const addInLink = function(privacyText, unlinkedTextRegex, privURL) {\r\n            var stringToLink = privacyText.html().match(unlinkedTextRegex)\r\n            var linkedText = \"<a href=\"+ privURL + \" target='blank'>\" + stringToLink + \"<\/a>\";\r\n            var replacement = privacyText.html().replace(unlinkedTextRegex, linkedText);\r\n            privacyText.html(replacement) \r\n        }\r\n        \r\n        const formContains = (label, keysForThisLanguage) => {\r\n            if (keysForThisLanguage.includes(label)) {\r\n                return true\r\n            } else {\r\n                return false\r\n            }\r\n        }\r\n\r\n        const getTranslations = (language) => {\r\n            if(Object.keys(languageTranslations).includes(language)) {\r\n                return languageTranslations[language];\r\n            } else { return [] }\r\n        }\r\n\r\n        translateFormLabels();\r\n\r\n        \/\/when a field changes, check if any progressive fields have appeared and need translation\r\n        jQuery(\".mktoForm\").on(\"change\", \".mktoField\", () => {\r\n            translateFormLabels();\r\n        }); \r\n\r\n\r\n        \/\/check for a Marketo validation error message appearing, grab its text and change it to translated version\r\n        jQuery(document).delegate('.mktoForm', 'focus', function() {\r\n            if (document.getElementById(\"preferredLanguage\")) {\r\n                if ( jQuery('.mktoErrorMsg')['0'] ) {\r\n                    originalErrorMessage = jQuery('.mktoErrorMsg')[0];\r\n                    errorMessageID = jQuery(originalErrorMessage).attr('id')\r\n                    fieldID = errorMessageID.replace('ValidMsg', '')\r\n                    const translationsObj = getTranslations(language);\r\n                    var objOfThisField = translationsObj[fieldID];\r\n                    jQuery('.mktoError').addClass(\"mktoErrorRealign\")\r\n                    jQuery('.mktoErrorMsg')['0'].innerHTML = objOfThisField.requiredError;\r\n                };\r\n            };\r\n        });\r\n\r\n\/\/ Begin BR\r\n\t\tjQuery(document).ready( function($){\r\n\/*\r\n\tinverse first name \/ last name for Japanese (does not work - break the dynamic form - pb solved in translation.js)\r\n\t$first_name_div=$(\"#FirstName\").parents(\".mktoFormRow\")\r\n\t$first_name_div.clone(true).insertAfter($(\"#LastName\").parents(\".mktoFormRow\"))\r\n\t$first_name_div.remove()\r\n*\/\r\n\t\/* add Japanese in the list of languages *\/\r\n\t$('#preferredLanguage').append('<option value=\"Japanese\">Japanese<\/option>');\r\n\t\/* implement shortcodes \"marketo id=\"1624\" shortcodes...\" *\/\r\n\tvar display=\"none\";\r\n\tvar preferred_language=\"French\";\r\n\tif (preferred_language != \"\") {\r\n\t\t$('#preferredLanguage').val(\"French\");\r\n\t\t$('#preferredLanguage').trigger('change');\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#preferredLanguage\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\r\n\tvar enquiry_type=\"Product Information\";\r\n\tif (enquiry_type != \"\") {\r\n\t\t$('#enquiryType').val(\"Product Information\");\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#enquiryType\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\r\n\tif (\"1624\" == \"1624\") {\r\n\t\tvar my_campaign=\"\";\r\n\t\tif (my_campaign != \"\") {\r\n\t\t\telements=document.getElementsByName(\"programMemberField01\"); \/\/ hidden field\r\n\t\t\tif ( elements.length > 0 ) elements[0].value=\"\";\r\n\t\t}\r\n\t}\r\n\t\r\n\tvar interested_in=\"Strong Authentication Management\";\r\n\tif (interested_in != \"\") {\r\n\t\t$('#interestedIn').val(\"Strong Authentication Management\");\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#interestedIn\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\tvar phone=\"\";\r\n\tif (phone != \"\") {\r\n\t\t$('#Phone').val(\"\");\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#Phone\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\tvar job_title=\"Not specified\";\r\n\tif (job_title != \"\") {\r\n\t\t$('#SF_Job_Title__c').val(\"Not specified\");\r\n\t\tif (display == \"none\") {\r\n\t\t\tif (job_title == \"email\") {\r\n\t\t\t\tlabelElement = document.getElementById(\"LblSF_Job_Title__c\");\r\n\t\t\t\tlabelElement.innerHTML = \"Business Email Address *\";\r\n\t\t\t\t$('#SF_Job_Title__c').val(\"\");\r\n\t\t\t} else {\r\n\t\t\t\t$(\"#SF_Job_Title__c\").parents(\".mktoFormRow\").css('display','none');\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tvar industry=\"Other\";\r\n\tif (industry != \"\") {\r\n\t\t$('#customerIndustry').val(\"Other\");\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#customerIndustry\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\tvar enquiry=\"\";\r\n\tif (enquiry != \"\") {\r\n\t\t$('#enquiry').val(\"\");\r\n\t\tif ((display == \"none\")&& (enquiry==\"none\"))\r\n\t\t\t$(\"#enquiry\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\tvar email=\"\";\r\n\tif (email != \"\") {\r\n\t\t$('#Email').val(\"\");\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#Email\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\tvar first_name=\"\";\r\n\tif (first_name != \"\") {\r\n\t\t$('#FirstName').val(\"\");\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#FirstName\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\tvar last_name=\"\";\r\n\tif (last_name != \"\") {\r\n\t\t$('#LastName').val(\"\");\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#LastName\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\tvar company=\"\";\r\n\tif (company != \"\") {\r\n\t\t$('#Company').val(\"\");\r\n\t\tif (display == \"none\")\r\n\t\t\t$(\"#Company\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\tvar country_predefined=\"France\";\r\n\tif (country_predefined != \"\") {\r\n\t\t$('#Country').val(\"France\");\r\n\t\t\/\/ keep country visible except when equal to Costa Rica\r\n\t\tif ((display == \"none\")&& (country_predefined == \"Costa Rica\")) {\r\n\t\t\t\/\/ console.log('[ready] display none for country='+document.getElementById(\"Country\").value);\r\n\t\t\t$(\"#Country\").parents(\".mktoFormRow\").css('display','none');\r\n\t\t}\r\n\r\n\t}\r\n\tvar display_salutation=\"false\";\r\n\tif (display_salutation == \"false\") {\r\n\t\t$(\"#Salutation\").parents(\".mktoFormRow\").css('display','none')\r\n\t}\r\n\t\r\n\ttranslateFormLabels(); \/* translate and sort according pre-selection *\/\r\n\r\n});\r\n\/\/ End BR\r\n\r\n\t});\r\n\r\n    \/\/check for Countries in GDPR during privacy policy selection\r\n    const gdprCountriesArr = listOfEuropeanCountries\r\n    const gdprCountries = (country) => {\r\n        if (gdprCountriesArr.includes(country)) {\r\n            return country;\r\n        } else return false;\r\n    }\r\n\r\n    function showThankYouMessage() {\r\n        MktoForms2.whenReady(function (form) {\r\n            form.getFormElem().hide();\r\n            jQuery(\"#mktoFormThankYouMessage\").addClass(\"setToVisible\").removeClass(\"setToInvisible\");\r\n        });\r\n    }\r\n\r\n    \r\n<\/script>\r\n\r\n<div id=\"mktoFormThankYouMessage\" class=\"setToInvisible\" mktoname=\"Form Thank you message\">\r\n    <div><span id=\"mktoFormThankYouMessageText\">Thank you for your interest.<\/span>\r\n        <!-- <a> below only displays if form-type is Asset Download-->\r\n        <a class=\"setToInvisible\" id=\"mktoFormThankYouMessageLink\" target=\"_blank\" href=\"\">You can download the report here.<\/a>\r\n    <\/div>\r\n    <!-- span below only displays if form-type is Contact Us-->\r\n    <span id=\"mktoFormContactMessage\" class=\"setToInvisible\">A member of our team will be in touch with you shortly<\/span>\r\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"Choix d'une authentification \u00e0 double facteur, multi facteurs, du logiciel de gestion MFA, quelques conseils... Ce livre blanc pr\u00e9sente les m\u00e9thodes d\u2019authentification forte les plus utilis\u00e9es dans les entreprises et organisations, avec leurs sp\u00e9cificit\u00e9s. Il d\u00e9taille les probl\u00e8mes les plus fr\u00e9quemment rencontr\u00e9s dans les phases de d\u00e9ploiement et d\u2019administration quotidienne. Il pr\u00e9sente les solutions couramment [&hellip;]","protected":false},"author":3,"featured_media":0,"parent":4292,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-full-screen-marketo-form.php","meta":{"_acf_changed":false,"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"class_list":["post-12913","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>M\u00e9thodes d\u2019authentification forte multifacteurs (MFA) - Evidian<\/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:\/\/www.evidian.com\/fr\/produits\/authentification-manager\/authentification-forte-reduisez-les-couts-caches\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"M\u00e9thodes d\u2019authentification forte multifacteurs (MFA)\" \/>\n<meta property=\"og:description\" content=\"Choix d&#039;une authentification \u00e0 double facteur, multi facteurs, du logiciel de gestion MFA, quelques conseils... Ce livre blanc pr\u00e9sente les m\u00e9thodes d\u2019authentification forte les plus utilis\u00e9es dans les entreprises et organisations, avec leurs sp\u00e9cificit\u00e9s. Il d\u00e9taille les probl\u00e8mes les plus fr\u00e9quemment rencontr\u00e9s dans les phases de d\u00e9ploiement et d\u2019administration quotidienne. Il pr\u00e9sente les solutions couramment [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.evidian.com\/fr\/produits\/authentification-manager\/authentification-forte-reduisez-les-couts-caches\/\" \/>\n<meta property=\"og:site_name\" content=\"Evidian\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-05T14:48:09+00:00\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.evidian.com\\\/fr\\\/produits\\\/authentification-manager\\\/authentification-forte-reduisez-les-couts-caches\\\/\",\"url\":\"https:\\\/\\\/www.evidian.com\\\/fr\\\/produits\\\/authentification-manager\\\/authentification-forte-reduisez-les-couts-caches\\\/\",\"name\":\"M\u00e9thodes d\u2019authentification forte multifacteurs (MFA) - Evidian\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.evidian.com\\\/fr\\\/#website\"},\"datePublished\":\"2014-10-31T06:13:17+00:00\",\"dateModified\":\"2024-03-05T14:48:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.evidian.com\\\/fr\\\/produits\\\/authentification-manager\\\/authentification-forte-reduisez-les-couts-caches\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.evidian.com\\\/fr\\\/produits\\\/authentification-manager\\\/authentification-forte-reduisez-les-couts-caches\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.evidian.com\\\/fr\\\/produits\\\/authentification-manager\\\/authentification-forte-reduisez-les-couts-caches\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Evidian\",\"item\":\"https:\\\/\\\/www.evidian.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Produits\",\"item\":\"https:\\\/\\\/www.evidian.com\\\/fr\\\/produits\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Authentication Manager pour l'authentification forte multifacteurs (MFA)\",\"item\":\"https:\\\/\\\/www.evidian.com\\\/fr\\\/produits\\\/authentification-manager\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"M\u00e9thodes d\u2019authentification forte multifacteurs (MFA)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.evidian.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/www.evidian.com\\\/fr\\\/\",\"name\":\"Evidian\",\"description\":\"Set in menu above: SEO\\\/SEO Settings\\\/Title &amp; Metas\\\/Home\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.evidian.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.evidian.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.evidian.com\\\/fr\\\/#organization\",\"name\":\"Evidian\",\"alternateName\":\"Evidian\",\"url\":\"https:\\\/\\\/www.evidian.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.evidian.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.evidian.com\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/evidian-new-blue-1.png\",\"contentUrl\":\"https:\\\/\\\/www.evidian.com\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/evidian-new-blue-1.png\",\"width\":734,\"height\":200,\"caption\":\"Evidian\"},\"image\":{\"@id\":\"https:\\\/\\\/www.evidian.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/showcase\\\/eviden-cybersecurity\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCJKPuw2SDVNYUjZEJyLbIAA\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"M\u00e9thodes d\u2019authentification forte multifacteurs (MFA) - Evidian","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:\/\/www.evidian.com\/fr\/produits\/authentification-manager\/authentification-forte-reduisez-les-couts-caches\/","og_locale":"fr_FR","og_type":"article","og_title":"M\u00e9thodes d\u2019authentification forte multifacteurs (MFA)","og_description":"Choix d'une authentification \u00e0 double facteur, multi facteurs, du logiciel de gestion MFA, quelques conseils... Ce livre blanc pr\u00e9sente les m\u00e9thodes d\u2019authentification forte les plus utilis\u00e9es dans les entreprises et organisations, avec leurs sp\u00e9cificit\u00e9s. Il d\u00e9taille les probl\u00e8mes les plus fr\u00e9quemment rencontr\u00e9s dans les phases de d\u00e9ploiement et d\u2019administration quotidienne. Il pr\u00e9sente les solutions couramment [&hellip;]","og_url":"https:\/\/www.evidian.com\/fr\/produits\/authentification-manager\/authentification-forte-reduisez-les-couts-caches\/","og_site_name":"Evidian","article_modified_time":"2024-03-05T14:48:09+00:00","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.evidian.com\/fr\/produits\/authentification-manager\/authentification-forte-reduisez-les-couts-caches\/","url":"https:\/\/www.evidian.com\/fr\/produits\/authentification-manager\/authentification-forte-reduisez-les-couts-caches\/","name":"M\u00e9thodes d\u2019authentification forte multifacteurs (MFA) - Evidian","isPartOf":{"@id":"https:\/\/www.evidian.com\/fr\/#website"},"datePublished":"2014-10-31T06:13:17+00:00","dateModified":"2024-03-05T14:48:09+00:00","breadcrumb":{"@id":"https:\/\/www.evidian.com\/fr\/produits\/authentification-manager\/authentification-forte-reduisez-les-couts-caches\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.evidian.com\/fr\/produits\/authentification-manager\/authentification-forte-reduisez-les-couts-caches\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.evidian.com\/fr\/produits\/authentification-manager\/authentification-forte-reduisez-les-couts-caches\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Evidian","item":"https:\/\/www.evidian.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Produits","item":"https:\/\/www.evidian.com\/fr\/produits\/"},{"@type":"ListItem","position":3,"name":"Authentication Manager pour l'authentification forte multifacteurs (MFA)","item":"https:\/\/www.evidian.com\/fr\/produits\/authentification-manager\/"},{"@type":"ListItem","position":4,"name":"M\u00e9thodes d\u2019authentification forte multifacteurs (MFA)"}]},{"@type":"WebSite","@id":"https:\/\/www.evidian.com\/fr\/#website","url":"https:\/\/www.evidian.com\/fr\/","name":"Evidian","description":"Set in menu above: SEO\/SEO Settings\/Title &amp; Metas\/Home","publisher":{"@id":"https:\/\/www.evidian.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.evidian.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.evidian.com\/fr\/#organization","name":"Evidian","alternateName":"Evidian","url":"https:\/\/www.evidian.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.evidian.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.evidian.com\/wp-content\/uploads\/2024\/01\/evidian-new-blue-1.png","contentUrl":"https:\/\/www.evidian.com\/wp-content\/uploads\/2024\/01\/evidian-new-blue-1.png","width":734,"height":200,"caption":"Evidian"},"image":{"@id":"https:\/\/www.evidian.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/showcase\/eviden-cybersecurity\/","https:\/\/www.youtube.com\/channel\/UCJKPuw2SDVNYUjZEJyLbIAA"]}]}},"_links":{"self":[{"href":"https:\/\/www.evidian.com\/fr\/wp-json\/wp\/v2\/pages\/12913","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.evidian.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.evidian.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.evidian.com\/fr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.evidian.com\/fr\/wp-json\/wp\/v2\/comments?post=12913"}],"version-history":[{"count":0,"href":"https:\/\/www.evidian.com\/fr\/wp-json\/wp\/v2\/pages\/12913\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.evidian.com\/fr\/wp-json\/wp\/v2\/pages\/4292"}],"wp:attachment":[{"href":"https:\/\/www.evidian.com\/fr\/wp-json\/wp\/v2\/media?parent=12913"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}