{"id":5566,"date":"2026-05-17T08:36:21","date_gmt":"2026-05-17T06:36:21","guid":{"rendered":"https:\/\/www.bras-de-fer.fr\/blog\/manger-apres-sport-maigrir\/"},"modified":"2026-05-17T08:36:21","modified_gmt":"2026-05-17T06:36:21","slug":"manger-apres-sport-maigrir","status":"publish","type":"post","link":"https:\/\/www.bras-de-fer.fr\/blog\/manger-apres-sport-maigrir\/","title":{"rendered":"Que manger apr\u00e8s le sport pour maigrir : les aliments \u00e0 privil\u00e9gier"},"content":{"rendered":"<p>Apr\u00e8s l\u2019effort, l\u2019assiette peut acc\u00e9l\u00e9rer la perte de poids ou freiner vos progr\u00e8s. Ce guide pratique montre quoi manger juste apr\u00e8s la s\u00e9ance pour favoriser la <strong>r\u00e9cup\u00e9ration musculaire<\/strong>, pr\u00e9server la masse maigre et aider \u00e0 <strong>maigrir apr\u00e8s sport<\/strong> sans privations. Vous trouverez des rep\u00e8res chiffr\u00e9s (quantit\u00e9s de prot\u00e9ines, glucides), des exemples de repas selon l\u2019objectif, des erreurs courantes \u00e0 \u00e9viter et des recettes simples \u00e0 pr\u00e9parer en 10 minutes. Chaque conseil est pens\u00e9 pour un sportif amateur : facile, \u00e9conomique et applicable d\u00e8s aujourd\u2019hui.<\/p>\n\n<p><strong>En bref :<\/strong><\/p>\n\n<ul class=\"wp-block-list\"><li><strong>Fen\u00eatre m\u00e9tabolique<\/strong> : ciblez les 30\u201360 minutes post-exercice pour une collation ou un repas l\u00e9ger.<\/li><li>Combinez <strong>prot\u00e9ines maigres<\/strong> (20\u201330 g) et <strong>glucides complexes<\/strong> selon l\u2019intensit\u00e9 de l\u2019effort.<\/li><li>Privil\u00e9giez <strong>fruits et l\u00e9gumes<\/strong> et limitez les graisses juste apr\u00e8s la s\u00e9ance.<\/li><li>Hydratation apr\u00e8s sport : 500 ml \u00e0 1 litre dans l\u2019heure, compl\u00e9t\u00e9 par des \u00e9lectrolytes si forte transpiration.<\/li><li>Pour <strong>maigrir apr\u00e8s sport<\/strong>, r\u00e9duisez l\u2019apport calorique global sans sacrifier les prot\u00e9ines pour prot\u00e9ger le muscle.<\/li><\/ul>\n\n<h2 class=\"wp-block-heading\">Pourquoi l\u2019alimentation post-entra\u00eenement influence la perte de poids<\/h2>\n\n<p>L\u2019effort modifie imm\u00e9diatement le m\u00e9tabolisme : les muscles sont pr\u00eats \u00e0 absorber nutriments et glucose. Cette <strong>fen\u00eatre m\u00e9tabolique<\/strong> (30\u201390 minutes) facilite le remplissage du glycog\u00e8ne et la r\u00e9paration des fibres.<\/p>\n\n<p>Si l\u2019apport est trop faible, le corps peut puiser dans la masse musculaire au lieu des graisses. Pr\u00e9server le muscle est la meilleure strat\u00e9gie pour br\u00fbler plus de calories au repos et faciliter la perte de poids.<\/p>\n\n<p>Pour r\u00e9sumer : manger intelligemment apr\u00e8s l\u2019effort optimise la <strong>r\u00e9cup\u00e9ration musculaire<\/strong> et soutient un plan visant \u00e0 <strong>maigrir apr\u00e8s sport<\/strong>. C\u2019est la cl\u00e9 pour transformer l\u2019entra\u00eenement en progr\u00e8s visible.<\/p>\n\n<h2 class=\"wp-block-heading\">Que manger dans les 30\u201360 minutes qui suivent : aliments post-sport recommand\u00e9s<\/h2>\n\n<p>La r\u00e8gle simple : combinez <strong>prot\u00e9ines maigres<\/strong> et <strong>glucides complexes<\/strong>, avec quelques l\u00e9gumes. Visez <strong>20 \u00e0 30 g de prot\u00e9ines<\/strong> et 30 \u00e0 60 g de glucides selon l\u2019intensit\u00e9.<\/p>\n\n<ul class=\"wp-block-list\"><li>Prot\u00e9ines rapides : blanc de poulet, poisson, \u0153ufs, fromage blanc 0%, shake de whey ou prot\u00e9ine v\u00e9g\u00e9tale.<\/li><li>Glucides utiles : riz complet, patate douce, flocons d\u2019avoine, pain complet, fruits comme la banane.<\/li><li>Bonnes graisses (en petite quantit\u00e9) : avocat, huile d\u2019olive, quelques noix pour le go\u00fbt et les om\u00e9gas.<\/li><li>Hydratation apr\u00e8s sport : 500\u20131000 ml d\u2019eau dans l\u2019heure et, si besoin, une boisson contenant sodium et potassium.<\/li><\/ul>\n\n<p>Exemple concret : un bol avec 150 g de riz cuit + 120 g de blanc de poulet + 150 g de brocolis couvre bien les besoins apr\u00e8s une s\u00e9ance de 60 minutes. Point final : priorisez la simplicit\u00e9 et la qualit\u00e9 des aliments.<\/p>\n\n<h2 class=\"wp-block-heading\">Repas apr\u00e8s entra\u00eenement selon l\u2019objectif : maigrir, performance, endurance<\/h2>\n\n<p>Adapter la quantit\u00e9 de glucides change tout. Pour <strong>maigrir apr\u00e8s sport<\/strong>, maintenez des prot\u00e9ines \u00e9lev\u00e9es et r\u00e9duisez mod\u00e9r\u00e9ment les glucides totaux sur la journ\u00e9e, pas forc\u00e9ment juste apr\u00e8s la s\u00e9ance.<\/p>\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Objectif<\/th>\n<th>Prot\u00e9ines (post)<\/th>\n<th>Glucides (post)<\/th>\n<th>Exemple rapide<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Maigrir<\/td>\n<td><strong>20\u201330 g<\/strong><\/td>\n<td>30\u201340 g (mod\u00e9r\u00e9)<\/td>\n<td>150 g de saumon grill\u00e9 + 100 g de quinoa + l\u00e9gumes vapeur<\/td>\n<\/tr>\n<tr>\n<td>Prise de masse<\/td>\n<td><strong>25\u201335 g<\/strong><\/td>\n<td>50\u201380 g (\u00e9lev\u00e9)<\/td>\n<td>200 g de riz + 150 g de poulet + salade<\/td>\n<\/tr>\n<tr>\n<td>Endurance<\/td>\n<td><strong>15\u201325 g<\/strong><\/td>\n<td>60\u201390 g (tr\u00e8s \u00e9lev\u00e9)<\/td>\n<td>P\u00e2tes compl\u00e8tes + dinde + fruit<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n<p>Ce tableau guide les portions selon l\u2019effort. Pour ceux qui veulent <strong>maigrir apr\u00e8s sport<\/strong>, la priorit\u00e9 est de garder la masse musculaire tout en cr\u00e9ant un l\u00e9ger d\u00e9ficit calorique global.<\/p>\n\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/@tailwindcss\/browser@4\">\n<!--\nBloc pr\u00eat \u00e0 coller dans votre page.\nContrainte hauteur : max 1200px pour rester sous 2000px.\nToutes les cha\u00eenes de texte sont en fran\u00e7ais.\n-->\n\n<div id=\"postworkout-calculator\" class=\"max-w-2xl mx-auto p-4 rounded-lg shadow-md bg-white text-gray-800\"\n     style=\"max-height:1200px; overflow:auto; font-family: Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;\">\n  <header class=\"mb-3\">\n    <h2 class=\"text-2xl font-semibold\">Calculateur : collation apr\u00e8s le sport<\/h2>\n    <p class=\"text-sm text-gray-600\">Entrez votre poids et la dur\u00e9e de l&rsquo;entra\u00eenement pour obtenir un apport conseill\u00e9 en prot\u00e9ines et glucides.<\/p>\n  <\/header>\n\n  <form id=\"calcForm\" class=\"grid grid-cols-1 gap-3\" aria-labelledby=\"postworkout-calculator\">\n    <div>\n      <label for=\"weight\" class=\"block text-sm font-medium\">Poids (kg)<\/label>\n      <input id=\"weight\" name=\"weight\" type=\"number\" step=\"0.1\" min=\"30\" max=\"200\" value=\"75\"\n             class=\"mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:ring-indigo-500 focus:border-indigo-500 p-2\"\n             aria-describedby=\"weightHelp\" required>\n      <p id=\"weightHelp\" class=\"text-xs text-gray-500\">Saisissez votre poids en kilogrammes.<\/p>\n    <\/div>\n\n    <div>\n      <label for=\"duration\" class=\"block text-sm font-medium\">Dur\u00e9e de l&rsquo;entra\u00eenement (minutes)<\/label>\n      <input id=\"duration\" name=\"duration\" type=\"number\" step=\"1\" min=\"5\" max=\"480\" value=\"60\"\n             class=\"mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:ring-indigo-500 focus:border-indigo-500 p-2\"\n             aria-describedby=\"durationHelp\" required>\n      <p id=\"durationHelp\" class=\"text-xs text-gray-500\">Dur\u00e9e de la s\u00e9ance pour ajuster les glucides.<\/p>\n    <\/div>\n\n    <div>\n      <label for=\"intensity\" class=\"block text-sm font-medium\">Intensit\u00e9 per\u00e7ue<\/label>\n      <select id=\"intensity\" name=\"intensity\"\n              class=\"mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:ring-indigo-500 focus:border-indigo-500 p-2\"\n              aria-describedby=\"intensityHelp\">\n        <option value=\"l\u00e9ger\">L\u00e9g\u00e8re<\/option>\n        <option value=\"mod\u00e9r\u00e9\" selected>Mod\u00e9r\u00e9<\/option>\n        <option value=\"intense\">Intense<\/option>\n      <\/select>\n      <p id=\"intensityHelp\" class=\"text-xs text-gray-500\">L&rsquo;intensit\u00e9 permet d&rsquo;ajuster l\u00e9g\u00e8rement les recommandations.<\/p>\n    <\/div>\n\n    <div class=\"flex gap-2 mt-2\">\n      <button type=\"button\" id=\"calculateBtn\"\n              class=\"flex-1 bg-indigo-600 text-white py-2 px-3 rounded hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-indigo-500\"\n              aria-label=\"Calculer la collation\">Calculer<\/button>\n      <button type=\"button\" id=\"resetBtn\"\n              class=\"flex-1 bg-gray-200 text-gray-800 py-2 px-3 rounded hover:bg-gray-300 focus:outline-none focus:ring-2 focus:ring-gray-400\"\n              aria-label=\"R\u00e9initialiser les champs\">R\u00e9initialiser<\/button>\n    <\/div>\n  <\/form>\n\n  <section id=\"result\" class=\"mt-4\" aria-live=\"polite\">\n    <div class=\"rounded-md p-3 bg-gray-50 border\">\n      <h3 class=\"text-lg font-medium\">R\u00e9sultat<\/h3>\n      <p id=\"resultText\" class=\"mt-2 text-sm text-gray-700\">Remplissez le formulaire puis cliquez sur \u00ab\u00a0Calculer\u00a0\u00bb.<\/p>\n      <div id=\"numbers\" class=\"mt-3 flex gap-3 items-center\" aria-hidden=\"false\">\n        <!-- Zones mises \u00e0 jour par JS -->\n      <\/div>\n    <\/div>\n\n    <div id=\"suggestions\" class=\"mt-3\">\n      <!-- Suggestions de collations seront inject\u00e9es ici -->\n    <\/div>\n  <\/section>\n\n  <hr class=\"my-4\">\n\n  <section aria-labelledby=\"searchFoodTitle\">\n    <h4 id=\"searchFoodTitle\" class=\"text-sm font-semibold\">Option : rechercher un aliment (OpenFoodFacts)<\/h4>\n    <p class=\"text-xs text-gray-500 mb-2\">Recherche publique (API gratuite). Entrez un terme pour obtenir des valeurs nutritionnelles par 100 g.<\/p>\n\n    <div class=\"flex gap-2\">\n      <input id=\"foodQuery\" type=\"text\" placeholder=\"ex. banane\" class=\"flex-1 rounded-md border-gray-300 p-2\" aria-label=\"Terme de recherche d'aliment\">\n      <button id=\"searchFoodBtn\" class=\"bg-green-600 text-white py-2 px-3 rounded hover:bg-green-700 focus:outline-none focus:ring-2 focus:ring-green-500\">Rechercher<\/button>\n    <\/div>\n\n    <div id=\"foodResults\" class=\"mt-3 text-sm text-gray-700\"><\/div>\n    <p class=\"mt-2 text-xs text-gray-500\">Avertissement : r\u00e9sultats variables selon les produits. Les donn\u00e9es servent d&rsquo;estimation.<\/p>\n  <\/section>\n<\/div>\n\n<script>\n\/*\nLogique JavaScript du calculateur (comment\u00e9e en fran\u00e7ais).\n\nSI vous utilisez la fonctionnalit\u00e9 de recherche d'aliment, l'API utilis\u00e9e est :\nOpen Food Facts (publique, sans cl\u00e9) - recherche JSON :\nExemple d'URL utilis\u00e9e (m\u00e9thode GET):\nhttps:\/\/world.openfoodfacts.org\/cgi\/search.pl?search_terms=banane&search_simple=1&action=process&json=1\n\nExemple de r\u00e9ponse JSON (abr\u00e9g\u00e9e) :\n{\n  \"count\": 123,\n  \"page\": 1,\n  \"page_count\": 13,\n  \"products\": [\n    {\n      \"product_name\": \"Banane\",\n      \"nutriments\": {\n        \"proteins_100g\": 1.1,\n        \"carbohydrates_100g\": 22.8,\n        \"energy-kcal_100g\": 89\n      },\n      \"brands\": \"ExempleMarque\"\n    },\n    ...\n  ]\n}\n\nRemarques :\n- On utilise l'API uniquement pour donner une estimation nutritionnelle par 100 g.\n- Si la recherche \u00e9choue, on pr\u00e9vient l'utilisateur proprement.\n*\/\n\n\/* Donn\u00e9es locales de r\u00e9f\u00e9rence : valeurs nutritionnelles approximatives par 100 g\n   (utilis\u00e9es pour proposer des portions correspondant aux besoins calcul\u00e9s).\n   Toutes les valeurs sont approximatives et en grammes.\n*\/\nconst FOOD_DB = [\n  { name: \"Fromage blanc 0%\", protein: 8.0, carbs: 4.0 },\n  { name: \"Yaourt grec 0%\", protein: 10.0, carbs: 4.0 },\n  { name: \"Banane\", protein: 1.1, carbs: 22.8 },\n  { name: \"Flocons d'avoine\", protein: 13.5, carbs: 66.0 },\n  { name: \"Pain complet\", protein: 9.0, carbs: 41.0 },\n  { name: \"Poulet cuit (blanc)\", protein: 31.0, carbs: 0.0 }\n];\n\n\/* R\u00e9cup\u00e9ration des \u00e9l\u00e9ments DOM *\/\nconst weightInput = document.getElementById('weight');\nconst durationInput = document.getElementById('duration');\nconst intensitySelect = document.getElementById('intensity');\nconst calculateBtn = document.getElementById('calculateBtn');\nconst resetBtn = document.getElementById('resetBtn');\nconst resultText = document.getElementById('resultText');\nconst numbersDiv = document.getElementById('numbers');\nconst suggestionsDiv = document.getElementById('suggestions');\n\nconst searchFoodBtn = document.getElementById('searchFoodBtn');\nconst foodQueryInput = document.getElementById('foodQuery');\nconst foodResultsDiv = document.getElementById('foodResults');\n\n\/* Fonction principale de calcul\n   - prot\u00e9ines (g) : on recommande environ 0.3 g\/kg (post-entra\u00eenement)\n     -> arrondi et born\u00e9 entre 10 et 40 g pour rester pratique.\n   - glucides (g) : base 0.7 g\/kg, modul\u00e9e par la dur\u00e9e et l'intensit\u00e9.\n     Pour de courtes s\u00e9ances on r\u00e9duit, pour longues ou intenses on augmente.\n*\/\nfunction calculateRecommendations(weightKg, durationMin, intensity) {\n  \/\/ calcul prot\u00e9ines\n  let proteinG = Math.round(weightKg * 0.30);\n  proteinG = Math.max(10, Math.min(40, proteinG)); \/\/ bornes pratiques\n\n  \/\/ facteur dur\u00e9e :  duration \/ 60 clamped entre 0.25 et 1.5\n  const durationFactor = Math.max(0.25, Math.min(1.5, durationMin \/ 60));\n\n  \/\/ facteur intensit\u00e9\n  let intensityFactor = 1.0;\n  if (intensity === 'l\u00e9ger') intensityFactor = 0.9;\n  if (intensity === 'mod\u00e9r\u00e9') intensityFactor = 1.0;\n  if (intensity === 'intense') intensityFactor = 1.2;\n\n  \/\/ calcul glucides\n  let carbsG = Math.round(weightKg * 0.7 * durationFactor * intensityFactor);\n  carbsG = Math.max(10, carbsG);\n\n  return { proteinG, carbsG };\n}\n\n\/* G\u00e9n\u00e8re suggestions de portions \u00e0 partir de FOOD_DB\n   Pour chaque aliment on calcule combien de grammes correspondent au besoin en prot\u00e9ines\n   et au besoin en glucides (deux colonnes). On propose la valeur la plus pertinente\n   (par ex. aliments riches en prot\u00e9ines pour la portion prot\u00e9ique).\n*\/\nfunction generateSuggestions(proteinTarget, carbsTarget) {\n  const suggestions = [];\n\n  FOOD_DB.forEach(item => {\n    \/\/ calcul pour atteindre la cible prot\u00e9ines (si aliment contient des prot\u00e9ines)\n    let gramsForProtein = null;\n    if (item.protein > 0) {\n      gramsForProtein = Math.ceil((proteinTarget \/ item.protein) * 100);\n    }\n\n    \/\/ calcul pour atteindre la cible glucides (si aliment contient des glucides)\n    let gramsForCarbs = null;\n    if (item.carbs > 0) {\n      gramsForCarbs = Math.ceil((carbsTarget \/ item.carbs) * 100);\n    }\n\n    suggestions.push({\n      name: item.name,\n      gramsForProtein,\n      gramsForCarbs,\n      proteinPer100: item.protein,\n      carbsPer100: item.carbs\n    });\n  });\n\n  return suggestions;\n}\n\n\/* Affichage des r\u00e9sultats dans le DOM (accessible) *\/\nfunction displayResults(proteinG, carbsG) {\n  \/\/ texte r\u00e9sum\u00e9\n  resultText.textContent = `Apport conseill\u00e9 : Prot\u00e9ines ${proteinG} g \u00b7 Glucides ${carbsG} g.`;\n\n  \/\/ chiffres mis en avant\n  numbersDiv.innerHTML = `\n    <div class=\"p-3 bg-white border rounded flex-1\">\n      <div class=\"text-xs text-gray-500\">Prot\u00e9ines<\/div>\n      <div class=\"text-2xl font-bold text-indigo-600\">${proteinG} g<\/div>\n    <\/div>\n    <div class=\"p-3 bg-white border rounded flex-1\">\n      <div class=\"text-xs text-gray-500\">Glucides<\/div>\n      <div class=\"text-2xl font-bold text-amber-600\">${carbsG} g<\/div>\n    <\/div>\n  `;\n\n  \/\/ suggestions de collations\n  const suggestions = generateSuggestions(proteinG, carbsG);\n\n  \/\/ Construire HTML des suggestions\n  let html = `<h4 class=\"mt-3 text-sm font-semibold\">Suggestions rapides<\/h4>`;\n  html += `<p class=\"text-xs text-gray-500 mb-2\">Quantit\u00e9s approximatives pour atteindre l'objectif (approximations).<\/p>`;\n  html += `<div class=\"space-y-2\">`;\n\n  suggestions.forEach(s => {\n    html += `<div class=\"border rounded p-2 bg-gray-50\">\n      <div class=\"flex justify-between items-center\">\n        <div>\n          <div class=\"font-medium\">${escapeHtml(s.name)}<\/div>\n          <div class=\"text-xs text-gray-500\">par 100 g: prot ${s.proteinPer100} g \u00b7 gluc ${s.carbsPer100} g<\/div>\n        <\/div>\n        <div class=\"text-right text-xs text-gray-600\">\n          ${s.gramsForProtein ? `<div>Pour prot\u00e9ines: <span class=\"font-semibold\">${s.gramsForProtein} g<\/span><\/div>` : ''}\n          ${s.gramsForCarbs ? `<div>Pour glucides: <span class=\"font-semibold\">${s.gramsForCarbs} g<\/span><\/div>` : ''}\n        <\/div>\n      <\/div>\n    <\/div>`;\n  });\n\n  html += `<\/div>`;\n\n  \/\/ petit conseil\n  html += `<div class=\"mt-3 p-3 bg-white border rounded text-sm text-gray-700\">\n    Conseil : combinez une source prot\u00e9ique (ex. yaourt grec, poulet) et une source glucidique rapide si la s\u00e9ance a \u00e9t\u00e9 longue (ex. banane, flocons d'avoine). Hydratez-vous.\n  <\/div>`;\n\n  suggestionsDiv.innerHTML = html;\n}\n\n\/* Fonction d'\u00e9chappement simple pour \u00e9viter injection HTML si noms alimentaires viennent d'un tiers *\/\nfunction escapeHtml(str) {\n  return String(str)\n    .replace(\/&\/g, '&amp;')\n    .replace(\/<\/g, '&lt;')\n    .replace(\/>\/g, '&gt;');\n}\n\n\/* Gestion des \u00e9v\u00e9nements *\/\ncalculateBtn.addEventListener('click', () => {\n  const weight = parseFloat(weightInput.value);\n  const duration = parseInt(durationInput.value, 10);\n  const intensity = intensitySelect.value;\n\n  if (!(weight > 0) || !(duration > 0)) {\n    resultText.textContent = \"Veuillez saisir un poids et une dur\u00e9e valides.\";\n    numbersDiv.innerHTML = '';\n    suggestionsDiv.innerHTML = '';\n    return;\n  }\n\n  const { proteinG, carbsG } = calculateRecommendations(weight, duration, intensity);\n  displayResults(proteinG, carbsG);\n});\n\nresetBtn.addEventListener('click', () => {\n  weightInput.value = 75;\n  durationInput.value = 60;\n  intensitySelect.value = 'mod\u00e9r\u00e9';\n  resultText.textContent = 'Remplissez le formulaire puis cliquez sur \"Calculer\".';\n  numbersDiv.innerHTML = '';\n  suggestionsDiv.innerHTML = '';\n  foodResultsDiv.innerHTML = '';\n  foodQueryInput.value = '';\n});\n\n\/* Fonction de recherche d'aliment via OpenFoodFacts (API publique)\n   On effectue un GET vers :\n   https:\/\/world.openfoodfacts.org\/cgi\/search.pl?search_terms=TERME&search_simple=1&action=process&json=1\n*\/\nsearchFoodBtn.addEventListener('click', async () => {\n  const term = (foodQueryInput.value || '').trim();\n  foodResultsDiv.textContent = '';\n  if (!term) {\n    foodResultsDiv.textContent = 'Entrez un terme de recherche (ex. \"banane\").';\n    return;\n  }\n\n  foodResultsDiv.textContent = 'Recherche en cours...';\n\n  try {\n    \/\/ Construction de l'URL (encodeURIComponent pour s\u00e9curit\u00e9)\n    const url = `https:\/\/world.openfoodfacts.org\/cgi\/search.pl?search_terms=${encodeURIComponent(term)}&search_simple=1&action=process&json=1&page_size=6`;\n    const resp = await fetch(url);\n    if (!resp.ok) throw new Error('Erreur r\u00e9seau');\n    const data = await resp.json();\n\n    if (!data.products || data.products.length === 0) {\n      foodResultsDiv.textContent = 'Aucun produit trouv\u00e9.';\n      return;\n    }\n\n    \/\/ On affiche les premiers r\u00e9sultats avec nutriments si disponibles\n    const itemsHtml = data.products.map(p => {\n      const name = p.product_name || p.generic_name || '(nom non pr\u00e9cis\u00e9)';\n      const prot = (p.nutriments && (p.nutriments.proteins_100g ?? p.nutriments['proteins_100g'])) ?? '\u2014';\n      const carbs = (p.nutriments && (p.nutriments.carbohydrates_100g ?? p.nutriments['carbohydrates_100g'])) ?? '\u2014';\n      const energy = (p.nutriments && (p.nutriments['energy-kcal_100g'] ?? p.nutriments['energy_100g'])) ?? '\u2014';\n      const brand = p.brands || '';\n      return `<div class=\"border rounded p-2 bg-white mb-2\">\n                <div class=\"font-medium\">${escapeHtml(name)} ${brand ? '<span class=\"text-xs text-gray-500\">('+escapeHtml(brand)+')<\/span>' : ''}<\/div>\n                <div class=\"text-xs text-gray-600\">Prot\u00e9ines (100 g): ${prot} g \u00b7 Glucides (100 g): ${carbs} g \u00b7 \u00c9nergie: ${energy}<\/div>\n              <\/div>`;\n    }).join('');\n\n    foodResultsDiv.innerHTML = `<div>${itemsHtml}<\/div><div class=\"text-xs text-gray-500\">Source : Open Food Facts (donn\u00e9es contributives).<\/div>`;\n\n  } catch (err) {\n    console.error(err);\n    foodResultsDiv.textContent = 'Impossible de r\u00e9cup\u00e9rer les donn\u00e9es pour le moment.';\n  }\n});\n\n\/* Accessibility: permettre la touche Enter pour lancer le calcul depuis un champ *\/\n[weightInput, durationInput].forEach(el => {\n  el.addEventListener('keydown', (e) => {\n    if (e.key === 'Enter') {\n      e.preventDefault();\n      calculateBtn.click();\n    }\n  });\n});\n<\/script>\n\n<h2 class=\"wp-block-heading\">Options rapides et menus types : id\u00e9es pratiques<\/h2>\n\n<p>Voici des menus \u00e0 pr\u00e9parer en 5\u201315 minutes, class\u00e9s par objectif et faciles \u00e0 emporter.<\/p>\n\n<ul class=\"wp-block-list\"><li>Pour maigrir : fromage blanc 0% + fruits rouges + 20 g de graines de chia. (20\u201325 g prot\u00e9ines)<\/li><li>Repas complet : 120 g de filet de poisson + 100 g de quinoa + grande portion de l\u00e9gumes verts. (prot\u00e9ines + glucides complexes)<\/li><li>Smoothie express : 250 ml de lait v\u00e9g\u00e9tal + 1 banane + 1 scoop de prot\u00e9ine + 30 g d\u2019avoine. (liquide si absence d\u2019app\u00e9tit)<\/li><\/ul>\n\n<p>Si l\u2019app\u00e9tit est faible apr\u00e8s l\u2019effort, pr\u00e9f\u00e9rez des options liquides ou semi-liquides. Elles facilitent la digestion tout en apportant les nutriments n\u00e9cessaires.<\/p>\n\n<h2 class=\"wp-block-heading\">Alimentation post-entra\u00eenement pour v\u00e9g\u00e9tariens et v\u00e9gans<\/h2>\n\n<p>Les prot\u00e9ines v\u00e9g\u00e9tales combin\u00e9es couvrent les besoins. Pensez \u00e0 associer c\u00e9r\u00e9ales et l\u00e9gumineuses pour une prot\u00e9ine compl\u00e8te.<\/p>\n\n<ul class=\"wp-block-list\"><li>Lentilles + riz : plat \u00e9conomique et riche en prot\u00e9ines.<\/li><li>Tofu\/tempeh + patate douce + l\u00e9gumes verts : bonne option chaude.<\/li><li>Smoothie prot\u00e9in\u00e9 v\u00e9g\u00e9tal + flocons d\u2019avoine + banane : rapide et digeste.<\/li><\/ul>\n\n<p>Pour conclure cette partie : les alternatives v\u00e9g\u00e9tales fonctionnent parfaitement si les apports prot\u00e9iques sont suffisants.<\/p>\n\n<h2 class=\"wp-block-heading\">Hydratation apr\u00e8s sport et \u00e9lectrolytes<\/h2>\n\n<p>L\u2019eau restaure le volume sanguin et aide \u00e0 la r\u00e9paration. Buvez entre <strong>500 ml et 1 litre<\/strong> dans l\u2019heure suivant l\u2019entra\u00eenement.<\/p>\n\n<p>En cas de forte sudation, int\u00e9grer du sodium et du potassium est utile : boisson de r\u00e9cup\u00e9ration, une pinc\u00e9e de sel dans l\u2019eau ou quelques dattes avec une boisson. C\u2019est pratique sur les sorties longues de trail ou cyclisme.<\/p>\n\n<p>Cl\u00e9 pratique : surveillez la couleur de l\u2019urine (p\u00e2le) et la soif pour ajuster l\u2019apport. Hydrater = r\u00e9cup\u00e9rer mieux et plus vite.<\/p>\n\n<h2 class=\"wp-block-heading\">Erreurs fr\u00e9quentes qui freinent la perte de poids<\/h2>\n\n<ul class=\"wp-block-list\"><li>Attendre trop longtemps pour manger : ralentit la recharge et favorise la d\u00e9gradation musculaire.<\/li><li>Manger uniquement des prot\u00e9ines sans glucides : r\u00e9cup\u00e9ration incompl\u00e8te, fatigue persistante.<\/li><li>Consommer des aliments tr\u00e8s gras ou frits juste apr\u00e8s : digestion ralentie et inconfort.<\/li><li>Ignorer l\u2019hydratation : perte de performance et r\u00e9cup\u00e9ration compromise.<\/li><\/ul>\n\n<p>\u00c9vitez ces pi\u00e8ges pour transformer chaque s\u00e9ance en progr\u00e8s tangible. Erreur \u00e9vit\u00e9e = calorie mieux utilis\u00e9e.<\/p>\n\n<h2 class=\"wp-block-heading\">Recette express : bol post-entra\u00eenement pour maigrir (10 minutes)<\/h2>\n\n<p>Ingr\u00e9dients : 100 g de quinoa cuit, 120 g de blanc de poulet grill\u00e9, 100 g de l\u00e9gumes vapeur, 1 cuill\u00e8re d\u2019huile d\u2019olive, jus de citron.<\/p>\n\n<ol class=\"wp-block-list\"><li>Cuire le quinoa \u00e0 l\u2019avance (ou utiliser du quinoa pr\u00e9cuit).<\/li><li>Griller rapidement le poulet (5 min par c\u00f4t\u00e9).<\/li><li>Assembler : quinoa, poulet, l\u00e9gumes, arroser d\u2019huile et citron.<\/li><\/ol>\n\n<p>Ce bol apporte environ <strong>25 g de prot\u00e9ines<\/strong>, 40\u201350 g de glucides complexes et des lipides contr\u00f4l\u00e9s. Pratique, rassasiant et orient\u00e9 perte de poids.<\/p>\n\n<h2 class=\"wp-block-heading\">Ressources compl\u00e9mentaires et lectures recommand\u00e9es<\/h2>\n\n<p>Pour approfondir la <strong>nutrition sportive<\/strong> et les menus adapt\u00e9s \u00e0 la perte de poids, consulter des guides pratiques aide \u00e0 structurer ses choix.<\/p>\n\n<p>Articles utiles : <a href=\"https:\/\/www.charles.co\/blog\/poids\/que-manger-pour-maigrir\/\" rel=\"nofollow noopener\" target=\"_blank\">Que manger pour maigrir<\/a> et les conseils pratiques pour l\u2019apr\u00e8s-sport sur <a href=\"https:\/\/conseilsport.decathlon.fr\/6-regles-dor-pour-bien-manger-apres-le-sport\" rel=\"nofollow noopener\" target=\"_blank\">6 r\u00e8gles d&rsquo;or pour bien manger apr\u00e8s le sport<\/a>. Ces ressources compl\u00e8tent les recommandations pratiques ci-dessus.<\/p>\n\n<p>Lecture finie, action recommand\u00e9e : planifiez votre collation post-s\u00e9ance pour la semaine \u00e0 venir. Petit effort de pr\u00e9paration = gros gain sur la balance et la performance.<\/p>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Faut-il toujours manger immu00e9diatement apru00e8s lu2019entrau00eenement pour perdre du poids ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Manger dans les 30u201360 minutes optimise la recharge et la ru00e9paration musculaire. Si lu2019objectif est de maigrir, un apport protu00e9ique rapide (20u201330 g) reste prioritaire ; ajustez les glucides selon lu2019intensitu00e9 de la su00e9ance et le reste de vos apports journaliers.\"}},{\"@type\":\"Question\",\"name\":\"La whey est-elle indispensable pour la ru00e9cupu00e9ration ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"La whey facilite lu2019apport protu00e9ique rapide mais nu2019est pas indispensable. Des sources alimentaires comme le poulet, le poisson ou le fromage blanc fournissent les mu00eames acides aminu00e9s si consommu00e9es en quantitu00e9 suffisante.\"}},{\"@type\":\"Question\",\"name\":\"Quels aliments bru00fble-graisse peut-on intu00e9grer apru00e8s le sport ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Aucun aliment ne u00ab bru00fble u00bb les graisses seul. Certains aliments favorisent la satiu00e9tu00e9 et la du00e9pense u00e9nergu00e9tique (thu00e9 vert, piments) mais la prioritu00e9 reste un bon apport en protu00e9ines, des glucides adaptu00e9s et un du00e9ficit calorique global pour maigrir.\"}},{\"@type\":\"Question\",\"name\":\"Comment su2019hydrater apru00e8s une su00e9ance tru00e8s longue (>2 h) ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Boire 500u20131000 ml dans lu2019heure + apport en u00e9lectrolytes. Une boisson de ru00e9cupu00e9ration contenant sodium et potassium est utile. Sur efforts prolongu00e9s, ru00e9intu00e9grer des glucides facilement digestibles (jus de raisin, pu00e2te de fruit).\"}}]}\n<\/script>\n<h3>Faut-il toujours manger imm\u00e9diatement apr\u00e8s l\u2019entra\u00eenement pour perdre du poids ?<\/h3>\n<p>Manger dans les 30\u201360 minutes optimise la recharge et la r\u00e9paration musculaire. Si l\u2019objectif est de maigrir, un apport prot\u00e9ique rapide (20\u201330 g) reste prioritaire ; ajustez les glucides selon l\u2019intensit\u00e9 de la s\u00e9ance et le reste de vos apports journaliers.<\/p>\n<h3>La whey est-elle indispensable pour la r\u00e9cup\u00e9ration ?<\/h3>\n<p>La whey facilite l\u2019apport prot\u00e9ique rapide mais n\u2019est pas indispensable. Des sources alimentaires comme le poulet, le poisson ou le fromage blanc fournissent les m\u00eames acides amin\u00e9s si consomm\u00e9es en quantit\u00e9 suffisante.<\/p>\n<h3>Quels aliments br\u00fble-graisse peut-on int\u00e9grer apr\u00e8s le sport ?<\/h3>\n<p>Aucun aliment ne \u00ab br\u00fble \u00bb les graisses seul. Certains aliments favorisent la sati\u00e9t\u00e9 et la d\u00e9pense \u00e9nerg\u00e9tique (th\u00e9 vert, piments) mais la priorit\u00e9 reste un bon apport en prot\u00e9ines, des glucides adapt\u00e9s et un d\u00e9ficit calorique global pour maigrir.<\/p>\n<h3>Comment s\u2019hydrater apr\u00e8s une s\u00e9ance tr\u00e8s longue (>2 h) ?<\/h3>\n<p>Boire 500\u20131000 ml dans l\u2019heure + apport en \u00e9lectrolytes. Une boisson de r\u00e9cup\u00e9ration contenant sodium et potassium est utile. Sur efforts prolong\u00e9s, r\u00e9int\u00e9grer des glucides facilement digestibles (jus de raisin, p\u00e2te de fruit).<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Apr\u00e8s l\u2019effort, l\u2019assiette peut acc\u00e9l\u00e9rer la perte de poids ou freiner vos progr\u00e8s. Ce guide pratique montre quoi manger juste apr\u00e8s la s\u00e9ance pour favoriser la r\u00e9cup\u00e9ration musculaire, pr\u00e9server la masse maigre et aider \u00e0 maigrir apr\u00e8s sport sans privations. Vous trouverez des rep\u00e8res chiffr\u00e9s (quantit\u00e9s de prot\u00e9ines, glucides), des exemples de repas selon l\u2019objectif, &#8230; <a title=\"Que manger apr\u00e8s le sport pour maigrir : les aliments \u00e0 privil\u00e9gier\" class=\"read-more\" href=\"https:\/\/www.bras-de-fer.fr\/blog\/manger-apres-sport-maigrir\/\" aria-label=\"En savoir plus sur Que manger apr\u00e8s le sport pour maigrir : les aliments \u00e0 privil\u00e9gier\">Lire plus<\/a><\/p>\n","protected":false},"author":1,"featured_media":5565,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6056],"tags":[],"class_list":["post-5566","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-health-and-wellness-en-fr"],"views":1,"_links":{"self":[{"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/posts\/5566","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=5566"}],"version-history":[{"count":0,"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/posts\/5566\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/media\/5565"}],"wp:attachment":[{"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/media?parent=5566"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/categories?post=5566"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bras-de-fer.fr\/blog\/wp-json\/wp\/v2\/tags?post=5566"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}