---
title: "Combien de temps dure une sèche ? "
description: "La question de la durée idéale pour un programme de sèche revient souvent. Cette durée varie selon le niveau du pratiquant, son métabolisme et son objectif précis. Une première sèche de 6-8 semaines avec un déficit modéré constitue généralement l&#8217;approche la plus équilibrée, certains athlètes plus expérimentés peuvent envisager des phases de 10-12 semaines en intégrant des périodes de maintenance. Des périodes de sèches plus courtes peuvent être envisagées mais en adaptant le déficit calorique pour qu&#8217;il reste progressif. Essayons de comprendre ensemble combien de temps doit durer une sèche en fonction de ses objectifs. Quels objectifs pour une sèche [&hellip;]"
url: "https://protealpes.com/seche/duree/"
author: "Aymeric et Guillaume"
date: "2025-06-23T10:40:24+02:00"
modified: "2026-07-15T10:14:45+02:00"
lang: "fr_FR"
categories: ["Seche"]
---

# Combien de temps dure une sèche ? 

La question de la **durée idéale pour un programme de sèche** revient souvent. Cette durée varie selon le niveau du pratiquant, son métabolisme et son objectif précis.

Une première sèche de 6-8 semaines avec un déficit modéré constitue généralement l'approche la plus équilibrée, certains athlètes plus expérimentés peuvent envisager des phases de 10-12 semaines en intégrant des périodes de maintenance.

Des périodes de sèches plus courtes peuvent être envisagées mais en **adaptant le déficit calorique pour qu'il reste progressif.**

L'erreur la plus commune consiste à chercher des résultats trop rapides en augmentant excessivement le déficit calorique. Cette stratégie compromet non seulement le maintien de la masse musculaire mais augmente considérablement le risque d'effet yoyo.

Essayons de comprendre ensemble combien de temps doit durer une sèche en fonction de ses objectifs.

## Quels objectifs pour une sèche musculaire ?

La sèche en musculation vise à **réduire la masse graisseuse** tout en préservant les muscles développés à l'aide d'une alimentation et d'un entraînement optimisé.

Un sportif peut entamer une sèche pour différentes raisons :

