Calculez vos zones cardiaques avec la méthode de Karvonen
Ce calculateur utilise votre âge et votre fréquence cardiaque au repos pour estimer cinq zones d’entraînement personnalisées selon la méthode de Karvonen.
Lancer gratuitement
Au lieu d’appliquer un simple pourcentage à la fréquence maximale, il détermine d’abord la réserve cardiaque, puis réintègre le pouls au repos. Vous obtenez des limites arrondies en battements par minute, de l’effort aérobie léger à l’effort maximal estimé. Ces valeurs constituent une aide à la planification et ne remplacent pas un avis médical ou un test d’effort individualisé.
Comment la formule de Karvonen personnalise l’intensité
La méthode de Karvonen commence par estimer la fréquence cardiaque maximale en soustrayant l’âge de 220. Elle retire ensuite la fréquence au repos afin d’obtenir la réserve cardiaque, c’est-à-dire l’écart entre le repos et le maximum estimé. Chaque intensité est appliquée à cette réserve, puis le pouls au repos est ajouté : la fréquence cible est égale à la fréquence au repos plus la réserve multipliée par l’intensité. Deux personnes du même âge peuvent donc recevoir des plages différentes. Une personne dont le pouls au repos est plus faible dispose généralement d’une réserve plus grande qu’une autre personne du même âge. Le calculateur répartit cette réserve en cinq bandes usuelles : 50–60%, 60–70%, 70–80%, 80–90% et 90–100%. Chaque limite est arrondie au battement entier le plus proche pour faciliter sa lecture sur une montre, une ceinture thoracique, un appareil de sport ou lors d’un comptage manuel. Le maximum estimé et la réserve sont également affichés afin que le calcul reste transparent.
Mesurez une fréquence au repos représentative
La fréquence cardiaque au repos est surtout utile lorsqu’elle reflète un état réellement calme. Mesurez-la après quelques minutes de repos ou peu après le réveil, avant que la caféine, l’exercice ou un trajet stressant ne modifient la valeur. Comptez les battements pendant une minute entière ou utilisez un capteur fiable ; si possible, comparez plusieurs matinées plutôt que de vous fier à une journée inhabituelle. Saisissez votre âge en années et votre pouls en battements par minute. L’âge doit être positif et la fréquence au repos doit rester inférieure au maximum estimé selon l’âge, faute de quoi aucune réserve positive ne peut être divisée en zones. La maladie, la déshydratation, la chaleur, certains médicaments, le manque de sommeil et la fatigue d’entraînement peuvent modifier la réponse cardiaque. Considérez donc ces zones comme des estimations de planification, et non comme des seuils physiologiques exacts. En cas de douleur thoracique, malaise, vertige ou essoufflement inhabituel, arrêtez l’effort et demandez un avis professionnel adapté.
Intégrez les cinq zones à votre programme
La zone 1 est la plus légère et convient souvent à l’échauffement, au retour au calme, à la récupération et aux mouvements faciles. La zone 2 sert fréquemment aux séances d’endurance aérobie confortables, avec une respiration maîtrisée. La zone 3 correspond à un effort modéré et soutenu, tandis que la zone 4 représente un travail difficile généralement maintenu moins longtemps. La zone 5 s’étend d’un effort très intense au maximum estimé et se réserve habituellement à de courts intervalles pour les personnes qui y sont préparées. Ces descriptions indiquent une demande cardiovasculaire croissante, mais elles ne prescrivent pas le temps que chacun doit passer dans une bande. La condition physique, le sport, l’expérience, la santé, l’environnement et l’objectif de la séance influencent l’intensité appropriée. Le rythme cardiaque réagit aussi avec retard aux changements brusques : un sprint peut se terminer avant que le capteur n’atteigne la zone correspondante. Utilisez ces plages avec votre perception de l’effort, votre respiration, votre allure, votre puissance et votre récupération. Recalculez-les lorsque l’âge ou une mesure stable au repos évolue, sans réagir à chaque petite fluctuation quotidienne.
Cas d’usage
Préparer une séance aérobie
Transformez l’âge et un pouls au repos mesuré en plages claires pour les phases faciles, modérées et intenses.
Régler les alertes d’un capteur
Reprenez les limites arrondies pour configurer les notifications de zone sur une montre ou une application compatible.
Documenter une référence d’entraînement
Consignez les données de la formule et les cinq plages avant de décider avec un professionnel de leur place dans le programme.
Questions fréquentes
Quelle formule ce calculateur emploie-t-il ?
Il estime le maximum par 220 moins l’âge, calcule la réserve en retirant le pouls au repos, puis ajoute ce pouls à chaque pourcentage choisi de la réserve.
Combien coûte un calcul par API ?
Chaque requête API coûte $0.002. Le calcul est déterministe et ne fait appel à aucun service externe.
Pourquoi le pouls au repos change-t-il les zones ?
Karvonen applique les pourcentages à l’écart entre le repos et le maximum estimé ; un même âge peut donc produire des cibles différentes.
Ces zones constituent-elles un avis médical ?
Non. Ce sont des estimations pédagogiques et de planification. Un professionnel de santé ou du sport peut conseiller une intensité adaptée à votre situation.
Pourquoi les valeurs cibles sont-elles arrondies ?
Les capteurs et les comptages manuels indiquent généralement des battements entiers par minute ; chaque limite est donc arrondie à l’entier le plus proche.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/calc2/heart-rate-zones \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"age":40,"resting_heart_rate":60}'const res = await fetch("https://api.kit.forhosting.com/calc2/heart-rate-zones", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"age": 40,
"resting_heart_rate": 60
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calc2/heart-rate-zones",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"age": 40,
"resting_heart_rate": 60
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calc2/heart-rate-zones", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"age":40,"resting_heart_rate":60}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"age":40,"resting_heart_rate":60}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calc2/heart-rate-zones", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"age": 40,
"resting_heart_rate": 60
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calc2.heart_rate_zones",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |