{"id":549,"date":"2025-10-17T11:20:14","date_gmt":"2025-10-17T11:20:14","guid":{"rendered":"https:\/\/playgolf18.com\/calculateur\/"},"modified":"2025-11-20T13:47:15","modified_gmt":"2025-11-20T13:47:15","slug":"calculateur","status":"publish","type":"page","link":"https:\/\/playgolf18.com\/fr\/calculateur\/","title":{"rendered":"Calculateur"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"549\" class=\"elementor elementor-549 elementor-99\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-21a319a e-flex e-con-boxed e-con e-parent\" data-id=\"21a319a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a18cfa7 elementor-widget elementor-widget-heading\" data-id=\"a18cfa7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Calculateur d'entra\u00eenement<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a6cd3f4 elementor-widget elementor-widget-text-editor\" data-id=\"a6cd3f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Saisissez vos donn\u00e9es de performance de golf. Le calculateur vous indique sur quoi vous concentrer lors de l&rsquo;entra\u00eenement \u2013 le tout de mani\u00e8re anonyme et directement dans le navigateur, avec des conseils pour les exercices. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fd1aed7 elementor-widget elementor-widget-eael-creative-button\" data-id=\"fd1aed7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"eael-creative-button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <div class=\"eael-creative-button-wrapper\">\n\n            <a class=\"eael-creative-button eael-creative-button--wayra eael-cb-icon-position-right\" href=\"https:\/\/playgolf18.com\/funktion\/\" data-text=\"Go&nbsp;!\">\n            \t    \n                <div class=\"creative-button-inner\">\n\n                    \n                    <span class=\"cretive-button-text\">Comment \u00e7a marche<\/span>\n\n                                            <span class=\"eael-creative-button-icon-right\"><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chart-bar\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"><\/path><\/svg><\/span>                                    <\/div>\n\t                        <\/a>\n        <\/div>\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b4047e6 e-flex e-con-boxed e-con e-parent\" data-id=\"b4047e6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2e61831 elementor-widget elementor-widget-html\" data-id=\"2e61831\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n  <style>\r\n    :root {\r\n      --accent: #2e8b57;\r\n      --accent-light: #e9f8ee;\r\n      --muted: #666;\r\n      --border: #ddd;\r\n      --radius: 10px;\r\n      --shadow: 0 4px 16px rgba(0, 0, 0, 0.08);\r\n    }\r\n\r\n    * { box-sizing: border-box; }\r\n\r\n\r\nbody {\r\nmargin: 0;\r\n\r\ncolor: #555;\r\nfont-family: 'Lexend', Arial, Helvetica, sans-serif;\r\nline-height: 1.5;\r\n}\r\n\r\n    .wrap {\r\n      \r\n      margin: 0px auto;\r\n      padding: 0px;\r\n    }\r\n\r\n\r\n\r\n\r\n    .grid {\r\n      display: grid;\r\n      grid-template-columns: 1fr 1fr;\r\n      gap: 24px;\r\n    }\r\n\r\n    @media (max-width: 900px) {\r\n      .grid { grid-template-columns: 1fr; }\r\n    }\r\n\r\n    .card {\r\n      background: #fff;\r\n      border: 1px solid var(--border);\r\n      border-radius: var(--radius);\r\n      box-shadow: var(--shadow);\r\n      overflow: hidden;\r\n    }\r\n\r\n    .card .body { padding: 24px; }\r\n\r\n    h2 {\r\n      font-size: 1.3rem;\r\n      margin-top: 0;\r\n      color: #111;\r\n    }\r\n\r\n    .row {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: space-between;\r\n      margin-bottom: 14px;\r\n      gap: 10px;\r\n    }\r\n\r\n    label {\r\n      flex: 1;\r\n      font-weight: 600;\r\n      display: flex;\r\n      align-items: center;\r\n      height: 44px;\r\n    }\r\n\r\n    input {\r\n      flex: 1;\r\n      padding: 10px 12px;\r\n      border-radius: var(--radius);\r\n      border: 1px solid #ccc;\r\n      font-size: 1rem;\r\n      height: 44px;\r\n    }\r\n\r\n    .suffix {\r\n      min-width: 50px;\r\n      text-align: right;\r\n      color: var(--muted);\r\n      font-size: 0.9rem;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: flex-end;\r\n      height: 44px;\r\n    }\r\n\r\n    .actions {\r\n      display: flex;\r\n      gap: 10px;\r\n      margin-top: 18px;\r\n    }\r\n\r\n    button {\r\n      padding: 12px 18px;\r\n      border-radius: var(--radius);\r\n      border: none;\r\n      cursor: pointer;\r\n      font-weight: 600;\r\n      font-size: 1rem;\r\n      transition: background 0.2s;\r\n    }\r\n\r\n    .btn-primary {\r\n      background: var(--accent);\r\n      color: #fff;\r\n    }\r\n    .btn-primary:hover { background: #257a4a; }\r\n\r\n    .btn-ghost {\r\n      background: #f7f7f7;\r\n      color: #333;\r\n      border: 1px solid #ccc;\r\n    }\r\n    .btn-ghost:hover { background: #eee; }\r\n\r\n    .result-head, .foot {\r\n      border-bottom: 1px solid var(--border);\r\n      padding: 14px 24px;\r\n      display: flex;\r\n      justify-content: space-between;\r\n      align-items: center;\r\n      background: #f4f6f8;\r\n    }\r\n\r\n    .badge {\r\n      background: var(--accent-light);\r\n      padding: 6px 10px;\r\n      border-radius: 999px;\r\n      font-size: 0.8rem;\r\n      color: #222;\r\n      border: 1px solid var(--accent);\r\n    }\r\n\r\n    .pill {\r\n      display: inline-block;\r\n      padding: 6px 10px;\r\n      border-radius: 999px;\r\n      font-size: 0.85rem;\r\n      font-weight: 600;\r\n      background: var(--accent-light);\r\n      color: var(--accent);\r\n      border: 1px solid var(--accent);\r\n    }\r\n\r\n    .result-block { padding: 20px; border-bottom: 1px solid var(--border); }\r\n\r\n    .kpi {\r\n      display: grid;\r\n      grid-template-columns: 1fr 1fr;\r\n      gap: 10px;\r\n      margin-top: 10px;\r\n    }\r\n\r\n    .kpi div {\r\n      background: #fafafa;\r\n      border: 1px dashed var(--border);\r\n      border-radius: var(--radius);\r\n      padding: 10px;\r\n      text-align: center;\r\n    }\r\n\r\n    ul { margin: 10px 0 0 20px; }\r\n\r\n    .muted { color: var(--muted); font-size: 0.9rem; }\r\n\r\n    .rank {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 10px;\r\n      margin-bottom: 6px;\r\n      font-weight: 600;\r\n    }\r\n\r\n    .rank span {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      width: 26px;\r\n      height: 26px;\r\n      border-radius: 50%;\r\n      background: var(--accent);\r\n      color: #fff;\r\n      font-size: 0.9rem;\r\n      font-weight: bold;\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"wrap\">\r\n \r\n\r\n    <div class=\"grid\">\r\n      <section class=\"card\">\r\n        <div class=\"body\">\r\n          <h2>Saisies<\/h2>\r\n          <div class=\"row\"><label for=\"hcp\">Handicap<\/label><input id=\"hcp\" type=\"number\" step=\"0.1\" placeholder=\"p. ex. 22\"><div class=\"suffix\"><\/div><\/div>\r\n          <div class=\"row\"><label for=\"i7\">Longueur de frappe fer 7<\/label><input id=\"i7\" type=\"number\" step=\"1\" placeholder=\"p. ex. 140\"><div class=\"suffix\">M\u00e8tres<\/div><\/div>\r\n          <div class=\"row\"><label for=\"fw\">Fairway touch\u00e9s<\/label><input id=\"fw\" type=\"number\" step=\"1\" placeholder=\"p. ex. 55\"><div class=\"suffix\">%<\/div><\/div>\r\n          <div class=\"row\"><label for=\"gir\">Greens en r\u00e9gulation (GIR)<\/label><input id=\"gir\" type=\"number\" step=\"1\" placeholder=\"p. ex. 35\"><div class=\"suffix\">%<\/div><\/div>\r\n          <div class=\"row\"><label for=\"putts\">Putts par tour<\/label><input id=\"putts\" type=\"number\" step=\"1\" placeholder=\"p. ex. 34\"><div class=\"suffix\">#<\/div><\/div>\r\n          <div class=\"row\"><label for=\"scr\">Scrambling<\/label><input id=\"scr\" type=\"number\" step=\"1\" placeholder=\"p. ex. 25\"><div class=\"suffix\">%<\/div><\/div>\r\n          <div class=\"row\"><label for=\"sand\">Sandsave<\/label><input id=\"sand\" type=\"number\" step=\"1\" placeholder=\"p. ex. 18\"><div class=\"suffix\">%<\/div><\/div>\r\n          <div class=\"row\"><label for=\"score\">Score (facultatif)<\/label><input id=\"score\" type=\"number\" step=\"1\" placeholder=\"p. ex. 92\"><div class=\"suffix\">Coups<\/div><\/div>\r\n          <div class=\"actions\"><button class=\"btn-primary\" id=\"calc\">Lancer l'analyse<\/button><button class=\"btn-ghost\" id=\"reset\">R\u00e9initialiser<\/button><\/div>\r\n        <\/div>\r\n      <\/section>\r\n\r\n      <section class=\"card results\" aria-live=\"polite\">\r\n        <div class=\"result-head\">\r\n          <h2>R\u00e9sultat<\/h2>\r\n          <div id=\"badges\"><\/div>\r\n        <\/div>\r\n        <div id=\"out\"><div class=\"result-block\"><p class=\"muted\">Pas encore d'\u00e9valuation. Saisissez vos valeurs et cliquez sur <strong>\u00ab&nbsp;Lancer l'analyse&nbsp;\u00bb<\/strong>. <\/p><\/div><\/div>\r\n        <div class=\"foot\"><span class=\"muted\">100&nbsp;% local \u2013 aucun stockage de donn\u00e9es<\/span><span id=\"quality\"><\/span><\/div>\r\n      <\/section>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    const $ = (s)=>document.querySelector(s);\r\n    const val=(id)=>{const v=parseFloat($(id).value);return isNaN(v)?null:v};\r\n\r\n    const rules={\r\n      bin(h){\r\n        if(h===null)return'13-20';\r\n        if(h<6)return'<5';\r\n        if(h<=12)return'6-12';\r\n        if(h<=20)return'13-20';\r\n        if(h<=30)return'21-30';\r\n        return'31-45';\r\n      },\r\n      bm:{\r\n        '<5':{gir:[60,70],fw:[65,75],putts:[30,32],scr:[55,65],sand:[45,55]},\r\n        '6-12':{gir:[45,55],fw:[55,65],putts:[32,34],scr:[40,50],sand:[30,40]},\r\n        '13-20':{gir:[35,45],fw:[45,55],putts:[33,36],scr:[30,40],sand:[20,30]},\r\n        '21-30':{gir:[25,35],fw:[35,50],putts:[35,38],scr:[20,30],sand:[10,20]},\r\n        '31-45':{gir:[15,25],fw:[25,40],putts:[36,40],scr:[10,20],sand:[5,15]}\r\n      },\r\n      pctScore(a,[lo,hi],inv=false){if(a==null)return null;const cl=Math.max(0,Math.min(100,a));let n=(cl-lo)\/Math.max(1,hi-lo);n=Math.max(0,Math.min(1,n));if(inv)n=1-n;return n;},\r\n      grade(i){const b=rules.bin(i.hcp),bm=rules.bm[b];const driving=rules.pctScore(i.fw,bm.fw);const approach=rules.pctScore(i.gir,bm.gir);const putting=rules.pctScore(i.putts,bm.putts,true);const shortgame=rules.pctScore(i.scr,bm.scr);const bunker=rules.pctScore(i.sand,bm.sand);const distance=i.i7==null?null:Math.max(0,Math.min(1,(i.i7-110)\/45));const map={driving,approach,putting,shortgame,bunker,distance};const sc=Object.fromEntries(Object.entries(map).map(([k,v])=>[k,v==null?null:Math.round(v*100)]));return{bin:b,scores:sc}},\r\n      advice(k){\r\n        const tips={\r\n          driving:[\r\n            'Trainiere kontrollierte Drives mit 80 % Schwungtempo \u2013 Ziel ist Pr\u00e4zision, nicht L\u00e4nge.',\r\n            'Nutze Ausrichtungshilfen, um deinen Startwinkel zu kontrollieren.',\r\n            '\u00dcbe deine Pre-Shot-Routine f\u00fcr mehr Konstanz und Vertrauen auf dem Abschlag.',\r\n            'Variante: Spiele 10 Drives mit Fokus auf Balance \u2013 z\u00e4hle nur Fairways.'],\r\n          approach:[\r\n            'F\u00fchre ein Distanz-Tagebuch \u2013 notiere reale Carry-Werte jeder Schl\u00e4gerkombination.',\r\n            'Trainiere gezielt 30\u2013100 m Ann\u00e4herungen mit unterschiedlichen Schwungl\u00e4ngen.',\r\n            'Baue Ziel\u00fcbungen auf der Range ein (10 B\u00e4lle \u2013 Zielkreis 10 m).',\r\n            'Spiele \u201eTarget-Games\u201c: 5 Ziele auf der Range treffen, Punkte z\u00e4hlen.'],\r\n          putting:[\r\n            'Lag-Putting Drill: 6\u201310 m Putts \u2013 Ziel ist Abstand < 50 cm.',\r\n            'Startlinien\u00fcbung mit zwei Tees (Gate Drill) \u2013 2\u20133 m Putts.',\r\n            'Clock Drill: 1,5 m rund ums Loch, Ziel: 8 von 10 Putts.',\r\n            'Lese den Break: 5 Putts auf gleicher Linie mit unterschiedlichem Tempo.'],\r\n          shortgame:[\r\n            '\u00dcbe verschiedene Ballpositionen (vorne, Mitte, hinten) und beobachte Flug\/Roll-Verh\u00e4ltnis.',\r\n            'Fokus auf Landepunkt statt Loch \u2013 Ziel ist kontrollierte Rollweite.',\r\n            'Trainiere Chips mit verschiedenen Schl\u00e4gern (PW, GW, SW).',\r\n            'Challenge: 9 B\u00e4lle Up-&-Down, Zielquote 50 %+.'],\r\n          bunker:[\r\n            'Markiere Eintrittspunkt in den Sand (2\u20133 cm vor Ball) und trainiere konstanten Treffpunkt.',\r\n            'Offenes Schlagblatt \u2013 volle Bewegung durch den Sand.',\r\n            '\u00dcbe Distanzen 10\u201320\u201330 m mit gleichbleibender Technik.',\r\n            'Drill: Spiele aus Hanglagen mit gleichem Rhythmus.'],\r\n          distance:[\r\n            'Trainiere Rhythmus und Treffmoment \u2013 Smash \u00fcber Kraft.',\r\n            'Tempo-Drill: 3 B\u00e4lle @70 %, 85 %, 100 % \u2013 finde dein Optimum.',\r\n            'Overspeed-Training (Speedsticks) 2\u00d7 pro Woche.',\r\n            'Mobilit\u00e4ts\u00fcbungen f\u00fcr H\u00fcft- und Rumpfrotation t\u00e4glich 5\u201310 Minuten.']\r\n        };\r\n        return tips[k]||[];\r\n      }\r\n    };\r\n\r\n    function classify(s){const arr=Object.entries(s).filter(([,v])=>v!==null).sort((a,b)=>a[1]-b[1]);return{arr,topWeak:arr.slice(0,3)}};\r\n\r\n    function fmt(n,u=''){return n==null?'\u2013':`${n}${u}`}\r\n\r\n    function render(){\r\n      const i={hcp:val('#hcp'),i7:val('#i7'),fw:val('#fw'),gir:val('#gir'),putts:val('#putts'),scr:val('#scr'),sand:val('#sand'),score:val('#score')};\r\n      const{bin,scores}=rules.grade(i);\r\n      const{arr,topWeak}=classify(scores);\r\n\r\n      if(!Object.values(i).some(v=>v!==null)){$('#out').innerHTML='<div class=\"result-block\"><p class=\"muted\">Noch keine Auswertung. Gib deine Werte ein und klicke <strong>\u201eFokus berechnen\u201c<\/strong>.<\/p><\/div>';$('#badges').innerHTML='';$('#quality').textContent='';return;}\r\n\r\n      const vals=Object.values(scores).filter(v=>v!==null);\r\n      const qi=Math.round(vals.reduce((a,b)=>a+b,0)\/vals.length);\r\n      $('#quality').textContent=`Qualit\u00e4t: ${qi}\/100`;\r\n      $('#badges').innerHTML=`<span class=\"badge\">Handicap: ${bin}<\/span>`;\r\n\r\n      const title={driving:'Driving',approach:'Ann\u00e4herungen',putting:'Putten',shortgame:'Kurzes Spiel',bunker:'Bunker',distance:'Distanz'};\r\n\r\n      const focus=`<div class='result-block'><h3>Die 3 wichtigsten Bereiche f\u00fcr dein Training<\/h3>${topWeak.map(([k],idx)=>`<div class='rank'><span>${idx+1}<\/span> ${title[k]}<\/div>`).join('')}<\/div>`;\r\n\r\n      const blocks=[focus,`<div class='result-block'><div class='kpi'>${arr.map(([k,v])=>`<div><strong>${title[k]}<\/strong><br><span class='muted'>Score: ${v==null?'\u2013':v+'\/100'}<\/span><\/div>`).join('')}<\/div><\/div>`];\r\n\r\n      topWeak.forEach(([k,v])=>{const tips=rules.advice(k);blocks.push(`<div class='result-block'><h3>${title[k]} \u2013 Trainingstipps<\/h3><ul>${tips.map(t=>`<li>${t}<\/li>`).join('')}<\/ul><\/div>`)});\r\n\r\n      $('#out').innerHTML=blocks.join('');\r\n    }\r\n\r\n    $('#calc').addEventListener('click',render);\r\n    $('#reset').addEventListener('click',()=>{['#hcp','#i7','#fw','#gir','#putts','#scr','#sand','#score'].forEach(id=>$(id).value='');render();});\r\n  <\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Calculateur d&rsquo;entra\u00eenement Saisissez vos donn\u00e9es de performance de golf. Le calculateur vous indique sur quoi vous concentrer lors de l&rsquo;entra\u00eenement \u2013 le tout de mani\u00e8re anonyme et directement dans le navigateur, avec des conseils pour les exercices. Comment \u00e7a marche Saisies Handicap Longueur de frappe fer 7M\u00e8tres Fairway touch\u00e9s% Greens en r\u00e9gulation (GIR)% Putts par [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-549","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/playgolf18.com\/fr\/wp-json\/wp\/v2\/pages\/549","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/playgolf18.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/playgolf18.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/playgolf18.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/playgolf18.com\/fr\/wp-json\/wp\/v2\/comments?post=549"}],"version-history":[{"count":1,"href":"https:\/\/playgolf18.com\/fr\/wp-json\/wp\/v2\/pages\/549\/revisions"}],"predecessor-version":[{"id":550,"href":"https:\/\/playgolf18.com\/fr\/wp-json\/wp\/v2\/pages\/549\/revisions\/550"}],"wp:attachment":[{"href":"https:\/\/playgolf18.com\/fr\/wp-json\/wp\/v2\/media?parent=549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}