{"id":5627,"date":"2026-08-26T08:42:38","date_gmt":"2026-08-26T06:42:38","guid":{"rendered":"https:\/\/www.bras-de-fer.fr\/blog\/muscles-pompes-guide\/"},"modified":"2026-08-26T08:42:38","modified_gmt":"2026-08-26T06:42:38","slug":"muscles-pompes-guide","status":"publish","type":"post","link":"https:\/\/www.bras-de-fer.fr\/blog\/muscles-pompes-guide\/","title":{"rendered":"Les muscles travaill\u00e9s aux pompes : liste compl\u00e8te et guide d\u00e9taill\u00e9"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Les pompes restent l\u2019examen le plus parlant du haut du corps : elles demandent de la coordination, du gainage et une transmission de force entre les \u00e9paules, la cage thoracique et les bras. Que l\u2019objectif soit esth\u00e9tique, force ou endurance, comprendre quels <strong>muscles<\/strong> sont r\u00e9ellement sollicit\u00e9s permet d\u2019ajuster la technique et les variantes pour progresser sans blessures. Ce guide d\u00e9taille la liste compl\u00e8te des muscles engag\u00e9s, la technique pas \u00e0 pas pour une ex\u00e9cution propre, des progressions adapt\u00e9es du mur \u00e0 la pompe \u00e0 une main, ainsi que une programmation hebdomadaire r\u00e9aliste. Des tableaux et des exercices concrets facilitent la mise en pratique. Un personnage fictif, <strong>Lucas<\/strong>, sert de fil conducteur : employ\u00e9 de bureau, 34 ans, qui passe de 0 \u00e0 20 pompes strictes en 8 semaines gr\u00e2ce \u00e0 une mont\u00e9e progressive. \u00c0 la fin de la lecture, vous disposerez d\u2019un plan d\u2019action concret pour travailler les <strong>pectoraux<\/strong>, les <strong>triceps<\/strong>, les <strong>delto\u00efdes<\/strong> et le gainage des <strong>abdominaux<\/strong>, tout en limitant les douleurs articulaires courantes.<\/p>\n\n<ul class=\"wp-block-list\"><li><strong>Les pompes ciblent :<\/strong> pectoraux, triceps, delto\u00efdes ant\u00e9rieurs et stabilisateurs (abdos, lombaires, fessiers).<\/li><li><strong>Varier l\u2019\u00e9cartement<\/strong> des mains modifie la cible : large = pectoraux, serr\u00e9 = triceps.<\/li><li><strong>Progression simple :<\/strong> mur \u2192 mains sur\u00e9lev\u00e9es \u2192 genoux \u2192 n\u00e9gatives \u2192 classiques.<\/li><li><strong>Programmation :<\/strong> 3 s\u00e9ances\/semaine, 3 s\u00e9ries de 8\u201312 pour d\u00e9buter, 3\u20134 s\u00e9ances en intermediaire.<\/li><li><strong>\u00c9viter :<\/strong> dos qui creuse, coudes trop ouverts, amplitude incompl\u00e8te.<\/li><\/ul>\n\n<h2 class=\"wp-block-heading\">Quels muscles travaillent aux pompes : anatomie et r\u00f4le<\/h2>\n\n<p class=\"wp-block-paragraph\">La pompe est un <strong>exercice<\/strong> polyarticulaire. Le moteur principal reste le <strong>grand pectoral<\/strong>, responsable de la pouss\u00e9e vers l\u2019avant et de l\u2019adduction horizontale du bras. Le <strong>triceps brachial<\/strong> assure l\u2019extension du coude au moment de la pouss\u00e9e.<\/p>\n\n<p class=\"wp-block-paragraph\">Les <strong>delto\u00efdes ant\u00e9rieurs<\/strong> stabilisent et assistent l\u2019\u00e9paule dans la phase haute. Enfin, un important groupe de muscles stabilisateurs \u2014 <strong>abdominaux<\/strong> (transverse, grands droits), lombaires et fessiers \u2014 verrouille la colonne et permet de garder le corps en ligne. Ces stabilisateurs transforment la pompe en un travail de <strong>gainage<\/strong> tr\u00e8s efficace.<\/p>\n\n<h2 class=\"wp-block-heading\">La technique de la pompe parfaite \u2014 \u00e9tape par \u00e9tape<\/h2>\n\n<p class=\"wp-block-paragraph\">La qualit\u00e9 de la pompe se juge sur l\u2019alignement et l\u2019amplitude. Position de d\u00e9part, descente contr\u00f4l\u00e9e et pouss\u00e9e explosive mod\u00e9r\u00e9e : chaque phase compte pour cibler les <strong>pectoraux<\/strong> et prot\u00e9ger les \u00e9paules.<\/p>\n\n<h3 class=\"wp-block-heading\">Position de d\u00e9part<\/h3>\n\n<p class=\"wp-block-paragraph\">Mains plac\u00e9es l\u00e9g\u00e8rement plus larges que les \u00e9paules, doigts dirig\u00e9s vers l\u2019avant. Corps en <strong>ligne droite<\/strong> des talons \u00e0 la t\u00eate, abdos et fessiers contract\u00e9s. Regard neutre vers le sol pour \u00e9viter la crispation de la nuque.<\/p>\n\n<h3 class=\"wp-block-heading\">Descente<\/h3>\n\n<p class=\"wp-block-paragraph\">Fl\u00e9chir les coudes pour abaisser la poitrine jusqu\u2019\u00e0 effleurer le sol. Garder les coudes \u00e0 environ 45\u00b0 du buste pour r\u00e9partir la charge entre pectoraux et triceps. Inspirez en descendant.<\/p>\n\n<h3 class=\"wp-block-heading\">Remont\u00e9e<\/h3>\n\n<p class=\"wp-block-paragraph\">Poussez avec la force combin\u00e9e des pectoraux et des triceps jusqu\u2019\u00e0 quasi-extension des bras. Expirez en poussant et \u00e9vitez de verrouiller violemment les coudes. Rythme conseill\u00e9 : 2 s descente \/ 1 s mont\u00e9e.<\/p>\n\n<h2 class=\"wp-block-heading\">Position des mains, inclinaison et ciblage : comment orienter la sollicitation<\/h2>\n\n<p class=\"wp-block-paragraph\">Modifier la position des mains ou l\u2019inclinaison du corps change radicalement le recrutement. Voici les r\u00e8gles pratiques \u00e0 retenir pour diriger l\u2019effort vers un muscle pr\u00e9cis.<\/p>\n\n<ul class=\"wp-block-list\"><li><strong>Mains larges<\/strong> : accent sur les pectoraux externes, amplitude d\u2019\u00e9tirement sup\u00e9rieure.<\/li><li><strong>Mains \u00e0 largeur d\u2019\u00e9paules<\/strong> : travail \u00e9quilibr\u00e9 pectoraux \/ triceps.<\/li><li><strong>Mains serr\u00e9es \/ diamant<\/strong> : stress maximal sur les triceps et le faisceau interne du pectoral.<\/li><li><strong>Pieds sur\u00e9lev\u00e9s (d\u00e9clin\u00e9es)<\/strong> : cible le haut des pectoraux et augmente la difficult\u00e9.<\/li><li><strong>Mains sur\u00e9lev\u00e9es (inclin\u00e9es)<\/strong> : diminue la charge sur les bras, id\u00e9al pour d\u00e9buter.<\/li><\/ul>\n\n<h2 class=\"wp-block-heading\">Variantes des pompes : tableau comparatif<\/h2>\n\n<p class=\"wp-block-paragraph\">Voici un tableau pratique pour choisir la variante selon l\u2019objectif : force, hypertrophie, explosivit\u00e9 ou apprentissage.<\/p>\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Variante<\/th>\n<th>Muscle cibl\u00e9<\/th>\n<th>Niveau \/ Intensit\u00e9<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Pompe classique<\/td>\n<td><strong>Pectoraux<\/strong>, triceps, delto\u00efdes<\/td>\n<td>D\u00e9butant \/ Interm\u00e9diaire<\/td>\n<\/tr>\n<tr>\n<td>Pompe large<\/td>\n<td><strong>Pectoraux<\/strong> externes<\/td>\n<td>Interm\u00e9diaire<\/td>\n<\/tr>\n<tr>\n<td>Pompe diamant<\/td>\n<td><strong>Triceps<\/strong>, pectoraux internes<\/td>\n<td>Interm\u00e9diaire<\/td>\n<\/tr>\n<tr>\n<td>Pompe d\u00e9clin\u00e9e (pieds hauts)<\/td>\n<td>Haut des <strong>pectoraux<\/strong>, \u00e9paules<\/td>\n<td>Avanc\u00e9<\/td>\n<\/tr>\n<tr>\n<td>Pompe archer \/ une main<\/td>\n<td>Travail unilat\u00e9ral, force<\/td>\n<td>Avanc\u00e9 \/ Expert<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n<!-- Tailwind CSS (navigateur) pour le style l\u00e9ger (CDN) -->\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@tailwindcss\/browser@4\"><\/script>\n\n<!-- Calculateur de charge relative sur les bras (bloc pr\u00eat \u00e0 copier) -->\n<div id=\"calculateur-pompes\" class=\"max-w-3xl mx-auto p-4 bg-white rounded-lg shadow-md text-gray-800\"\n     style=\"max-height:2000px;\" aria-labelledby=\"titre-calculateur\">\n  <h2 id=\"titre-calculateur\" class=\"text-2xl font-semibold mb-2\">Calculateur \u2014 charge relative sur les bras<\/h2>\n  <p class=\"text-sm text-gray-600 mb-4\">\n    Entrez votre poids (kg) et choisissez l&rsquo;inclinaison pour estimer le pourcentage du poids corporel support\u00e9 par les bras pendant une pompe. Le r\u00e9sultat inclut une estimation en kg et des suggestions de progression.\n  <\/p>\n\n  <form id=\"form-pompes\" class=\"space-y-4\" onsubmit=\"return false;\" aria-describedby=\"desc-form\">\n    <div id=\"desc-form\" class=\"sr-only\">Formulaire pour calculer la charge relative sur les bras.<\/div>\n\n    <!-- Poids -->\n    <div>\n      <label for=\"poids\" class=\"block text-sm font-medium\">Poids corporel (kg)<\/label>\n      <div class=\"mt-1 flex gap-2 items-center\">\n        <input id=\"poids\" name=\"poids\" type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"300\" step=\"0.1\"\n               class=\"w-36 p-2 border rounded focus:outline-none focus:ring-2 focus:ring-sky-400\"\n               value=\"70\" aria-describedby=\"poids-help\" required>\n        <div id=\"poids-help\" class=\"text-sm text-gray-500\">Entrez un poids entre 30 et 300 kg<\/div>\n      <\/div>\n    <\/div>\n\n    <!-- Inclinaison -->\n    <div>\n      <fieldset>\n        <legend class=\"text-sm font-medium\">Inclinaison (s\u00e9lectionnez une option)<\/legend>\n        <p class=\"text-xs text-gray-500 mb-2\">Les pourcentages sont des estimations moyennes.<\/p>\n        <div class=\"grid grid-cols-1 sm:grid-cols-3 gap-2\">\n          <label class=\"flex items-center gap-2 p-2 border rounded cursor-pointer hover:shadow-sm\">\n            <input type=\"radio\" name=\"inclinaison\" value=\"mains_elevees\" checked class=\"peer sr-only\">\n            <span class=\"text-sm\">Mains \u00e9lev\u00e9es<\/span>\n            <span class=\"ml-auto text-xs text-gray-500\">\u2248 49 %<\/span>\n          <\/label>\n\n          <label class=\"flex items-center gap-2 p-2 border rounded cursor-pointer hover:shadow-sm\">\n            <input type=\"radio\" name=\"inclinaison\" value=\"horizontale\" class=\"peer sr-only\">\n            <span class=\"text-sm\">Position horizontale (normale)<\/span>\n            <span class=\"ml-auto text-xs text-gray-500\">\u2248 64 %<\/span>\n          <\/label>\n\n          <label class=\"flex items-center gap-2 p-2 border rounded cursor-pointer hover:shadow-sm\">\n            <input type=\"radio\" name=\"inclinaison\" value=\"pieds_sureleves\" class=\"peer sr-only\">\n            <span class=\"text-sm\">Pieds sur\u00e9lev\u00e9s<\/span>\n            <span class=\"ml-auto text-xs text-gray-500\">\u2248 75 %<\/span>\n          <\/label>\n        <\/div>\n      <\/fieldset>\n    <\/div>\n\n    <!-- R\u00e9p\u00e9titions cibles (optionnel) -->\n    <div>\n      <label for=\"objectif-reps\" class=\"block text-sm font-medium\">Objectif de r\u00e9p\u00e9titions par s\u00e9rie (optionnel)<\/label>\n      <input id=\"objectif-reps\" type=\"number\" min=\"1\" max=\"100\" step=\"1\" value=\"12\"\n             class=\"mt-1 p-2 w-28 border rounded focus:outline-none focus:ring-2 focus:ring-sky-400\">\n      <p class=\"text-xs text-gray-500 mt-1\">Utilis\u00e9 pour ajuster la suggestion de progression.<\/p>\n    <\/div>\n\n    <!-- Boutons d'action -->\n    <div class=\"flex gap-2\">\n      <button id=\"btn-calculer\" class=\"px-4 py-2 bg-sky-600 text-white rounded hover:bg-sky-700 focus:outline-none focus:ring-2 focus:ring-sky-400\">\n        Calculer\n      <\/button>\n      <button id=\"btn-reset\" type=\"button\" class=\"px-4 py-2 border rounded text-gray-700 hover:bg-gray-50\">\n        R\u00e9initialiser\n      <\/button>\n      <button id=\"btn-copier\" type=\"button\" class=\"px-3 py-2 ml-auto text-sm border rounded text-gray-600 hover:bg-gray-50\">\n        Copier r\u00e9sultat\n      <\/button>\n    <\/div>\n  <\/form>\n\n  <!-- R\u00e9sultats -->\n  <div id=\"resultats\" class=\"mt-4 p-4 border rounded bg-gray-50\" aria-live=\"polite\">\n    <h3 class=\"text-lg font-medium\">R\u00e9sultats<\/h3>\n    <div id=\"visuel\" class=\"mt-3\">\n      <!-- Barre visuelle -->\n      <div class=\"text-sm text-gray-600 mb-2\">Pourcentage du poids sur les bras<\/div>\n      <div class=\"w-full bg-gray-200 rounded h-6 overflow-hidden\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-valuenow=\"0\">\n        <div id=\"barre-pourcentage\" class=\"h-6 bg-sky-500 text-white text-xs flex items-center justify-center\" style=\"width:0%\">0%<\/div>\n      <\/div>\n    <\/div>\n\n    <dl class=\"mt-3 grid grid-cols-1 sm:grid-cols-2 gap-2 text-sm\">\n      <div>\n        <dt class=\"font-medium\">Pourcentage estim\u00e9<\/dt>\n        <dd id=\"txt-pourcentage\" class=\"text-gray-700\">\u2014<\/dd>\n      <\/div>\n      <div>\n        <dt class=\"font-medium\">Charge estim\u00e9e sur les bras (kg)<\/dt>\n        <dd id=\"txt-charge\" class=\"text-gray-700\">\u2014<\/dd>\n      <\/div>\n      <div class=\"sm:col-span-2\">\n        <dt class=\"font-medium\">Suggestion de progression<\/dt>\n        <dd id=\"txt-suggestion\" class=\"text-gray-700\">\u2014<\/dd>\n      <\/div>\n    <\/dl>\n\n    <p class=\"text-xs text-gray-500 mt-3\">\n      Remarque : ces valeurs sont des estimations g\u00e9n\u00e9rales pour information seulement. Adaptez selon votre niveau et douleur\/inconfort.\n    <\/p>\n  <\/div>\n<\/div>\n\n<script>\n\/*\n  Script JavaScript pour le calculateur de charge relative sur les bras.\n  - Tous les textes sont en fran\u00e7ais et facilement \u00e9ditables ci-dessous.\n  - Pas d'API externe requise : ce widget fonctionne enti\u00e8rement c\u00f4t\u00e9 client.\n  - Performance : code l\u00e9ger, pas de d\u00e9pendances lourdes.\n  - Accessibilit\u00e9 : labels, aria-live pour r\u00e9sultats, role progressbar.\n\n  Si vous souhaitez plus tard utiliser une API (par ex. pour r\u00e9cup\u00e9rer recommandations),\n  choisissez une API gratuite sans cl\u00e9. Exemple (commentaire seulement) :\n  URL exemple (gratuit, pas utilis\u00e9 ici) : https:\/\/api.exemple-gratuit\/fitness\/reco\n  Exemple de r\u00e9ponse JSON :\n  {\n    \"niveau\": \"interm\u00e9diaire\",\n    \"programme\": \"4x10-15, 2-3 fois\/semaine\",\n    \"conseil\": \"augmenter 1 rep par semaine jusqu'\u00e0 15, puis augmenter difficult\u00e9\"\n  }\n*\/\n\n\/\/ --- Configuration \/ textes (facilement modifiables) ---\nconst TEXTS = {\n  pourcentage_estimate: {\n    mains_elevees: 0.49,      \/\/ 49% du poids corporel environ\n    horizontale: 0.64,        \/\/ 64% pour pompe standard (valeur moyenne)\n    pieds_sureleves: 0.75     \/\/ 75% pour pieds sur\u00e9lev\u00e9s (valeur moyenne)\n  },\n  messages: {\n    erreur_poids: \"Veuillez entrer un poids valide entre 30 et 300 kg.\",\n    suggestion_debutant: \"D\u00e9butant : commencez par 3 s\u00e9ries de 6\u201310 r\u00e9p\u00e9titions. Progresser en ajoutant 1\u20132 r\u00e9p\u00e9titions par semaine ou r\u00e9duire l'inclinaison.\",\n    suggestion_intermediaire: \"Interm\u00e9diaire : 3\u20134 s\u00e9ries de 8\u201315 r\u00e9p\u00e9titions. Ajouter r\u00e9p\u00e9titions puis passer \u00e0 une variante plus difficile (pieds sur\u00e9lev\u00e9s) ou ajouter charge.\",\n    suggestion_avance: \"Avanc\u00e9 : 4\u20136 s\u00e9ries de 6\u201312 r\u00e9p\u00e9titions. Envisagez d'ajouter charge (gilet, disques) pour surcharge progressive.\",\n    copie_success: \"R\u00e9sultat copi\u00e9 dans le presse-papiers.\",\n    copie_fail: \"Impossible de copier \u2014 s\u00e9lectionnez puis copiez manuellement.\"\n  }\n};\n\n\/\/ --- R\u00e9cup\u00e9ration des \u00e9l\u00e9ments DOM ---\nconst form = document.getElementById('form-pompes');\nconst inputPoids = document.getElementById('poids');\nconst radioInclinaison = () => document.querySelector('input[name=\"inclinaison\"]:checked')?.value;\nconst inputObjectifReps = document.getElementById('objectif-reps');\n\nconst btnCalculer = document.getElementById('btn-calculer');\nconst btnReset = document.getElementById('btn-reset');\nconst btnCopier = document.getElementById('btn-copier');\n\nconst barrePourcentage = document.getElementById('barre-pourcentage');\nconst txtPourcentage = document.getElementById('txt-pourcentage');\nconst txtCharge = document.getElementById('txt-charge');\nconst txtSuggestion = document.getElementById('txt-suggestion');\n\n\/\/ --- Fonctions utilitaires ---\nfunction arrondir(val, dec = 1) {\n  const p = Math.pow(10, dec);\n  return Math.round(val * p) \/ p;\n}\n\n\/\/ D\u00e9termine la suggestion en fonction de la charge (kg) et objectif de reps\nfunction determinerSuggestion(chargeKg, objectifReps) {\n  \/\/ seuils approximatifs pour guider la suggestion\n  if (chargeKg < 20) {\n    return `${TEXTS.messages.suggestion_debutant} Si votre objectif est ${objectifReps} reps, visez ${Math.max(3, Math.min(5, Math.round(15 \/ Math.max(1, objectifReps\/8))))} s\u00e9ries.`;\n  } else if (chargeKg < 40) {\n    return `${TEXTS.messages.suggestion_intermediaire} Pour ${objectifReps} reps, essayez 3\u20134 s\u00e9ries et augmentez progressivement les reps ou la difficult\u00e9.`;\n  } else {\n    return `${TEXTS.messages.suggestion_avance} Pour ${objectifReps} reps, 4\u20136 s\u00e9ries sont adapt\u00e9es ; envisagez surcharge progressive.`;\n  }\n}\n\n\/\/ Mise \u00e0 jour visuelle des r\u00e9sultats\nfunction afficherResultats(pourcent, chargeKg, suggestion) {\n  const pourcAff = `${arrondir(pourcent * 100, 1)}%`;\n  barrePourcentage.style.width = `${Math.min(100, pourcent * 100)}%`;\n  barrePourcentage.textContent = pourcAff;\n  barrePourcentage.setAttribute('aria-valuenow', arrondir(pourcent * 100, 1));\n\n  txtPourcentage.textContent = pourcAff;\n  txtCharge.textContent = `${arrondir(chargeKg, 1)} kg`;\n  txtSuggestion.textContent = suggestion;\n}\n\n\/\/ Validation simple du poids\nfunction validerPoids(p) {\n  const poids = Number(p);\n  if (!poids || poids < 30 || poids > 300) return null;\n  return poids;\n}\n\n\/\/ Calcul principal\nfunction calculerCharge() {\n  const poids = validerPoids(inputPoids.value);\n  if (!poids) {\n    alert(TEXTS.messages.erreur_poids);\n    return;\n  }\n\n  const incl = radioInclinaison();\n  \/\/ R\u00e9cup\u00e9ration du pourcentage estim\u00e9 depuis la config\n  let pourcent = TEXTS.pourcentage_estimate[incl] ?? TEXTS.pourcentage_estimate.horizontale;\n  \/\/ Quelques protections (en cas de mauvaise config)\n  pourcent = Math.max(0, Math.min(1, pourcent));\n\n  const chargeKg = poids * pourcent;\n  const objectifReps = Math.max(1, Number(inputObjectifReps.value) || 12);\n  const suggestion = determinerSuggestion(chargeKg, objectifReps);\n\n  afficherResultats(pourcent, chargeKg, suggestion);\n}\n\n\/\/ R\u00e9initialiser aux valeurs par d\u00e9faut\nfunction reinitialiser() {\n  inputPoids.value = \"70\";\n  document.querySelector('input[name=\"inclinaison\"][value=\"mains_elevees\"]').checked = true;\n  inputObjectifReps.value = \"12\";\n  afficherResultats(0, 0, '\u2014');\n}\n\n\/\/ Copier le texte des r\u00e9sultats dans le presse-papiers\nasync function copierResultat() {\n  const text = `Pompes \u2014 Pourcentage estim\u00e9 : ${txtPourcentage.textContent}. Charge estim\u00e9e : ${txtCharge.textContent}. Suggestion : ${txtSuggestion.textContent}`;\n  try {\n    await navigator.clipboard.writeText(text);\n    alert(TEXTS.messages.copie_success);\n  } catch (e) {\n    \/\/ fallback : s\u00e9lectionner et demander copie manuelle\n    alert(TEXTS.messages.copie_fail);\n  }\n}\n\n\/\/ --- \u00c9v\u00e9nements ---\nbtnCalculer.addEventListener('click', () => calculerCharge());\nbtnReset.addEventListener('click', () => reinitialiser());\nbtnCopier.addEventListener('click', () => copierResultat());\n\n\/\/ Calcul initial (affichage neutre)\nreinitialiser();\n\n\/* Notes d'accessibilit\u00e9 \/ bonnes pratiques :\n - Les \u00e9l\u00e9ments ont des labels explicites.\n - Le conteneur des r\u00e9sultats utilise aria-live=\"polite\" pour annoncer les changements.\n - Le r\u00f4le de progressbar est d\u00e9fini via aria-* afin que les aides techniques lisent le pourcentage.\n - Les couleurs suivent un contraste suffisant dans la majorit\u00e9 des th\u00e8mes ; adaptez le style si besoin.\n*\/\n<\/script>\n\n<h2 class=\"wp-block-heading\">Comment d\u00e9buter quand on ne peut pas faire une pompe compl\u00e8te<\/h2>\n\n<p class=\"wp-block-paragraph\">La progression se fait par \u00e9tapes simples, chacune pr\u00e9parant la suivante. Exemple concret avec Lucas : il a commenc\u00e9 contre un mur, puis a r\u00e9duit l&rsquo;inclinaison sur 6 semaines pour atteindre la pompe classique.<\/p>\n\n<ol class=\"wp-block-list\"><li>Pompes contre un mur \u2014 apprentissage du sch\u00e9ma moteur.<\/li><li>Pompes mains sur\u00e9lev\u00e9es (table ou banc) \u2014 r\u00e9duction de la charge sur les bras.<\/li><li>Pompes sur les genoux \u2014 maintien de la ligne corps-t\u00eate-genoux.<\/li><li>Pompes n\u00e9gatives \u2014 descente lente 4\u20135 s, mont\u00e9e assist\u00e9e.<\/li><li>Pompes classiques \u2014 amplitude compl\u00e8te, contr\u00f4le du gainage.<\/li><\/ol>\n\n<p class=\"wp-block-paragraph\">Astuce pratique : si la s\u00e9rie plafonne, poser les genoux et poursuivre permet d\u2019augmenter le volume de travail tout en conservant la qualit\u00e9 du mouvement. C\u2019est une m\u00e9thode qui acc\u00e9l\u00e8re les progr\u00e8s de force.<\/p>\n\n<h2 class=\"wp-block-heading\">Programmation et progression : fr\u00e9quence, s\u00e9ries, reps<\/h2>\n\n<p class=\"wp-block-paragraph\">Pour transformer cet <strong>exercice<\/strong> en v\u00e9ritable moteur de <strong>musculation<\/strong>, la structure importe autant que l\u2019ex\u00e9cution. Voici des rep\u00e8res bas\u00e9s sur l\u2019exp\u00e9rience terrain.<\/p>\n\n<ul class=\"wp-block-list\"><li><strong>D\u00e9butant<\/strong> : 3 s\u00e9ries de 8\u201312 r\u00e9p\u00e9titions (pompes inclin\u00e9es ou sur les genoux), 3 s\u00e9ances\/semaine.<\/li><li><strong>Interm\u00e9diaire<\/strong> : 3\u20134 s\u00e9ries de 15\u201325 r\u00e9p\u00e9titions de pompes classiques, 3\u20134 s\u00e9ances\/semaine.<\/li><li><strong>Avanc\u00e9<\/strong> : 4\u20135 s\u00e9ries de 20\u201330 r\u00e9p\u00e9titions + variantes lest\u00e9es ou pliom\u00e9triques, 3 s\u00e9ances\/semaine avec travail sp\u00e9cifique force\/explosivit\u00e9.<\/li><\/ul>\n\n<p class=\"wp-block-paragraph\">Varier le tempo (descente lente), introduire des pompes d\u00e9clin\u00e9es et ajouter du <strong>lest<\/strong> (gilet ou sac) sont des moyens efficaces pour continuer \u00e0 progresser sans mat\u00e9riel lourd. Pour l\u2019\u00e9quilibre postural, associer des exercices de tirage est indispensable.<\/p>\n\n<p class=\"wp-block-paragraph\">Pour approfondir les m\u00e9thodes et obtenir un plan d\u00e9taill\u00e9, consultez le <a href=\"https:\/\/flexgymperformance.fr\/blogs\/pectoraux\/pompes-guide-complet\" target=\"_blank\" rel=\"noopener\">guide pratique de Flex Gym<\/a> et une analyse anatomique sur <a href=\"https:\/\/www.pyzine.com\/quels-muscles-sont-sollicites-lors-des-pompes\" target=\"_blank\" rel=\"noopener\">Pyzine<\/a>.<\/p>\n\n<h2 class=\"wp-block-heading\">Erreurs fr\u00e9quentes \u00e0 \u00e9viter et corrections rapides<\/h2>\n\n<p class=\"wp-block-paragraph\">Plusieurs fautes r\u00e9duisent l\u2019efficacit\u00e9 et augmentent le risque : dos qui creuse, coudes coll\u00e9s, amplitude tronqu\u00e9e, poignets douloureux. Voici des corrections cibl\u00e9es et pratiques.<\/p>\n\n<ul class=\"wp-block-list\"><li><strong>Dos qui creuse<\/strong> : contracter transverse et fessiers, garder la t\u00eate align\u00e9e \u2014 r\u00e9duire l\u2019amplitude si la technique se d\u00e9grade.<\/li><li><strong>Coudes trop ouverts<\/strong> : viser 45\u00b0 pour prot\u00e9ger les \u00e9paules et r\u00e9partir l\u2019effort.<\/li><li><strong>Amplitude incompl\u00e8te<\/strong> : descendre jusqu\u2019\u00e0 effleurer le sol; pr\u00e9f\u00e9rer moins de r\u00e9p\u00e9titions bien faites plut\u00f4t que plus mais partielles.<\/li><li><strong>Douleur poignets<\/strong> : tester des poign\u00e9es ergonomiques ou relever les mains sur un support stable.<\/li><\/ul>\n\n<p class=\"wp-block-paragraph\">Pour affiner le volume et \u00e9viter le surentra\u00eenement, les principes de gestion du volume et des s\u00e9ries sont utiles : consultez des ressources sur le <a href=\"https:\/\/www.bras-de-fer.fr\/blog\/volume-serie-groupe-musculaire\/\">volume et s\u00e9ries<\/a> et les erreurs classiques sur les dips qui partagent des enseignements transposables aux pompes (<a href=\"https:\/\/www.bras-de-fer.fr\/blog\/dips-musculation-erreurs\/\">erreurs dips<\/a>).<\/p>\n\n<h2 class=\"wp-block-heading\">Cas pratique : la progression de Lucas sur 8 semaines<\/h2>\n\n<p class=\"wp-block-paragraph\">Lucas, 34 ans, 78 kg, bureau s\u00e9dentaire. Objectif : 20 pompes strictes.<\/p>\n\n<ol class=\"wp-block-list\"><li>Semaine 1\u20132 : pompes inclin\u00e9es 3 \u00d7 10, 3 fois\/semaine.<\/li><li>Semaine 3\u20134 : passer aux genoux, 3 \u00d7 12, ajouter 1 set de n\u00e9gatives.<\/li><li>Semaine 5\u20136 : pompes classiques, 3 \u00d7 8\u201310, tempo 3\/1\/1.<\/li><li>Semaine 7\u20138 : mont\u00e9e progressive des r\u00e9p\u00e9titions jusqu\u2019\u00e0 3 \u00d7 20, inclure une s\u00e9ance de d\u00e9clin\u00e9e pour le haut des pectoraux.<\/li><\/ol>\n\n<p class=\"wp-block-paragraph\">R\u00e9sultat observ\u00e9 : gain de force mesurable en 4 semaines, esth\u00e9tique et endurance am\u00e9lior\u00e9es en 8\u201312 semaines. Insight : la progression lin\u00e9aire l\u00e9g\u00e8re est plus efficace que le volume maximal imm\u00e9diat.<\/p>\n\n<h2 class=\"wp-block-heading\">S\u00e9curit\u00e9, r\u00e9cup\u00e9ration et conseils terrain<\/h2>\n\n<p class=\"wp-block-paragraph\">Les muscles r\u00e9pondent au stimulus, mais les articulations aussi. Pr\u00e9voir une r\u00e9cup\u00e9ration ad\u00e9quate et un travail antagoniste de tirage permet d\u2019\u00e9viter les \u00e9paules qui s\u2019enroulent. Int\u00e9grer mobilit\u00e9 thoracique et \u00e9tirements du grand pectoral apr\u00e8s la s\u00e9ance limite les tensions.<\/p>\n\n<p class=\"wp-block-paragraph\">Fr\u00e9quence recommand\u00e9e : 3 s\u00e9ances\/semaine pour la plupart des pratiquants. \u00c9viter d\u2019aller \u00e0 l\u2019\u00e9chec total deux jours cons\u00e9cutifs. En cas de douleur persistante, orientation vers un professionnel de sant\u00e9 est n\u00e9cessaire.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Synth\u00e8se pratique<\/strong> : travaillez la technique d\u2019abord, progressez par paliers (inclin\u00e9e \u2192 genoux \u2192 n\u00e9gative \u2192 classique), variez l\u2019\u00e9cartement pour cibler pectoraux ou triceps, et programmez 3 s\u00e9ances par semaine en associant du tirage pour l\u2019\u00e9quilibre postural. Passez \u00e0 des variantes lest\u00e9es ou unilat\u00e9rales quand la technique reste parfaite sur 3 s\u00e9ries.<\/p>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Quels muscles travaillent principalement lors des pompes ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Les principaux muscles sollicitu00e9s sont le grand pectoral, le triceps brachial et le deltou00efde antu00e9rieur. Les muscles stabilisateurs (abdominaux, lombaires, fessiers) jouent un ru00f4le majeur pour maintenir le corps alignu00e9 et assurer un gainage efficace.\"}},{\"@type\":\"Question\",\"name\":\"Comment du00e9buter si l'on ne peut pas faire une pompe complu00e8te ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Progression recommandu00e9e : pompes contre un mur, puis mains suru00e9levu00e9es, pompes sur les genoux, pompes nu00e9gatives (descente lente), puis pompe classique. Augmentez la difficultu00e9 seulement quand la technique est parfaite.\"}},{\"@type\":\"Question\",\"name\":\"Quels sont les meilleurs ru00e9glages pour cibler les triceps ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Ru00e9duire l'u00e9cartement des mains et rapprocher les coudes du corps : la prise diamant ou mains serru00e9es augmentent la sollicitation des triceps. Veillez u00e0 maintenir une amplitude complu00e8te et un gainage strict.\"}},{\"@type\":\"Question\",\"name\":\"u00c0 quelle fru00e9quence intu00e9grer les pompes dans l'entrau00eenement ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"3 su00e9ances par semaine sont idu00e9ales pour permettre une ru00e9cupu00e9ration efficace. u00c9vitez d'enchau00eener deux su00e9ances u00e0 l'u00e9chec. Associez du tirage (tractions, rowing) pour l'u00e9quilibre musculaire.\"}}]}\n<\/script>\n<h3>Quels muscles travaillent principalement lors des pompes ?<\/h3>\n<p>Les principaux muscles sollicit\u00e9s sont le grand pectoral, le triceps brachial et le delto\u00efde ant\u00e9rieur. Les muscles stabilisateurs (abdominaux, lombaires, fessiers) jouent un r\u00f4le majeur pour maintenir le corps align\u00e9 et assurer un gainage efficace.<\/p>\n<h3>Comment d\u00e9buter si l&rsquo;on ne peut pas faire une pompe compl\u00e8te ?<\/h3>\n<p>Progression recommand\u00e9e : pompes contre un mur, puis mains sur\u00e9lev\u00e9es, pompes sur les genoux, pompes n\u00e9gatives (descente lente), puis pompe classique. Augmentez la difficult\u00e9 seulement quand la technique est parfaite.<\/p>\n<h3>Quels sont les meilleurs r\u00e9glages pour cibler les triceps ?<\/h3>\n<p>R\u00e9duire l&rsquo;\u00e9cartement des mains et rapprocher les coudes du corps : la prise diamant ou mains serr\u00e9es augmentent la sollicitation des triceps. Veillez \u00e0 maintenir une amplitude compl\u00e8te et un gainage strict.<\/p>\n<h3>\u00c0 quelle fr\u00e9quence int\u00e9grer les pompes dans l&rsquo;entra\u00eenement ?<\/h3>\n<p>3 s\u00e9ances par semaine sont id\u00e9ales pour permettre une r\u00e9cup\u00e9ration efficace. \u00c9vitez d&rsquo;encha\u00eener deux s\u00e9ances \u00e0 l&rsquo;\u00e9chec. Associez du tirage (tractions, rowing) pour l&rsquo;\u00e9quilibre musculaire.<\/p>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@tailwindcss\/browser@4\"><\/script>\n\n<!--\nBloc QUIZ (\u00e0 coller dans votre page)\nHauteur max : 2000px\nPas d'API externe n\u00e9cessaire \u2014 toutes les donn\u00e9es sont embarqu\u00e9es localement.\nSi vous souhaitez int\u00e9grer une API publique gratuite plus tard, voici un exemple d'API d'exercices (exemple seulement) :\nURL (exemple) : https:\/\/wger.de\/api\/v2\/exercise\/\nExemple de r\u00e9ponse JSON :\n[\n  {\n    \"id\": 345,\n    \"name\": \"Push-ups\",\n    \"description\": \"An exercise for chest and triceps...\",\n    \"category\": 10\n  }\n]\n-->\n\n<div id=\"quiz-container\" class=\"max-h-[2000px] overflow-auto p-6 bg-gradient-to-br from-white to-slate-50 rounded-xl shadow-lg text-slate-800 font-sans\" style=\"min-width:320px;\">\n  <div class=\"max-w-3xl mx-auto\">\n    <header class=\"mb-4\">\n      <h2 class=\"text-2xl font-extrabold tracking-tight mb-1\" id=\"quiz-title\">Mini-quiz : Pompes et variantes<\/h2>\n      <p id=\"quiz-desc\" class=\"text-sm text-slate-600\">5 questions pour tester vos connaissances sur les pompes et choisir la bonne variante selon votre objectif (force, hypertrophie, r\u00e9\u00e9ducation).<\/p>\n    <\/header>\n\n    <section id=\"quiz-stage\" class=\"bg-white p-4 rounded-lg ring-1 ring-slate-100 shadow-sm\">\n      <div id=\"progress\" class=\"mb-3 flex items-center justify-between\">\n        <div class=\"flex items-center gap-3\">\n          <span id=\"q-index\" class=\"text-sm font-medium\">Question 1 \/ 5<\/span>\n          <div class=\"w-48 h-2 bg-slate-100 rounded overflow-hidden\">\n            <div id=\"progress-bar\" class=\"h-full bg-emerald-500 rounded transition-all\" style=\"width:20%\"><\/div>\n          <\/div>\n        <\/div>\n        <div class=\"text-sm text-slate-500\" id=\"score-display\">Score: 0<\/div>\n      <\/div>\n\n      <div id=\"question-card\" class=\"mb-4\">\n        <h3 id=\"question-text\" class=\"text-lg font-semibold mb-3\">&#8230;<\/h3>\n        <div id=\"choices\" class=\"grid gap-2\" role=\"list\"><\/div>\n      <\/div>\n\n      <div id=\"feedback\" class=\"min-h-[3rem] mb-3\" aria-live=\"polite\"><\/div>\n\n      <div class=\"flex items-center gap-2\">\n        <button id=\"next-btn\" class=\"ml-auto px-4 py-2 bg-sky-600 text-white rounded hover:bg-sky-700 disabled:opacity-50\" disabled>Suivant<\/button>\n        <button id=\"restart-btn\" class=\"px-4 py-2 bg-slate-100 text-slate-800 rounded hover:bg-slate-200\">Recommencer<\/button>\n      <\/div>\n    <\/section>\n\n    <section id=\"result-section\" class=\"mt-4 hidden\">\n      <div class=\"bg-emerald-50 border border-emerald-100 p-4 rounded\">\n        <h4 class=\"text-lg font-bold mb-2\">R\u00e9sultats<\/h4>\n        <p id=\"final-score\" class=\"mb-2\">Vous avez obtenu X\/4 points.<\/p>\n        <div id=\"recommendation\" class=\"mb-3\"><\/div>\n        <div class=\"flex gap-2\">\n          <button id=\"review-btn\" class=\"px-4 py-2 bg-white border rounded hover:bg-slate-50\">Voir corrections<\/button>\n          <button id=\"try-again-btn\" class=\"px-4 py-2 bg-sky-600 text-white rounded hover:bg-sky-700\">Recommencer le quiz<\/button>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <section id=\"review-section\" class=\"mt-4 hidden\">\n      <h4 class=\"text-lg font-semibold mb-2\">Corrections et explications<\/h4>\n      <div id=\"review-list\" class=\"space-y-3\"><\/div>\n    <\/section>\n\n    <footer class=\"mt-4 text-xs text-slate-500\">\n      Tous les textes sont en fran\u00e7ais. Con\u00e7u pour \u00eatre accessible : navigation au clavier et annonces ARIA.\n    <\/footer>\n  <\/div>\n<\/div>\n\n<script>\n\/*\n  Quiz interactif \u2014 Logique JavaScript\n  - Toutes les cha\u00eenes sont en fran\u00e7ais et centralis\u00e9es dans `I18N` pour faciliter l'\u00e9dition.\n  - Le quiz comporte 5 \u00e9crans : 4 questions de connaissance (not\u00e9es) + 1 question objectif (non not\u00e9e, utilis\u00e9e pour recommandation).\n  - Accessibilit\u00e9 : utilisation d'aria-live pour feedback, boutons focusables.\n  - Performance : pas de d\u00e9pendances lourdes. Code lisible et comment\u00e9.\n*\/\n\n(() => {\n  \/\/ Internationalisation (FR) \u2014 modifiable facilement\n  const I18N = {\n    title: \"Mini-quiz : Pompes et variantes\",\n    intro: \"5 questions pour tester vos connaissances sur les pompes et choisir la bonne variante selon votre objectif (force, hypertrophie, r\u00e9\u00e9ducation).\",\n    next: \"Suivant\",\n    restart: \"Recommencer\",\n    scorePrefix: \"Score :\",\n    resultsTitle: \"R\u00e9sultats\",\n    reviewTitle: \"Corrections et explications\",\n    finalScoreText: (score, total) => `Vous avez obtenu ${score}\/${total} points.`,\n    recommendationTitle: \"Recommandation de variante\",\n    tryAgain: \"Recommencer le quiz\",\n    viewCorrections: \"Voir corrections\",\n    explanationPrefix: \"Explication :\",\n    goalRecommendation: {\n      force: {\n        title: \"Objectif : Force\",\n        text: \"Pour d\u00e9velopper la force, privil\u00e9giez des variantes lourdes et progressives : pompes lest\u00e9es (gilet ou plaque), pompes sur anneaux ou pompes \u00e0 tempo lent avec charges additionnelles. Travaillez aussi en s\u00e9ries courtes (3\u20136 r\u00e9p\u00e9titions) et r\u00e9cup\u00e9rations suffisantes.\"\n      },\n      hypertrophy: {\n        title: \"Objectif : Hypertrophie\",\n        text: \"Pour l'hypertrophie, favorisez la surcharge progressive et un volume mod\u00e9r\u00e9 : pompes lest\u00e9es, pompes d\u00e9clin\u00e9es (pour cibler la partie sup\u00e9rieure du thorax) et pompes avec tempo contr\u00f4l\u00e9. S\u00e9ries de 6\u201315 r\u00e9p\u00e9titions selon l'intensit\u00e9.\"\n      },\n      rehabilitation: {\n        title: \"Objectif : R\u00e9\u00e9ducation\",\n        text: \"Pour la r\u00e9\u00e9ducation, choisissez des variantes \u00e0 faible charge articulaire : pompes inclin\u00e9es, pompes sur banc\/mur, et travaillez la qualit\u00e9 du mouvement, la mobilit\u00e9 scapulaire et le renforcement du serratus anterior.\"\n      }\n    }\n  };\n\n  \/\/ Quiz data (en fran\u00e7ais). La question 5 sert \u00e0 la recommandation (non not\u00e9e).\n  const QUESTIONS = [\n    {\n      id: 1,\n      q: \"Quels sont les muscles primaires principalement sollicit\u00e9s lors d'une pompe standard ?\",\n      choices: [\n        { id: \"a\", text: \"Pectoraux (grand pectoral)\" },\n        { id: \"b\", text: \"Quadriceps\" },\n        { id: \"c\", text: \"Ischio-jambiers\" },\n        { id: \"d\", text: \"Biceps brachial\" }\n      ],\n      correct: \"a\",\n      explanation: \"Les pompes sollicitent principalement le grand pectoral (poitrine), avec une implication importante des triceps et des delto\u00efdes ant\u00e9rieurs en soutien.\"\n    },\n    {\n      id: 2,\n      q: \"Quel muscle joue un r\u00f4le secondaire majeur pour l'extension du coude pendant la pompe ?\",\n      choices: [\n        { id: \"a\", text: \"Trap\u00e8ze\" },\n        { id: \"b\", text: \"Triceps brachial\" },\n        { id: \"c\", text: \"Grand dorsal\" },\n        { id: \"d\", text: \"Soleus (mollet)\" }\n      ],\n      correct: \"b\",\n      explanation: \"Le triceps brachial est le principal muscle responsable de l'extension du coude, donc fortement impliqu\u00e9 lors de la phase de pouss\u00e9e des pompes.\"\n    },\n    {\n      id: 3,\n      q: \"Quel muscle profond contribue fortement \u00e0 la stabilit\u00e9 scapulaire et \u00e0 la pr\u00e9vention du 'winging' lors des pompes ?\",\n      choices: [\n        { id: \"a\", text: \"Serratus anterior (dentel\u00e9 ant\u00e9rieur)\" },\n        { id: \"b\", text: \"Quadratus lumborum\" },\n        { id: \"c\", text: \"Biceps f\u00e9moral\" },\n        { id: \"d\", text: \"Psoas-iliaque\" }\n      ],\n      correct: \"a\",\n      explanation: \"Le serratus anterior aide \u00e0 stabiliser la scapula contre la cage thoracique et est essentiel pour un mouvement de pouss\u00e9e sain et un bon verrouillage d'\u00e9paule.\"\n    },\n    {\n      id: 4,\n      q: \"Quelle strat\u00e9gie\/variation est la plus indiqu\u00e9e pour favoriser l'hypertrophie via les pompes ?\",\n      choices: [\n        { id: \"a\", text: \"Pompes sur une jambe (pistol push-ups)\" },\n        { id: \"b\", text: \"Pompes lest\u00e9es (ajout de r\u00e9sistance)\" },\n        { id: \"c\", text: \"Pompes tr\u00e8s lentes en faible volume uniquement\" },\n        { id: \"d\", text: \"Pompes sur la pointe des pieds sans progression\" }\n      ],\n      correct: \"b\",\n      explanation: \"Pour l'hypertrophie, l'ajout de r\u00e9sistance (pompes lest\u00e9es) permet d'augmenter la tension m\u00e9canique. Associ\u00e9 \u00e0 un volume et une progression adapt\u00e9s, c'est l'approche la plus efficace.\"\n    },\n    {\n      id: 5,\n      q: \"Quel est votre objectif principal ? (Ces r\u00e9ponses servent \u00e0 recommander la variante de pompe adapt\u00e9e)\",\n      choices: [\n        { id: \"force\", text: \"Force\" },\n        { id: \"hypertrophy\", text: \"Hypertrophie (prise de masse)\" },\n        { id: \"rehab\", text: \"R\u00e9\u00e9ducation \/ mobilit\u00e9\" }\n      ],\n      correct: null,\n      explanation: \"Cette question permet d'orienter la recommandation. Elle n'est pas compt\u00e9e dans le score.\"\n    }\n  ];\n\n  \/\/ DOM \u00e9l\u00e9ments\n  const qIndexEl = document.getElementById(\"q-index\");\n  const progressBarEl = document.getElementById(\"progress-bar\");\n  const scoreDisplayEl = document.getElementById(\"score-display\");\n  const questionTextEl = document.getElementById(\"question-text\");\n  const choicesEl = document.getElementById(\"choices\");\n  const feedbackEl = document.getElementById(\"feedback\");\n  const nextBtn = document.getElementById(\"next-btn\");\n  const restartBtn = document.getElementById(\"restart-btn\");\n  const resultSection = document.getElementById(\"result-section\");\n  const reviewSection = document.getElementById(\"review-section\");\n  const reviewList = document.getElementById(\"review-list\");\n  const finalScoreEl = document.getElementById(\"final-score\");\n  const recommendationEl = document.getElementById(\"recommendation\");\n  const reviewBtn = document.getElementById(\"review-btn\");\n  const tryAgainBtn = document.getElementById(\"try-again-btn\");\n\n  \/\/ \u00c9tat du quiz\n  let currentIndex = 0;\n  let score = 0;\n  let answers = {}; \/\/ { questionId: choiceId }\n  let chosenGoal = null;\n\n  \/\/ Initialisation\n  function init() {\n    document.getElementById(\"quiz-title\").textContent = I18N.title;\n    document.getElementById(\"quiz-desc\").textContent = I18N.intro;\n    nextBtn.textContent = I18N.next;\n    restartBtn.textContent = I18N.restart;\n    scoreDisplayEl.textContent = `${I18N.scorePrefix} 0`;\n    resultSection.classList.add(\"hidden\");\n    reviewSection.classList.add(\"hidden\");\n    currentIndex = 0;\n    score = 0;\n    answers = {};\n    chosenGoal = null;\n    renderQuestion();\n  }\n\n  \/\/ Rendre la question courante\n  function renderQuestion() {\n    const q = QUESTIONS[currentIndex];\n    const total = QUESTIONS.length;\n    qIndexEl.textContent = `Question ${currentIndex + 1} \/ ${total}`;\n    progressBarEl.style.width = `${Math.round(((currentIndex) \/ total) * 100)}%`;\n    questionTextEl.textContent = q.q;\n\n    \/\/ Clear feedback and choices\n    feedbackEl.innerHTML = \"\";\n    choicesEl.innerHTML = \"\";\n\n    \/\/ Build choices as buttons\n    q.choices.forEach((choice) => {\n      const btn = document.createElement(\"button\");\n      btn.className = \"w-full text-left px-3 py-2 border rounded hover:bg-slate-50 focus:outline-none focus:ring-2 focus:ring-sky-300\";\n      btn.setAttribute(\"role\", \"listitem\");\n      btn.setAttribute(\"data-choice-id\", choice.id);\n      btn.innerHTML = `<span class=\"font-medium\">${choice.text}<\/span>`;\n      btn.addEventListener(\"click\", onChoiceSelected);\n      btn.addEventListener(\"keydown\", (e) => {\n        \/\/ Enter ou Espace d\u00e9clenche le clic (pour accessibilit\u00e9)\n        if (e.key === \"Enter\" || e.key === \" \") {\n          e.preventDefault();\n          btn.click();\n        }\n      });\n      choicesEl.appendChild(btn);\n    });\n\n    \/\/ If already answered this question (r\u00e9cup\u00e9ration lors de review\/restart), disable next?\n    \/\/ Reset next button\n    nextBtn.disabled = true;\n    \/\/ If last step is question 5 (goal), label next as 'Terminer' visually same button.\n    nextBtn.textContent = (currentIndex === QUESTIONS.length - 1) ? \"Terminer\" : I18N.next;\n    updateScoreDisplay();\n  }\n\n  \/\/ Update score display\n  function updateScoreDisplay() {\n    scoreDisplayEl.textContent = `${I18N.scorePrefix} ${score}`;\n  }\n\n  \/\/ Gestion du clic sur un choix\n  function onChoiceSelected(e) {\n    const btn = e.currentTarget;\n    const selectedId = btn.getAttribute(\"data-choice-id\");\n    const q = QUESTIONS[currentIndex];\n\n    \/\/ Prevent selecting twice\n    if (answers[q.id]) return;\n\n    \/\/ Save answer\n    answers[q.id] = selectedId;\n\n    \/\/ Visual feedback: mark selected and disable other buttons\n    Array.from(choicesEl.children).forEach((b) => {\n      b.disabled = true;\n      b.classList.add(\"opacity-80\");\n      \/\/ highlight selection\n      if (b === btn) b.classList.remove(\"opacity-80\");\n    });\n\n    \/\/ If question is not the goal-question (i.e., has a correct answer), evaluate\n    if (q.correct) {\n      if (selectedId === q.correct) {\n        score += 1;\n        btn.classList.add(\"bg-emerald-100\", \"border-emerald-300\");\n        feedbackEl.innerHTML = `<div class=\"text-emerald-700 font-medium\">${I18N.explanationPrefix}<\/div><div class=\"text-sm text-slate-700 mt-1\">${q.explanation}<\/div>`;\n      } else {\n        \/\/ Mark incorrect and show correct\n        btn.classList.add(\"bg-red-100\", \"border-red-300\");\n        \/\/ Highlight correct answer\n        const correctBtn = Array.from(choicesEl.children).find(b => b.getAttribute(\"data-choice-id\") === q.correct);\n        if (correctBtn) correctBtn.classList.add(\"bg-emerald-100\", \"border-emerald-300\");\n        feedbackEl.innerHTML = `<div class=\"text-red-700 font-medium\">R\u00e9ponse incorrecte.<\/div><div class=\"text-sm text-slate-700 mt-1\">${q.explanation}<\/div>`;\n      }\n      updateScoreDisplay();\n    } else {\n      \/\/ Goal question: don't modify score, but store goal\n      chosenGoal = selectedId;\n      btn.classList.add(\"bg-sky-100\", \"border-sky-300\");\n      feedbackEl.innerHTML = `<div class=\"text-slate-700 text-sm\">${q.explanation}<\/div>`;\n    }\n\n    \/\/ Enable next\n    nextBtn.disabled = false;\n    nextBtn.focus();\n  }\n\n  \/\/ Next button action\n  nextBtn.addEventListener(\"click\", () => {\n    \/\/ If at last question, show results\n    if (currentIndex === QUESTIONS.length - 1) {\n      finishQuiz();\n      return;\n    }\n    currentIndex += 1;\n    renderQuestion();\n  });\n\n  \/\/ Restart\n  restartBtn.addEventListener(\"click\", () => {\n    init();\n  });\n\n  \/\/ Finish quiz: show results + recommendation based on goal\n  function finishQuiz() {\n    \/\/ Hide stage, show results\n    resultSection.classList.remove(\"hidden\");\n    finalScoreEl.textContent = I18N.finalScoreText(score, QUESTIONS.filter(q=>q.correct).length);\n    \/\/ Recommendation based on chosenGoal\n    let recHtml = \"\";\n    if (!chosenGoal) {\n      recHtml = `<div class=\"text-sm text-slate-700\">Vous n'avez pas choisi d'objectif. Voici une recommandation g\u00e9n\u00e9rale : privil\u00e9giez la progression et la technique. Pour des objectifs pr\u00e9cis, r\u00e9pondez \u00e0 la question d'objectif lors du quiz.<\/div>`;\n    } else {\n      const key = chosenGoal === \"hypertrophy\" ? \"hypertrophy\" : (chosenGoal === \"force\" ? \"force\" : \"rehabilitation\");\n      if (key === \"force\") {\n        recHtml = `<div class=\"font-semibold\">${I18N.goalRecommendation.force.title}<\/div><div class=\"text-sm text-slate-700 mt-1\">${I18N.goalRecommendation.force.text}<\/div>`;\n      } else if (key === \"hypertrophy\") {\n        recHtml = `<div class=\"font-semibold\">${I18N.goalRecommendation.hypertrophy.title}<\/div><div class=\"text-sm text-slate-700 mt-1\">${I18N.goalRecommendation.hypertrophy.text}<\/div>`;\n      } else {\n        recHtml = `<div class=\"font-semibold\">${I18N.goalRecommendation.rehabilitation.title}<\/div><div class=\"text-sm text-slate-700 mt-1\">${I18N.goalRecommendation.rehabilitation.text}<\/div>`;\n      }\n    }\n    recommendationEl.innerHTML = `<h5 class=\"font-semibold mb-1\">${I18N.recommendationTitle}<\/h5>${recHtml}`;\n\n    \/\/ Hide quiz stage (but keep for re-use)\n    document.getElementById(\"quiz-stage\").classList.add(\"hidden\");\n\n    \/\/ Prepare review data\n    prepareReview();\n\n    \/\/ Scroll results into view (if inside long page)\n    resultSection.scrollIntoView({behavior:\"smooth\"});\n  }\n\n  \/\/ Prepare review content\n  function prepareReview() {\n    reviewList.innerHTML = \"\";\n    \/\/ Only show questions that have an explanation\n    QUESTIONS.forEach((q) => {\n      \/\/ Build item\n      const item = document.createElement(\"div\");\n      item.className = \"p-3 bg-white border rounded shadow-sm\";\n      const qh = document.createElement(\"div\");\n      qh.className = \"font-medium mb-1\";\n      qh.textContent = q.q;\n      item.appendChild(qh);\n\n      \/\/ Show user's answer and correct answer\n      const userAns = answers[q.id];\n      if (!userAns) {\n        const p = document.createElement(\"div\");\n        p.className = \"text-sm text-slate-600\";\n        p.textContent = \"Non r\u00e9pondu.\";\n        item.appendChild(p);\n      } else {\n        const chosenText = (q.choices.find(c => c.id === userAns) || { text: userAns }).text;\n        const p1 = document.createElement(\"div\");\n        p1.className = \"text-sm\";\n        p1.innerHTML = `<span class=\"font-semibold\">Votre r\u00e9ponse :<\/span> ${chosenText}`;\n        item.appendChild(p1);\n\n        if (q.correct) {\n          const correctText = (q.choices.find(c => c.id === q.correct) || { text: q.correct }).text;\n          const p2 = document.createElement(\"div\");\n          p2.className = \"text-sm\";\n          p2.innerHTML = `<span class=\"font-semibold\">Bonne r\u00e9ponse :<\/span> ${correctText}`;\n          item.appendChild(p2);\n        }\n      }\n\n      \/\/ Explanation\n      if (q.explanation) {\n        const exp = document.createElement(\"div\");\n        exp.className = \"text-sm text-slate-700 mt-2\";\n        exp.innerHTML = `<strong>Explication :<\/strong> ${q.explanation}`;\n        item.appendChild(exp);\n      }\n\n      reviewList.appendChild(item);\n    });\n  }\n\n  \/\/ Review button\n  reviewBtn.addEventListener(\"click\", () => {\n    reviewSection.classList.remove(\"hidden\");\n    reviewSection.scrollIntoView({behavior:\"smooth\"});\n  });\n\n  \/\/ Try again button -> restart quiz UI\n  tryAgainBtn.addEventListener(\"click\", () => {\n    \/\/ Reset UI visibility\n    document.getElementById(\"quiz-stage\").classList.remove(\"hidden\");\n    resultSection.classList.add(\"hidden\");\n    reviewSection.classList.add(\"hidden\");\n    init();\n    document.getElementById(\"quiz-stage\").scrollIntoView({behavior:\"smooth\"});\n  });\n\n  \/\/ Initialize on load\n  init();\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Les pompes restent l\u2019examen le plus parlant du haut du corps : elles demandent de la coordination, du gainage et une transmission de force entre les \u00e9paules, la cage thoracique et les bras. Que l\u2019objectif soit esth\u00e9tique, force ou endurance, comprendre quels muscles sont r\u00e9ellement sollicit\u00e9s permet d\u2019ajuster la technique et les variantes pour progresser &#8230; <a title=\"Les muscles travaill\u00e9s aux pompes : liste compl\u00e8te et guide d\u00e9taill\u00e9\" class=\"read-more\" href=\"https:\/\/www.bras-de-fer.fr\/blog\/muscles-pompes-guide\/\" aria-label=\"En savoir plus sur Les muscles travaill\u00e9s aux pompes : liste compl\u00e8te et guide d\u00e9taill\u00e9\">Lire plus<\/a><\/p>\n","protected":false},"author":1,"featured_media":5626,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-5627","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sport"],"views":1,"_links":{"self":[{"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/posts\/5627","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/comments?post=5627"}],"version-history":[{"count":0,"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/posts\/5627\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/media\/5626"}],"wp:attachment":[{"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/media?parent=5627"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/categories?post=5627"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/tags?post=5627"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}