{"id":1415,"date":"2025-11-30T16:13:47","date_gmt":"2025-11-30T16:13:47","guid":{"rendered":"https:\/\/clubvivremieux.com\/?page_id=1415"},"modified":"2025-11-30T16:17:05","modified_gmt":"2025-11-30T16:17:05","slug":"auto-test-vaincre-les-obstacles","status":"publish","type":"page","link":"https:\/\/clubvivremieux.com\/index.php\/auto-test-vaincre-les-obstacles\/","title":{"rendered":"Auto-test \u2014 Vaincre les obstacles"},"content":{"rendered":"\n<!doctype html>\n<html lang=\"fr\">\n<head>\n  <meta charset=\"utf-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" \/>\n  <title>Auto-test \u2014 Vaincre les obstacles<\/title>\n  <style>\n    body{font-family:Inter, system-ui; background:#ffffff; color:#000000; margin:0; padding:24px; display:flex; justify-content:center;}\n    .wrap{width:100%; max-width:880px}\n    .card{background:#ffffff; border-radius:14px; padding:22px; box-shadow:0 2px 8px rgba(0,0,0,0.15); border:1px solid #e5e7eb}\n    h1{margin:0 0 6px 0; font-size:22px; color:#000000}\n    p.lead{margin:0 0 18px 0; color:#444}\n    .question{padding:14px; margin-bottom:12px; background:#f8f8f8; border-radius:10px; color:#000000}\n    .q-title{font-weight:700; margin-bottom:8px; color:#000000}\n    .options{display:flex; gap:8px; flex-wrap:wrap}\n    .opt{flex:1 1 calc(50% - 8px); min-width:140px; background:#ffffff; border:1px solid #ccc; padding:8px 10px; border-radius:8px; cursor:pointer; color:#000000}\n    .opt.selected{border-color:#7c3aed; background:#ede7ff}\n    button{background:#7c3aed; color:white; border:none; padding:10px 14px; border-radius:10px; cursor:pointer}\n    button.secondary{background:#f3f3f3; color:#000; border:1px solid #ccc}\n    .results{margin-top:18px; padding:14px; border-radius:10px; background:#f4f4f4; color:#000000}\n    .score{font-size:18px; font-weight:700; color:#000}\n    .recommend{margin-top:8px; color:#444}\n    .progress{height:10px; background:#e5e7eb; border-radius:999px; overflow:hidden}\n    .progress > i{display:block; height:100%; background:#7c3aed; width:0%}\n    footer{margin-top:12px; color:#444; font-size:13px}\n    @media (max-width:640px){ .opt{flex-basis:100%} }\n  <\/style>\n<\/head>\n<body>\n  <div class=\"wrap\">\n    <div class=\"card\" id=\"app\">\n      <header>\n        <h1>Auto-test \u2014 Vaincre les obstacles<\/h1>\n        <p class=\"lead\">R\u00e9pondez aux 7 questions pour d\u00e9couvrir votre profil face aux obstacles et obtenir des conseils pratiques.<\/p>\n      <\/header>\n\n      <main id=\"quiz-area\">\n        <!-- Questions injected by JavaScript -->\n      <\/main>\n\n      <div class=\"controls\">\n        <button id=\"prevBtn\" class=\"secondary\">Pr\u00e9c\u00e9dent<\/button>\n        <button id=\"nextBtn\">Suivant<\/button>\n        <div style=\"flex:1\"><\/div>\n        <button id=\"downloadBtn\" class=\"secondary\">T\u00e9l\u00e9charger le quiz<\/button>\n        <button id=\"resetBtn\" class=\"secondary\">R\u00e9initialiser<\/button>\n      <\/div>\n\n      <div class=\"results\" id=\"results\" hidden>\n        <div class=\"score\" id=\"scoreTxt\">Score : 0<\/div>\n        <div class=\"recommend\" id=\"recommendTxt\"><\/div>\n      <\/div>\n\n      <div style=\"margin-top:12px\">\n        <div class=\"progress\"><i id=\"progBar\"><\/i><\/div>\n      <\/div>\n\n      <footer>Bas\u00e9 sur le th\u00e8me \u00ab vaincre-les-obstacles.com \u00bb \u2014 Surmontez vos blocages et atteignez vos objectifs.<\/footer>\n    <\/div>\n  <\/div>\n\n  <script>\n    \/\/ Donn\u00e9es du quiz\n    const questions = [\n      { q: \"Quand vous \u00eates face \u00e0 une difficult\u00e9, votre premi\u00e8re r\u00e9action est\u2026\",\n        opts: [\"Je me d\u00e9courage rapidement.\", \"Je cherche une solution mais je doute beaucoup.\", \"Je prends du recul et j\u2019analyse.\", \"Je fonce avec confiance.\"],\n        vals: [1,2,3,4]\n      },\n      { q: \"Lorsque vous avez un objectif \u00e0 long terme, vous\u2026\",\n        opts: [\"Le remettez souvent \u00e0 plus tard.\", \"Progressez, mais de fa\u00e7on irr\u00e9guli\u00e8re.\", \"Avancez \u00e9tape par \u00e9tape.\", \"Tenez le cap quoi qu\u2019il arrive.\"],\n        vals: [1,2,3,4]\n      },\n      { q: \"Comment g\u00e9rez-vous la peur d\u2019\u00e9chouer ?\",\n        opts: [\"Elle m\u2019emp\u00eache souvent d\u2019agir.\", \"Elle me freine mais je finis parfois par essayer.\", \"Je la vois comme un signal pour mieux me pr\u00e9parer.\", \"Elle me motive encore plus.\"],\n        vals: [1,2,3,4]\n      },\n      { q: \"Lorsque quelqu\u2019un critique votre travail\u2026\",\n        opts: [\"Je le prends tr\u00e8s mal.\", \"J\u2019essaie d\u2019\u00e9couter mais cela me touche.\", \"Je prends ce qui m\u2019aide et j\u2019oublie le reste.\", \"J\u2019adore : c\u2019est une opportunit\u00e9 de progresser !\"],\n        vals: [1,2,3,4]\n      },\n      { q: \"Face \u00e0 un d\u00e9fi complexe, vous pr\u00e9f\u00e9rez\u2026\",\n        opts: [\"L\u2019\u00e9viter.\", \"Chercher quelques infos puis improviser.\", \"Me former ou demander conseil.\", \"Organiser, planifier, ex\u00e9cuter.\"],\n        vals: [1,2,3,4]\n      },\n      { q: \"Si un projet met plus de temps que pr\u00e9vu\u2026\",\n        opts: [\"J\u2019abandonne.\", \"Je perds en motivation.\", \"Je r\u00e9ajuste mes attentes.\", \"Je pers\u00e9v\u00e8re sans h\u00e9sitation.\"],\n        vals: [1,2,3,4]\n      },\n      { q: \"Quand vous pensez \u00e0 vos objectifs personnels\u2026\",\n        opts: [\"Je ne sais pas vraiment ce que je veux.\", \"Je sais ce que je veux, mais je n\u2019y crois pas totalement.\", \"J\u2019ai une vision claire.\", \"Je sais, je planifie, j\u2019avance.\"],\n        vals: [1,2,3,4]\n      }\n    ];\n\n    \/\/ \u00c9tat\n    let current = 0;\n    const answers = new Array(questions.length).fill(null);\n\n    \/\/ R\u00e9f\u00e9rences DOM\n    const quizArea = document.getElementById('quiz-area');\n    const prevBtn = document.getElementById('prevBtn');\n    const nextBtn = document.getElementById('nextBtn');\n    const results = document.getElementById('results');\n    const scoreTxt = document.getElementById('scoreTxt');\n    const recommendTxt = document.getElementById('recommendTxt');\n    const progBar = document.getElementById('progBar');\n    const downloadBtn = document.getElementById('downloadBtn');\n    const resetBtn = document.getElementById('resetBtn');\n\n    function renderQuestion(idx){\n      const item = questions[idx];\n      quizArea.innerHTML = '';\n      const qWrap = document.createElement('div');\n      qWrap.className = 'question';\n\n      const title = document.createElement('div');\n      title.className = 'q-title';\n      title.textContent = (idx+1) + '. ' + item.q;\n      qWrap.appendChild(title);\n\n      const opts = document.createElement('div');\n      opts.className = 'options';\n\n      item.opts.forEach((text, i) => {\n        const label = document.createElement('label');\n        label.className = 'opt';\n        if(answers[idx] === i) label.classList.add('selected');\n\n        const radio = document.createElement('input');\n        radio.type = 'radio';\n        radio.name = 'q'+idx;\n        radio.value = i;\n        radio.checked = (answers[idx] === i);\n\n        label.appendChild(radio);\n        const span = document.createElement('div');\n        span.innerHTML = text;\n        label.appendChild(span);\n\n        label.addEventListener('click', (e) => {\n          \/\/ enregistrer la r\u00e9ponse\n          answers[idx] = i;\n          \/\/ mettre \u00e0 jour l'apparence\n          Array.from(opts.children).forEach(c => c.classList.remove('selected'));\n          label.classList.add('selected');\n          updateProgress();\n        });\n\n        opts.appendChild(label);\n      });\n\n      qWrap.appendChild(opts);\n      quizArea.appendChild(qWrap);\n\n      \/\/ navigation\n      prevBtn.disabled = (idx === 0);\n      nextBtn.textContent = (idx === questions.length - 1) ? 'Terminer' : 'Suivant';\n      updateProgress();\n    }\n\n    function updateProgress(){\n      const answered = answers.filter(a => a !== null).length;\n      const pct = Math.round((answered \/ questions.length) * 100);\n      progBar.style.width = pct + '%';\n      \/\/ reveal results automatically if all answered\n      if(answered === questions.length){\n        showResults();\n      } else {\n        results.hidden = true;\n      }\n    }\n\n    function showResults(){\n      const total = answers.reduce((s,a,i) => s + (a === null ? 0 : questions[i].vals[a]), 0);\n      scoreTxt.textContent = `Score : ${total} \/ ${questions.length * 4}`;\n\n      let title = '';\n      let advice = '';\n      if(total <= 11){\n        title = 'Le Frein\u00e9';\n        advice = 'Vous avez envie d\u2019avancer mais vos blocages prennent souvent le dessus. Travaillez sur la confiance en vous et commencez par de petites actions simples. Fixez des micro-objectifs (5\u201315 minutes), c\u00e9l\u00e9brez les petites victoires et r\u00e9duisez la pression.';\n      } else if(total <= 18){\n        title = 'Le Prudent';\n        advice = 'Vous progressez, mais lentement. Pensez \u00e0 structurer vos objectifs avec un plan simple et \u00e0 suivre r\u00e9guli\u00e8rement votre progression. Utilisez des rappels et demandez des retours pour rester motiv\u00e9.';\n      } else if(total <= 24){\n        title = 'Le Strat\u00e8ge';\n        advice = 'Vous analysez bien et surmontez les obstacles de mani\u00e8re r\u00e9fl\u00e9chie. Continuez \u00e0 consolider vos plans d\u2019action et \u00e0 partager votre strat\u00e9gie pour obtenir du soutien.';\n      } else {\n        title = 'Le Conqu\u00e9rant';\n        advice = 'Les difficult\u00e9s vous motivent. Vous \u00eates r\u00e9silient. Attention \u00e0 l\u2019\u00e9puisement : int\u00e9grez des pauses r\u00e9guli\u00e8res et d\u00e9l\u00e9guez quand c\u2019est pertinent.';\n      }\n\n      recommendTxt.innerHTML = `<strong>${title}<\/strong><br>${advice}`;\n      results.hidden = false;\n\n      \/\/ scroll to results\n      results.scrollIntoView({behavior:'smooth', block:'center'});\n    }\n\n    prevBtn.addEventListener('click', () => {\n      if(current > 0){ current--; renderQuestion(current); }\n    });\n\n    nextBtn.addEventListener('click', () => {\n      if(current < questions.length - 1){ current++; renderQuestion(current); }\n      else {\n        \/\/ terminer\n        const unanswered = answers.some(a => a === null);\n        if(unanswered){\n          \/\/ auto-select la 1\u00e8re option pour les questions non r\u00e9pondues (choix conservateur) puis calcul\n          answers.forEach((v,i) => { if(v === null) answers[i] = 0; });\n        }\n        showResults();\n      }\n    });\n\n    resetBtn.addEventListener('click', () => {\n      if(!confirm('Voulez-vous r\u00e9initialiser vos r\u00e9ponses ?')) return;\n      current = 0; answers.fill(null); renderQuestion(current); results.hidden = true; updateProgress();\n    });\n\n    \/\/ t\u00e9l\u00e9chargement du fichier HTML (permet \u00e0 l'utilisateur de sauvegarder localement)\n    downloadBtn.addEventListener('click', () => {\n      const blob = new Blob([document.documentElement.outerHTML], {type: 'text\/html'});\n      const url = URL.createObjectURL(blob);\n      const a = document.createElement('a');\n      a.href = url; a.download = 'quiz_vaincre_les_obstacles.html';\n      document.body.appendChild(a); a.click(); a.remove(); URL.revokeObjectURL(url);\n    });\n\n    \/\/ init\n    renderQuestion(current);\n  <\/script>\n<\/body>\n<\/html>\n\n","protected":false},"excerpt":{"rendered":"<p>Auto-test \u2014 Vaincre les obstacles Auto-test \u2014 Vaincre les obstacles R\u00e9pondez aux 7 questions pour d\u00e9couvrir votre profil face aux obstacles et obtenir des conseils pratiques. Pr\u00e9c\u00e9dent Suivant T\u00e9l\u00e9charger le quiz R\u00e9initialiser Score : 0 Bas\u00e9 sur le th\u00e8me \u00ab&#8230; <a href=\"https:\/\/clubvivremieux.com\/index.php\/auto-test-vaincre-les-obstacles\/\" class=\"readmore\">Read more<span class=\"screen-reader-text\">Auto-test \u2014 Vaincre les obstacles<\/span><span class=\"fa fa-angle-double-right\" aria-hidden=\"true\"><\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1415","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/clubvivremieux.com\/index.php\/wp-json\/wp\/v2\/pages\/1415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clubvivremieux.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/clubvivremieux.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/clubvivremieux.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/clubvivremieux.com\/index.php\/wp-json\/wp\/v2\/comments?post=1415"}],"version-history":[{"count":3,"href":"https:\/\/clubvivremieux.com\/index.php\/wp-json\/wp\/v2\/pages\/1415\/revisions"}],"predecessor-version":[{"id":1418,"href":"https:\/\/clubvivremieux.com\/index.php\/wp-json\/wp\/v2\/pages\/1415\/revisions\/1418"}],"wp:attachment":[{"href":"https:\/\/clubvivremieux.com\/index.php\/wp-json\/wp\/v2\/media?parent=1415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}