{"id":466,"date":"2026-09-21T17:40:34","date_gmt":"2026-09-21T15:40:34","guid":{"rendered":"https:\/\/wegetfunded.com\/?p=466"},"modified":"2026-09-29T08:14:34","modified_gmt":"2026-09-29T06:14:34","slug":"configurer-mon-challenge","status":"publish","type":"post","link":"https:\/\/wegetfunded.com\/fr\/blog\/configurer-mon-challenge\/","title":{"rendered":"Configurez votre challenge de trading | WeGetFunded"},"content":{"rendered":"\n<style data-wgf-configurateur-css>\n\/* Tunnel de configuration, prototype FR local 21\/09\/2026.\n   Direction : la fiche de d\u00e9cision WGF pouss\u00e9e en \u00ab app \u00bb : noir chaud, Mona Sans, un seul violet,\n   chaque \u00e9tape tient dans le viewport, la barre fixe en bas est le seul \u00e9l\u00e9ment qui bouge.\n   Pas de d\u00e9grad\u00e9, pas d'ombre d\u00e9corative : le contraste et l'espace font le travail. *\/\n@font-face { font-family: 'Mona Sans'; src: url('\/wp-content\/uploads\/fonts\/mona-sans.woff2') format('woff2'); font-weight: 200 900; font-display: swap; }\n:root {\n  --bg: #17131c; --bg-2: #211c28; --bg-3: #2a2433; --line: #59545f; --line-2: #3b3644;\n  --ink: #f4f1f8; --ink-2: #d6d5dd; --ink-3: #b5aec0; --violet: #7540be; --violet-2: #6231a5; --violet-ink: #d5b7ff; --lilac: #bb8dfa;\n  --bar-h: 132px;\n}\n* { box-sizing: border-box; }\n[hidden] { display: none !important; }\nhtml { background: var(--bg); color: var(--ink); font-family: 'Mona Sans', system-ui, sans-serif; -webkit-text-size-adjust: 100%; }\nbody { margin: 0; min-height: 100dvh; }\n.t { display: flex; flex-direction: column; min-height: 100dvh; }\n.t__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px 0; }\n.t__logo { height: 26px; width: auto; font-weight: 800; font-size: 18px; letter-spacing: -.02em; }\n.t__steps { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; counter-reset: s; }\n.t__steps li { counter-increment: s; font-size: 0; width: 26px; height: 6px; border-radius: 3px; background: var(--line-2); transition: background .2s; }\n.t__steps li.is-done { background: var(--lilac); }\n.t__steps li.is-current { background: var(--violet-ink); width: 40px; }\n.t__main { flex: 1; padding: 14px 18px calc(var(--bar-h) + 16px); max-width: 720px; width: 100%; margin: 0 auto; }\n.t__step { animation: in .28s ease both; }\n@keyframes in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }\n.t__title { font-size: clamp(24px, 6.4vw, 36px); line-height: 1.1; letter-spacing: -.025em; margin: 6px 0 10px; text-wrap: balance; outline: none; }\n.t__lead { font-size: 15px; line-height: 1.45; color: var(--ink-2); margin: 0 0 14px; }\n.t__hint { font-size: 14px; line-height: 1.5; color: var(--ink-3); margin: 14px 0 0; border-left: 3px solid var(--lilac); padding-left: 12px; }\n.t__choices { display: grid; gap: 8px; }\n.t__choices--row { grid-template-columns: 1fr; }\n@media (min-width: 560px) { .t__choices--row { grid-template-columns: repeat(3, 1fr); } }\n.t__card { display: block; position: relative; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-2); padding: 12px 12px 12px 44px; cursor: pointer; min-height: 48px; }\n.t__card input { position: absolute; left: 16px; top: 18px; width: 18px; height: 18px; margin: 0; accent-color: var(--lilac); }\n.t__card:has(input:checked) { border-color: var(--lilac); background: var(--bg-3); }\n.t__card:has(input:focus-visible) { outline: 3px solid var(--violet-ink); outline-offset: 2px; }\n.t__card-body { display: block; }\n.t__card-title { display: block; font-size: 17px; font-weight: 700; line-height: 1.25; margin-bottom: 4px; }\n.t__tag { display: inline-block; font-style: normal; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--bg); background: var(--lilac); border-radius: 4px; padding: 2px 6px; margin-left: 8px; vertical-align: 2px; }\n.t__card-desc { display: block; font-size: 14px; line-height: 1.4; color: var(--ink-2); }\n.t__card-fit { display: block; font-size: 12.5px; line-height: 1.35; color: var(--ink-3); margin-top: 3px; }\n@media (max-height: 820px) { .t__step[data-step=\"1\"] .t__card-fit { display: none; } .t__step[data-step=\"1\"] .t__more { display: none; } }\n.t__card--capital { padding: 14px 14px 14px 46px; }\n.t__card-price { display: block; font-size: 15px; color: var(--ink-2); margin-top: 2px; }\n.t__card-price s { color: var(--ink-3); font-size: 13px; margin-right: 6px; }\n.t__more { margin-top: 10px; border-top: 1px solid var(--line-2); }\n.t__more summary { min-height: 40px; display: flex; align-items: center; cursor: pointer; color: var(--violet-ink); font-size: 15px; }\n.t__more p { font-size: 14px; line-height: 1.55; color: var(--ink-2); margin: 0 0 12px; }\n.t__group { border: 0; margin: 0 0 18px; padding: 0; min-width: 0; }\n.t__group legend { font-size: 15px; font-weight: 700; padding: 0; margin-bottom: 8px; }\n.t__legend-sub { display: block; font-weight: 400; font-size: 13px; color: var(--ink-3); }\n.t__opt { display: grid; grid-template-columns: 18px 1fr auto; gap: 12px; align-items: start; border: 1px solid var(--line); border-radius: 10px; background: var(--bg-2); padding: 12px; margin-bottom: 8px; cursor: pointer; }\n.t__opt input { margin: 3px 0 0; width: 18px; height: 18px; accent-color: var(--lilac); }\n.t__opt:has(input:checked) { border-color: var(--lilac); background: var(--bg-3); }\n.t__opt:has(input:focus-visible) { outline: 3px solid var(--violet-ink); outline-offset: 2px; }\n.t__opt b { display: block; font-size: 15px; font-weight: 700; }\n.t__opt small { display: block; font-size: 13px; line-height: 1.45; color: var(--ink-2); }\n.t__opt output { font-variant-numeric: tabular-nums; font-weight: 700; font-size: 15px; white-space: nowrap; color: var(--ink); }\n.t__opt input:checked ~ output { color: var(--violet-ink); }\n.t__recap { display: grid; grid-template-columns: auto 1fr; gap: 10px 18px; margin: 0 0 16px; border: 1px solid var(--line); border-radius: 12px; padding: 16px; background: var(--bg-2); font-size: 15px; }\n.t__recap dt { color: var(--ink-3); }\n.t__recap dd { margin: 0; font-weight: 600; }\n.t__fees, .t__next { font-size: 13px; line-height: 1.55; color: var(--ink-3); margin: 0 0 12px; }\n.t__next strong { color: var(--ink-2); font-weight: 600; }\n.t__cta, .t__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px; border: 1px solid var(--lilac); border-radius: 8px; background: var(--violet); color: #fff; text-decoration: none; font: inherit; font-size: 16px; font-weight: 650; cursor: pointer; }\n.t__cta:hover, .t__btn:hover { background: var(--violet-2); }\n.t__cta { width: 100%; }\n.t__btn--ghost { background: transparent; border-color: var(--line); color: var(--ink-2); }\n.t__bar { position: fixed; left: 0; right: 0; bottom: 0; background: var(--bg); border-top: 1px solid var(--line); padding: 10px 18px calc(10px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: 1fr auto; grid-template-areas: \"pack price\" \"nav nav\"; gap: 8px 12px; align-items: center; z-index: 5; }\n.t__bar-pack { grid-area: pack; min-width: 0; }\n.t__bar-name { display: block; font-weight: 700; font-size: 14px; }\n.t__bar-variant { display: block; font-size: 12px; color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n.t__bar-price { grid-area: price; text-align: right; font-variant-numeric: tabular-nums; }\n.t__bar-strike { display: block; font-size: 13px; color: var(--ink-3); }\n.t__bar-total { display: block; font-size: 24px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; transition: opacity .15s; }\n.t__bar-code { display: block; font-size: 11px; color: var(--violet-ink); }\n.t__bar-nav { grid-area: nav; display: flex; gap: 8px; }\n.t__bar-nav .t__btn { flex: 1; }\n.t__cta[aria-disabled=\"true\"], .t__btn:disabled { opacity: .55; cursor: not-allowed; }\n.t__opt:has(input:disabled) { opacity: .65; cursor: not-allowed; }\n.t__catalog-status p { font-size: 14px; line-height: 1.45; padding: 10px; border: 1px solid var(--lilac); border-radius: 8px; }\n.t__catalog-status .t__btn { margin-bottom: 14px; width: 100%; }\n.t__source-controls { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 18px 0 0; font-size: 12px; }\n.t__source-controls button, .t__source-controls a { color: var(--ink-3); background: none; border: none; font: inherit; padding: 4px 0; cursor: pointer; text-decoration: underline; }\n.t__edit { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 14px; margin: 8px 0 12px; font-size: 12px; }\n.t__edit button { border: 0; background: none; color: var(--violet-ink); font: inherit; min-height: 26px; padding: 5px 0; text-decoration: underline; cursor: pointer; }\n@media (max-width: 400px) { .t__recap { gap: 8px 14px; padding: 14px; margin-bottom: 12px; } }\n.t__rule { padding-bottom: 8px; border-bottom: 1px solid var(--line-2); }\n.t__rule b, .t__rule span { display: block; font-size: 13px; line-height: 1.45; }\n.t__rule b { color: var(--ink); }\n.t__bar-total { font-size: clamp(16px, 6vw, 24px); }\n.t__mentions { font-size: 12px; line-height: 1.5; color: var(--ink-3); margin: 0; padding: 0 18px 14px; }\n@media (min-width: 720px) { :root { --bar-h: 88px; } .t__bar { grid-template-columns: 1fr auto auto; grid-template-areas: \"pack price nav\"; max-width: 720px; margin: 0 auto; left: 0; right: 0; border: 1px solid var(--line); border-bottom: 0; border-radius: 12px 12px 0 0; } .t__bar-nav .t__btn { flex: 0 0 auto; min-width: 140px; } }\n@media (prefers-reduced-motion: reduce) { .t__step { animation: none; } }\n\/* Barre fixe : au r\u00e9capitulatif, le bouton d\u2019ajout remplace le bouton pr\u00e9c\u00e9dent (accord d\u2019Adel, 25\/09\/2026). *\/\n.t__cta[hidden], .t__source-controls[hidden] { display: none; }\n.t__bar-nav .t__cta { flex: 1; width: auto; }\n@media (min-width: 720px) { .t__bar-nav .t__cta { flex: 0 0 auto; min-width: 200px; } }\n\nbody{background:var(--bg);color:var(--ink);font-family:\"Mona Sans\",system-ui,sans-serif}.wp-site-blocks{padding:0;margin:0}.wp-site-blocks>.wp-block-post-content{margin:0}.t{line-height:1.4}.t__legal{display:flex;flex-wrap:wrap;gap:4px 16px;padding:0 18px 12px;font-size:12px}.t__legal a{color:var(--ink-3);min-height:32px;display:inline-flex;align-items:center}.t__legal-notice{padding:0 18px 14px;font-size:12px;color:var(--ink-3)}.t__legal-notice summary{min-height:32px;cursor:pointer}.t__legal-notice p{line-height:1.5}.t__mentions{padding-bottom:calc(var(--bar-h) + 16px)}\n\n<\/style>\n\n<div class=\"t\" data-wgf-tunnel data-lp-id=\"configurateur-fr\" data-lp-family=\"tunnel\" data-lp-version=\"20260929-lp-configurateur-fr-v5\" data-price-state=\"loading\" data-promo-state=\"loading\">\n<header class=\"t__head\">\n  <img decoding=\"async\" src=\"\/logos\/wgf-logo.svg\" alt=\"WeGetFunded\" class=\"t__logo\" onerror=\"this.replaceWith(Object.assign(document.createElement('strong'),{textContent:'WeGetFunded',className:'t__logo'}))\">\n  <ol class=\"t__steps\" aria-label=\"\u00c9tapes\">\n    <li data-step-dot=\"1\" aria-current=\"step\">Programme<\/li>\n    <li data-step-dot=\"2\">Capital<\/li>\n    <li data-step-dot=\"3\">Options<\/li>\n    <li data-step-dot=\"4\">R\u00e9capitulatif<\/li>\n  <\/ol>\n<\/header>\n<main class=\"t__main\">\n  <aside class=\"t__catalog-status\">\n    <p data-catalog-status role=\"status\" aria-live=\"polite\">V\u00e9rification du catalogue en cours\u2026<\/p>\n    <p data-entry-notice role=\"status\" aria-live=\"polite\" hidden><\/p>\n    <button type=\"button\" class=\"t__btn\" data-catalog-confirm hidden>J\u2019ai v\u00e9rifi\u00e9 ma s\u00e9lection et les tarifs<\/button>\n  <\/aside>\n  <section class=\"t__step\" data-step=\"1\" aria-labelledby=\"h1\">\n    <h1 id=\"h1\" class=\"t__title\">Quel chemin vers le capital simul\u00e9 ?<\/h1>\n    <p class=\"t__lead\">Choisissez votre programme, puis composez votre pack. Les conditions ci-dessous sont celles publi\u00e9es par le site.<\/p>\n    <div class=\"t__choices\" role=\"radiogroup\" aria-label=\"Programme\" data-programs><\/div>\n    <details class=\"t__more\"><summary>Ce que \u00ab simul\u00e9 \u00bb veut dire<\/summary><p>Vous tradez sur un compte de d\u00e9monstration aliment\u00e9 par WeGetFunded. Les profits sont simul\u00e9s ; les r\u00e9compenses vers\u00e9es, elles, sont r\u00e9elles et suivent le partage du programme. Aucune garantie de r\u00e9ussite ni de gain.<\/p><\/details>\n  <\/section>\n  <section class=\"t__step\" data-step=\"2\" aria-labelledby=\"h2\" hidden>\n    <h2 id=\"h2\" class=\"t__title\">Quel capital simul\u00e9 ?<\/h2>\n    <p class=\"t__lead\">Choisissez parmi les capitaux actuellement propos\u00e9s pour ce programme.<\/p>\n    <div class=\"t__choices t__choices--row\" role=\"radiogroup\" aria-label=\"Capital\" data-capitals><\/div>\n    <p class=\"t__hint\" data-capital-hint><\/p>\n    <details class=\"t__more\"><summary>R\u00e8gles publi\u00e9es du programme<\/summary><p>R\u00e8gles de base. Les options peuvent les modifier : reportez-vous \u00e0 leur description et au configurateur du site.<\/p><div data-rules><\/div><\/details>\n  <\/section>\n  <section class=\"t__step\" data-step=\"3\" aria-labelledby=\"h3\" hidden>\n    <h2 id=\"h3\" class=\"t__title\">Des options, ou pas<\/h2>\n    <p class=\"t__lead\" data-options-lead><\/p>\n    <p class=\"t__hint\" data-option-warning hidden>Certaines options ne disposent pas de conditions compl\u00e8tes dans les donn\u00e9es publiques. Elles ne sont pas propos\u00e9es \u00e0 la s\u00e9lection dans ce tunnel.<\/p>\n    <div data-options><\/div>\n  <\/section>\n  <section class=\"t__step\" data-step=\"4\" aria-labelledby=\"h4\" hidden>\n    <h2 id=\"h4\" class=\"t__title\">Votre challenge<\/h2>\n    <dl class=\"t__recap\" data-recap><\/dl>\n    <nav class=\"t__edit\" aria-label=\"Modifier votre configuration\"><span>Modifier :<\/span><button type=\"button\" data-edit-step=\"1\" aria-label=\"Modifier le programme\">Programme<\/button><button type=\"button\" data-edit-step=\"2\" aria-label=\"Modifier le capital\">Capital<\/button><button type=\"button\" data-edit-step=\"3\" aria-label=\"Modifier les options\">Options<\/button><\/nav>\n    <p class=\"t__fees\" data-recap-fees><\/p>\n    <p class=\"t__next\" id=\"cart-status\" data-cart-status role=\"status\" aria-live=\"polite\">Votre pack sera ajout\u00e9 au panier, sans repasser par le configurateur du site.<\/p>\n    <a class=\"t__refresh\" data-cart-open href=\"https:\/\/wegetfunded.com\/fr\/cart\" hidden>V\u00e9rifier mon panier<\/a>\n  <\/section>\n  <noscript><p>Ce configurateur n\u00e9cessite JavaScript pour lire les tarifs et conditions actuels. Aucun tarif de secours n\u2019est affich\u00e9.<\/p><\/noscript>\n  <p class=\"t__source-controls\" data-source-controls hidden><button type=\"button\" data-catalog-refresh>Actualiser le catalogue<\/button><a href=\"https:\/\/wegetfunded.com\/fr#challenges\">Consulter le configurateur du site<\/a><\/p>\n<\/main>\n<footer class=\"t__bar\" data-bar>\n  <div class=\"t__bar-pack\"><span class=\"t__bar-name\" data-bar-name>Votre challenge<\/span><span class=\"t__bar-variant\" data-bar-variant>Chargement du catalogue<\/span><\/div>\n  <div class=\"t__bar-price\"><s class=\"t__bar-strike\" data-bar-strike hidden><\/s><span class=\"t__bar-total\" data-bar-total>\u2026<\/span><span class=\"t__bar-code\" data-bar-code hidden><\/span><\/div>\n  <div class=\"t__bar-nav\"><button type=\"button\" class=\"t__btn t__btn--ghost\" data-prev hidden>Retour<\/button><button type=\"button\" class=\"t__btn\" data-next disabled>Continuer<\/button><button type=\"button\" class=\"t__cta\" data-wgf-lp-cta data-cta-id=\"recap\" aria-disabled=\"true\" aria-describedby=\"cart-status\" disabled hidden>Ajouter au panier<\/button><\/div>\n<\/footer>\n<details class=\"t__legal-notice\"><summary>Mentions l\u00e9gales<\/summary>\n\n<p>Les activit\u00e9s de trading sur cette plateforme sont ex\u00e9cut\u00e9es uniquement par WeGetFunded LTD. en utilisant des fonds virtuels dans un environnement simul\u00e9 et ne comportent aucun risque financier r\u00e9el ni trading avec de v\u00e9ritables instruments financiers. WeGetFunded LTD. est une soci\u00e9t\u00e9 enregistr\u00e9e conform\u00e9ment aux lois de Sainte-Lucie, avec le num\u00e9ro d&#x27;enregistrement 2025-00757, et a son si\u00e8ge social au rez-de-chauss\u00e9e, The Sotheby Building, Rodney Village, Rodney Bay, Gros-Islet, Sainte-Lucie. Le bien lou\u00e9 est un bureau situ\u00e9 au 24 Ketevan Tsamebuli Ave, Office 4, Tbilissi 0103, G\u00e9orgie. Le site web wegetfunded.com est exploit\u00e9 par WeGetFunded LTD.<\/p>\n\n\n<p>Divulgation l\u00e9gale : WeGetFunded Ltd. fournit un acc\u00e8s \u00e0 des programmes de trading simul\u00e9s con\u00e7us uniquement pour l&#x27;\u00e9valuation des comp\u00e9tences en trading et en gestion des risques. Toutes les transactions ont lieu dans un environnement de d\u00e9monstration utilisant du capital virtuel.<\/p>\n\n\n<p>Aucun fonds client \/ Aucun trading en direct : WeGetFunded n&#x27;est pas un courtier, un n\u00e9gociant, une bourse ou un conseiller en investissement, et n&#x27;accepte ni ne g\u00e8re les d\u00e9p\u00f4ts des clients. Les participants ne tradent pas d&#x27;actifs r\u00e9els et ne passent pas d&#x27;ordres de march\u00e9 en direct. Toute r\u00e9compense est bas\u00e9e sur la performance et d\u00e9riv\u00e9e uniquement des r\u00e9sultats d&#x27;\u00e9valuation. Seul le Programme Live, r\u00e9serv\u00e9 aux traders s\u00e9lectionn\u00e9s apr\u00e8s la phase financ\u00e9e, s&#x27;ex\u00e9cute sur du capital r\u00e9el fourni par WeGetFunded, selon ses propres conditions.<\/p>\n\n\n<p>Usage d&#x27;\u00e9valuation uniquement : Tout contenu, outil et service est fourni uniquement \u00e0 des fins d&#x27;\u00e9valuation et d&#x27;appr\u00e9ciation et ne doit pas \u00eatre interpr\u00e9t\u00e9 comme un conseil en investissement, une sollicitation ou une offre d&#x27;achat ou de vente de tout produit financier, cryptomonnaie ou d\u00e9riv\u00e9. Les participants sont encourag\u00e9s \u00e0 consulter des conseillers financiers, juridiques ou fiscaux ind\u00e9pendants avant de s&#x27;engager dans toute activit\u00e9 de trading en dehors de ce programme.<\/p>\n\n\n<p>Divulgation de performance hypoth\u00e9tique : R\u00e8gle CFTC 4.41 : Les r\u00e9sultats de trading simul\u00e9s ou hypoth\u00e9tiques pr\u00e9sentent des limites inh\u00e9rentes. Contrairement aux enregistrements de performance r\u00e9els, ils ne repr\u00e9sentent pas une activit\u00e9 de trading r\u00e9elle et peuvent \u00eatre con\u00e7us avec le b\u00e9n\u00e9fice du recul. Aucune d\u00e9claration n&#x27;est faite selon laquelle un compte atteindra, ou est susceptible d&#x27;atteindre, des profits ou des pertes similaires \u00e0 ceux pr\u00e9sent\u00e9s ou impliqu\u00e9s.<\/p>\n\n\n<p>Restrictions juridictionnelles : WeGetFunded Ltd. n&#x27;offre pas de services aux r\u00e9sidents des juridictions suivantes : Russie, Myanmar, Iran, Soudan, Syrie, Cor\u00e9e du Nord, Afghanistan, Albanie, Bi\u00e9lorussie, R\u00e9publique centrafricaine, Cuba, R\u00e9publique d\u00e9mocratique du Congo, \u00c9thiopie, Liban, Libye, Mali, Nicaragua, Somalie, Soudan du Sud, Ukraine, Venezuela, Y\u00e9men, Zimbabwe, Bangladesh.<\/p>\n\n\n<p>Avertissement sur les risques : Le trading sur les march\u00e9s de contrats \u00e0 terme, de d\u00e9riv\u00e9s et d&#x27;actifs num\u00e9riques comporte un risque substantiel de perte. Les performances pass\u00e9es ne pr\u00e9jugent pas des r\u00e9sultats futurs.<\/p>\n\n\n<p>Paiements et remboursements : Tous les frais d&#x27;\u00e9valuation pay\u00e9s sont strictement destin\u00e9s \u00e0 des fins d&#x27;\u00e9valuation et pour l&#x27;acc\u00e8s \u00e0 nos services d&#x27;\u00e9valuation.<\/p>\n\n\n<p>Pas un d\u00e9p\u00f4t | Pas assur\u00e9 FDIC | Peut perdre de la valeur<\/p>\n\n<\/details>\n<nav class=\"t__legal\" aria-label=\"Informations l\u00e9gales\"><a href=\"\/fr\/legal\/privacy\">Confidentialit\u00e9<\/a><a href=\"\/fr\/legal\/terms\">Conditions g\u00e9n\u00e9rales<\/a><a href=\"\/fr\/legal\/risk-disclosure\">Risques<\/a><a href=\"\/fr\/legal\/cookies\">Cookies<\/a><\/nav>\n<p class=\"t__mentions\">Capital simul\u00e9. R\u00e9compenses r\u00e9elles selon le partage du programme. Aucune garantie de gain. Catalogue et promotion revalid\u00e9s avant l\u2019ajout. <\/p>\n<\/div>\n\n\n\n\n\n\n\n<script data-wgf-module=\"catalogue.js\">\n\/* Adaptateur du catalogue public Next. Aucune donn\u00e9e tarifaire embarqu\u00e9e.\n   Le contrat public n'expose pas les exclusivit\u00e9s : les familles connues sont\n   conserv\u00e9es, toute famille nouvelle reste visible mais non s\u00e9lectionnable. *\/\n(function () {\n  'use strict';\n  function fail(reason) { throw new Error('catalog_' + reason); }\n  function id(value) { return typeof value === 'string' ? \/^[A-Za-z0-9_-]+$\/.test(value) : false; }\n  function text(value) { return typeof value === 'string' ? value.trim() : ''; }\n  function objectAt(source, key) {\n    var at = source.indexOf('\"' + key + '\":');\n    if (at < 0) { return null; }\n    var start = at + key.length + 3;\n    while (\/\\s\/.test(source[start] || 'x')) { start++; }\n    if (source[start] !== '{') { return null; }\n    var depth = 0, quote = false, escape = false;\n    for (var i = start; i < source.length; i++) {\n      var c = source[i];\n      if (quote) {\n        if (escape) { escape = false; }\n        else if (c === '\\\\') { escape = true; }\n        else if (c === '\"') { quote = false; }\n      } else if (c === '\"') { quote = true; }\n      else if (c === '{') { depth++; }\n      else if (c === '}') {\n        depth--;\n        if (!depth) { return JSON.parse(source.slice(start, i + 1)); }\n      }\n    }\n    return null;\n  }\n  function decode(html) {\n    var re = \/self\\.__next_f\\.push\\((\\[1,.*?\\])\\)<\\\/script>\/g, match, source = '';\n    while ((match = re.exec(html))) {\n      try { source += JSON.parse(match[1])[1]; } catch (e) { \/* sch\u00e9ma contr\u00f4l\u00e9 ensuite *\/ }\n    }\n    var catalog = objectAt(source, 'catalog'), challenge = objectAt(source, 'challenge');\n    if (!catalog || !challenge) { fail('missing'); }\n    return {catalog: catalog, challenge: challenge};\n  }\n  function euro(value) {\n    if (typeof value !== 'string' || !value.includes('\u20ac')) { return null; }\n    var n = Number(value.replace(\/[\\s\\u00a0\\u202f\u20ac]\/g, '').replace(',', '.'));\n    return Number.isFinite(n) ? (n >= 0 ? n : null) : null;\n  }\n  function family(optionId) {\n    if (optionId === '9010' || optionId === '100Split') { return 'split'; }\n    if (\/^extendedDD[1-9][0-9]*$\/.test(optionId)) { return 'edd'; }\n    if (optionId === 'oneDayPass') { return 'reg'; }\n    if (optionId === 'noConsistency') { return 'reg2'; }\n    if (optionId === 'otp') { return 'pay'; }\n    return null;\n  }\n  function ruleSummary(rules, ids) {\n    return rules.filter(function (r) { return ids.includes(r.id); }).map(function (r) {\n      var values = r.values.filter(function (v) { return v !== 'N\/A' ? !!v : false; });\n      values = values.filter(function (v, i) { return values.indexOf(v) === i; });\n      return values.length ? r.label + ' : ' + values.join(' puis ') + '.' : '';\n    }).filter(Boolean).join(' ');\n  }\n  function rulesFrom(meta, phases) {\n    var numeric = {profit_target:'profitTargetPercent', min_trading_days:'minTradingDays', daily_drawdown:'dailyDrawdownPercent', max_drawdown:'maxLossPercent', max_loss:'maxLossPercent'};\n    return meta.rules.map(function (r) {\n      if (!id(r.id) || !text(r.label) || !Array.isArray(r.values)) { fail('rules'); }\n      return {id:r.id, label:r.label, tooltip:text(r.tooltip), values:r.values.map(function (v, i) {\n        if (typeof v !== 'string') { fail('rule_value'); }\n        var field = numeric[r.id], phase = phases[i];\n        if (!field || !phase || v === 'N\/A') { return v; }\n        var n = phase[field];\n        if (n == null) { return v; }\n        if (!Number.isFinite(n) || n < 0) { fail('phase_value'); }\n        return field === 'minTradingDays' ? String(n) : new Intl.NumberFormat('fr-FR', {maximumFractionDigits:4}).format(n * 100) + ' %';\n      })};\n    });\n  }\n  function normalize(raw, dict) {\n    if (!raw || !dict || !Array.isArray(raw.categories) || !Array.isArray(raw.options) || !Array.isArray(dict.categories)) { fail('shape'); }\n    if (!raw.categories.length) { fail('empty'); }\n    var prices = Object.create(null), programs = Object.create(null), warnings = [];\n    raw.options.forEach(function (o) {\n      if (!id(o.optionId) || !text(o.uuid) || !Number.isFinite(o.priceMultiplier) || o.priceMultiplier < 0 || !Number.isFinite(o.flatPrice) || o.flatPrice < 0 || prices[o.optionId]) { fail('option_invalid'); }\n      prices[o.optionId] = Object.assign({}, o);\n    });\n    var described = new Set();\n    raw.categories.forEach(function (c) {\n      if (!id(c.categoryId) || !id(c.type) || programs[c.categoryId] || !Array.isArray(c.capitals) || !Array.isArray(c.phases)) { fail('program_shape'); }\n      var meta = dict.categories.find(function (m) { return m.id === c.categoryId; });\n      if (!meta || !text(meta.label) || !Array.isArray(meta.options) || !Array.isArray(meta.rules) || !Array.isArray(meta.phases)) { fail('program_metadata'); }\n      if (!c.capitals.length) { return; } \/\/ programme retir\u00e9 de la vente\n      var seen = new Set();\n      var capitals = c.capitals.map(function (cap) {\n        if (!id(cap.capitalId) || seen.has(cap.capitalId) || !text(cap.uuid) || !Number.isFinite(cap.price) || cap.price <= 0 || !Number.isFinite(cap.amount) || cap.amount <= 0) { fail('price_invalid'); }\n        seen.add(cap.capitalId); return Object.assign({}, cap);\n      });\n      var rules = rulesFrom(meta, c.phases), allowed = Object.create(null), groups = [];\n      var groupMap = Object.create(null), activationRule = rules.find(function (r) { return r.id === 'activation_fee'; });\n      var activation = activationRule ? euro(activationRule.values[activationRule.values.length - 1]) : null;\n      meta.options.forEach(function (o) {\n        if (!id(o.id) || !text(o.label)) { fail('option_metadata'); }\n        described.add(o.id);\n        if (!prices[o.id]) { return; } \/\/ supprim\u00e9e c\u00f4t\u00e9 tarifaire : jamais trait\u00e9e comme gratuite\n        if (allowed[o.id]) { fail('option_duplicate'); }\n        var group = family(o.id), enabled = group !== null;\n        var value = Object.assign({}, prices[o.id], {label:o.label, description:text(o.tooltip), group:group, enabled:enabled});\n        if (group === 'pay') {\n          value.description = text(dict.activationMode ? dict.activationMode.otpDescription : '');\n          if (!value.description || activation === null) { value.enabled = false; }\n        }\n        allowed[o.id] = value;\n        var key = group || 'unknown_' + o.id;\n        if (!groupMap[key]) {\n          var labels = {split:'Partage des profits simul\u00e9s', edd:text(dict.extendedDrawdown ? dict.extendedDrawdown.title : ''), reg:'R\u00e9gularit\u00e9', reg2:'Coh\u00e9rence', pay:activationRule ? activationRule.label : ''};\n          var defaults = {split:['profit_split'], edd:['max_loss','daily_drawdown','max_drawdown'], reg:['min_trading_days','consistency'], reg2:['consistency'], pay:['activation_fee']};\n          groupMap[key] = {id:key, name:group || key, label:labels[group] || o.label, description:enabled ? ruleSummary(rules, defaults[group] || []) : 'Compatibilit\u00e9 non document\u00e9e dans ce tunnel. Consultez le configurateur du site.', options:[]};\n        }\n        groupMap[key].options.push(value);\n      });\n      var order = ['split','edd','reg','reg2','pay'];\n      Object.keys(groupMap).sort(function (a,b) {\n        var ai = order.indexOf(a), bi = order.indexOf(b);\n        return (ai < 0 ? order.length : ai) - (bi < 0 ? order.length : bi);\n      }).forEach(function (k) { groups.push(groupMap[k]); });\n      var label = \/^(1|2) \u00c9tape\/.test(meta.label) ? 'Challenge ' + meta.label : \/^instant funded$\/i.test(meta.label) ? 'Instant Funded' : meta.label;\n      programs[c.categoryId] = Object.assign({}, c, {label:label, capitals:capitals, rules:rules, phaseLabels:meta.phases.slice(), options:allowed, groups:groups, activation:activation, activationMode:dict.activationMode || {}, description:ruleSummary(rules,['profit_target','max_loss','max_drawdown']) || ruleSummary(rules,['daily_drawdown','profit_split'])});\n    });\n    if (!Object.keys(programs).length) { fail('empty'); }\n    Object.keys(prices).forEach(function (key) { if (!described.has(key)) { warnings.push(key); } });\n    return {programs:programs, options:prices, warnings:warnings, activation:programs.oneStep ? programs.oneStep.activation : null};\n  }\n  function fromHTML(html) { var data = decode(html); return normalize(data.catalog, data.challenge); }\n  function reconcile(catalog, state) {\n    var ids = Object.keys(catalog.programs);\n    var programme = catalog.programs[state.programme] ? state.programme : ids[0];\n    var p = catalog.programs[programme];\n    var capital = p.capitals.find(function (c) { return c.capitalId === state.capital; }) || p.capitals.reduce(function (smallest, c) { return c.amount < smallest.amount ? c : smallest; });\n    var occupied = new Set();\n    var options = (state.options || []).filter(function (key) {\n      var o = p.options[key];\n      if (!o || !o.enabled || occupied.has(o.group)) { return false; }\n      occupied.add(o.group); return true;\n    });\n    return {programme:programme, capital:capital.capitalId, options:options};\n  }\n  function selectedOptions(program, ids) {\n    var seen = new Set();\n    return ids.map(function (key) {\n      var o = program.options[key];\n      if (!o || !o.enabled || seen.has(o.group)) { fail('selection_invalid'); }\n      seen.add(o.group); return o;\n    });\n  }\n  var api = {objectAt:objectAt, decode:decode, normalize:normalize, fromHTML:fromHTML, reconcile:reconcile, selectedOptions:selectedOptions, ruleSummary:ruleSummary};\n  if (typeof module !== 'undefined') { module.exports = api; }\n  else { window.WGFCatalogue = api; }\n})();\n\n<\/script>\n<script data-wgf-module=\"tunnel.js\">\n\/* Moteur de prix et promotion personnelle du prototype local. Aucun panier \u00e9crit.\n   applies \/ validPromo \/ discounted restent identiques au runtime LP partag\u00e9.\n   Les donn\u00e9es m\u00e9tier sont charg\u00e9es par catalogue.js, l'interface par interface.js. *\/\n(function () {\n  'use strict';\n  var source = typeof module !== 'undefined' ? require('.\/catalogue.js') : window.WGFCatalogue;\n  function round(n) { return Math.round(n * 100) \/ 100; }\n  function applies(p, product, type) {\n    if (!p) { return false; }\n    if (!Array.isArray(p.scopes)) { return false; }\n    if (p.endsAt) {\n      var end = Date.parse(p.endsAt);\n      if (!Number.isFinite(end) || end <= Date.now()) { return false; }\n    }\n    return !p.scopes.length || p.scopes.some(function (s) {\n      return s.challengeUuid !== null ? s.challengeUuid === product.uuid : s.challengeType === type;\n    });\n  }\n  function validPromo(p) {\n    if (!p) { return null; }\n    if (typeof p.code !== 'string' || !p.code.trim() || p.code.length > 128) { return null; }\n    if (!Number.isFinite(p.discountPercent) || p.discountPercent < 0 || p.discountPercent > 1) { return null; }\n    if (p.discountAmount != null) {\n      if (!Number.isFinite(p.discountAmount) || p.discountAmount < 0) { return null; }\n    }\n    if (!Array.isArray(p.scopes)) { return null; }\n    return p;\n  }\n  function discounted(price, flat, promo) {\n    if (!promo) { return price; }\n    return round(Math.max(0, Math.max(0, price - flat) * (1 - promo.discountPercent) - (promo.discountAmount || 0))) + flat;\n  }\n  function normalizePromoCode(value) {\n    if (typeof value !== 'string') { return ''; }\n    var code = value.trim().toUpperCase();\n    return \/^[A-Z0-9._-]{1,64}$\/.test(code) ? code : '';\n  }\n  function promoCookie(cookies) {\n    var item = String(cookies || '').split(';').map(function (s) { return s.trim(); }).find(function (s) { return s.indexOf('wgf_promo_code=') === 0; });\n    if (!item) { return ''; }\n    try { return normalizePromoCode(decodeURIComponent(item.slice('wgf_promo_code='.length))); } catch (e) { return ''; }\n  }\n  function currentPromo(p) {\n    if (!validPromo(p)) { return null; }\n    if (p.scopes.some(function (s) {\n      if (!s || typeof s !== 'object') { return true; }\n      return s.challengeUuid === null ? typeof s.challengeType !== 'string' : typeof s.challengeUuid !== 'string';\n    })) { return null; }\n    if (p.endsAt) {\n      var end = Date.parse(p.endsAt);\n      if (!Number.isFinite(end) || end <= Date.now()) { return null; }\n    }\n    return p;\n  }\n  function resolveVisitorPromo(search, cookies, validate) {\n    var params = new URLSearchParams(search);\n    var linked = normalizePromoCode(params.has('promo') ? params.get('promo') : params.get('code'));\n    var saved = promoCookie(cookies);\n    function checked(code) {\n      if (!code) { return Promise.resolve(null); }\n      return Promise.resolve().then(function () { return validate(code); }).then(function (p) {\n        return currentPromo(p) ? (normalizePromoCode(p.code) === code ? p : null) : null;\n      });\n    }\n    return checked(linked).then(function (p) {\n      return p || saved === linked ? p : checked(saved);\n    }).catch(function () { return null; });\n  }\n  \/* Avantages du code, au format du panier du site : challenge offert (identique \u00e0 l'achat ou\n     challenge pr\u00e9cis, nomm\u00e9 par le moteur ou d\u00e9crit par le catalogue) et option offerte.\n     context (facultatif) : challenge(uuid, type, coins), option(uuid), chosen(uuid). *\/\n  function giftLabels(p, context) {\n    if (!currentPromo(p) || !Array.isArray(p.rewards)) { return []; }\n    var ctx = context || {};\n    function named(v) { return typeof v === 'string' ? v.trim() : ''; }\n    function count(n) { return Number.isInteger(n) ? n >= 1 : false; }\n    function ask(name, a, b, c) { return typeof ctx[name] === 'function' ? named(ctx[name](a, b, c)) : ''; }\n    return p.rewards.map(function (r) {\n      if (!r || typeof r !== 'object') { return ''; }\n      if (r.rewardType === 'FREE_OPTION') {\n        var option = named(r.optionUuid) ? (named(r.optionName) || ask('option', r.optionUuid)) : '';\n        if (!option) { return ''; }\n        return optionLabel(option, typeof ctx.chosen === 'function' ? ctx.chosen(r.optionUuid) === true : false);\n      }\n      if (r.rewardType !== 'FREE_CHALLENGE' || !count(r.buyQuantity) || !count(r.freeQuantity)) { return ''; }\n      if (r.targetMode === 'MIRROR_PURCHASED') { return challengeLabel(r.buyQuantity, r.freeQuantity, null); }\n      if (r.targetMode !== 'SPECIFIC' || !named(r.challengeUuid)) { return ''; }\n      var target = named(r.challengeName) || ask('challenge', r.challengeUuid, r.challengeType, r.challengeCoins);\n      return target ? challengeLabel(r.buyQuantity, r.freeQuantity, target) : '';\n    }).filter(function (label) { return label.length > 0; });\n  }\n  \/* Libell\u00e9s des avantages : seule partie de ce module \u00e0 traduire. *\/\n  function challengeLabel(buy, free, target) {\n    var bought = buy + (buy === 1 ? ' challenge achet\u00e9' : ' challenges achet\u00e9s');\n    var gift = free + (free === 1 ? ' challenge offert' : ' challenges offerts');\n    return 'Pour ' + bought + ' : ' + gift + ' (' + (target === null ? 'identique au challenge achet\u00e9' : target) + ').';\n  }\n  function optionLabel(option, chosen) {\n    return chosen ? 'Option ' + option + ' offerte avec ce code.' : 'Option ' + option + ' offerte avec ce code : ajoutez-la \u00e0 votre challenge pour en profiter.';\n  }\n  \/* Options offertes par le code (FREE_OPTION) : le panier du site les retire du prix de l'article\n     quand le code s'applique au challenge (WGFEVO-68). M\u00eame r\u00e8gle ici, pour afficher le m\u00eame total. *\/\n  function offeredOptionUuids(p) {\n    if (!currentPromo(p) || !Array.isArray(p.rewards)) { return []; }\n    return p.rewards.filter(function (r) {\n      return r ? (r.rewardType === 'FREE_OPTION' ? (typeof r.optionUuid === 'string' ? r.optionUuid.length > 0 : false) : false) : false;\n    }).map(function (r) { return r.optionUuid; });\n  }\n  function payableOptions(options, applied) {\n    var offered = applied ? offeredOptionUuids(applied) : [];\n    if (!offered.length) { return options; }\n    return options.filter(function (o) { return offered.indexOf(o.uuid) < 0; });\n  }\n  function catalogUnitPrice(base, options) {\n    var mult = 0, flat = 0;\n    options.forEach(function (o) { mult += o.priceMultiplier; flat += o.flatPrice; });\n    return {price: round(base * (1 + mult)) + flat, flat: flat};\n  }\n  var api = {round:round, applies:applies, validPromo:validPromo, discounted:discounted, catalogUnitPrice:catalogUnitPrice, objectAt:source.objectAt, catalogueFromHTML:source.fromHTML, normalizePromoCode:normalizePromoCode, promoCookie:promoCookie, resolveVisitorPromo:resolveVisitorPromo, giftLabels:giftLabels, offeredOptionUuids:offeredOptionUuids, payableOptions:payableOptions};\n  if (typeof module !== 'undefined') { module.exports = api; }\n  else { window.WGFTunnel = api; }\n})();\n\n<\/script>\n<script data-wgf-module=\"preselection.js\">\n\/* Param\u00e8tres d'entr\u00e9e : choix valid\u00e9s contre le catalogue, jamais prix ou \u00e9tape impos\u00e9s.\n   options absent = choix \u00e0 faire ; options= = choix explicite sans suppl\u00e9ment. *\/\n(function () {\n  'use strict';\n  var source = typeof module !== 'undefined' ? require('.\/catalogue.js') : window.WGFCatalogue;\n  function resolve(catalog, search) {\n    var params = new URLSearchParams(search), errors = [];\n    var selection = source.reconcile(catalog, {programme:null,capital:null,options:[]});\n    var complete = {programme:false,capital:false,options:false};\n    var provided = {programme:params.has('challengeType'),capital:params.has('capital'),options:params.has('options')};\n    var aliases = {one_step:'unlimited',two_step:'standard'};\n    var sub = 1;\n    function issue(field, message) { errors.push({field:field,message:message}); }\n    function single(key) { return params.getAll(key).length === 1; }\n    if (!provided.programme) {\n      return {selection:selection,complete:complete,provided:provided,step:1,sub:1,errors:errors};\n    }\n    var rawType = params.get('challengeType');\n    var programs = Object.keys(catalog.programs).filter(function (key) { return catalog.programs[key].type === rawType; });\n    if (!programs.length ? Object.prototype.hasOwnProperty.call(aliases,rawType) : false) {\n      programs = Object.keys(catalog.programs).filter(function (key) { return catalog.programs[key].type === aliases[rawType]; });\n    }\n    if (!single('challengeType') || programs.length !== 1) {\n      issue('programme','Le programme indiqu\u00e9 dans ce lien est inconnu ou ambigu. Choisissez un programme.');\n      return {selection:selection,complete:complete,provided:provided,step:1,sub:1,errors:errors};\n    }\n    selection = source.reconcile(catalog,{programme:programs[0],capital:null,options:[]});\n    complete.programme = true;\n    var program = catalog.programs[selection.programme];\n    if (provided.capital) {\n      var rawCapital = params.get('capital'), amount = Number(rawCapital);\n      var capitals = program.capitals.filter(function (c) { return c.amount === amount; });\n      if (!single('capital') || !\/^[1-9][0-9]*$\/.test(rawCapital) || !Number.isSafeInteger(amount) || capitals.length !== 1) {\n        issue('capital','Le capital indiqu\u00e9 dans ce lien n\u2019est pas disponible pour ce programme. Choisissez un capital.');\n      } else { selection.capital = capitals[0].capitalId; complete.capital = true; }\n    }\n    if (provided.options) {\n      var rawOptions = params.get('options'), ids = rawOptions === '' ? [] : rawOptions.split(',').map(function (id) { return id.trim(); });\n      if (!single('options') || rawOptions.length > 4096) {\n        issue('options','Les options de ce lien sont ambigu\u00ebs. V\u00e9rifiez les options souhait\u00e9es.');\n      } else {\n        var seen = new Set(), members = Object.create(null), invalidGroups = new Set();\n        ids.forEach(function (id) {\n          var option = program.options[id];\n          if (!id || seen.has(id)) { issue('options','Le lien r\u00e9p\u00e8te une option ou contient une valeur vide. V\u00e9rifiez les options.'); return; }\n          seen.add(id);\n          if (!option || !option.enabled) {\n            issue('options','Une option du lien est indisponible ou sa compatibilit\u00e9 n\u2019est pas document\u00e9e. V\u00e9rifiez les options.'); return;\n          }\n          if (members[option.group]) {\n            invalidGroups.add(option.group);\n            issue('options','Le lien combine des options incompatibles. Choisissez une seule option dans le groupe concern\u00e9.');\n          } else { members[option.group] = id; }\n        });\n        selection.options = Object.keys(members).filter(function (group) { return !invalidGroups.has(group); }).map(function (group) { return members[group]; });\n        if (invalidGroups.size) {\n          sub = program.groups.findIndex(function (g) { return invalidGroups.has(g.id); }) + 1;\n        }\n      }\n      complete.options = !errors.some(function (e) { return e.field === 'options'; });\n    } else { complete.options = program.groups.length === 0; }\n    var step = !complete.capital ? 2 : !complete.options ? 3 : 4;\n    return {selection:selection,complete:complete,provided:provided,step:step,sub:Math.max(1,sub),errors:errors};\n  }\n  var api = {resolve:resolve};\n  if (typeof module !== 'undefined') { module.exports = api; }\n  else { window.WGFPrefill = api; }\n})();\n\n<\/script>\n<script data-wgf-module=\"panier.js\">\n\/* Adaptateur du stockage natif, autoris\u00e9 par Adel. Prix catalogue non remis\u00e9 :\n   le panier Next applique lui-m\u00eame le code personnel. Aucune requ\u00eate de paiement. *\/\n(function () {\n  'use strict';\n  var C = typeof module !== 'undefined' ? require('.\/catalogue.js') : window.WGFCatalogue;\n  var E = typeof module !== 'undefined' ? require('.\/tunnel.js') : window.WGFTunnel;\n  var KEYS = ['wgf_cart_id','wgf_cart_promo','wgf_cart'];\n  function fail(code) { throw new Error(code); }\n  function uuid(s) { return typeof s === 'string' ? \/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$\/i.test(s) : false; }\n  function nonnegative(n) { return typeof n === 'number' ? (Number.isFinite(n) ? n >= 0 : false) : false; }\n  function size(n) { return n >= 1e6 ? String(Number((n\/1e6).toFixed(2)))+'M' : n >= 1e3 ? String(Number((n\/1e3).toFixed(2)))+'K' : String(Math.round(n)); }\n  function supported(origin) { return origin === 'https:\/\/wegetfunded.com'; }\n  function build(catalog, selection) {\n    var p = catalog.programs[selection.programme];\n    if (!p || !['unlimited','standard','instant_funded'].includes(p.type)) { fail('cart_selection'); }\n    var capital = p.capitals.find(function(c) { return c.capitalId === selection.capital; });\n    if (!capital || !uuid(capital.uuid)) { fail('cart_selection'); }\n    var options = C.selectedOptions(p, selection.options);\n    if (options.some(function(o) { return !uuid(o.uuid); })) { fail('cart_selection'); }\n    var ids = options.map(function(o) { return o.optionId; }).sort();\n    var amount = E.catalogUnitPrice(capital.price, options);\n    if (!nonnegative(amount.price) || !nonnegative(amount.flat)) { fail('cart_selection'); }\n    var item = {id:capital.uuid+(ids.length ? '|'+ids.join(',') : ''), name:p.label+' \u00b7 '+size(capital.amount), price:amount.price, quantity:1,\n      challengeUuid:capital.uuid, challengeType:p.type, optionUuids:options.map(function(o) { return o.uuid; }), brokerName:'mt5', amount:capital.amount, flatPrice:amount.flat};\n    if (options.length) { item.variant=options.map(function(o) { return o.label; }).join(' \u00b7 '); }\n    return item;\n  }\n  function validateItems(items) {\n    if (!Array.isArray(items)) { fail('cart_corrupt'); }\n    var ids = new Set();\n    items.forEach(function(x) {\n      if (!x || Array.isArray(x) || typeof x !== 'object' || typeof x.id !== 'string' || !x.id || typeof x.name !== 'string' || !x.name || !nonnegative(x.price) || !Number.isSafeInteger(x.quantity) || x.quantity < 1 || ids.has(x.id)) { fail('cart_corrupt'); }\n      ['image','variant','challengeUuid','challengeType','brokerName'].forEach(function(k) { if (x[k] !== undefined ? typeof x[k] !== 'string' : false) { fail('cart_corrupt'); } });\n      ['freeTrial','contest'].forEach(function(k) { if (x[k] !== undefined ? typeof x[k] !== 'boolean' : false) { fail('cart_corrupt'); } });\n      ['amount','flatPrice'].forEach(function(k) { if (x[k] !== undefined ? !nonnegative(x[k]) : false) { fail('cart_corrupt'); } });\n      if (x.optionUuids !== undefined) { if (!Array.isArray(x.optionUuids) || x.optionUuids.some(function(s) { return typeof s !== 'string'; })) { fail('cart_corrupt'); } }\n      ids.add(x.id);\n    });\n    return items;\n  }\n  function snapshot(storage) {\n    var raw={};\n    KEYS.forEach(function(k) { raw[k]=storage.getItem(k); });\n    var items;\n    try { items=raw.wgf_cart === null ? [] : JSON.parse(raw.wgf_cart); } catch(e) { fail('cart_corrupt'); }\n    return {raw:raw, items:validateItems(items)};\n  }\n  function equalOptions(a,b) { return JSON.stringify((a||[]).slice().sort()) === JSON.stringify((b||[]).slice().sort()); }\n  function prepare(before, item, promoCode, newId) {\n    validateItems([item]);\n    if (promoCode !== E.normalizePromoCode(promoCode)) { fail('cart_promo'); }\n    var items=before.items.map(function(x) { return Object.assign(Object.create(null),x); });\n    if (items.some(function(x) { return x.freeTrial === true; })) { fail('cart_free_trial'); }\n    var existing=items.find(function(x) { return x.id === item.id; });\n    if (existing) {\n      if (existing.contest || existing.price !== item.price || (existing.flatPrice||0) !== item.flatPrice || existing.challengeUuid !== item.challengeUuid || existing.challengeType !== item.challengeType || existing.amount !== item.amount || !equalOptions(existing.optionUuids,item.optionUuids)) { fail('cart_existing_changed'); }\n      if (!Number.isSafeInteger(existing.quantity+1)) { fail('cart_corrupt'); }\n      existing.quantity++;\n    } else { items.push(item); }\n    var cartId=before.raw.wgf_cart_id || newId();\n    if (!uuid(cartId)) { fail('cart_id_invalid'); }\n    return {before:before.raw, after:{wgf_cart_id:cartId,wgf_cart_promo:promoCode||null,wgf_cart:JSON.stringify(items)}, cartId:cartId, item:item, items:items, code:promoCode};\n  }\n  function store(storage,key,value) { if(value===null) { storage.removeItem(key); } else { storage.setItem(key,value); } }\n  function commit(storage,doc,origin,plan) {\n    if (!supported(origin)) { fail('cart_origin'); }\n    var cookieBefore=E.promoCookie(doc.cookie), written=[], cookieTouched=false;\n    KEYS.forEach(function(k) { if(storage.getItem(k)!==plan.before[k]) { fail('cart_concurrent'); } });\n    function cookie(code) { doc.cookie='wgf_promo_code='+encodeURIComponent(code)+'; Path=\/; Max-Age='+(code?'604800':'0')+'; SameSite=Lax; Secure'; }\n    try {\n      KEYS.forEach(function(k) {\n        if(storage.getItem(k)!==plan.before[k]) { fail('cart_concurrent'); }\n        written.push(k);store(storage,k,plan.after[k]);\n        if(storage.getItem(k)!==plan.after[k]) { fail('cart_storage'); }\n      });\n      if (cookieBefore !== plan.code) { cookieTouched=true;cookie(plan.code); }\n      if (E.promoCookie(doc.cookie)!==plan.code) { fail('cart_cookie'); }\n      KEYS.forEach(function(k) { if(storage.getItem(k)!==plan.after[k]) { fail('cart_concurrent'); } });\n    } catch(e) {\n      \/\/ Retour arri\u00e8re seulement sur nos propres valeurs, jamais celles d'un autre onglet.\n      var rollback=true;\n      written.reverse().forEach(function(k) {\n        try { if(storage.getItem(k)===plan.after[k]) { store(storage,k,plan.before[k]); } else if(storage.getItem(k)!==plan.before[k]) { rollback=false; } }\n        catch(ignore) { rollback=false; }\n      });\n      if(cookieTouched) { try { if(E.promoCookie(doc.cookie)===plan.code) { cookie(cookieBefore); } } catch(ignore) { rollback=false; } }\n      if (!rollback) { fail('cart_uncertain'); }\n      throw e;\n    }\n    return {cartId:plan.cartId,item:plan.item};\n  }\n  function destination(origin,search) {\n    if(!supported(origin)) { fail('cart_origin'); }\n    var u=new URL('\/fr\/cart',origin), params=new URLSearchParams(search);\n    ['gclid','gbraid','wbraid','gclsrc','msclkid','fbclid','ttclid','utm_source','utm_medium','utm_campaign','utm_term','utm_content','utm_id','ref'].forEach(function(k) { if(params.has(k)) { u.searchParams.set(k,params.get(k)); } });\n    return u.href;\n  }\n  var api={build:build,snapshot:snapshot,prepare:prepare,commit:commit,supported:supported,destination:destination,size:size};\n  if(typeof module !== 'undefined') { module.exports=api; } else { window.WGFPanier=api; }\n})();\n\n<\/script>\n<script data-wgf-module=\"mesure.js\">\n\/* Mesure au format du front (relev\u00e9 du code en ligne le 25\/09\/2026, accord d'Adel \u00ab P1 : je valide \u00bb).\n   R\u00e9plique track() de l'application : consentement isConsentGranted, enrichissement (wgf_attr, _fbp,\n   _ga, session GA4, wgf_aid, page), event_id v4, _destinations du catalogue, capture PostHog, puis\n   dataLayer {event, event_id, ...props aplaties}. C\u00f4t\u00e9 serveur, les destinations PostHog \u00ab Meta CAPI,\n   catalogue WGF \u00bb et \u00ab GA4 Measurement Protocol \u00bb relaient selon _destinations ; c\u00f4t\u00e9 navigateur, GTM\n   d\u00e9clenche le pixel avec eventID = event_id (d\u00e9duplication).\n   Aucune esperluette ni fermeture de balise : WordPress les r\u00e9\u00e9crirait. *\/\n(function () {\n  'use strict';\n  var GA4_ID = 'G-GC003WWBE5';\n  \/* Catalogue du front, pour les seuls \u00e9v\u00e9nements \u00e9mis ici. *\/\n  var DESTINATIONS = {challenge_configurator_viewed: ['meta'], challenge_configured: ['meta'], cart_item_added: ['meta', 'ga4']};\n  var REQUIRES = {meta: ['event_id', 'fbp|fbc'], ga4: ['ga_client_id']};\n  var ATTR_KEYS = ['fbclid', 'fbclid_captured_at', 'fbc', 'fbp', 'gclid', 'wbraid', 'gbraid', 'ttclid', 'msclkid', 'li_fat_id',\n    'ga_client_id', 'ga_session_id', 'affiliation_code'];\n  var FAMILIES = ['standard', 'unlimited', 'instant_funded', 'funded', 'funded_standard', 'funded_unlimited', 'concours'];\n  var URL_IDS = {'9010': 'split_90_10', '100Split': 'split_100', oneDayPass: 'one_day_pass', noConsistency: 'no_consistency', otp: 'otp',\n    extendedDD1: 'extended_dd_1', extendedDD2: 'extended_dd_2', extendedDD3: 'extended_dd_3'};\n\n  function cookieList(raw) {\n    return String(raw || '').split('; ').filter(function (c) { return c.indexOf('=') > 0; }).map(function (c) {\n      var i = c.indexOf('='), v = c.slice(i + 1);\n      try { v = decodeURIComponent(v); } catch (e) { \/* valeur brute *\/ }\n      return {name: c.slice(0, i).trim(), value: v};\n    });\n  }\n  function cookie(raw, name) {\n    var hit = cookieList(raw).filter(function (c) { return c.name === name; })[0];\n    return hit ? hit.value : null;\n  }\n  function isConsentGranted(v) { return !v || v.trim().toLowerCase() === 'granted'; }\n  function parseAttr(v) {\n    if (!v) { return {}; }\n    try { var o = JSON.parse(v); if (o) { if (typeof o === 'object') { if (!Array.isArray(o)) { return o; } } } } catch (e) { \/* vide *\/ }\n    return {};\n  }\n  function normalizeGaClientId(v) { if (!v) { return null; } var m = \/^GA\\d+\\.\\d+\\.(.+)$\/.exec(v); return m ? m[1] : v; }\n  function gaSessionCookie(raw) {\n    var exact = '_ga_' + GA4_ID.replace(\/^G-\/i, ''), first = null, list = cookieList(raw);\n    for (var i = 0; i < list.length; i++) {\n      if (list[i].name === exact) { return list[i].value; }\n      if (first === null) { if (list[i].name.indexOf('_ga_') === 0) { first = list[i].value; } }\n    }\n    return first;\n  }\n  function extractGaSessionId(v) { if (!v) { return null; } var m = \/^GS\\d+\\.\\d+\\.s?(\\d+)\/.exec(v); return m ? m[1] : (\/^\\d+$\/.test(v) ? v : null); }\n  function uuidV4(cryptoObj) {\n    var b = new Array(16), i, fort = false;\n    if (cryptoObj) { if (typeof cryptoObj.getRandomValues === 'function') { b = cryptoObj.getRandomValues(new Uint8Array(16)); fort = true; } }\n    if (!fort) { for (i = 0; i < 16; i++) { b[i] = Math.floor(256 * Math.random()); } }\n    b[6] = (b[6] % 16) + 64; b[8] = (b[8] % 64) + 128;\n    var h = Array.prototype.map.call(b, function (x) { return (x + 256).toString(16).slice(1); }).join('');\n    return h.slice(0, 8) + '-' + h.slice(8, 12) + '-' + h.slice(12, 16) + '-' + h.slice(16, 20) + '-' + h.slice(20);\n  }\n  function flatten(obj, prefix) {\n    var out = {};\n    Object.keys(obj).forEach(function (k) {\n      var v = obj[k], key = prefix ? prefix + '_' + k : k;\n      if (v === undefined) { return; }\n      if (v === null || typeof v !== 'object' || Array.isArray(v)) { out[key] = v; } else { Object.assign(out, flatten(v, key)); }\n    });\n    return out;\n  }\n  function challengeSizeSku(n) {\n    if (n == null || !Number.isFinite(n) || n <= 0) { return undefined; }\n    var f = function (x) { return String(Number(x.toFixed(2))); };\n    return n >= 1e6 ? f(n \/ 1e6) + 'M' : n >= 1e3 ? f(n \/ 1e3) + 'K' : String(Math.round(n));\n  }\n  function family(type) { return FAMILIES.indexOf(type || '') >= 0 ? type : 'standard'; }\n  function addonName(optionId) { return URL_IDS[optionId] || optionId; }\n  \/* M\u00eame forme que cartItemProps du front. *\/\n  function cartItemProps(item, cartId, optionIds) {\n    var price = item.freeTrial ? 0 : item.price;\n    return {cart_id: cartId, cart_entry_type: item.freeTrial ? 'free_trial' : item.contest ? 'contest' : 'challenge',\n      challenge_family: family(item.challengeType), challenge_size: challengeSizeSku(item.amount),\n      challenge_size_value: Math.round(item.amount || 0), value: price * item.quantity, currency: 'EUR', quantity: item.quantity,\n      price_displayed: price, addons: item.optionUuids || [], addons_count: (item.optionUuids || []).length,\n      addon_names: (optionIds || []).map(addonName)};\n  }\n  function enrich(env) {\n    var raw = env.cookies(), attr = parseAttr(cookie(raw, 'wgf_attr')), out = {};\n    ATTR_KEYS.forEach(function (k) { if (attr[k]) { out[k] = attr[k]; } });\n    var fbp = cookie(raw, '_fbp'); if (fbp) { out.fbp = fbp; }\n    var ga = normalizeGaClientId(cookie(raw, '_ga')); if (ga) { out.ga_client_id = ga; }\n    var gs = gaSessionCookie(raw), sid = extractGaSessionId(gs); if (sid) { out.ga_session_id = sid; }\n    out.wgf_aid = cookie(raw, 'wgf_aid') || undefined;\n    out.page_url = env.location.href; out.page_path = env.location.pathname; out.page_title = env.document.title;\n    out.page_referrer = env.document.referrer || undefined; out.locale = env.document.documentElement.lang || undefined;\n    out.consent_state = cookie(raw, 'consent_state') || 'granted';\n    out.gtm_loaded = !!env.window.google_tag_manager; out.fbq_loaded = typeof env.window.fbq === 'function';\n    out.ga_session_cookie = gs !== null;\n    return out;\n  }\n  function missing(dests, payload) {\n    var out = [];\n    dests.forEach(function (d) {\n      (REQUIRES[d] || []).forEach(function (f) {\n        var ok = f.split('|').some(function (k) { var v = payload[k]; return v !== null ? (v !== undefined ? v !== '' : false) : false; });\n        if (!ok) { out.push(d + ':' + f); }\n      });\n    });\n    return out;\n  }\n  \/* env : {window, document, location, cookies()} ; posthog : client initialis\u00e9, ou null. *\/\n  function track(env, posthog, event, props, opts, extra) {\n    if (!isConsentGranted(cookie(env.cookies(), 'consent_state'))) { return null; }\n    var eventId = uuidV4(env.window.crypto), dests = (DESTINATIONS[event] || []).slice();\n    var payload = Object.assign(enrich(env), extra || {}, props, {event_id: eventId, _destinations: dests});\n    var manque = missing(dests, payload);\n    var envoi = (opts ? opts.instant : false) ? {transport: 'sendBeacon', send_instantly: true} : undefined;\n    var captures = manque.length ? [['tracking_incomplete_payload', {event: event, schema_valid: true, missing: manque, _destinations: []}, undefined]] : [];\n    captures.push([event, payload, envoi]);\n    \/* PostHog absent : captures diff\u00e9r\u00e9es avec le m\u00eame event_id (d\u00e9duplication pixel et CAPI pr\u00e9serv\u00e9e). *\/\n    captures.forEach(function (c) {\n      if (posthog) { posthog.capture(c[0], c[1], c[2]); }\n      else if (opts ? typeof opts.differer === 'function' : false) { opts.differer(c); }\n    });\n    var dl = Object.assign({event: event, event_id: eventId}, flatten(props));\n    if (opts ? typeof opts.eventCallback === 'function' : false) { dl.eventCallback = opts.eventCallback; dl.eventTimeout = 1500; }\n    env.window.dataLayer = env.window.dataLayer || [];\n    env.window.dataLayer.push(dl);\n    return eventId;\n  }\n  var api = {track: track, cartItemProps: cartItemProps, challengeSizeSku: challengeSizeSku, family: family, addonName: addonName,\n    isConsentGranted: isConsentGranted, uuidV4: uuidV4, flatten: flatten, DESTINATIONS: DESTINATIONS};\n  if (typeof module !== 'undefined') { module.exports = api; } else { window.WGFMesure = api; }\n})();\n\n<\/script>\n<script data-wgf-module=\"interface.js\">\n\/* Interface locale \u00e0 partir du catalogue publi\u00e9. Aucun prix ni nombre d'options en dur. *\/\n(function () {\n  'use strict';\n  var root = document.querySelector('[data-wgf-tunnel]');\n  if (!root || root.__wgfTunnelMounted) { return; }\n  root.__wgfTunnelMounted=true;\n  var source = window.WGFCatalogue, engine = window.WGFTunnel, prefill = window.WGFPrefill, cart=window.WGFPanier;\n  var VERSION = '20260929-lp-configurateur-fr-v5', LOCALE = 'fr-FR';\n  var submitting=false, added=false, cartError='', cartUncertain=false, promoUnavailable=false;\n  var ORIGIN = root.getAttribute('data-origin') || 'https:\/\/wegetfunded.com';\n  var catalog = null, offer = null, status = 'loading', priceState = 'loading';\n  var state = {step:1, sub:1, programme:null, capital:null, options:[]};\n  var signature = '', needsReview = false, inFlight = null, lastCheck = 0;\n  var entryApplied=false, entryProblems=[], pendingProgramme=false, prefillPending=false;\n  var complete={programme:false,capital:false,options:false};\n  var promoQuery = location.search;\n  var lastCookieCode = engine.promoCookie(cookies()), promoRevision = 0, expiryTimer;\n  var steps = Array.prototype.slice.call(root.querySelectorAll('[data-step]'));\n  function el(tag, className, content) {\n    var node = document.createElement(tag);\n    if (className) { node.className = className; }\n    if (content !== undefined) { node.textContent = content; }\n    return node;\n  }\n  function money(n) { return new Intl.NumberFormat(LOCALE,{style:'currency',currency:'EUR'}).format(n); }\n  function dollars(n) { return new Intl.NumberFormat(LOCALE,{style:'currency',currency:'USD',maximumFractionDigits:0}).format(n); }\n  function program() { return catalog ? catalog.programs[state.programme] : null; }\n  function product() { return program() ? program().capitals.find(function (p) { return p.capitalId === state.capital; }) : null; }\n  function groups() { return program() ? program().groups : []; }\n  function priceFor(ids) {\n    if (!product() || status !== 'ready') { return null; }\n    try {\n      var applied = engine.applies(offer, product(), program().type) ? offer : null;\n      var unit = engine.catalogUnitPrice(product().price, engine.payableOptions(source.selectedOptions(program(), ids), applied));\n      return {list:unit.price, pay:engine.discounted(unit.price,unit.flat,applied), promo:applied};\n    } catch (e) { return null; }\n  }\n  function input(name,value,checked,disabled) {\n    var n = el('input'); n.type='radio'; n.name=name; n.value=value; n.checked=checked; n.disabled=disabled || status !== 'ready'; return n;\n  }\n  function renderPrograms() {\n    var target = root.querySelector('[data-programs]'); target.replaceChildren();\n    if (!catalog) { target.appendChild(el('p','t__hint','Le catalogue est indisponible. Aucun tarif ne peut \u00eatre confirm\u00e9.')); return; }\n    Object.keys(catalog.programs).forEach(function (key) {\n      var p = catalog.programs[key], card=el('label','t__card'), body=el('span','t__card-body');\n      card.appendChild(input('programme',key,state.programme===key));\n      body.appendChild(el('span','t__card-title',p.label));\n      body.appendChild(el('span','t__card-desc',p.description)); card.appendChild(body); target.appendChild(card);\n    });\n  }\n  function renderCapitals() {\n    var target=root.querySelector('[data-capitals]'); target.replaceChildren();\n    if (!program()) { return; }\n    program().capitals.forEach(function (p) {\n      var card=el('label','t__card t__card--capital'), body=el('span','t__card-body');\n      card.appendChild(input('capital',p.capitalId,state.capital===p.capitalId));\n      body.appendChild(el('b','t__card-title',dollars(p.amount)));\n      var applied=engine.applies(offer,p,program().type)?offer:null;\n      var unit=engine.catalogUnitPrice(p.price,engine.payableOptions(source.selectedOptions(program(),state.options),applied));\n      var pay=engine.discounted(unit.price,unit.flat,applied), line=el('span','t__card-price');\n      if (status === 'ready') {\n        if (pay<unit.price) { line.appendChild(el('s','',money(unit.price))); }\n        line.appendChild(document.createTextNode(money(pay)));\n      } else { line.textContent='V\u00e9rification du tarif\u2026'; }\n      body.appendChild(line); card.appendChild(body); target.appendChild(card);\n    });\n    root.querySelector('[data-capital-hint]').textContent=source.ruleSummary(program().rules,['profit_target','min_trading_days']);\n  }\n  function renderRules() {\n    var target=root.querySelector('[data-rules]'); target.replaceChildren();\n    if (!program()) { return; }\n    program().rules.forEach(function (r) {\n      var row=el('p','t__rule'); row.appendChild(el('b','',r.label));\n      row.appendChild(el('span','',r.values.map(function (v,i) { return (program().phaseLabels[i]||'Phase '+(i+1))+ ' : '+v; }).join(' \u00b7 ')));\n      target.appendChild(row);\n    });\n  }\n  function optionRow(group,option) {\n    var key=option?option.optionId:'', row=el('label','t__opt'), wrap=el('span');\n    var chosen=option?state.options.includes(key):!group.options.some(function (o) {return state.options.includes(o.optionId);});\n    row.appendChild(input(group.name,key,chosen,option?!option.enabled:false));\n    wrap.appendChild(el('b','',option?option.label:'R\u00e8gles du programme, inclus'));\n    var description=option?option.description:group.description;\n    if (option ? !option.enabled : false) { description='Compatibilit\u00e9 non document\u00e9e dans ce tunnel. Choix \u00e0 confirmer sur le site.'; }\n    wrap.appendChild(el('small','',description)); row.appendChild(wrap);\n    var output=el('output',''); output.setAttribute('data-opt-price',key);\n    if (!option) { output.textContent='inclus'; }\n    else if (!option.enabled) { output.textContent='\u00c0 confirmer'; }\n    else {\n      var other=state.options.filter(function (id) {return program().options[id].group!==option.group;});\n      var base=priceFor(other), next=priceFor(other.concat([key]));\n      output.textContent=base?(next?'+'+money(engine.round(next.pay-base.pay)):'\u2026'):'\u2026';\n    }\n    row.appendChild(output); return row;\n  }\n  function renderOptions() {\n    var target=root.querySelector('[data-options]'); target.replaceChildren();\n    groups().forEach(function (group,i) {\n      var field=el('fieldset','t__group'); field.setAttribute('data-option-group',group.id); field.setAttribute('data-substep',i+1);\n      field.appendChild(el('legend','',group.label)); field.appendChild(optionRow(group,null));\n      group.options.forEach(function (option) {field.appendChild(optionRow(group,option));}); target.appendChild(field);\n    });\n    root.querySelector('[data-options-lead]').textContent=groups().length?'Les suppl\u00e9ments sont recalcul\u00e9s pour votre s\u00e9lection. Aucune option n\u2019est obligatoire.':'Aucune option propos\u00e9e pour ce programme dans le catalogue publi\u00e9.';\n    var warning=root.querySelector('[data-option-warning]');\n    warning.hidden=!(catalog ? catalog.warnings.length : false);\n  }\n  \/* Noms lus dans le catalogue publi\u00e9, pour les avantages que le moteur ne nomme pas. *\/\n  function giftContext() {\n    function programs() { return catalog ? Object.keys(catalog.programs).map(function (k) { return catalog.programs[k]; }) : []; }\n    return {\n      challenge: function (uuid, type, coins) {\n        var found = '';\n        programs().forEach(function (p) { p.capitals.forEach(function (c) { if (c.uuid === uuid) { found = p.label + ' ' + dollars(c.amount); } }); });\n        if (found) { return found; }\n        var same = programs().find(function (p) { return p.type === type; });\n        if (!same) { return ''; }\n        return Number.isFinite(coins) ? (coins > 0 ? same.label + ' ' + dollars(coins) : '') : '';\n      },\n      option: function (uuid) {\n        var found = '';\n        programs().forEach(function (p) { Object.keys(p.options).forEach(function (id) { if (p.options[id].uuid === uuid) { found = p.options[id].label; } }); });\n        return found;\n      },\n      chosen: function (uuid) { return program() ? state.options.some(function (id) { return program().options[id].uuid === uuid; }) : false; }\n    };\n  }\n  function renderSummary() {\n    var total=priceFor(state.options), recap=root.querySelector('[data-recap]'); recap.replaceChildren();\n    function row(label,value){recap.appendChild(el('dt','',label));recap.appendChild(el('dd','',value));}\n    root.querySelector('[data-bar-name]').textContent=program()?program().label:'Votre challenge';\n    root.querySelector('[data-bar-variant]').textContent=product()?dollars(product().amount)+(state.options.length?' \u00b7 '+state.options.map(function(id){return program().options[id].label;}).join(' \u00b7 '):''):'Choisissez votre programme';\n    var code=root.querySelector('[data-bar-code]'),strike=root.querySelector('[data-bar-strike]');\n    code.hidden=true;code.textContent='';strike.hidden=true;strike.textContent='';\n    if(total){\n      root.querySelector('[data-bar-total]').textContent=money(total.pay);\n      if(total.pay<total.list){strike.hidden=false;strike.textContent=money(total.list);}\n      if(total.promo){code.hidden=false;code.textContent='Code '+total.promo.code;}\n      priceState=total.promo?'validated_offer':'catalogue';\n      row('Programme',program().label);row('Capital simul\u00e9',dollars(product().amount));\n      row('Options',state.options.length?state.options.map(function(id){return program().options[id].label;}).join(', '):'aucune');\n      if(total.pay<total.list){row('Prix catalogue',money(total.list));}\n      row('\u00c0 payer maintenant',money(total.pay));\n      if(total.promo){row('Code appliqu\u00e9',total.promo.code);}\n      engine.giftLabels(total.promo,giftContext()).forEach(function(label){row('Offre du code',label);});\n    } else {\n      priceState=status==='loading'?'loading':'unavailable';\n      root.querySelector('[data-bar-total]').textContent=status==='loading'?'V\u00e9rification\u2026':'Tarif indisponible';\n    }\n    root.setAttribute('data-price-state',priceState);\n    var fees=root.querySelector('[data-recap-fees]');fees.textContent='';\n    if(program()?status==='ready':false){\n      if(state.options.includes('otp')){fees.textContent=program().activationMode.otpDescription||'';}\n      else if(program().activation!==null){fees.textContent='\u00c0 la validation du challenge : '+money(program().activation)+' de frais d\u2019activation, hors du total pay\u00e9 maintenant.';}\n    }\n    var cta=root.querySelector('[data-wgf-lp-cta]'), notice=root.querySelector('[data-cart-status]');\n    var originOK=cart ? cart.supported(location.origin) : false;\n    var ready=!!total ? (!needsReview ? (!entryProblems.length ? root.getAttribute('data-promo-state')==='resolved' : false) : false) : false;\n    if(promoUnavailable || submitting || cartUncertain || !complete.programme || !complete.capital || !complete.options) { ready=false; }\n    cta.disabled=!originOK || (!added ? !ready : submitting);\n    cta.setAttribute('aria-disabled',String(cta.disabled));cta.setAttribute('aria-busy',String(submitting));\n    cta.textContent=added?'Ouvrir mon panier':submitting?'V\u00e9rification du pack\u2026':'Ajouter au panier';\n    notice.textContent=!originOK?'L\u2019ajout r\u00e9el n\u00e9cessite la m\u00eame origine que le site. Cet aper\u00e7u localhost ne peut pas \u00e9crire dans le panier WGF.':cartError|| (added?'Votre pack a \u00e9t\u00e9 ajout\u00e9. Ouvrez votre panier sans l\u2019ajouter \u00e0 nouveau.':promoUnavailable?'La promotion ne peut pas \u00eatre v\u00e9rifi\u00e9e. R\u00e9essayez avant d\u2019ajouter le pack.':'Votre pack sera ajout\u00e9 au panier, sans repasser par le configurateur du site.');\n    root.setAttribute('data-cart-state',added?'added':submitting?'checking':cartUncertain?'uncertain':cartError?'error':originOK?'ready':'wrong_origin');\n    root.querySelector('[data-cart-open]').hidden=!originOK||!(cartError||cartUncertain);\n  }\n  function renderNavigation() {\n    var max=Math.max(1,groups().length);state.sub=Math.max(1,Math.min(state.sub,max));\n    steps.forEach(function(s){s.hidden=Number(s.getAttribute('data-step'))!==state.step;});\n    root.querySelectorAll('[data-substep]').forEach(function(g){g.hidden=Number(g.getAttribute('data-substep'))!==state.sub;});\n    root.querySelectorAll('[data-step-dot]').forEach(function(dot){var n=Number(dot.getAttribute('data-step-dot'));dot.classList.toggle('is-done',n<state.step);dot.classList.toggle('is-current',n===state.step);if(n===state.step){dot.setAttribute('aria-current','step');}else{dot.removeAttribute('aria-current');}});\n    var prev=root.querySelector('[data-prev]'),next=root.querySelector('[data-next]');\n    prev.hidden=state.step===1||state.step===4;prev.disabled=submitting||added||cartUncertain;next.hidden=state.step===4;root.querySelector('[data-wgf-lp-cta]').hidden=state.step!==4;next.disabled=status!=='ready'||submitting||added;\n    next.textContent=state.step===3?'Continuer ('+state.sub+'\/'+max+')':'Continuer';\n  }\n  function renderStatus() {\n    var notice=root.querySelector('[data-catalog-status]');\n    root.setAttribute('data-catalog-state',status);root.setAttribute('data-catalog-review',String(needsReview));\n    notice.textContent=status==='loading'?'V\u00e9rification du catalogue en cours\u2026':status==='unavailable'?'Catalogue indisponible. Les prix et la s\u00e9lection sont suspendus. R\u00e9essayez ou consultez le site.':needsReview?'Le catalogue ou la promotion a chang\u00e9. V\u00e9rifiez votre s\u00e9lection et les nouveaux tarifs.':'';\n    notice.hidden=!notice.textContent;\n    root.querySelector('[data-catalog-confirm]').hidden=!(needsReview?status==='ready':false);\n    root.querySelector('[data-catalog-refresh]').disabled=status==='loading';\n    root.querySelector('[data-source-controls]').hidden=status!=='unavailable';\n    var entryNotice=root.querySelector('[data-entry-notice]');\n    entryNotice.textContent=Array.from(new Set(entryProblems.map(function(e){return e.message;}))).join(' ');\n    entryNotice.hidden=!entryProblems.length;\n    root.setAttribute('data-entry-state',entryApplied?(entryProblems.length?'needs_review':'resolved'):'loading');\n  }\n  function clearEntryProblem(field){entryProblems=entryProblems.filter(function(e){return e.field!==field;});}\n  function acceptProgramme(){\n    complete.programme=true;clearEntryProblem('programme');\n    if(!pendingProgramme){return;}\n    pendingProgramme=false;\n    var params=new URLSearchParams(location.search);params.set('challengeType',program().type);\n    var resolved=prefill.resolve(catalog,params.toString());\n    Object.assign(state,resolved.selection);complete=resolved.complete;entryProblems=resolved.errors;\n  }\n  function render() {\n    var active=document.activeElement, name=active?active.name:null, value=active?active.value:null;\n    renderPrograms();renderCapitals();renderOptions();renderRules();renderSummary();renderNavigation();renderStatus();\n    if(typeof configuredWatch==='function'){configuredWatch();configuratorViewed();}\n    root.querySelectorAll('[data-edit-step],[data-catalog-confirm]').forEach(function(n) { n.disabled=false; });\n    if(submitting || added || cartUncertain) { root.querySelectorAll('input,[data-edit-step],[data-catalog-refresh],[data-catalog-confirm]').forEach(function(n) { n.disabled=true; }); }\n    if(name){var same=Array.prototype.find.call(root.querySelectorAll('input'),function(n){return n.name===name?n.value===value:false;});if(same){same.focus({preventScroll:true});}}\n  }\n  function go(step,sub) {\n    state.step=Math.max(1,Math.min(4,Number(step)||1));state.sub=sub||1;\n    if(state.step===3?!groups().length:false){if(!entryProblems.some(function(e){return e.field==='options';})){state.step=4;}}\n    renderNavigation();track('lp_step_viewed',{step_index:state.step,step_name:['programme','capital','options','recap'][state.step-1],sub_step:state.sub});\n    var section=steps.find(function(s){return !s.hidden;});var heading=section.querySelector('h1,h2');heading.setAttribute('tabindex','-1');heading.focus({preventScroll:true});\n    window.scrollTo({top:0,behavior:'instant'});\n  }\n  root.addEventListener('change',function(e){\n    if(status!=='ready'||submitting||added||cartUncertain||!e.target.matches('input[type=radio]')){return;}\n    cartError='';\n    var n=e.target;\n    if(n.name==='programme'){\n      if(!complete.capital){state.capital=null;}\n      state.programme=n.value;state.options=[];state.sub=1;Object.assign(state,source.reconcile(catalog,state));\n      complete={programme:true,capital:false,options:groups().length===0};entryProblems=[];acceptProgramme();\n    }\n    else if(n.name==='capital'){state.capital=n.value;complete.capital=true;clearEntryProblem('capital');}\n    else{var group=groups().find(function(g){return g.name===n.name;});if(!group){return;}state.options=state.options.filter(function(id){return !group.options.some(function(o){return o.optionId===id;});});if(n.value){state.options.push(n.value);}}\n    render();\n  });\n  root.querySelector('[data-next]').addEventListener('click',function(){\n    if(status!=='ready'){return;}track('lp_step_completed',{step_index:state.step,sub_step:state.sub,selection:{programme:state.programme,capital:state.capital,options:state.options.slice()}});\n    if(state.step===1){acceptProgramme();render();go(complete.capital?(complete.options?4:3):2);}\n    else if(state.step===2){complete.capital=true;clearEntryProblem('capital');render();go(complete.options?4:3);}\n    else if(state.sub<groups().length){go(3,state.sub+1);}\n    else{complete.options=true;clearEntryProblem('options');render();go(4);}\n  });\n  root.querySelector('[data-prev]').addEventListener('click',function(){\n    if(state.step===3?state.sub>1:false){go(3,state.sub-1);}\n    else if(state.step===4){go(groups().length?3:2,groups().length);}\n    else{go(state.step-1);}\n  });\n  root.addEventListener('wgf-tunnel-go',function(e){go(e.detail.step,e.detail.sub);});\n  root.querySelectorAll('[data-edit-step]').forEach(function(button){button.addEventListener('click',function(){go(Number(button.getAttribute('data-edit-step')));});});\n  function cartSignature(){return JSON.stringify({programme:state.programme,capital:state.capital,options:state.options.slice().sort(),price:priceFor(state.options),offer:offer});}\n  function cartFailure(e){\n    var messages={cart_selection:'Ce pack n\u2019est pas reconnu par le contrat panier actuel. V\u00e9rifiez sa disponibilit\u00e9 sur le site.',cart_corrupt:'Votre panier existant ne peut pas \u00eatre lu. Il a \u00e9t\u00e9 conserv\u00e9 sans modification.',cart_existing_changed:'Ce pack existe d\u00e9j\u00e0 au panier avec des conditions diff\u00e9rentes. V\u00e9rifiez votre panier avant de le compl\u00e9ter.',cart_free_trial:'Votre panier contient un essai gratuit. Retirez-le du panier avant d\u2019ajouter un challenge payant.',cart_concurrent:'Le panier ou le code a chang\u00e9 dans un autre onglet. R\u00e9essayez pour reprendre son \u00e9tat actuel.',cart_uncertain:'L\u2019\u00e9criture du panier n\u2019a pas pu \u00eatre confirm\u00e9e. V\u00e9rifiez-le avant toute nouvelle tentative.'};\n    cartUncertain=e.message==='cart_uncertain';cartError=messages[e.message]||'L\u2019ajout n\u2019a pas pu \u00eatre confirm\u00e9. V\u00e9rifiez que le stockage et les cookies sont autoris\u00e9s, puis r\u00e9essayez.';\n  }\n  root.querySelector('[data-wgf-lp-cta]').addEventListener('click',function(e){\n    e.preventDefault();\n    if(submitting||cartUncertain||!cart||!cart.supported(location.origin)){return;}\n    if(added){window.location.assign(cart.destination(location.origin,location.search));return;}\n    if(this.disabled||state.step!==4||!complete.programme||!complete.capital||!complete.options){return;}\n    var before, storage, viewed=cartSignature(), cookieStart=engine.promoCookie(cookies());\n    try{storage=window.localStorage;before=cart.snapshot(storage);}catch(error){cartFailure(error);renderSummary();return;}\n    submitting=true;cartError='';render();\n    loadCatalog().then(function(ok){\n      if(!ok||promoUnavailable||root.getAttribute('data-promo-state')!=='resolved'){return;}\n      if(needsReview||entryProblems.length||viewed!==cartSignature()){needsReview=true;return;}\n      if(cookieStart!==engine.promoCookie(cookies())){throw new Error('cart_concurrent');}\n      var item=cart.build(catalog,state), total=priceFor(state.options);\n      \/\/ Code personnel valid\u00e9, m\u00eame s'il ne couvre que d'autres lignes d\u00e9j\u00e0 au panier.\n      var code=offer?engine.normalizePromoCode(offer.code):'';\n      var plan=cart.prepare(before,item,code,function(){return window.crypto.randomUUID();});\n      var result=cart.commit(storage,document,location.origin,plan);\n      added=true;lastCookieCode=engine.promoCookie(cookies());\n      var destination=cart.destination(location.origin,location.search), parti=false;\n      function allerAuPanier(){if(parti){return;}parti=true;window.location.assign(destination);}\n      try{\n        frontTrack('cart_item_added',mesure.cartItemProps(Object.assign({},item,{quantity:1}),result.cartId,state.options.slice()),{instant:true,eventCallback:function(){window.setTimeout(allerAuPanier,300);}},{price_displayed_pay:total.pay,selection_preserved:true,cart_source:'guided_configurator'});\n      }catch(ignore){\/* La mesure ne rejoue jamais l'ajout. *\/}\n      window.setTimeout(allerAuPanier,1500);\n    }).catch(function(error){if(added){cartError='Votre pack est ajout\u00e9. Cliquez pour ouvrir le panier, sans nouvel ajout.';}else{cartFailure(error);}}).finally(function(){submitting=false;render();});\n  });\n  function cookies(){try{return document.cookie;}catch(e){return '';}}\n  function getJSON(url){return fetch(url,{credentials:'omit',cache:'no-store',signal:AbortSignal.timeout(8000)}).then(function(r){if(!r.ok){throw new Error('promo_unavailable');}return r.json();});}\n  function validate(code){return getJSON(ORIGIN+'\/api\/promo-codes\/validate?code='+encodeURIComponent(code)).then(function(d){return d.valid===true?engine.validPromo(d.promo):null;}).catch(function(e){promoUnavailable=true;throw e;});}\n  function loadPromo(){\n    var saved=engine.promoCookie(cookies());if(saved!==lastCookieCode){promoQuery='';lastCookieCode=saved;}\n    var revision=++promoRevision;promoUnavailable=false;window.clearTimeout(expiryTimer);offer=null;root.setAttribute('data-promo-state','loading');renderSummary();\n    return engine.resolveVisitorPromo(promoQuery,cookies(),validate).then(function(p){\n      if(revision!==promoRevision){return;}offer=p;root.setAttribute('data-promo-state','resolved');render();sendPrefillEvent();\n      function expire(){if(revision!==promoRevision||!offer||!offer.endsAt){return;}var left=Date.parse(offer.endsAt)-Date.now();if(left<=0){offer=null;render();return;}expiryTimer=window.setTimeout(expire,Math.min(left,2147483647));}expire();\n    });\n  }\n  function loadCatalog(){\n    if(inFlight){return inFlight;}\n    status='loading';render();\n    inFlight=fetch(ORIGIN+'\/fr',{credentials:'omit',cache:'no-store',signal:AbortSignal.timeout(8000)})\n      .then(function(r){if(!r.ok){throw new Error('catalog_unavailable');}return r.text();})\n      .then(function(html){\n        var next=source.fromHTML(html), fingerprint=JSON.stringify(next);\n        if(signature?signature!==fingerprint:false){needsReview=true;}\n        signature=fingerprint;catalog=next;\n        if(!entryApplied){\n          var resolved=prefill.resolve(catalog,location.search);\n          Object.assign(state,resolved.selection);state.step=resolved.step;state.sub=resolved.sub;\n          complete=resolved.complete;entryProblems=resolved.errors;entryApplied=true;\n          pendingProgramme=!complete.programme?(resolved.provided.capital||resolved.provided.options):false;\n          prefillPending=complete.programme||complete.capital||complete.options;\n        }else{Object.assign(state,source.reconcile(catalog,state));}\n        status='ready';lastCheck=Date.now();\n        root.setAttribute('data-catalog-checked-at',new Date(lastCheck).toISOString());render();return loadPromo();\n      }).then(function(){return true;}).catch(function(){\n        status='unavailable';offer=null;catalog=null;promoRevision++;window.clearTimeout(expiryTimer);root.setAttribute('data-promo-state','resolved');render();return false;\n      }).finally(function(){inFlight=null;});\n    return inFlight;\n  }\n  root.querySelector('[data-catalog-refresh]').addEventListener('click',loadCatalog);\n  root.addEventListener('wgf-tunnel-refresh',loadCatalog);\n  root.querySelector('[data-catalog-confirm]').addEventListener('click',function(){if(status==='ready'){needsReview=false;render();}});\n  function refreshIfIdle(){if(submitting||added||cartUncertain){return;}loadCatalog();}\n  window.addEventListener('focus',refreshIfIdle);\n  document.addEventListener('visibilitychange',function(){if(!document.hidden){refreshIfIdle();}});\n  window.addEventListener('pageshow',function(e){if(e.persisted){refreshIfIdle();}});\n  window.setInterval(function(){\n    if(document.hidden||inFlight||submitting||added||cartUncertain){return;}\n    if(Date.now()-lastCheck>=60000){loadCatalog();return;}\n    if(catalog?engine.promoCookie(cookies())!==lastCookieCode:false){loadPromo();}\n  },1000);\n  \/* Mesure identique \u00e0 la politique LP ; aucune requ\u00eate PostHog sur localhost. *\/\n  var sdk=null;\n  function consent(){var m=cookies().match('(^|;)\\\\s*consent_state\\\\s*=\\\\s*([^;]*)');try{return m?decodeURIComponent(m[2]).trim().toLowerCase():null;}catch(e){return null;}}\n  function sendPrefillEvent(){\n    if(!prefillPending||!sdk||status!=='ready'||root.getAttribute('data-promo-state')!=='resolved'){return;}\n    prefillPending=false;var total=priceFor(state.options);\n    track('configurator_prefilled',{capital:product().amount,challenge_type:program().type,options:state.options.slice(),price_displayed:total?total.pay:null,entry_step:state.step,entry_valid:!entryProblems.length});\n  }\n  var mesure=window.WGFMesure, frontQueue=[], viewedSent=false, interacted=false, configuredKey=null, configuredTimer=null;\n  function lpExtra(){return {lp_id:root.getAttribute('data-lp-id'),lp_family:root.getAttribute('data-lp-family'),lp_version:VERSION,locale_lp:LOCALE};}\n  function frontEnv(){return {window:window,document:document,location:location,cookies:cookies};}\n  function frontTrack(event,props,opts,extra){\n    if(!mesure){return;}\n    var o=Object.assign({},opts||{},{differer:function(c){if(frontQueue.length<40){frontQueue.push(c);}}});\n    mesure.track(frontEnv(),sdk,event,props,o,Object.assign(lpExtra(),extra||{}));\n  }\n  function flushFront(){var q=frontQueue;frontQueue=[];q.forEach(function(c){sdk.capture(c[0],c[1],c[2]);});}\n  function configuratorViewed(){\n    if(viewedSent||status!=='ready'){return;}viewedSent=true;\n    window.setTimeout(function(){frontTrack('challenge_configurator_viewed',{});},1000);\n  }\n  function selectionKey(){return [state.programme||'',state.capital||'',state.options.slice().sort().join(',')].join('|');}\n  function configuredWatch(){\n    if(status!=='ready'||!product()){return;}\n    var key=selectionKey();if(configuredKey===null){configuredKey=key;return;}\n    if(key===configuredKey){return;}configuredKey=key;\n    if(!interacted){return;}\n    window.clearTimeout(configuredTimer);\n    configuredTimer=window.setTimeout(function(){\n      if(!product()){return;}var total=priceFor(state.options),amount=Math.round(product().amount||0);\n      frontTrack('challenge_configured',{challenge_family:mesure.family(program().type),challenge_size:mesure.challengeSizeSku(amount),challenge_size_value:amount,addons:source.selectedOptions(program(),state.options).map(function(o){return o.uuid;}).filter(function(u){return u!==null;}),price_displayed:total?total.pay:0,is_final_state:true});\n    },2500);\n  }\n  root.addEventListener('pointerdown',function(){interacted=true;},{capture:true});\n  root.addEventListener('keydown',function(){interacted=true;},{capture:true});\n  function track(event,props){\n    if(consent()==='denied'||!sdk){return;}\n    var total=priceFor(state.options);\n    sdk.capture(event,Object.assign({lp_id:root.getAttribute('data-lp-id'),lp_family:root.getAttribute('data-lp-family'),lp_version:VERSION,template_version:VERSION,locale:LOCALE,page_path:location.pathname,consent_state:consent()==='granted'?'granted':'unknown',consent_source:consent()==='granted'?'explicit':'default',measurement_policy:'default_on',price_state:priceState,promo_code:total?(total.promo?total.promo.code:null):null,programme:state.programme,capital:state.capital,options:state.options.slice(),selection_preserved:false},props||{}),event==='cart_item_added'?{send_instantly:true,transport:'sendBeacon'}:undefined);\n  }\n  if(consent()!=='denied'?(location.hostname==='wegetfunded.com'||location.hostname==='www.wegetfunded.com'):false){\n    var lib=el('script');lib.src='\/s\/static\/array.js';lib.async=true;\n    lib.onload=function(){if(!window.posthog){return;}sdk=window.posthog;sdk.init('phc_Cx86yLkm9TgRUVEW9Gn4NbbPys6dFx3ScepvdEc3Ehsu',{api_host:'\/s',capture_pageview:false,autocapture:false,disable_session_recording:true,disable_surveys:true,advanced_disable_feature_flags:true});track('page_viewed');track('lp_step_viewed',{step_index:state.step,step_name:['programme','capital','options','recap'][state.step-1]});sendPrefillEvent();flushFront();};document.head.appendChild(lib);\n  }\n  loadCatalog();\n})();\n\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Choisissez votre programme, votre capital simul\u00e9 et vos options, puis ajoutez votre challenge au panier.<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"lp-configurateur","format":"standard","meta":{"_wgf_editorial_author":"","_wgf_editorial_kind":"","footnotes":""},"categories":[26],"tags":[],"class_list":["post-466","post","type-post","status-publish","format-standard","hentry","category-lp-ads"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Configurez votre challenge de trading | WeGetFunded<\/title>\n<meta name=\"description\" content=\"Choisissez votre programme, votre capital simul\u00e9 et vos options, puis ajoutez votre challenge au panier.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wegetfunded.com\/fr\/blog\/configurer-mon-challenge\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Configurez votre challenge de trading | WeGetFunded\" \/>\n<meta property=\"og:description\" content=\"Choisissez votre programme, votre capital simul\u00e9 et vos options, puis ajoutez votre challenge au panier.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wegetfunded.com\/fr\/blog\/configurer-mon-challenge\/\" \/>\n<meta property=\"og:site_name\" content=\"WeGetFunded\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-21T15:40:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-29T06:14:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wegetfunded.com\/og\/og-fr.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"WeGetFunded\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"WeGetFunded\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wegetfunded.com\\\/fr\\\/blog\\\/configurer-mon-challenge\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wegetfunded.com\\\/fr\\\/blog\\\/configurer-mon-challenge\\\/\"},\"author\":{\"@id\":\"https:\\\/\\\/wegetfunded.com\\\/#organization\",\"name\":\"WeGetFunded\"},\"headline\":\"Configurez votre challenge de trading | WeGetFunded\",\"datePublished\":\"2026-09-21T15:40:34+00:00\",\"dateModified\":\"2026-09-29T06:14:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wegetfunded.com\\\/fr\\\/blog\\\/configurer-mon-challenge\\\/\"},\"wordCount\":825,\"articleSection\":[\"Pages d'atterrissage (annonces)\"],\"inLanguage\":\"fr\",\"publisher\":{\"@id\":\"https:\\\/\\\/wegetfunded.com\\\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wegetfunded.com\\\/fr\\\/blog\\\/configurer-mon-challenge\\\/\",\"url\":\"https:\\\/\\\/wegetfunded.com\\\/fr\\\/blog\\\/configurer-mon-challenge\\\/\",\"name\":\"Configurez votre challenge de trading | WeGetFunded\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wegetfunded.com\\\/#website\"},\"datePublished\":\"2026-09-21T15:40:34+00:00\",\"dateModified\":\"2026-09-29T06:14:34+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/wegetfunded.com\\\/#organization\"},\"description\":\"Choisissez votre programme, votre capital simul\u00e9 et vos options, puis ajoutez votre challenge au panier.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wegetfunded.com\\\/fr\\\/blog\\\/configurer-mon-challenge\\\/#breadcrumb\"},\"inLanguage\":\"fr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wegetfunded.com\\\/fr\\\/blog\\\/configurer-mon-challenge\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wegetfunded.com\\\/fr\\\/blog\\\/configurer-mon-challenge\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/wegetfunded.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Configurez votre challenge de trading | WeGetFunded\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wegetfunded.com\\\/#website\",\"url\":\"https:\\\/\\\/wegetfunded.com\",\"name\":\"WeGetFunded\",\"publisher\":{\"@id\":\"https:\\\/\\\/wegetfunded.com\\\/#organization\"},\"inLanguage\":[\"fr\",\"en\",\"es\",\"it\",\"de\"]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/wegetfunded.com\\\/#organization\",\"name\":\"WeGetFunded\",\"alternateName\":[\"We Get Funded\",\"WGF\"],\"legalName\":\"WeGetFunded LTD.\",\"url\":\"https:\\\/\\\/wegetfunded.com\",\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/wegetfunded.com\\\/#logo\",\"url\":\"https:\\\/\\\/wegetfunded.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/wgf-site-icon-512.png\",\"contentUrl\":\"https:\\\/\\\/wegetfunded.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/wgf-site-icon-512.png\",\"width\":512,\"height\":512,\"caption\":\"WeGetFunded\"},\"image\":{\"@id\":\"https:\\\/\\\/wegetfunded.com\\\/#logo\"},\"sameAs\":[\"https:\\\/\\\/www.youtube.com\\\/@wegetfunded\",\"https:\\\/\\\/x.com\\\/wegetfunded\",\"https:\\\/\\\/discord.com\\\/invite\\\/rrcRVgq2J3\",\"https:\\\/\\\/play.google.com\\\/store\\\/apps\\\/details?id=com.wegetfunded.app\",\"https:\\\/\\\/instagram.com\\\/wegetfundedcom\",\"https:\\\/\\\/tiktok.com\\\/@wegetfunded\",\"https:\\\/\\\/facebook.com\\\/wegetfunded\",\"https:\\\/\\\/t.me\\\/wegetfunded\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Configurez votre challenge de trading | WeGetFunded","description":"Choisissez votre programme, votre capital simul\u00e9 et vos options, puis ajoutez votre challenge au panier.","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:\/\/wegetfunded.com\/fr\/blog\/configurer-mon-challenge\/","og_locale":"fr_FR","og_type":"article","og_title":"Configurez votre challenge de trading | WeGetFunded","og_description":"Choisissez votre programme, votre capital simul\u00e9 et vos options, puis ajoutez votre challenge au panier.","og_url":"https:\/\/wegetfunded.com\/fr\/blog\/configurer-mon-challenge\/","og_site_name":"WeGetFunded","article_published_time":"2026-09-21T15:40:34+00:00","article_modified_time":"2026-09-29T06:14:34+00:00","og_image":[{"url":"https:\/\/wegetfunded.com\/og\/og-fr.png","width":1200,"height":630,"type":"image\/png"}],"author":"WeGetFunded","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"WeGetFunded","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wegetfunded.com\/fr\/blog\/configurer-mon-challenge\/#article","isPartOf":{"@id":"https:\/\/wegetfunded.com\/fr\/blog\/configurer-mon-challenge\/"},"author":{"@id":"https:\/\/wegetfunded.com\/#organization","name":"WeGetFunded"},"headline":"Configurez votre challenge de trading | WeGetFunded","datePublished":"2026-09-21T15:40:34+00:00","dateModified":"2026-09-29T06:14:34+00:00","mainEntityOfPage":{"@id":"https:\/\/wegetfunded.com\/fr\/blog\/configurer-mon-challenge\/"},"wordCount":825,"articleSection":["Pages d'atterrissage (annonces)"],"inLanguage":"fr","publisher":{"@id":"https:\/\/wegetfunded.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/wegetfunded.com\/fr\/blog\/configurer-mon-challenge\/","url":"https:\/\/wegetfunded.com\/fr\/blog\/configurer-mon-challenge\/","name":"Configurez votre challenge de trading | WeGetFunded","isPartOf":{"@id":"https:\/\/wegetfunded.com\/#website"},"datePublished":"2026-09-21T15:40:34+00:00","dateModified":"2026-09-29T06:14:34+00:00","author":{"@id":"https:\/\/wegetfunded.com\/#organization"},"description":"Choisissez votre programme, votre capital simul\u00e9 et vos options, puis ajoutez votre challenge au panier.","breadcrumb":{"@id":"https:\/\/wegetfunded.com\/fr\/blog\/configurer-mon-challenge\/#breadcrumb"},"inLanguage":"fr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wegetfunded.com\/fr\/blog\/configurer-mon-challenge\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wegetfunded.com\/fr\/blog\/configurer-mon-challenge\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/wegetfunded.com\/"},{"@type":"ListItem","position":2,"name":"Configurez votre challenge de trading | WeGetFunded"}]},{"@type":"WebSite","@id":"https:\/\/wegetfunded.com\/#website","url":"https:\/\/wegetfunded.com","name":"WeGetFunded","publisher":{"@id":"https:\/\/wegetfunded.com\/#organization"},"inLanguage":["fr","en","es","it","de"]},{"@type":"Organization","@id":"https:\/\/wegetfunded.com\/#organization","name":"WeGetFunded","alternateName":["We Get Funded","WGF"],"legalName":"WeGetFunded LTD.","url":"https:\/\/wegetfunded.com","logo":{"@type":"ImageObject","@id":"https:\/\/wegetfunded.com\/#logo","url":"https:\/\/wegetfunded.com\/wp-content\/uploads\/2026\/09\/wgf-site-icon-512.png","contentUrl":"https:\/\/wegetfunded.com\/wp-content\/uploads\/2026\/09\/wgf-site-icon-512.png","width":512,"height":512,"caption":"WeGetFunded"},"image":{"@id":"https:\/\/wegetfunded.com\/#logo"},"sameAs":["https:\/\/www.youtube.com\/@wegetfunded","https:\/\/x.com\/wegetfunded","https:\/\/discord.com\/invite\/rrcRVgq2J3","https:\/\/play.google.com\/store\/apps\/details?id=com.wegetfunded.app","https:\/\/instagram.com\/wegetfundedcom","https:\/\/tiktok.com\/@wegetfunded","https:\/\/facebook.com\/wegetfunded","https:\/\/t.me\/wegetfunded"]}]}},"_links":{"self":[{"href":"https:\/\/wegetfunded.com\/fr\/wp-json\/wp\/v2\/posts\/466","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wegetfunded.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wegetfunded.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wegetfunded.com\/fr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/wegetfunded.com\/fr\/wp-json\/wp\/v2\/comments?post=466"}],"version-history":[{"count":5,"href":"https:\/\/wegetfunded.com\/fr\/wp-json\/wp\/v2\/posts\/466\/revisions"}],"predecessor-version":[{"id":1006,"href":"https:\/\/wegetfunded.com\/fr\/wp-json\/wp\/v2\/posts\/466\/revisions\/1006"}],"wp:attachment":[{"href":"https:\/\/wegetfunded.com\/fr\/wp-json\/wp\/v2\/media?parent=466"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wegetfunded.com\/fr\/wp-json\/wp\/v2\/categories?post=466"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wegetfunded.com\/fr\/wp-json\/wp\/v2\/tags?post=466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}