{"id":5564,"date":"2026-05-13T08:46:39","date_gmt":"2026-05-13T06:46:39","guid":{"rendered":"https:\/\/www.bras-de-fer.fr\/blog\/manger-avant-sport\/"},"modified":"2026-05-13T08:46:39","modified_gmt":"2026-05-13T06:46:39","slug":"manger-avant-sport","status":"publish","type":"post","link":"https:\/\/www.bras-de-fer.fr\/blog\/manger-avant-sport\/","title":{"rendered":"Que manger avant une s\u00e9ance de sport : conseils pour bien s\u2019alimenter"},"content":{"rendered":"<p><strong>En bref :<\/strong><\/p>\n\n<ul class=\"wp-block-list\"><li><strong>Timing :<\/strong> 2\u20133 heures pour un vrai repas, 30\u201360 minutes pour une collation \u00e9nerg\u00e9tique.<\/li><li><strong>Macros :<\/strong> privil\u00e9gier les <strong>glucides complexes<\/strong> + une dose mod\u00e9r\u00e9e de <strong>prot\u00e9ines<\/strong> pour l&rsquo;<strong>\u00e9nergie avant sport<\/strong>.<\/li><li><strong>Digestion facile :<\/strong> \u00e9viter les aliments riches en fibres ou en graisses juste avant l\u2019effort.<\/li><li><strong>Hydratation :<\/strong> commencer bien hydrat\u00e9, puis s\u2019apporter 200\u2013300 ml dans l\u2019heure pr\u00e9c\u00e9dant la s\u00e9ance.<\/li><li><strong>Adaptation :<\/strong> moduler selon la dur\u00e9e, l\u2019intensit\u00e9 et le profil (perte de poids, prise de masse, v\u00e9gan).<\/li><\/ul>\n\n<p><strong>Que manger avant une s\u00e9ance de sport<\/strong> soul\u00e8ve souvent des questions simples : combien manger, quand le faire, et quoi choisir pour avoir de l&rsquo;<strong>\u00e9nergie avant sport<\/strong> sans lourdeur ? Cet article synth\u00e9tise les principes de l&rsquo;<strong>alimentation sportive<\/strong> applicables au quotidien, propose des exemples chiffr\u00e9s pour un coureur, un pratiquant de musculation et un sportif en s\u00e9ance cardio, et d\u00e9taille des options rapides selon le <strong>temps de digestion<\/strong>. Vous trouverez des menus selon le d\u00e9lai avant l\u2019effort, des portions pr\u00e9cises (en grammes ou en calories), des conseils d\u2019<strong>hydratation<\/strong>, et des erreurs fr\u00e9quentes \u00e0 \u00e9viter. Un fil conducteur accompagne l\u2019exemple d\u2019Alexandre, 35 ans, amateur de trail qui cherche \u00e0 optimiser ses s\u00e9ances sans complexit\u00e9 : il testera des repas \u00e0 3 heures, 90 minutes et 20 minutes avant sa sortie. Le ton reste concret et pratique : pas de recettes miracles, juste des rep\u00e8res exploitables d\u00e8s la semaine prochaine. Si l\u2019objectif est la performance ou la gestion du poids, la m\u00eame logique s\u2019applique mais avec des ajustements cibl\u00e9s ; pour approfondir l\u2019impact de la nutrition sur la performance, consultez <a href=\"https:\/\/www.bras-de-fer.fr\/blog\/la-nutrition-sportive-peut-transformer-tes-performances\/\">cette ressource<\/a>. Phrase-cl\u00e9 : commencez par tester un d\u00e9lai et une portion, puis ajustez en fonction du ressenti.<\/p>\n\n<h2 class=\"wp-block-heading\">Principes de base de l&rsquo;alimentation sportive avant l&rsquo;effort<\/h2>\n\n<p>Avant une s\u00e9ance, l\u2019objectif est simple : fournir <strong>\u00e9nergie<\/strong> disponible, pr\u00e9server la fonction musculaire et limiter les troubles digestifs. Favorisez des apports rapides en <strong>glucides complexes<\/strong> et une dose mod\u00e9r\u00e9e de <strong>prot\u00e9ines<\/strong> pour soutenir la contraction.<\/p>\n\n<p>Pour la plupart des sportifs amateurs, l\u2019\u00e9quilibre \u00e0 viser avant l\u2019effort est : <strong>30\u201360 g de glucides<\/strong> selon l\u2019intensit\u00e9, <strong>10\u201320 g de prot\u00e9ines<\/strong> si la s\u00e9ance inclut du renforcement, et peu de graisses et fibres pour une <strong>digestion facile<\/strong>. Ces rep\u00e8res aident \u00e0 planifier un <strong>repas pr\u00e9-entra\u00eenement<\/strong> adapt\u00e9.<\/p>\n\n<p>Exemple concret : un coureur de 70 kg fera un repas 3 heures avant (~70\u201390 g de glucides, 20 g prot\u00e9ines) ou une collation 45 minutes avant (~40 g glucides, 10 g prot\u00e9ines). Phrase-cl\u00e9 : privil\u00e9gier les glucides mesurables et limiter graisses\/fibres proches de l\u2019effort.<\/p>\n\n<h3 class=\"wp-block-heading\">Macros et r\u00f4les rapides<\/h3>\n\n<p><strong>Glucides :<\/strong> carburant principal, stock\u00e9s sous forme de glycog\u00e8ne ; les complexes (avoine, riz complet, patate douce) apportent \u00e9nergie durable.<\/p>\n\n<p><strong>Prot\u00e9ines :<\/strong> limitent la d\u00e9gradation musculaire et facilitent la r\u00e9cup\u00e9ration ; <a href=\"https:\/\/www.bras-de-fer.fr\/blog\/proteines-besoins-par-kg\/\">consultez les besoins par kg<\/a> pour calibrer pr\u00e9cis\u00e9ment.<\/p>\n\n<p><strong>Graisses\/fibres :<\/strong> \u00e0 r\u00e9duire avant l\u2019effort pour \u00e9viter les inconforts digestifs.<\/p>\n\n<p>Phrase-cl\u00e9 : composez le repas selon la dur\u00e9e d\u2019effort et le poids corporel en gardant ces r\u00f4les en t\u00eate.<\/p>\n\n<h2 class=\"wp-block-heading\">Repas pr\u00e9-entra\u00eenement selon le timing<\/h2>\n\n<p>Le m\u00eame sportif ne mangera pas de la m\u00eame fa\u00e7on selon qu\u2019il s\u2019entra\u00eene dans 3 heures ou dans 20 minutes. Voici des solutions actionnables pour chaque fen\u00eatre temporelle.<\/p>\n\n<h3 class=\"wp-block-heading\">Repas 2\u20133 heures avant (s\u00e9ance longue ou intense)<\/h3>\n\n<p>Objectif : remplir les r\u00e9serves sans surcharge digestive. Exemple de menu pour une s\u00e9ance de 60\u201390 minutes :<\/p>\n\n<ul class=\"wp-block-list\"><li><strong>150 g de riz complet cuit<\/strong> + <strong>120 g de blanc de poulet<\/strong> + l\u00e9gumes cuits (faible en fibres) \u2014 environ <strong>600\u2013700 kcal<\/strong>.<\/li><li>Ou <strong>100 g de p\u00e2tes compl\u00e8tes<\/strong> + 1 \u0153uf + 150 g de saumon fum\u00e9 \u2014 ~<strong>500 kcal<\/strong>.<\/li><\/ul>\n\n<p>Pour un sportif de 70 kg, viser <strong>2\u20134 g de glucides\/kg<\/strong> pour ce repas, selon l&rsquo;intensit\u00e9. Phrase-cl\u00e9 : un vrai repas permet d&rsquo;attaquer une longue s\u00e9ance sans coup de mou.<\/p>\n\n<h3 class=\"wp-block-heading\">Collation 60\u201390 minutes avant (s\u00e9ance mod\u00e9r\u00e9e)<\/h3>\n\n<p>Objectif : apporter du glycog\u00e8ne rapidement mobilisable. Exemples :<\/p>\n\n<ul class=\"wp-block-list\"><li><strong>Banane + 150 g de yaourt grec<\/strong> (\u2248 40\u201360 g glucides, 10\u201315 g prot\u00e9ines).<\/li><li><strong>Bol d\u2019avoine rapide (50 g flocons) + miel<\/strong> (\u2248 35\u201350 g glucides).<\/li><\/ul>\n\n<p>Ces choix favorisent une <strong>digestion facile<\/strong> et un apport de glucides progressif. Phrase-cl\u00e9 : la collation doit \u00eatre l\u00e9g\u00e8re mais efficace.<\/p>\n\n<h3 class=\"wp-block-heading\">Moins de 45 minutes (pr\u00e9f\u00e9rence pour une <strong>collation \u00e9nerg\u00e9tique<\/strong>)<\/h3>\n\n<p>Objectif : \u00e9nergie ultra-rapide, tr\u00e8s faible charge digestive. Options :<\/p>\n\n<ul class=\"wp-block-list\"><li><strong>1 banane + 1 barre \u00e9nerg\u00e9tique<\/strong> \u00e0 base de maltodextrine \u2014 ~30\u201340 g glucides.<\/li><li><strong>Gel \u00e9nerg\u00e9tique ou boisson sportive<\/strong> si tol\u00e9rance ; privil\u00e9gier <strong>glucides simples<\/strong>.<\/li><\/ul>\n\n<p>\u00c9viter les prot\u00e9ines lourdes et les graisses \u00e0 cet instant. Phrase-cl\u00e9 : privil\u00e9gier les glucides rapides quand le temps manque.<\/p>\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Temps avant s\u00e9ance<\/th>\n<th>Aliments recommand\u00e9s<\/th>\n<th>Portions indicatives<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>2\u20133 heures<\/strong><\/td>\n<td>Riz\/p\u00e2tes compl\u00e8tes + prot\u00e9ine maigre<\/td>\n<td><strong>150 g<\/strong> riz cuit + <strong>100\u2013150 g<\/strong> prot\u00e9ine<\/td>\n<\/tr>\n<tr>\n<td><strong>60\u201390 minutes<\/strong><\/td>\n<td>Bol d\u2019avoine, yaourt grec, fruit<\/td>\n<td><strong>50\u201380 g<\/strong> glucides + <strong>10\u201315 g<\/strong> prot\u00e9ines<\/td>\n<\/tr>\n<tr>\n<td><strong>&lt;45 minutes<\/strong><\/td>\n<td>Banane, gel, boisson sportive<\/td>\n<td><strong>30\u201340 g<\/strong> glucides rapides<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n<p>Phrase-cl\u00e9 : s\u00e9lectionnez la fen\u00eatre et le format (repas vs collation) qui correspondent \u00e0 votre planning et tol\u00e9rance.<\/p>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@tailwindcss\/browser@4\"><\/script>\n\n<!--\nBloc pr\u00eat \u00e0 copier\/coller : Calculateur \"Que manger avant une s\u00e9ance de sport\"\nRemarques techniques :\n- Aucun service\/API externe utilis\u00e9 (outil autonome en local).\n- Hauteur totale raisonnable ; responsive ; accessible (labels, aria-live).\n- Toutes les cha\u00eenes en fran\u00e7ais, centralis\u00e9es dans `TEXTES` pour faciliter l'\u00e9dition.\n-->\n\n<div id=\"calc-pre-sport\" class=\"max-w-2xl mx-auto p-4 mt-6 rounded-lg border border-gray-200 bg-white shadow-sm\" style=\"max-height:2000px;\">\n  <h2 class=\"text-2xl font-semibold mb-2\" id=\"titre-calculateur\">Calculateur : Que manger avant une s\u00e9ance de sport<\/h2>\n  <p class=\"text-sm text-gray-600 mb-4\" id=\"desc-calculateur\">\n    Calculez la quantit\u00e9 de glucides et prot\u00e9ines pr\u00e9-entra\u00eenement selon votre poids (kg), dur\u00e9e de la s\u00e9ance (min) et intensit\u00e9.\n  <\/p>\n\n  <form id=\"form-calculateur\" class=\"space-y-4\" onsubmit=\"return false;\">\n    <div class=\"grid grid-cols-1 gap-3 sm:grid-cols-2\">\n      <div>\n        <label for=\"poids\" class=\"block text-sm font-medium text-gray-700\">Poids (kg)<\/label>\n        <input id=\"poids\" name=\"poids\" type=\"number\" min=\"30\" max=\"300\" step=\"0.1\" inputmode=\"decimal\"\n               class=\"mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:ring-indigo-500 focus:border-indigo-500\"\n               aria-describedby=\"poids-help\" required value=\"70\">\n        <p id=\"poids-help\" class=\"text-xs text-gray-500\">Entrez votre poids en kilogrammes.<\/p>\n      <\/div>\n\n      <div>\n        <label for=\"duree\" class=\"block text-sm font-medium text-gray-700\">Dur\u00e9e s\u00e9ance (min)<\/label>\n        <input id=\"duree\" name=\"duree\" type=\"number\" min=\"5\" max=\"600\" step=\"1\" inputmode=\"numeric\"\n               class=\"mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:ring-indigo-500 focus:border-indigo-500\"\n               aria-describedby=\"duree-help\" required value=\"60\">\n        <p id=\"duree-help\" class=\"text-xs text-gray-500\">Dur\u00e9e pr\u00e9vue de la s\u00e9ance en minutes.<\/p>\n      <\/div>\n    <\/div>\n\n    <fieldset class=\"mt-2\">\n      <legend class=\"text-sm font-medium text-gray-700\">Intensit\u00e9<\/legend>\n      <div class=\"mt-2 flex gap-2\" role=\"radiogroup\" aria-labelledby=\"intensite-label\">\n        <label class=\"inline-flex items-center rounded-md border px-3 py-2 cursor-pointer\">\n          <input type=\"radio\" name=\"intensite\" value=\"faible\" checked class=\"mr-2\" \/>\n          Faible\n        <\/label>\n        <label class=\"inline-flex items-center rounded-md border px-3 py-2 cursor-pointer\">\n          <input type=\"radio\" name=\"intensite\" value=\"moderee\" class=\"mr-2\" \/>\n          Mod\u00e9r\u00e9e\n        <\/label>\n        <label class=\"inline-flex items-center rounded-md border px-3 py-2 cursor-pointer\">\n          <input type=\"radio\" name=\"intensite\" value=\"elevee\" class=\"mr-2\" \/>\n          \u00c9lev\u00e9e\n        <\/label>\n      <\/div>\n      <p class=\"text-xs text-gray-500 mt-2\">Choisissez l&rsquo;intensit\u00e9 pr\u00e9vue de la s\u00e9ance.<\/p>\n    <\/fieldset>\n\n    <div class=\"flex gap-2 mt-2\">\n      <button id=\"btn-calculer\" type=\"button\" class=\"inline-flex items-center px-4 py-2 bg-indigo-600 text-white rounded hover:bg-indigo-700 focus:outline-none\" aria-controls=\"resultats\" aria-expanded=\"false\">\n        Calculer\n      <\/button>\n      <button id=\"btn-reinitialiser\" type=\"button\" class=\"inline-flex items-center px-4 py-2 bg-gray-100 text-gray-700 rounded hover:bg-gray-200 focus:outline-none\">\n        R\u00e9initialiser\n      <\/button>\n    <\/div>\n  <\/form>\n\n  <div id=\"resultats\" class=\"mt-4 p-4 rounded-md border border-dashed border-gray-200 bg-gray-50\" aria-live=\"polite\">\n    <p class=\"text-sm text-gray-600\">Aucun calcul effectu\u00e9.<\/p>\n  <\/div>\n\n  <details class=\"mt-4 text-sm text-gray-700\">\n    <summary class=\"cursor-pointer font-medium\">Comment sont calcul\u00e9es les recommandations ?<\/summary>\n    <div class=\"mt-2\">\n      <p>Bas\u00e9 sur des r\u00e8gles g\u00e9n\u00e9rales en nutrition sportive :<\/p>\n      <ul class=\"list-disc pl-5 mt-1\">\n        <li>Glucides : quantit\u00e9 estim\u00e9e (g) = poids (kg) \u00d7 facteur selon dur\u00e9e et intensit\u00e9.<\/li>\n        <li>Prot\u00e9ines : apport mod\u00e9r\u00e9 pr\u00e9-entra\u00eenement pour soutenir la synth\u00e8se (g) = poids (kg) \u00d7 0.16\u20130.30 selon intensit\u00e9.<\/li>\n      <\/ul>\n      <p class=\"mt-2 text-xs text-gray-500\">Ces valeurs sont indicatives. Consultez un(e) nutritionniste pour un plan personnalis\u00e9.<\/p>\n    <\/div>\n  <\/details>\n<\/div>\n\n<script>\n\/*\n  Script de logique pour le calculateur pr\u00e9-entra\u00eenement\n  - Toutes les cha\u00eenes en fran\u00e7ais, centralis\u00e9es ci-dessous.\n  - Pas d'API externe utilis\u00e9e (outil autonome).\n*\/\n\n\/* ==========================\n   TEXTES (modifiable facilement)\n   ========================== *\/\nconst TEXTES = {\n  titreAucun: \"Aucun calcul effectu\u00e9.\",\n  resultatIntro: \"Recommandations pr\u00e9-entra\u00eenement\",\n  glucidesLabel: \"Glucides (g)\",\n  proteinesLabel: \"Prot\u00e9ines (g)\",\n  exemplesLabel: \"Exemples alimentaires (approx.)\",\n  avertissement: \"Ces recommandations sont g\u00e9n\u00e9rales. Adaptez selon tol\u00e9rance personnelle et moment du repas. Consultez un professionnel pour un suivi personnalis\u00e9.\"\n};\n\n\/* ==========================\n   Param\u00e8tres et r\u00e8gles de calcul\n   - On d\u00e9finit une r\u00e8gle simple et transparente.\n   - Glucides : base selon dur\u00e9e (g\/kg), modifi\u00e9 par intensit\u00e9.\n   - Prot\u00e9ines : g\/kg selon intensit\u00e9.\n   ========================== *\/\n\n\/*\n  R\u00e8gles utilis\u00e9es (expliqu\u00e9es) :\n  - Base glucides en g\/kg selon dur\u00e9e :\n      < 30 min : 0.5 g\/kg\n      30 - 60 min : 1.0 g\/kg\n      60 - 120 min : 1.5 g\/kg\n      > 120 min : 3.0 g\/kg\n  - Facteur d'intensit\u00e9 pour glucides :\n      faible  => 0.8\n      mod\u00e9r\u00e9e => 1.0\n      \u00e9lev\u00e9e  => 1.2\n  - Prot\u00e9ines (g\/kg) selon intensit\u00e9 :\n      faible  => 0.16 g\/kg\n      mod\u00e9r\u00e9e => 0.20 g\/kg\n      \u00e9lev\u00e9e  => 0.30 g\/kg\n\n  Ces choix visent l'\u00e9quilibre entre simplicit\u00e9 et utilit\u00e9 pour un public g\u00e9n\u00e9ral.\n*\/\n\nfunction baseGlucidesParKg(dureeMin) {\n  if (dureeMin < 30) return 0.5;\n  if (dureeMin <= 60) return 1.0;\n  if (dureeMin <= 120) return 1.5;\n  return 3.0;\n}\n\nfunction facteurIntensiteGlucides(intensite) {\n  switch (intensite) {\n    case 'faible': return 0.8;\n    case 'moderee': return 1.0;\n    case 'elevee': return 1.2;\n    default: return 1.0;\n  }\n}\n\nfunction proteinesParKg(intensite) {\n  switch (intensite) {\n    case 'faible': return 0.16;\n    case 'moderee': return 0.20;\n    case 'elevee': return 0.30;\n    default: return 0.20;\n  }\n}\n\n\/* Exemples alimentaires (approximations) pour visualiser les quantit\u00e9s *\/\nconst ALIMENTS = [\n  { nom: \"Banane moyenne\", glucides: 27, proteines: 1.3 },\n  { nom: \"Tranche pain complet\", glucides: 12, proteines: 3.5 },\n  { nom: \"30 g flocons d'avoine secs\", glucides: 18, proteines: 5 },\n  { nom: \"100 g riz cuit\", glucides: 28, proteines: 2.5 },\n  { nom: \"150 g yaourt grec\", glucides: 6, proteines: 10 },\n  { nom: \"30 g poudre de whey\", glucides: 2, proteines: 24 }\n];\n\n\/* ==========================\n   Utilitaires\n   ========================== *\/\n\nfunction arrondir(valeur, decimales = 1) {\n  const mul = Math.pow(10, decimales);\n  return Math.round(valeur * mul) \/ mul;\n}\n\n\/* G\u00e9n\u00e8re une liste d'\u00e9quivalents alimentaires pour visualiser la portion n\u00e9cessaire *\/\nfunction genererEquivalents(grammesGlucides, grammesProteines) {\n  \/\/ Choix simple : proposer 3 aliments qui couvrent majoritairement les glucides et prot\u00e9ines.\n  const suggestions = [];\n\n  \/\/ Pour les glucides : trouver aliments riches en glucides\n  const alimentsGlucides = ALIMENTS.slice().sort((a,b) => (b.glucides - a.glucides));\n  \/\/ Pour les prot\u00e9ines : aliments riches en prot\u00e9ines\n  const alimentsProteines = ALIMENTS.slice().sort((a,b) => (b.proteines - a.proteines));\n\n  \/\/ Proposer jusqu'\u00e0 3 suggestions : 2 pour glucides, 2 pour prot\u00e9ines (fusionn\u00e9es si double)\n  const propose = [];\n\n  \/\/ Premier aliment glucides\n  if (grammesGlucides > 2) {\n    const a = alimentsGlucides[0];\n    const quantite = Math.max(1, Math.round((grammesGlucides \/ a.glucides) * 10) \/ 10);\n    propose.push(`${quantite} \u00d7 ${a.nom} (\u2248 ${arrondir(quantite * a.glucides,1)} g glucides)`);\n  }\n\n  \/\/ Deuxi\u00e8me aliment glucides (si n\u00e9cessaire)\n  if (grammesGlucides > 15 && alimentsGlucides[1]) {\n    const a = alimentsGlucides[1];\n    const quantite = Math.max(0.5, Math.round((grammesGlucides \/ a.glucides) * 10) \/ 10);\n    propose.push(`${quantite} \u00d7 ${a.nom} (\u2248 ${arrondir(quantite * a.glucides,1)} g glucides)`);\n  }\n\n  \/\/ Aliment prot\u00e9in\u00e9\n  if (grammesProteines > 5) {\n    const p = alimentsProteines[0];\n    const quantiteP = Math.max(0.5, Math.round((grammesProteines \/ p.proteines) * 10) \/ 10);\n    propose.push(`${quantiteP} \u00d7 ${p.nom} (\u2248 ${arrondir(quantiteP * p.proteines,1)} g prot\u00e9ines)`);\n  }\n\n  \/\/ D\u00e9-duplicatation et limiter \u00e0 4 lignes\n  const uniq = Array.from(new Set(propose)).slice(0,4);\n  return uniq;\n}\n\n\/* ==========================\n   Interaction DOM\n   ========================== *\/\n\nconst form = document.getElementById('form-calculateur');\nconst btnCalculer = document.getElementById('btn-calculer');\nconst btnReset = document.getElementById('btn-reinitialiser');\nconst divResultats = document.getElementById('resultats');\n\nfunction afficherMessageAucun() {\n  divResultats.innerHTML = `<p class=\"text-sm text-gray-600\">${TEXTES.titreAucun}<\/p>`;\n}\n\nafficherMessageAucun();\n\nfunction calculerEtAfficher() {\n  \/\/ R\u00e9cup\u00e9ration valeurs\n  const poids = parseFloat(document.getElementById('poids').value);\n  const duree = parseFloat(document.getElementById('duree').value);\n  const intensite = (form.querySelector('input[name=\"intensite\"]:checked') || {}).value || 'moderee';\n\n  \/\/ Validation basique\n  if (!poids || poids <= 0 || poids > 500) {\n    divResultats.innerHTML = `<p class=\"text-sm text-red-600\">Veuillez entrer un poids valide (kg).<\/p>`;\n    return;\n  }\n  if (!duree || duree <= 0 || duree > 1440) {\n    divResultats.innerHTML = `<p class=\"text-sm text-red-600\">Veuillez entrer une dur\u00e9e valide (minutes).<\/p>`;\n    return;\n  }\n\n  \/\/ Calcul glucides\n  const baseGperKg = baseGlucidesParKg(duree);\n  const facteur = facteurIntensiteGlucides(intensite);\n  let glucidesParKg = baseGperKg * facteur;\n  \/\/ Clamp raisonnable\n  if (glucidesParKg < 0.2) glucidesParKg = 0.2;\n  if (glucidesParKg > 6) glucidesParKg = 6;\n\n  const totalGlucides = arrondir(glucidesParKg * poids, 0); \/\/ arrondi grammes\n\n  \/\/ Calcul prot\u00e9ines\n  const protParKg = proteinesParKg(intensite);\n  const totalProteines = arrondir(protParKg * poids, 1);\n\n  \/\/ G\u00e9n\u00e9ration exemples\n  const exemples = genererEquivalents(totalGlucides, totalProteines);\n\n  \/\/ Timing \/ micro-conseil selon dur\u00e9e\n  let timingConseil = \"\";\n  if (duree < 45) {\n    timingConseil = \"Petit snack 30\u201360 min avant (repas l\u00e9ger).\";\n  } else if (duree <= 120) {\n    timingConseil = \"Repas\/snack 1\u20133 heures avant selon tol\u00e9rance.\";\n  } else {\n    timingConseil = \"Repas complet 2\u20134 heures avant + snack riche en glucides 30\u201360 min avant si besoin.\";\n  }\n\n  \/\/ Affichage\n  divResultats.innerHTML = `\n    <h3 class=\"text-lg font-semibold mb-2\">${TEXTES.resultatIntro}<\/h3>\n    <div class=\"grid grid-cols-1 sm:grid-cols-2 gap-3\">\n      <div class=\"p-3 rounded bg-white border\">\n        <div class=\"text-sm text-gray-600\">${TEXTES.glucidesLabel}<\/div>\n        <div class=\"text-2xl font-bold text-indigo-700\">${totalGlucides} g<\/div>\n        <div class=\"text-xs text-gray-500 mt-1\">(${arrondir(glucidesParKg,2)} g\/kg \u00d7 ${poids} kg)<\/div>\n      <\/div>\n      <div class=\"p-3 rounded bg-white border\">\n        <div class=\"text-sm text-gray-600\">${TEXTES.proteinesLabel}<\/div>\n        <div class=\"text-2xl font-bold text-indigo-700\">${totalProteines} g<\/div>\n        <div class=\"text-xs text-gray-500 mt-1\">(${arrondir(protParKg,2)} g\/kg \u00d7 ${poids} kg)<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"mt-3 p-3 rounded bg-white border\">\n      <div class=\"text-sm font-medium\">${TEXTES.exemplesLabel}<\/div>\n      <ul class=\"list-disc pl-5 mt-2 text-sm text-gray-700\">\n        ${exemples.length ? exemples.map(e => `<li>${e}<\/li>`).join('') : `<li>Pas d'exemple disponible.<\/li>`}\n      <\/ul>\n      <p class=\"mt-2 text-xs text-gray-500\">${timingConseil}<\/p>\n    <\/div>\n\n    <p class=\"mt-3 text-xs text-gray-500\">${TEXTES.avertissement}<\/p>\n  `;\n\n  \/\/ accessibilit\u00e9 : mettre le bouton calculer aria-expanded true\n  btnCalculer.setAttribute('aria-expanded', 'true');\n}\n\n\/* Event listeners *\/\nbtnCalculer.addEventListener('click', () => calculerEtAfficher());\n\nbtnReset.addEventListener('click', () => {\n  document.getElementById('poids').value = 70;\n  document.getElementById('duree').value = 60;\n  form.querySelector('input[name=\"intensite\"][value=\"faible\"]').checked = true;\n  afficherMessageAucun();\n  btnCalculer.setAttribute('aria-expanded', 'false');\n  \/\/ remettre le focus sur le premier champ\n  document.getElementById('poids').focus();\n});\n\n\/\/ Permettre Enter pour calculer depuis n'importe quel champ du formulaire\nform.addEventListener('keydown', (e) => {\n  if (e.key === 'Enter') {\n    e.preventDefault();\n    calculerEtAfficher();\n  }\n});\n\n\/* Note : Si vous souhaitez int\u00e9grer des API publiques gratuites pour donn\u00e9es compl\u00e9mentaires\n   (par ex. database d'aliments), ajoutez ici l'URL et un exemple de r\u00e9ponse JSON.\n   Exemple (non utilis\u00e9) :\n   \/\/ API publique exemple : https:\/\/api.edamam.com\/ (n\u00e9cessite cl\u00e9) -> non adapt\u00e9e.\n   \/\/ Ce calculateur n'utilise pas d'API externe pour garantir la gratuit\u00e9 et confidentialit\u00e9.\n*\/\n<\/script>\n\n<h2 class=\"wp-block-heading\">Hydratation et digestion avant la s\u00e9ance<\/h2>\n\n<p>La performance d\u00e9pend aussi de l&rsquo;<strong>hydratation<\/strong>. Boire suffisamment les heures pr\u00e9c\u00e9dant l\u2019effort r\u00e9duit la perception d\u2019effort et le risque de crampes.<\/p>\n\n<p>Rep\u00e8res pratiques : <strong>5\u20137 ml\/kg<\/strong> de liquide dans les 2\u20133 heures avant la s\u00e9ance, puis <strong>200\u2013300 ml<\/strong> dans les 10\u201320 minutes pr\u00e9c\u00e9dant le d\u00e9part. Pour une s\u00e9ance longue ou en chaleur, pr\u00e9voir une boisson contenant \u00e9lectrolytes.<\/p>\n\n<p>Si la digestion est lente, tester des boissons l\u00e9g\u00e8rement sucr\u00e9es avant l\u2019effort pour limiter la charge gastrique. Phrase-cl\u00e9 : boire \u00e0 intervalles r\u00e9guliers plut\u00f4t que de grandes quantit\u00e9s d\u2019un coup.<\/p>\n\n<h2 class=\"wp-block-heading\">Erreurs fr\u00e9quentes \u00e0 \u00e9viter<\/h2>\n\n<ul class=\"wp-block-list\"><li><strong>Manger trop gras ou trop fibreux<\/strong> juste avant l\u2019effort \u2014 provoque lourdeur et ballonnements.<\/li><li><strong>Sauter le repas<\/strong> avant une s\u00e9ance longue \u2014 risque de baisse d\u2019intensit\u00e9 et de fringale.<\/li><li><strong>Tester un aliment nouveau<\/strong> la veille d\u2019un entra\u00eenement important : pr\u00e9f\u00e9rer des aliments d\u00e9j\u00e0 \u00e9prouv\u00e9s.<\/li><li><strong>Trop boire d\u2019un coup<\/strong> avant le d\u00e9part \u2014 favorise inconfort gastrique ; mieux vaut r\u00e9partir.<\/li><\/ul>\n\n<p>Phrase-cl\u00e9 : anticipez et testez vos routines lors d\u2019entra\u00eenements classiques avant de les appliquer en comp\u00e9tition.<\/p>\n\n<h2 class=\"wp-block-heading\">Variantes selon le profil et l\u2019objectif<\/h2>\n\n<p>Les besoins diff\u00e8rent selon l\u2019objectif : un sportif en <strong>prise de masse<\/strong> ajoutera un peu plus de prot\u00e9ines et de calories ; un pratiquant en <strong>gestion de poids<\/strong> r\u00e9duira l\u00e9g\u00e8rement les portions glucidiques tout en gardant un apport avant l\u2019effort.<\/p>\n\n<p>Options pratiques :<\/p>\n\n<ul class=\"wp-block-list\"><li>V\u00e9gan : avoine + pur\u00e9e d\u2019ol\u00e9agineux + banane pour combiner <strong>glucides<\/strong> et <strong>prot\u00e9ines<\/strong> v\u00e9g\u00e9tales.<\/li><li>Seniors : privil\u00e9gier petites portions plus fr\u00e9quentes et prot\u00e9ines faciles \u00e0 dig\u00e9rer.<\/li><li>Musculation : inclure <strong>10\u201320 g<\/strong> de prot\u00e9ines avant la s\u00e9ance pour soutenir la synth\u00e8se musculaire; voir des strat\u00e9gies pour la <a href=\"https:\/\/www.bras-de-fer.fr\/blog\/optimiser-prise-masse\/\">prise de masse<\/a>.<\/li><\/ul>\n\n<p>Phrase-cl\u00e9 : adaptez portions et formats selon l\u2019objectif sans changer les principes de base.<\/p>\n\n<h2 class=\"wp-block-heading\">Cas pratique : Alexandre, trail et essais rapides<\/h2>\n\n<p>Profil : 35 ans, 70 kg, sortie trail de 90 minutes \u00e0 intensit\u00e9 variable. Plan test\u00e9 pendant 4 semaines :<\/p>\n\n<ol class=\"wp-block-list\"><li>Sortie matinale : bol d\u2019avoine (50 g) + 1 yaourt grec 90 minutes avant \u2014 \u00e9nergie stable, digestion correcte.<\/li><li>Sortie apr\u00e8s-midi courte : banane + petite barre 30 minutes avant \u2014 bonne r\u00e9activit\u00e9.<\/li><li>Sortie longue : repas 3 heures avant (riz + poulet) + 200 ml boisson \u00e9lectrolyte 30 minutes avant \u2014 endurance pr\u00e9serv\u00e9e.<\/li><\/ol>\n\n<p>Observation : retenir ce qui fonctionne et garder un plan B (barre ou gel) si le timing change. Phrase-cl\u00e9 : la r\u00e9p\u00e9tition des tests permet d&rsquo;affiner la routine personnelle.<\/p>\n\n<h2 class=\"wp-block-heading\">Ressources compl\u00e9mentaires<\/h2>\n\n<p>Pour approfondir la relation entre nutrition et performance, consulter des articles sp\u00e9cialis\u00e9s sur la <a href=\"https:\/\/www.bras-de-fer.fr\/blog\/la-nutrition-sportive-peut-transformer-tes-performances\/\">nutrition sportive et performance<\/a> et sur les besoins en prot\u00e9ines par kilogramme via <a href=\"https:\/\/www.bras-de-fer.fr\/blog\/proteines-besoins-par-kg\/\">les recommandations pratiques<\/a>. Phrase-cl\u00e9 : documentez-vous pour ajuster vos apports en fonction des progr\u00e8s.<\/p>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Quand faut-il privilu00e9gier un repas complet plutu00f4t qu'une collation?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Si la su00e9ance dure plus d'une heure ou sera tru00e8s intense, choisir un repas 2u20133 heures avant. Pour des su00e9ances courtes ou modu00e9ru00e9es, une collation 30u201390 minutes avant suffit.\"}},{\"@type\":\"Question\",\"name\":\"Que prendre si on a tru00e8s peu de temps avant lu2019effort?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Opter pour une source de glucides rapides (banane, gel, boisson sportive) et limiter les protu00e9ines et graisses pour pru00e9server une digestion facile.\"}},{\"@type\":\"Question\",\"name\":\"Combien de protu00e9ines avant la su00e9ance?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Viser <strong>10u201320 g<\/strong> de protu00e9ines si la su00e9ance inclut du renforcement; sinon, concentrez-vous sur les glucides.\"}},{\"@type\":\"Question\",\"name\":\"Faut-il toujours prendre une boisson avec u00e9lectrolytes?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Pas systu00e9matiquement ; utile surtout pour les su00e9ances longues, intenses ou ru00e9alisu00e9es en chaleur. Pour une su00e9ance courte, l'eau suffit.\"}}]}\n<\/script>\n<h3>Quand faut-il privil\u00e9gier un repas complet plut\u00f4t qu&rsquo;une collation?<\/h3>\n<p>Si la s\u00e9ance dure plus d&rsquo;une heure ou sera tr\u00e8s intense, choisir un repas 2\u20133 heures avant. Pour des s\u00e9ances courtes ou mod\u00e9r\u00e9es, une collation 30\u201390 minutes avant suffit.<\/p>\n<h3>Que prendre si on a tr\u00e8s peu de temps avant l\u2019effort?<\/h3>\n<p>Opter pour une source de glucides rapides (banane, gel, boisson sportive) et limiter les prot\u00e9ines et graisses pour pr\u00e9server une digestion facile.<\/p>\n<h3>Combien de prot\u00e9ines avant la s\u00e9ance?<\/h3>\n<p>Viser <strong>10\u201320 g<\/strong> de prot\u00e9ines si la s\u00e9ance inclut du renforcement; sinon, concentrez-vous sur les glucides.<\/p>\n<h3>Faut-il toujours prendre une boisson avec \u00e9lectrolytes?<\/h3>\n<p>Pas syst\u00e9matiquement ; utile surtout pour les s\u00e9ances longues, intenses ou r\u00e9alis\u00e9es en chaleur. Pour une s\u00e9ance courte, l&rsquo;eau suffit.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>En bref : Que manger avant une s\u00e9ance de sport soul\u00e8ve souvent des questions simples : combien manger, quand le faire, et quoi choisir pour avoir de l&rsquo;\u00e9nergie avant sport sans lourdeur ? Cet article synth\u00e9tise les principes de l&rsquo;alimentation sportive applicables au quotidien, propose des exemples chiffr\u00e9s pour un coureur, un pratiquant de musculation &#8230; <a title=\"Que manger avant une s\u00e9ance de sport : conseils pour bien s\u2019alimenter\" class=\"read-more\" href=\"https:\/\/www.bras-de-fer.fr\/blog\/manger-avant-sport\/\" aria-label=\"En savoir plus sur Que manger avant une s\u00e9ance de sport : conseils pour bien s\u2019alimenter\">Lire plus<\/a><\/p>\n","protected":false},"author":1,"featured_media":5563,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-5564","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-nutrition"],"views":1,"_links":{"self":[{"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/posts\/5564","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=5564"}],"version-history":[{"count":0,"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/posts\/5564\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/media\/5563"}],"wp:attachment":[{"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/media?parent=5564"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/categories?post=5564"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/tags?post=5564"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}