- améliorer la définition musculaire ;
- optimiser le rapport poids/puissance (pour les sports à catégorie de poids, le sprint ou encore l'escalade..) ;
- réduire le taux de masse grasse pour des raisons de santé tout en maintenant sa forme physique.

### Quelques principes physiologiques essentiels

Le déficit calorique contrôlé forme la base d'une sèche réussie.

L'organisme doit puiser dans ses réserves de graisse pour **compenser la différence entre l'apport calorique quotidien et la dépense énergétique.**

#### 1 - Maitriser le déficit calorique

Nous recommandons **un déficit de 300 à 500 calories par jour par rapport aux besoins caloriques totaux**.

Ces besoins incluent à la fois [le métabolisme de base](https://protealpes.com/outils/bmr/), le taux d'activité quotidienne et les dépenses énergétiques spécifiques à l'entraînement.

Notre [calculateur de déficit calorique](https://protealpes.com/outils/besoins-caloriques/) permet aux sportifs d'évaluer précisément l'apport calorique journalier adapté à la sèche.

### Calculateur de besoins caloriques et en macronutriments

 Genre :Homme

Femme

 

 

 Âge : 

 Taille (cm) : 

 

 Poids (kg) :70 kg

 

 

 Niveau d'activité lié au travail : **Peu actif** Travail sédentaire 

 **Actif** Travail physique 

 

 

 Sport pratiqué : Natation (léger/modéré) Natation (intense) Cyclisme (léger/modéré) Cyclisme (intense) Course à pied (léger/modéré) Course à pied (intense) Marche (léger/modéré) Marche (intense) Randonnée Aviron (léger/modéré) Aviron (intense) Yoga Pilates Zumba Tai Chi CrossFit Musculation (léger/modéré) Musculation (intense) Stretching Escalade Danse Boxe (léger/modéré) Boxe (intense) Arts martiaux Golf Tennis Badminton Bowling Basketball (léger/modéré) Basketball (intense) Volleyball (léger/modéré) Volleyball (intense) Football (léger/modéré) Football (intense) 

 Durée du sport (min) - mettre 0 si pas de pratique ce jour - : 

 Objectif : **Perte de poids** 

 **Maintien** 

 **Prise de masse** 

 

 

  Phase de perte de poids : **Phase initiale** 1ère semaine (-300kcal) 

 **Phase de maintien** Semaines de sèche (-500kcal) 

 **Phase finale** Dernière semaine (-300kcal) 

 

 

  Phase de prise de masse : **Phase initiale** 1ère semaine (+500kcal) 

 **Phase de maintien** Semaines 2 - X (+700kcal) 

 **Phase finale** Dernière semaine (+500kcal) 

 

 

 Calculer 

Métabolisme de base (BMR) :

0 calories

 

Dépense quotidienne (sans sport) :

0 calories

 

Dépense liée au sport :

0 calories

 

Calories journalières recommandées pour l'objectif :

0 calories/jour

 

Perte de poids estimée :

0 kg/semaine

 

 

#### Répartition recommandée des macronutriments (environ)

 0g 

Protéines

 

 

 0g 

Glucides

 

 

 0g 

Lipides

 

 

 

 

.bc\_calculator { padding: 25px; border-radius: 10px; color: #000; } .bc\_title { color: #000; margin-bottom: 20px; font-size: 24px; text-align: center; } .bc\_form { margin-bottom: 20px; } .bc\_input\_group { margin-bottom: 15px; } .bc\_input\_row { display: flex; gap: 15px; } .bc\_input\_row .bc\_input\_group { flex: 1; } .bc\_input\_group label { display: block; margin-bottom: 8px; font-weight: bold; color: #000; } .bc\_input { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 5px; font-size: 16px; color: #000; } .bc\_gender\_options { display: flex; gap: 10px; } .bc\_gender\_option { flex: 1; padding: 10px; text-align: center; border: 2px solid #ddd; border-radius: 5px; cursor: pointer; font-weight: bold; transition: all 0.3s ease; } .bc\_gender\_option.selected { background-color: #000; color: white; border-color: #000; } .bc\_activity\_options, .bc\_phase\_options { display: flex; gap: 10px; } .bc\_activity\_option, .bc\_phase\_option { flex: 1; padding: 10px; border: 2px solid #ddd; border-radius: 5px; cursor: pointer; transition: all 0.3s ease; padding-left:10px !important; padding-right:10px !important; } .bc\_activity\_option strong, .bc\_phase\_option strong { display: block; margin-bottom: 5px; } .bc\_activity\_option span, .bc\_phase\_option span { font-size: 12px; color: #666; } .bc\_activity\_option.selected, .bc\_phase\_option.selected { background-color: #000; color: white; border-color: #000; } .bc\_activity\_option.selected span, .bc\_phase\_option.selected span { color: rgba(255, 255, 255, 0.7); } .bc\_goals\_options { display: flex; gap: 10px; } .bc\_goal\_option { flex: 1; padding: 10px; text-align: center; border: 2px solid #ddd; border-radius: 5px; cursor: pointer; transition: all 0.3s ease; } .bc\_goal\_option.selected { background-color: #000; color: white; border-color: #000; } /\* Slider \*/ .bc\_slider { width: 100%; height: 8px !important; border-radius: 5px; background: #ddd; outline: none; -webkit-appearance: none; margin: 10px 0; } .bc\_slider::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; border-radius: 50%; background: #000; cursor: pointer; border: 2px solid #fff; box-shadow: 0 0 2px rgba(0,0,0,0.3); margin-top: -5px; } .bc\_slider::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #000; cursor: pointer; border: 2px solid #fff; box-shadow: 0 0 2px rgba(0,0,0,0.3); } .bc\_slider::-webkit-slider-runnable-track { height: 8px; border-radius: 5px; background: #ddd; } .bc\_slider::-moz-range-track { height: 8px; border-radius: 5px; background: #ddd; } .bc\_weight\_value { font-size: 16px; font-weight: bold; margin-top: 5px; color: #000; } .bc\_calculate\_btn { width: 100%; padding: 12px; background-color: #000; color: white; border: none; border-radius: 8px; font-size: 16px; font-weight: bold; cursor: pointer; transition: all 0.3s ease; margin-top: 20px; } .bc\_calculate\_btn:hover { opacity: 0.9; background-color:#fff; border: 2px solid #000; color:#000; } .bc\_results { margin: 20px 0; padding: 15px; border-left: 4px solid #000; background-color: #f9f9f9; padding-left:15px !important; padding-right:15px !important; } .bc\_result\_row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #eee; } .bc\_result\_row:last-child { border-bottom: none; } .bc\_result\_label { font-weight: bold; color: #000; } .bc\_result\_value { font-weight: bold; color: #000; } .bc\_highlight { font-size: 18px; color: #000; } .bc\_breakdown { margin-top: 25px; } .bc\_breakdown h4 { color: #000; margin-bottom: 15px; text-align: center; } .bc\_macros { display: flex; justify-content: space-between; flex-wrap: wrap; } .bc\_macro\_item { display: flex; flex-direction: column; align-items: center; flex: 1; min-width: 120px; margin-bottom: 15px; } .bc\_macro\_circle { width: 80px; height: 80px; border-radius: 50%; border: 4px solid; display: flex; justify-content: center; align-items: center; margin-bottom: 10px; } .bc\_macro\_circle span { font-size: 18px; font-weight: bold; } .bc\_macro\_info { text-align: center; } .bc\_macro\_name { font-weight: bold; margin-bottom: 5px; color: #000; } .bc\_macro\_value { color: #000; } function updateWeightValue() { const weightSlider = document.getElementById('weight'); document.getElementById('weight\_value').textContent = weightSlider.value + ' kg'; } function selectGender(element) { const options = document.querySelectorAll('.bc\_gender\_option'); options.forEach(option =&gt; option.classList.remove('selected')); element.classList.add('selected'); } function selectWorkActivity(element) { const options = document.querySelectorAll('.bc\_activity\_option'); options.forEach(option =&gt; option.classList.remove('selected')); element.classList.add('selected'); } function selectGoal(element) { const options = document.querySelectorAll('.bc\_goal\_option'); options.forEach(option =&gt; option.classList.remove('selected')); element.classList.add('selected'); // Gestion de l'affichage des phases selon l'objectif const weightLossPhaseContainer = document.getElementById('weight\_loss\_phase\_container'); const weightGainPhaseContainer = document.getElementById('weight\_gain\_phase\_container'); const weightChangeInfo = document.getElementById('weight\_change\_info'); const weightChangeLabel = document.getElementById('weight\_change\_label'); // Cacher tout d'abord weightLossPhaseContainer.style.display = 'none'; weightGainPhaseContainer.style.display = 'none'; weightChangeInfo.style.display = 'none'; // Afficher selon l'objectif const goal = element.getAttribute('data-value'); if (goal === 'perte') { weightLossPhaseContainer.style.display = 'block'; weightChangeInfo.style.display = 'flex'; weightChangeLabel.textContent = 'Perte de poids estimée :'; } else if (goal === 'prise') { weightGainPhaseContainer.style.display = 'block'; weightChangeInfo.style.display = 'flex'; weightChangeLabel.textContent = 'Gain de poids estimé :'; } } function selectPhase(element, phaseType) { // Sélectionner uniquement parmi les phases du même type (perte ou prise) const container = phaseType === 'weight\_loss' ? document.getElementById('weight\_loss\_phase\_container') : document.getElementById('weight\_gain\_phase\_container'); const options = container.querySelectorAll('.bc\_phase\_option'); options.forEach(option =&gt; option.classList.remove('selected')); element.classList.add('selected'); } function calculateCalories() { // Récupérer les valeurs const gender = document.querySelector('.bc\_gender\_option.selected').getAttribute('data-value'); const age = parseInt(document.getElementById('age').value); const height = parseInt(document.getElementById('height').value); const weight = parseInt(document.getElementById('weight').value); const workActivityLevel = document.querySelector('.bc\_activity\_option.selected').getAttribute('data-value'); const goal = document.querySelector('.bc\_goal\_option.selected').getAttribute('data-value'); const sportFactor = parseFloat(document.getElementById('sport\_type').value); const sportDuration = parseFloat(document.getElementById('sport\_duration').value); // Calculer le BMR avec la formule Black and Al const heightInM = height / 100; // Convertir cm en mètres let bmr; if (gender === 'male') { bmr = 1.083 \* Math.pow(weight, 0.48) \* Math.pow(heightInM, 0.50) \* Math.pow(age, -0.13) \* (1000 / 4.1855); } else { bmr = 0.963 \* Math.pow(weight, 0.48) \* Math.pow(heightInM, 0.50) \* Math.pow(age, -0.13) \* (1000 / 4.1855); } // Calculer les calories quotidiennes basées sur le niveau d'activité du travail let dailyCalories; switch (workActivityLevel) { case 'moyen': dailyCalories = bmr \* 1.17; break; case 'actif': dailyCalories = bmr \* 1.4; break; default: dailyCalories = bmr \* 1.17; } // Calculer les calories brûlées par le sport const sportCalories = sportFactor \* sportDuration \* weight \* 0.0175; // Ajuster les calories selon l'objectif let adjustedDailyCalories = dailyCalories; let weeklyWeightChange = 0; if (goal === 'perte') { // Récupérer la phase de perte de poids const weightLossPhase = document.querySelector('#weight\_loss\_phase\_container .bc\_phase\_option.selected').getAttribute('data-value'); let calorieDeficit; switch (weightLossPhase) { case 'initiale': calorieDeficit = 300; weeklyWeightChange = 0.2; break; case 'maintien': calorieDeficit = 500; weeklyWeightChange = 0.3; break; case 'finale': calorieDeficit = 300; weeklyWeightChange = 0.2; break; default: calorieDeficit = 300; weeklyWeightChange = 0.2; } adjustedDailyCalories -= calorieDeficit; document.getElementById('weight\_change\_result').textContent = '~ ' + weeklyWeightChange.toFixed(1) + ' kg/semaine'; } else if (goal === 'prise') { // Récupérer la phase de prise de masse const weightGainPhase = document.querySelector('#weight\_gain\_phase\_container .bc\_phase\_option.selected').getAttribute('data-value'); let calorieSurplus; switch (weightGainPhase) { case 'initiale': calorieSurplus = 700; weeklyWeightChange = 0.5; break; case 'maintien': calorieSurplus = 900; weeklyWeightChange = 0.6; break; case 'finale': calorieSurplus = 700; weeklyWeightChange = 0.5; break; default: calorieSurplus = 500; weeklyWeightChange = 0.5; } adjustedDailyCalories += calorieSurplus; document.getElementById('weight\_change\_result').textContent = '~ ' + weeklyWeightChange.toFixed(1) + ' kg/semaine'; } // Pas d'ajustement pour l'objectif "maintien" // Calculer le total des calories recommandées const totalCalories = adjustedDailyCalories + sportCalories; // Calculer les macronutriments let proteinPerKg; switch (goal) { case 'perte': proteinPerKg = 1.8; // g par kg de poids corporel break; case 'maintien': proteinPerKg = 1.6; break; case 'prise': proteinPerKg = 2.0; break; default: proteinPerKg = 1.6; } const proteinGrams = Math.round(weight \* proteinPerKg); const proteinCalories = proteinGrams \* 4; // Diviser les calories restantes également entre lipides et glucides const fatCalories = totalCalories \* 0.28 ; const carbsCalories = totalCalories - fatCalories - proteinCalories ; const fatGrams = Math.round(fatCalories / 9); const carbsGrams = Math.round(carbsCalories / 4); // Calculer les pourcentages const proteinPercentage = Math.round((proteinCalories / totalCalories) \* 100); const fatPercentage = Math.round((fatCalories / totalCalories) \* 100); const carbsPercentage = Math.round((carbsCalories / totalCalories) \* 100); // Afficher les résultats document.getElementById('bmr\_result').textContent = Math.round(bmr) + ' calories'; document.getElementById('daily\_result').textContent = Math.round(dailyCalories) + ' calories'; document.getElementById('sport\_result').textContent = Math.round(sportCalories) + ' calories'; document.getElementById('calories\_result').textContent = Math.round(totalCalories) + ' calories/jour'; // Afficher les macronutriments document.getElementById('protein\_value').textContent = proteinGrams + 'g'; document.getElementById('carbs\_value').textContent = carbsGrams + 'g'; document.getElementById('fat\_value').textContent = fatGrams + 'g'; } // Initialiser le calculateur document.addEventListener('DOMContentLoaded', function() { updateWeightValue(); }); #### 2 - Bien répartir ses protéines - lipides - glucides

Pour réussir une sèche efficace, il faut maintenir un apport protéique adéquat, généralement entre 1,8 et 2 g par kilo de poids de corps afin [d'éviter les pertes musculaires](https://protealpes.com/seche/secher-rapidement-en-musculation/).

L'alimentation équilibrée en phase de sèche inclus une quantité suffisante de chaque macronutriments essentiels :

\- 1,8/2 g/kg/j de protéines complètes (viandes maigres, fromage blanc, [whey](https://protealpes.com/), œufs, lentilles...)
\- 2,5/3 g/kg/j de glucides complexes à faible [indice glycémique](https://protealpes.com/outils/indice-glycemique/) (patate douce, pommes de terre, pain complet, pâtes complètes)
\- 0,8/1 g/kg/j de lipides (acides gras insaturés pour soutenir le métabolisme hormonal comme l'avocat ou le poisson..)

### Whey protéine sans sucres ajoutés

**Formule développée par des pharmaciens diplômés** 🔬

- Fabriqué en interne par Protéalpes
- Sans additifs, sans édulcorants
- Isolat de protéines origine Rhône-Alpes

[Choisir sa whey Protéalpes](https://protealpes.com/categorie/whey-proteine/gamme-sans-sucre-ajoutee/)

Disponible en packs de 3 à 4,5 kg

[![](https://protealpes.com/wp-content/uploads/2024/07/protealpes-WHEY-SSA-vanille-750g-R.jpg)](https://protealpes.com/produit/vanille-sans-sucres-ajoutes/)

Ce petit simulateur gratuit vous permettra de bien comprendre ce principe de ratios en jouant avec les différents curseurs :

Répartition des macronutriments en sèche

 Objectif calorique journalier : kcal 

 Protéines: 25% (163g - 650 kcal) 4 kcal/g (ne pas dépasser 2g/kg/j) 

 

 Glucides: 40% (200g - 800 kcal) 4 kcal/g 

 

 Lipides: 27.5% (61g - 550 kcal) 9 kcal/g 

 

 

 

 

 

 

 

.mn-container { font-family: 'Arial', sans-serif; max-width: 800px; margin: 0 auto; padding: 20px; color: #000; } .mn-title { text-align: center; color: #000; margin-bottom: 30px; font-weight: bold; font-size:24px !important; font-weight:800 !important; } .mn-input-section { margin-bottom: 30px; } .mn-calorie-input { display: flex; align-items: center; margin-bottom: 25px; gap: 15px; } .mn-label { font-weight: bold; color: #000; flex: 1; } .mn-input { width: 100px; padding: 8px; border: 2px solid #000; border-radius: 4px; font-size: 16px; text-align: center; } .mn-unit { font-weight: bold; color: #000; width: 50px; } .mn-macro-sliders { display: flex; flex-direction: column; gap: 20px; } .mn-slider-group { display: flex; flex-direction: column; gap: 8px; } .mn-range { width: 100%; height: 8px; -webkit-appearance: none; background: #ddd; border-radius: 4px; outline: none; } .mn-range::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%; background: #000; cursor: pointer; } .mn-range::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: #000; cursor: pointer; border: none; } .mn-value-info { display: flex; justify-content: flex-end; } .mn-value-detail { font-size: 14px; color: #555; } .mn-visualization { display: flex; justify-content: space-between; margin-bottom: 30px; gap: 30px; } .mn-charts-container { flex: 1; height: 300px; } .mn-recommendations { background-color: #f9f9f9; padding: 15px; padding-left: 15px !important; padding-right: 15px !important; border-radius: 0px; border-left: 5px solid #000; width:100%; } .mn-recommendation-text { color: #000; margin-bottom: 10px; } .mn-status { font-weight: bold; color: #000; color: rgb(36, 199, 137); font-size:15px; } .mn-range { width: 100%; height: 8px; -webkit-appearance: none; border-radius: 4px; outline: none; } .mn-proteines-range { background: linear-gradient(to right, #ececec 0%, #ececec 35%, #24C789 35%, #24C789 67.5%, #ececec 67.5%, #ececec 100%); } .mn-glucides-range { background: linear-gradient(to right, #ececec 0%, #ececec 29.41%, #24C789 29.41%, #24C789 49.02%, #ececec 49.02%, #ececec 100%); } .mn-lipides-range { background: linear-gradient(to right, #ececec 0%, #ececec 32.26%, #24C789 32.26%, #24C789 48.39%, #ececec 48.39%, #ececec 100%); } (function() { // Éléments DOM const caloriesTotal = document.getElementById('mn-calories-total'); const proteinesSlider = document.getElementById('mn-proteines-slider'); const glucidesSlider = document.getElementById('mn-glucides-slider'); const lipidesSlider = document.getElementById('mn-lipides-slider'); const proteinesPercent = document.getElementById('mn-proteines-percent'); const glucidesPercent = document.getElementById('mn-glucides-percent'); const lipidesPercent = document.getElementById('mn-lipides-percent'); const proteinesGrammes = document.getElementById('mn-proteines-grammes'); const glucidesGrammes = document.getElementById('mn-glucides-grammes'); const lipidesGrammes = document.getElementById('mn-lipides-grammes'); const proteinesCalories = document.getElementById('mn-proteines-calories'); const glucidesCalories = document.getElementById('mn-glucides-calories'); const lipidesCalories = document.getElementById('mn-lipides-calories'); const status = document.getElementById('mn-status'); // Valeurs énergétiques des macronutriments const PROTEINES\_KCAL\_PER\_G = 4; const GLUCIDES\_KCAL\_PER\_G = 4; const LIPIDES\_KCAL\_PER\_G = 9; // Configuration des graphiques Chart.js let chartPercent, chartGrammes; function initCharts() { // Graphique des pourcentages const ctxPercent = document.getElementById('mn-chart-percent').getContext('2d'); chartPercent = new Chart(ctxPercent, { type: 'bar', data: { labels: \['Protéines', 'Glucides', 'Lipides'\], datasets: \[{ label: 'Pourcentage (%)', data: \[32.5, 40, 27.5\], backgroundColor: \[ '#6A6A6A', '#2C2C2C', '#00000' \], borderColor: \[ '#6A6A6A', '#2C2C2C', '#00000' \], borderWidth: 1 }\] }, options: { responsive: true, maintainAspectRatio: false, scales: { y: { beginAtZero: true, max: 100, title: { display: true, text: 'Pourcentage (%)', color: '#000', font: { weight: 'bold' } }, grid: { display: false } }, x: { grid: { display: false } } }, plugins: { title: { display: true, text: 'Répartition en pourcentage', color: '#000', font: { size: 16, weight: 'bold' } }, legend: { display: false } } } }); // Graphique des grammes const ctxGrammes = document.getElementById('mn-chart-grammes').getContext('2d'); chartGrammes = new Chart(ctxGrammes, { type: 'bar', data: { labels: \['Protéines', 'Glucides', 'Lipides'\], datasets: \[{ label: 'Grammes (g)', data: \[163, 200, 61\], backgroundColor: \[ '#6A6A6A', '#2C2C2C', '#00000' \], borderColor: \[ '#6A6A6A', '#2C2C2C', '#00000' \], borderWidth: 1 }\] }, options: { responsive: true, maintainAspectRatio: false, scales: { y: { beginAtZero: true, title: { display: true, text: 'Grammes (g)', color: '#000', font: { weight: 'bold' } }, grid: { display: false } }, x: { grid: { display: false } } }, plugins: { title: { display: true, text: 'Quantité en grammes', color: '#000', font: { size: 16, weight: 'bold' } }, legend: { display: false } } } }); } // Fonction pour équilibrer les pourcentages à 100% function balancePercentages() { let proteinesVal = parseInt(proteinesSlider.value); let glucidesVal = parseInt(glucidesSlider.value); let lipidesVal = parseInt(lipidesSlider.value); let total = proteinesVal + glucidesVal + lipidesVal; if (total !== 100) { // Calculer la distribution proportionnelle const factor = 100 / total; proteinesVal = Math.round(proteinesVal \* factor); glucidesVal = Math.round(glucidesVal \* factor); lipidesVal = 100 - proteinesVal - glucidesVal; // Mettre à jour les sliders silencieusement proteinesSlider.value = proteinesVal; glucidesSlider.value = glucidesVal; lipidesSlider.value = lipidesVal; } return { proteines: proteinesVal, glucides: glucidesVal, lipides: lipidesVal }; } // Fonction pour mettre à jour l'interface function updateUI() { const totalCalories = parseInt(caloriesTotal.value); const percents = balancePercentages(); // Mise à jour des pourcentages proteinesPercent.textContent = percents.proteines; glucidesPercent.textContent = percents.glucides; lipidesPercent.textContent = percents.lipides; // Calcul des calories pour chaque macronutriment const proteinesKcal = Math.round(totalCalories \* (percents.proteines / 100)); const glucidesKcal = Math.round(totalCalories \* (percents.glucides / 100)); const lipidesKcal = Math.round(totalCalories \* (percents.lipides / 100)); // Calcul des grammes pour chaque macronutriment const proteinesG = Math.round(proteinesKcal / PROTEINES\_KCAL\_PER\_G); const glucidesG = Math.round(glucidesKcal / GLUCIDES\_KCAL\_PER\_G); const lipidesG = Math.round(lipidesKcal / LIPIDES\_KCAL\_PER\_G \* 10) / 10; // Une décimale pour les lipides // Mise à jour des calories et grammes proteinesCalories.textContent = proteinesKcal; glucidesCalories.textContent = glucidesKcal; lipidesCalories.textContent = lipidesKcal; proteinesGrammes.textContent = proteinesG; glucidesGrammes.textContent = glucidesG; lipidesGrammes.textContent = lipidesG; // Mise à jour des graphiques Chart.js if (chartPercent &amp;&amp; chartGrammes) { // Mise à jour des données des pourcentages chartPercent.data.datasets\[0\].data = \[ percents.proteines, percents.glucides, percents.lipides \]; chartPercent.update(); // Mise à jour des données des grammes chartGrammes.data.datasets\[0\].data = \[ proteinesG, glucidesG, lipidesG \]; chartGrammes.update(); } // Vérification par rapport aux recommandations let statusMessage = ""; if (percents.proteines 37) { statusMessage += "Protéines élevées. "; } if (percents.glucides 45) { statusMessage += "Glucides élevés. "; } if (percents.lipides 30) { statusMessage += "Lipides élevés. "; } if (statusMessage === "") { statusMessage = "✓ Cette répartition est conforme aux recommandations générales. Attention, ces recommandations pour une période de sèche ne remplacent pas un avis médical. Le calculateur est imparfait et fonctionne surtout pour des objectifs &lt;2000 kcal/j et pour des poids autour de 70 kg."; status.style.color = "#24C789"; } else { status.style.color = "#FC554F"; } status.textContent = statusMessage; } // Initialisation des graphiques initCharts(); // Écouteurs d'événements caloriesTotal.addEventListener('input', updateUI); proteinesSlider.addEventListener('input', updateUI); glucidesSlider.addEventListener('input', updateUI); lipidesSlider.addEventListener('input', updateUI); // Initialisation updateUI(); })(); #### 3 - Ne pas viser une perte trop rapide

Selon un article publié dans *Medical News Today*, la vitesse de perte optimale se situe entre 0,5% et 1% du poids corporel par semaine.

Nous conseillons de ne pas dépasser une[ perte de 2 kg par mois](https://protealpes.com/seche/secher-rapidement-en-musculation/) pour ne pas perturber le métabolisme.

 ### Choisissez votre type d'objectif

Comment souhaitez-vous définir votre programme de sèche ?

 

📅

#### Définir une durée

Je veux faire une sèche sur une période précise

 Ex: Programme de 8 semaines 

 

🎯

#### Définir un poids cible

J'ai un poids précis à atteindre

 Ex: Passer de 75kg à 70kg 

 

 

 

  ← Retour 

### Programme basé sur la durée

Définissez votre poids actuel et la durée souhaitée

 

 Votre poids actuel (kg) - + 

 

 Durée souhaitée (semaines) - + 

 

 

 Générer mon programme 

 ← Retour 

### Programme basé sur le poids cible

Définissez votre poids actuel et votre objectif

 

 Votre poids actuel (kg) - + 

 

 Poids objectif (kg) - + 

 

 

 Durée estimée : 6-12 semaines 

 

 Générer mon programme 

### Votre programme de sèche personnalisé

 

 Objectif total 3 kg 

 Nombre de cycles 1 cycle 

 Durée effective 8 semaines 

 Protéines recommandées 140g/jour 

 

  

Attention : Chaque personne réagit différemment au déficit calorique. Ajustez votre programme selon vos résultats et sensations (fatigue, performances...). Visez une perte de 0,5% à 1% de votre poids par semaine pour préserver votre masse musculaire.

 

 Conseils d'alimentation Entraînement Base scientifique 

#### Recommandations nutritionnelles

- Protéines: 1,8 à 2g/kg de poids corporel Pour préserver la masse musculaire pendant le déficit
- Glucides: 35-45% de l'apport calorique Concentrez-les autour de vos séances d'entraînement
- Lipides: 25-30% de l'apport calorique Essentiels pour les fonctions hormonales
 
 

#### Recommandations d'entraînement

- Renforcement musculaire 2-3 séances par semaine pour préserver votre masse musculaire
- Cardio modéré 2-3 séances de 30-45 minutes pour augmenter la dépense calorique
- Marche quotidienne Visez 8 000 à 10 000 pas par jour
 
 

#### Base scientifique

- 1kg de graisse = 7700 kcal Déficit recommandé: 200-500 kcal/jour
- Perte de poids sécuritaire 0,5 à 1% du poids corporel par semaine
- Cycles recommandés Permet d'éviter l'adaptation métabolique et l'effet yoyo
 
 

 

 

 

.poids-calculateur-container { margin: 20px auto; padding: 0; color: #000; border-radius: 1px; overflow: hidden; background-color: #fff; } .poids-calculateur-objectif-header { text-align: center; margin-bottom: 30px; } .poids-calculateur-objectif-header h3 { margin: 0 0 10px 0; font-size: 24px; color: #000; } .poids-calculateur-objectif-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; } .poids-calculateur-objectif-grid h4 , .poids-calculateur-objectif-grid p{ text-align:center; } .poids-calculateur-objectif-card { border: 2px solid #e0e0e0; border-radius: 8px; padding: 25px; text-align: center; cursor: pointer; transition: all 0.3s ease; background: #fff; } .poids-calculateur-objectif-card:hover { border-color: #000; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); } .poids-calculateur-objectif-card.selected { border-color: #000; background-color: #f8f8f8; } .poids-calculateur-objectif-icon { font-size: 40px; margin-bottom: 15px; } .poids-calculateur-objectif-card h4 { margin: 0 0 10px 0; font-size: 18px; color: #000; } .poids-calculateur-objectif-card p { margin: 0 0 15px 0; color: #666; line-height: 1.4; } .poids-calculateur-objectif-exemple { color: #999; font-style: italic; } .poids-calculateur-back-btn { margin-bottom: 20px; } .poids-calculateur-back { background: none; border: 1px solid #ddd; padding: 8px 16px; border-radius: 4px; cursor: pointer; color: #666; font-size: 14px; transition: all 0.2s ease; } .poids-calculateur-back:hover { background-color: #f5f5f5; border-color: #999; } .poids-calculateur-form-header { text-align: center; margin-bottom: 25px; } .poids-calculateur-form-header h3 { margin: 0 0 8px 0; font-size: 20px; color: #000; } .poids-calculateur-estimation { background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 4px; padding: 15px; margin: 20px 0; text-align: center; } .poids-calculateur-estimation-content { display: flex; align-items: center; justify-content: center; gap: 10px; } .poids-calculateur-estimation-label { color: #0066cc; font-weight: 600; } .poids-calculateur-estimation-value { color: #0066cc; font-size: 18px; font-weight: bold; } .poids-calculateur-header { padding: 20px; border-bottom: 2px solid #000; background-color: #f8f8f8; } .poids-calculateur-subtitle { color: #555; margin: 0; font-size: 16px; } .poids-calculateur-form { padding: 25px; background-color: #fff; } .poids-calculateur-input-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; } .poids-calculateur-input-group { margin-bottom: 20px; } .poids-calculateur-label { display: block; margin-bottom: 8px; color: #000; font-weight: 600; } .poids-calculateur-input-with-controls { display: flex; align-items: center; } .poids-calculateur-input { flex: 1; padding: 12px; border: 2px solid #000; border-radius: 1px; font-size: 16px; text-align: center; transition: all 0.3s ease; } .poids-calculateur-input:focus { outline: none; border-color: #000; box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.2); } .poids-calculateur-input-btn { width: 40px; height: 40px; background-color: #000; color: #fff; border: none; cursor: pointer; font-size: 18px; font-weight: bold; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; } .poids-calculateur-input-btn:hover { background-color: #333; } .poids-calculateur-input-minus { border-radius: 1px 0 0 1px; } .poids-calculateur-input-plus { border-radius: 0 1px 1px 0; } .poids-calculateur-button { background-color: #000; color: #fff; border: none; border-radius: 1px; padding: 14px 24px; font-size: 16px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; display: block; width: 100%; margin-top: 10px; } .poids-calculateur-button:hover { background-color: #333; transform: translateY(-2px); } .poids-calculateur-result { padding: 0; display: none; border-top: 2px solid #eee; } .poids-calculateur-result-header { padding: 20px; border-bottom: 2px solid #000; } .poids-calculateur-result-title { color: #000; margin: 0; font-size: 20px; } .poids-calculateur-result-content { padding: 25px; } .poids-calculateur-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin-bottom: 30px; } .poids-calculateur-summary-item { background-color: #f8f8f8; padding: 15px; border-radius: 1px; padding-left: 10px !important; border-left: 4px solid #000; } .poids-calculateur-summary-label { display: block; color: #555; font-size: 14px; margin-bottom: 5px; } .poids-calculateur-summary-value { display: block; color: #000; font-size: 20px; font-weight: 600; } .poids-calculateur-tableaux-container { margin-bottom: 30px; } .poids-calculateur-cycle-titre { font-size: 18px; font-weight: 600; color: #000; margin: 30px 0 15px; padding-bottom: 8px; border-bottom: 2px solid #000; } .poids-calculateur-tableau { width: 100%; border-collapse: collapse; margin-bottom: 20px; overflow-x: auto; } .poids-calculateur-tableau th { background-color: #000; color: #fff; text-align: left; padding: 12px 15px; font-weight: 600; font-size: 14px; } .poids-calculateur-tableau td { padding: 10px 15px; border-bottom: 1px solid #ddd; font-size: 14px; } .poids-calculateur-tableau tr:nth-child(even) { background-color: #f8f8f8; } .poids-calculateur-tableau tr:hover { background-color: #f1f1f1; } .poids-calculateur-tableau .periode-initiale { border-left: 4px solid #000; } .poids-calculateur-tableau .periode-maintien { border-left: 4px solid #666; } .poids-calculateur-tableau .periode-finale { border-left: 4px solid #999; } .poids-calculateur-tableau .periode-pause { background-color: #e8f5e9; border-left: 4px solid #2e7d32; font-style: italic; } .poids-calculateur-tableau .total-row { font-weight: 600; background-color: #f8f8f8; border-top: 2px solid #000; } .poids-calculateur-tableau-container { overflow-x: auto; margin-bottom: 30px; } .poids-calculateur-warning { background-color: #fff3f3; padding: 15px; border-radius: 1px; padding-left: 10px !important; font-size: 14px; line-height: 1.5; color: #000; } .poids-calculateur-tabs { margin-bottom: 30px; } .poids-calculateur-tabs-header { display: flex; flex-wrap: wrap; border-bottom: 2px solid #000; margin-bottom: 20px; } .poids-calculateur-tab-btn { padding: 12px 20px; background: none; border: none; border-bottom: 3px solid transparent; margin-right: 5px; cursor: pointer; font-weight: 600; color: #555; transition: all 0.2s ease; margin-bottom: -2px; } .poids-calculateur-tab-btn:hover { color: #000; } .poids-calculateur-tab-btn.active { color: #000; } .poids-calculateur-tab-content { display: none; } .poids-calculateur-tab-content.active { display: block; } .poids-calculateur-tips-title { color: #000; margin: 0 0 15px 0; font-size: 18px; padding-bottom: 8px; } .poids-calculateur-tips-list { padding-left: 0; margin: 0; list-style: none; } .poids-calculateur-tip { margin-bottom: 15px; padding-left: 25px; position: relative; } .poids-calculateur-tip::before { content: "•"; position: absolute; left: 0; top: 0; font-size: 30px; line-height: 20px; color: #000; } .poids-calculateur-tip-title { display: block; color: #000; font-weight: 600; margin-bottom: 5px; } .poids-calculateur-tip-desc { display: block; color: #555; font-size: 14px; } /\* Media queries pour la responsive \*/ @media (max-width: 768px) { .poids-calculateur-summary { grid-template-columns: 1fr; } .poids-calculateur-tableau th, .poids-calculateur-tableau td { padding: 8px 10px; font-size: 13px; } .poids-calculateur-objectif-grid { grid-template-columns: 1fr; } } @media (max-width: 480px) { .poids-calculateur-input-with-controls { flex-direction: column; } .poids-calculateur-input-btn { width: 100%; margin-bottom: 5px; } .poids-calculateur-input-minus { border-radius: 1px; } .poids-calculateur-input-plus { border-radius: 1px; } .poids-calculateur-input { margin: 5px 0; width: 100%; } } document.addEventListener('DOMContentLoaded', function() { // Éléments de l'interface const selectionObjectif = document.getElementById('poids-selection-objectif'); const formDuree = document.getElementById('poids-calculateur-form-duree'); const formPoids = document.getElementById('poids-calculateur-form-poids'); const resultSection = document.getElementById('poids-calculateur-result'); // Boutons de choix d'objectif const objectifCards = document.querySelectorAll('.poids-calculateur-objectif-card'); // Boutons de retour const backBtnDuree = document.getElementById('poids-back-btn-duree'); const backBtnPoids = document.getElementById('poids-back-btn-poids'); // Boutons de calcul const calculerBtnDuree = document.getElementById('poids-calculateur-btn-duree'); const calculerBtnPoids = document.getElementById('poids-calculateur-btn-poids'); // Inputs du mode durée const poidsActuelDureeInput = document.getElementById('poids-actuel-duree'); const dureeProgrammeInput = document.getElementById('duree-programme'); // Inputs du mode poids const poidsActuelPoidsInput = document.getElementById('poids-actuel-poids'); const poidsObjectifInput = document.getElementById('poids-objectif'); const estimationValeur = document.getElementById('poids-estimation-valeur'); // Éléments des résultats const resumeObjectif = document.getElementById('poids-resume-objectif'); const resumeCycles = document.getElementById('poids-resume-cycles'); const resumeDuree = document.getElementById('poids-resume-duree'); const resumeProteines = document.getElementById('poids-resume-proteines'); const tableauxContainer = document.getElementById('poids-calculateur-tableaux-container'); const tabBtns = document.querySelectorAll('.poids-calculateur-tab-btn'); const tabContents = document.querySelectorAll('.poids-calculateur-tab-content'); // Variable pour tracker le mode sélectionné let modeObjectif = null; // Gestion des choix d'objectif objectifCards.forEach(function(card) { card.addEventListener('click', function() { const objectif = this.getAttribute('data-objectif'); modeObjectif = objectif; // Désélectionner toutes les cartes objectifCards.forEach(c =&gt; c.classList.remove('selected')); this.classList.add('selected'); // Afficher le bon formulaire après un petit délai setTimeout(function() { selectionObjectif.style.display = 'none'; resultSection.style.display = 'none'; if (objectif === 'duree') { formDuree.style.display = 'block'; formPoids.style.display = 'none'; } else { formPoids.style.display = 'block'; formDuree.style.display = 'none'; mettreAJourEstimation(); // Mettre à jour l'estimation initiale } }, 300); }); }); // Boutons de retour backBtnDuree.addEventListener('click', function() { retourAuChoix(); }); backBtnPoids.addEventListener('click', function() { retourAuChoix(); }); // Gestion des onglets tabBtns.forEach(function(btn) { btn.addEventListener('click', function() { const tabId = this.getAttribute('data-tab'); // Retirer la classe active de tous les boutons et contenus tabBtns.forEach(b =&gt; b.classList.remove('active')); tabContents.forEach(c =&gt; c.classList.remove('active')); // Ajouter la classe active au bouton cliqué et au contenu correspondant this.classList.add('active'); document.getElementById('tab-' + tabId).classList.add('active'); }); }); function retourAuChoix() { formDuree.style.display = 'none'; formPoids.style.display = 'none'; resultSection.style.display = 'none'; selectionObjectif.style.display = 'block'; // Désélectionner les cartes objectifCards.forEach(c =&gt; c.classList.remove('selected')); modeObjectif = null; } // Gestion des boutons plus/moins pour tous les inputs const minusBtns = document.querySelectorAll('.poids-calculateur-input-minus'); const plusBtns = document.querySelectorAll('.poids-calculateur-input-plus'); minusBtns.forEach(function(btn) { btn.addEventListener('click', function() { const input = this.parentElement.querySelector('input'); const min = parseInt(input.min); let value = parseInt(input.value) - 1; if (value max) value = max; input.value = value; // Mettre à jour l'estimation si on est en mode poids if (modeObjectif === 'poids') { mettreAJourEstimation(); } }); }); // Écouter les changements sur les inputs du mode poids pour l'estimation poidsActuelPoidsInput.addEventListener('input', mettreAJourEstimation); poidsObjectifInput.addEventListener('input', mettreAJourEstimation); function mettreAJourEstimation() { const poidsActuel = parseInt(poidsActuelPoidsInput.value) || 0; const poidsObjectif = parseInt(poidsObjectifInput.value) || 0; if (poidsActuel &gt; 0 &amp;&amp; poidsObjectif &gt; 0 &amp;&amp; poidsObjectif 15) { estimationValeur.textContent = 'Objectif de perte de poids trop ambitieux (plus de 15% du poids actuel) pour être sain, visez une perte plus progressive.'; estimationValeur.style.color = '#d32f2f'; return; } // Remettre la couleur normale si c'était rouge avant estimationValeur.style.color = '#0066cc'; const pourcentageHebdomadaireMin = 0.005; // 0.5% const pourcentageHebdomadaireMax = 0.01; // 1% const dureeMin = Math.ceil(pertePoids / (poidsActuel \* pourcentageHebdomadaireMax)); const dureeMax = Math.ceil(pertePoids / (poidsActuel \* pourcentageHebdomadaireMin)); if (dureeMin === dureeMax) { estimationValeur.textContent = `${dureeMin} semaines`; } else { estimationValeur.textContent = `${dureeMin}-${dureeMax} semaines`; } } else if (poidsObjectif &gt;= poidsActuel) { estimationValeur.textContent = 'Poids objectif invalide'; estimationValeur.style.color = '#d32f2f'; } else { estimationValeur.textContent = '---'; estimationValeur.style.color = '#0066cc'; } } // Calcul pour le mode durée calculerBtnDuree.addEventListener('click', function() { const poidsActuel = parseInt(poidsActuelDureeInput.value); const dureeProgramme = parseInt(dureeProgrammeInput.value); if (!poidsActuel || !dureeProgramme) { alert('Veuillez remplir tous les champs'); return; } const programme = calculerProgrammeSeche(poidsActuel, dureeProgramme); afficherResultats(programme); resultSection.style.display = 'block'; // Scroll to results resultSection.scrollIntoView({ behavior: 'smooth' }); }); // Calcul pour le mode poids cible calculerBtnPoids.addEventListener('click', function() { const poidsActuel = parseInt(poidsActuelPoidsInput.value); const poidsObjectif = parseInt(poidsObjectifInput.value); if (!poidsActuel || !poidsObjectif) { alert('Veuillez remplir tous les champs'); return; } if (poidsObjectif &gt;= poidsActuel) { alert('Le poids objectif doit être inférieur au poids actuel'); return; } const pertePoids = poidsActuel - poidsObjectif; if (pertePoids &gt; poidsActuel \* 0.3) { alert('La perte de poids demandée est trop importante (plus de 30% du poids actuel)'); return; } // Calculer la durée optimale basée sur la perte de poids const pourcentageHebdomadaire = 0.005; // 0.5% par semaine const dureeCalculee = Math.ceil(pertePoids / (poidsActuel \* pourcentageHebdomadaire)); // Limiter la durée à des valeurs raisonnables (4-52 semaines) const dureeOptimale = Math.max(4, Math.min(52, dureeCalculee)); const programme = calculerProgrammeSeche(poidsActuel, dureeOptimale); afficherResultats(programme); resultSection.style.display = 'block'; // Scroll to results resultSection.scrollIntoView({ behavior: 'smooth' }); }); function calculerProgrammeSeche(poidsActuel, dureeProgramme) { // Paramètres pour la perte de poids const pourcentageHebdomadaireMax = 0.008; // 0.8% par semaine (entre 0.5% et 1%) const kgMaxParCycle = 5; // Maximum 5kg par cycle // Calcul de la perte de poids totale possible sur la durée souhaitée const perteMaxPossible = poidsActuel \* pourcentageHebdomadaireMax \* dureeProgramme; // Déterminer le nombre de cycles nécessaires const nombreCyclesNecessaires = Math.ceil(perteMaxPossible / kgMaxParCycle); // Limiter à 5 cycles maximum pour être raisonnable const nombreCycles = Math.min(nombreCyclesNecessaires, 5); // Perte par cycle ajustée const perteParCycle = Math.min(kgMaxParCycle, perteMaxPossible / nombreCycles); // Perte totale ajustée const perteTotale = perteParCycle \* nombreCycles; // Durée d'un cycle de sèche (ajustée pour la durée totale) let dureeCycle = Math.floor(dureeProgramme / nombreCycles); // Durée minimum d'un cycle (8 semaines) dureeCycle = Math.max(2, dureeCycle); // Durée de pause entre les cycles (3 semaines par défaut) const dureePause = 3; // Répartition des phases par cycle (en pourcentage de la durée du cycle) const phaseInitialePct = 0.25; // 25% du cycle const phaseMaintenancePct = 0.5; // 50% du cycle const phaseFinalesPct = 0.25; // 25% du cycle // Calculer la durée effective totale (cycles + pauses) const dureeEffectiveTotale = (dureeCycle \* nombreCycles) + (dureePause \* (nombreCycles - 1)); // Générer les cycles const cycles = \[\]; for (let c = 0; c &lt; nombreCycles; c++) { // Calories de base (estimation simple basée sur le poids) const poidsAjuste = poidsActuel - (c \* perteParCycle); const caloriesBase = Math.round(poidsAjuste \* 32); // Estimation des besoins caloriques // Durée des phases (en semaines) const dureePhaseInitiale = Math.round(dureeCycle \* phaseInitialePct); const dureePhaseMain = Math.round(dureeCycle \* phaseMaintenancePct); const dureePhaseFinale = dureeCycle - dureePhaseInitiale - dureePhaseMain; // Générer les semaines pour ce cycle const semaines = \[\]; let semaineActuelle = 1; // Déficit maximum pour la phase de maintien const deficitMaxMaintien = 500; // Phase initiale - Commencer à 200, puis 400, puis déficit maximum for (let i = 0; i &lt; dureePhaseInitiale; i++) { let deficitQuotidien; if (i === 0) { // Première semaine à 200 kcal deficitQuotidien = 200; } else if (i === 1) { // Deuxième semaine à 400 kcal deficitQuotidien = 400; } else { // Progression douce vers le déficit maximum const progression = (i - 1) / (dureePhaseInitiale - 2); deficitQuotidien = Math.min(400 + Math.round(progression \* (deficitMaxMaintien - 400)), deficitMaxMaintien); } semaines.push({ periode: `Semaine ${semaineActuelle}`, phase: 'Phase initiale', classe: 'periode-initiale', deficitQuotidien: `${deficitQuotidien} kcal/jour`, deficitHebdomadaire: `${deficitQuotidien \* 7} kcal`, perteEstimee: `~ ${((deficitQuotidien \* 7) / 7700).toFixed(1)} kg` }); semaineActuelle++; } // Phase de maintien - Déficit stable for (let i = 0; i &lt; dureePhaseMain; i++) { semaines.push({ periode: `Semaine ${semaineActuelle}`, phase: 'Phase de maintien', classe: 'periode-maintien', deficitQuotidien: `${deficitMaxMaintien} kcal/jour`, deficitHebdomadaire: `${deficitMaxMaintien \* 7} kcal`, perteEstimee: `~ ${((deficitMaxMaintien \* 7) / 7700).toFixed(1)} kg` }); semaineActuelle++; } // Phase finale - Diminution progressive du déficit (max -200 kcal/semaine) let deficitActuel = deficitMaxMaintien; for (let i = 0; i { return total + parseInt(semaine.deficitHebdomadaire); }, 0); const perteTotaleCycle = (deficitTotalCycle / 7700).toFixed(1); cycles.push({ numero: c + 1, semaines: semaines, deficitTotal: deficitTotalCycle, perteEstimee: perteTotaleCycle }); // Ajouter une pause entre les cycles (sauf pour le dernier) if (c &lt; nombreCycles - 1) { const semainePause = \[\]; for (let p = 0; p 1 ? 's' : ''}`; resumeDuree.textContent = `${programme.dureeEffectiveTotale} semaines`; resumeProteines.textContent = `${Math.round(programme.poidsActuel \* 2)}g/jour`; // Vider le conteneur de tableaux tableauxContainer.innerHTML = ''; // Générer les tableaux pour chaque cycle programme.cycles.forEach((cycle, index) =&gt; { if (cycle.estPause) { // C'est une pause entre cycles const pauseDiv = document.createElement('div'); pauseDiv.className = 'poids-calculateur-cycle-titre'; pauseDiv.textContent = 'Pause - Récupération métabolique'; tableauxContainer.appendChild(pauseDiv); } else { // C'est un cycle normal const cycleDiv = document.createElement('div'); cycleDiv.className = 'poids-calculateur-cycle-titre'; cycleDiv.textContent = `Cycle ${cycle.numero}`; tableauxContainer.appendChild(cycleDiv); } // Créer le conteneur pour le tableau const tableContainer = document.createElement('div'); tableContainer.className = 'poids-calculateur-tableau-container'; // Créer le tableau const table = document.createElement('table'); table.className = 'poids-calculateur-tableau'; // Créer l'en-tête du tableau const thead = document.createElement('thead'); thead.innerHTML = ` | Période | Phase | Déficit quotidien | Déficit hebdomadaire | Perte de poids |
|---|---|---|---|---|
 `; table.appendChild(thead); // Créer le corps du tableau const tbody = document.createElement('tbody'); // Ajouter les lignes pour chaque semaine cycle.semaines.forEach(semaine =&gt; { const tr = document.createElement('tr'); tr.className = semaine.classe; tr.innerHTML = ` | ${semaine.periode}  | ${semaine.phase}  | ${semaine.deficitQuotidien}  | ${semaine.deficitHebdomadaire}  | ${semaine.perteEstimee}  `; tbody.appendChild(tr); }); // Ajouter une ligne de total pour les cycles normaux if (!cycle.estPause) { const totalTr = document.createElement('tr'); totalTr.className = 'total-row'; totalTr.innerHTML = ` | Total (${cycle.semaines.length} semaines)  | ${cycle.deficitTotal.toLocaleString()} kcal  | ${cycle.perteEstimee} kg  `; tbody.appendChild(totalTr); } table.appendChild(tbody); tableContainer.appendChild(table); tableauxContainer.appendChild(tableContainer); }); // Ajouter un total général const totalGeneralTable = document.createElement('table'); totalGeneralTable.className = 'poids-calculateur-tableau'; const totalGeneralTbody = document.createElement('tbody'); const totalGeneralTr = document.createElement('tr'); totalGeneralTr.className = 'total-row'; // Calculer le déficit total sur tous les cycles const deficitTotalGeneral = programme.cycles .filter(cycle =&gt; !cycle.estPause) .reduce((total, cycle) =&gt; total + cycle.deficitTotal, 0); totalGeneralTr.innerHTML = ` | Total général (${programme.dureeEffectiveTotale} semaines)  | ${deficitTotalGeneral.toLocaleString()} kcal  | ${programme.perteTotale.toFixed(1)} kg  `; totalGeneralTbody.appendChild(totalGeneralTr); totalGeneralTable.appendChild(totalGeneralTbody); tableauxContainer.appendChild(totalGeneralTable); } }); #### 4 - Adopter un changement progressif

Le **principe de progressivité est sûrement le principe le plus important** quand un athlète entame un début de sèche, tant dans **la phase de réduction que dans la réintroduction calorique**.

Un athlète commençant une sèche doit faire varier ses calories graduellement, par paliers de 100-200 kcal toutes les semaines. C'est ce principe de progressivité qui va influencer sur la durée d'un programme de sèche.

           Voir ce concept en graphique  Phases de la sèche

  Pré-sèche 

  Phase initiale 

  Phase maintien 

  Phase réintroduction 

  Post-sèche 

 

 

 

document.addEventListener('DOMContentLoaded', function() { // Récupération du canvas avec taille fixe const ctx = document.getElementById('cal-deficit-fixed-chart').getContext('2d'); // Données pour les 14 semaines const weeks = Array.from({length: 14}, (\_, i) =&gt; `S${i}`); // Déficit calorique pour chaque semaine const deficitData = \[ 0, -200, -300, -400, -500, -500, -500, -500, -500, -500, -400, -300, -200, 0 \]; // Définition des phases avec leurs couleurs rgb(252, 85, 79) const phases = \[ { start: 0, end: 1, color: 'rgba(220, 220, 220, 0.7)', label: 'Pré-sèche' }, { start: 2, end: 4, color: 'rgba(200, 230, 255, 0.7)', label: 'Phase de descente' }, { start: 5, end: 9, color: 'rgba(252, 85, 79, 0.5)', label: 'Phase maintien' }, { start: 10, end: 12, color: 'rgba(255, 230, 200, 0.7)', label: 'Phase réintroduction' }, { start: 13, end: 13, color: 'rgba(220, 220, 220, 0.7)', label: 'Post-sèche' } \]; // Création des segments de données par phase const datasets = phases.map(phase =&gt; { const data = Array(14).fill(null); for (let i = phase.start; i 0) { data\[phase.start - 1\] = deficitData\[phase.start - 1\]; } return { data: data, borderColor: '#000', backgroundColor: phase.color, borderWidth: 3, tension: 0.3, fill: true, pointRadius: 0, pointHoverRadius: 0, label: phase.label }; }); // Création du graphique avec maintainAspectRatio: true pour fixer la taille const myChart = new Chart(ctx, { type: 'line', data: { labels: weeks, datasets: datasets }, options: { responsive: true, maintainAspectRatio: true, aspectRatio: 2, // Ratio largeur/hauteur fixe scales: { y: { min: -600, max: 0, ticks: { callback: function(value) { return value + ' kcal'; }, color: '#000', font: { weight: 'bold' } }, grid: { display: false }, title: { display: true, text: 'Déficit calorique quotidien', color: '#000', font: { weight: 'bold' } } }, x: { grid: { display: false }, ticks: { color: '#000', font: { weight: 'bold' } } } }, plugins: { legend: { display: false }, tooltip: { enabled: false }, annotation: { annotations: \[ { type: 'line', yMin: -500, yMax: -500, borderColor: '#000', borderWidth: 1, borderDash: \[5, 5\], label: { display: true, content: 'Déficit max (500 kcal)', position: 'start', backgroundColor: 'rgba(255, 255, 255, 0.8)', color: '#000', font: { style: 'italic', size: 10 } } } \] } } } }); }); document.addEventListener('DOMContentLoaded', function() { const toggleBtn = document.getElementById('toggleChartBtn'); const chartContainer = document.getElementById('chartContainer'); const chartIcon = document.querySelector('.cal-deficit-chart-icon'); const closeIcon = document.querySelector('.cal-deficit-close-icon'); const toggleText = document.querySelector('.cal-deficit-toggle-text'); toggleBtn.addEventListener('click', function() { const isVisible = chartContainer.style.display !== 'none'; // Basculer l'affichage du graphique chartContainer.style.display = isVisible ? 'none' : 'block'; // Basculer les icônes chartIcon.style.display = isVisible ? 'block' : 'none'; closeIcon.style.display = isVisible ? 'none' : 'block'; // Changer le texte toggleText.textContent = isVisible ? 'Voir ce concept en graphique' : 'Masquer le graphique'; }); }); .cal-deficit-fixed-container { margin: 20px auto; padding: 15px; border-radius: 8px; background-color: #fff; } .cal-deficit-fixed-container canvas { height: 400px; width: 100%; } /\* Styles pour la légende personnalisée \*/ .cal-deficit-fixed-legend { margin-top: 20px; padding: 10px 15px; border-top: 1px solid rgba(0, 0, 0, 0.1); } .cal-deficit-legend-title { font-weight: bold; color: #000; margin-bottom: 8px; font-size: 14px; } .cal-deficit-toggle-container { margin: 15px 0; } .cal-deficit-toggle-btn { display: flex; align-items: center; background: none; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 4px; padding: 8px 12px; cursor: pointer; color: #000; font-size: 14px; transition: all 0.2s; } .cal-deficit-toggle-btn:hover { background-color: rgba(0, 0, 0, 0.05); } .cal-deficit-chart-icon, .cal-deficit-close-icon { fill: #000; margin-right: 8px; } .cal-deficit-toggle-text { font-weight: 500; } .cal-deficit-chart-container { width: 100%; overflow: hidden; margin-top: 10px; transition: height 0.3s ease; } .cal-deficit-legend-items { display: flex; flex-wrap: wrap; gap: 15px; } .cal-deficit-legend-item { display: flex; align-items: center; margin-right: 10px; } .cal-deficit-legend-color { display: inline-block; width: 16px; height: 16px; margin-right: 6px; border: 1px solid #000; } .cal-deficit-legend-label { font-size: 12px; color: #000; } ![](https://protealpes.com/wp-content/uploads/2025/03/duree-seche.png)## Quelle durée pour une sèche ?

La sensibilité au déficit calorique peut varier considérablement d'un profil à l'autre. Certains athlètes perdent efficacement avec un déficit de 300 kcal tandis que d'autres nécessitent 600 kcal pour des résultats similaires.

**L'écoute des signaux du corps (faim, énergie, récupération) permet d'ajuster le déficit de manière optimale.** Le métabolisme rapide de certains athlètes leur permet d'obtenir des résultats en un temps relativement court comparé à d'autres.

Pour une première sèche, **la durée recommandée se situe généralement autour de 8 semaines.** Ce cycle court permet de limiter la fonte musculaire tout en garantissant une perte de masse grasse visible.

Les pratiquants **plus expérimentés peuvent envisager des périodes plus longues, typiquement entre 8 et 12 semaines.** Ces sportifs ont une masse musculaire plus importante au départ ont aussi un métabolisme de base plus élevé et peuvent généralement tolérer des périodes de **sèches plus longues**. La connaissance de leur corps leur permettent de maintenir l'efficacité sur cette durée.

Il existe également des **approches plus courtes mais avec un déficit plus faible**, pour toujours garder une certaine progressivité dans l'ajustement des calories.

Les sportifs ayant des objectifs de compétition à court terme, comme atteindre une certaine catégorie de poids en boxe par exemple, peuvent suivre des sèche courte de 4 à 8 semaines avec un déficit important, mais ils sont généralement accompagnés lors de ce processus.

La combustion d’1 kg de tissu adipeux correspond à environ 7700 kcal, ce qui équivaut à une réduction de 200 kcal pendant 5 semaines dans le cas idéal d’une perte de poids 100% liée au tissu adipeux.

Pour y voir plus clair, voici un tableau des durées recommandées selon le profil :

| Durée de sèche | Déficit calorique maximum | Recommandé pour |
| 3-4 semaines | 200 kcal | Mini-sèche, débutants, période pré-compétition légère |
| 6-8 semaines | 500 kcal | Pratiquants intermédiaires, première sèche complète |
| 10-12 semaines | 500 kcal avec phase de maintenance prolongée | Pratiquants avancés, préparation compétition |

Restez vigilants aux signaux d'alertes. Une fatigue chronique, une diminution significative des performances sur les exercices ou des impacts psychologiques négatifs indiquent un déficit trop important.

### Construction du programme alimentaire

- **La phase initiale** commence avec un déficit modéré d'environ 100-200 kcal par jour pendant la première semaine, ce qui permet au corps de s'adapter graduellement. Ce déficit augmente ensuite progressivement de 100 kcal par semaine jusqu'à atteindre le déficit cible, qui ne devrait pas dépasser 500 kcal pour préserver la masse musculaire accumulée lors des phases de prise de masse.
- Une fois le déficit cible atteint**, la phase de maintien** permet de continuer à brûler les graisses tout en restant vigilant sur l'état de fatigue et en ajustant l'intensité de l'entraînement adapté si nécessaire.
- La **phase finale, souvent négligée par ceux qui veulent** [**sécher rapidement**](https://protealpes.com/seche/secher-rapidement-en-musculation/)**, inclut une réintroduction progressive des calories pour [éviter l'effet yoyo ](https://protealpes.com/seche/effet-yoyo/)**après la phase de séchage. Cette étape est essentielle pour maintenir les résultats sur le long terme.

Pour vous aider à construire votre programme

[Comment faire un programme de sèche sur 8 semaines](https://protealpes.com/seche/programme-8-semaines/)
[Programme de sèche sur 6 semaines](https://protealpes.com/seche/programme-6-semaines/)
[Peut-on sécher en 1 mois ?](https://protealpes.com/seche/programme-4-semaines/)

### C'est quoi l'effet yoyo?

L'effet yoyo représente l'un des principaux risques d'une sèche mal gérée. Il indique la réaction physiologique du corps après une restriction calorique soudaine.

Quand un régime alimentaire trop strict s'achève, deux mécanismes se déclenchent : le métabolisme de base ralentit (consommant moins d'énergie au repos) et l'efficacité du stockage des nutriments s'intensifie.

Ce phénomène touche particulièrement les **personnes qui augmentent brutalement leur apport calorique quotidien après la phase de maintien** d'où l'importance de **réintroduire progressivement les calories pour habituer son organisme à un apport calorique normal**. La réintroduction de 100 à 150 kcal par semaine par exemple permet une fin de sèche en douceur.

## Conclusion

En conclusion, la durée d’une sèche dépend avant tout du profil, du niveau et des objectifs de chaque sportif. Une approche progressive, avec un déficit calorique modéré et un suivi attentif des signaux du corps, reste la clé pour préserver la masse musculaire et limiter les risques, notamment l’effet yoyo. Que la sèche dure quelques semaines ou s’étende sur plusieurs mois, il est essentiel de privilégier la patience, la progressivité et l’écoute de soi afin d’obtenir des résultats durables et respectueux de la santé.

 \[ { "@context": "https://schema.org", "@type": "Article", "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.92, "ratingCount": 93, "bestRating": 5, "worstRating": 1, "itemReviewed": { "@type": "CreativeWorkSeries", "name": "Combien de temps dure une sèche ? " } } } \]  { "@context": "https://schema.org", "@type": "WebPage", "headline": "Combien de temps dure une sèche ?", "about": \[ {"@type": "Thing","name": "sèche","sameAs": "https://fr.wikipedia.org/wiki/Sèche\_(musculation)"} \], "mentions": \[ {"@type": "Thing","name": "déficit calorique","sameAs": "https://fr.wikipedia.org/wiki/Bilan énergétique"}, {"@type": "Thing","name": "masse musculaire","sameAs": "https://fr.wikipedia.org/wiki/Muscle"}, {"@type": "Thing","name": "métabolisme","sameAs": "https://fr.wikipedia.org/wiki/Métabolisme"}, {"@type": "Thing","name": "protéines","sameAs": "https://fr.wikipedia.org/wiki/Protéine"}, {"@type": "Thing","name": "glucides","sameAs": "https://fr.wikipedia.org/wiki/Glucide"}, {"@type": "Thing","name": "lipides","sameAs": "https://fr.wikipedia.org/wiki/Lipide"}, {"@type": "Thing","name": "indice glycémique","sameAs": "https://fr.wikipedia.org/wiki/Index\_glycémique"}, {"@type": "Thing","name": "patate douce","sameAs": "https://fr.wikipedia.org/wiki/Patate\_douce"}, {"@type": "Thing","name": "pain complet","sameAs": "https://fr.wikipedia.org/wiki/Pain\_complet"}, {"@type": "Thing","name": "whey","sameAs": "https://fr.wikipedia.org/wiki/Protéine\_de\_lactosérum"}, {"@type": "Thing","name": "avocat","sameAs": "https://fr.wikipedia.org/wiki/Avocat\_(fruit)"}, {"@type": "Thing","name": "poisson","sameAs": "https://fr.wikipedia.org/wiki/Poisson"}, {"@type": "Thing","name": "effet yoyo","sameAs": "https://fr.wikipedia.org/wiki/Effet\_yoyo"}, {"@type": "Thing","name": "Medical News Today","sameAs": "https://en.wikipedia.org/wiki/Medical\_News\_Today"}, {"@type": "Thing","name": "boxe","sameAs": "https://fr.wikipedia.org/wiki/Boxe"} \] }

---

*Source : [protealpes.com](https://protealpes.com/seche/duree/)*
