Calculateur de fréquence cardiaque cible Karvonen
À 30 ans, avec un pouls au repos de 60 et une intensité de 70 % de la réserve, votre cible est de 151 battements par minute. Indiquez votre âge, votre fréquence au repos et l'intensité pour obtenir la vôtre. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Âge
- 30
- Fréquence cardiaque au repos
- 60
- Intensité
- 70
- Intensité en pourcentage
- 70 bpm
- Intensité en fraction
- 0,7
- FC max
- 190
- Réserve
- 130
La formule de Karvonen estime une fréquence cardiaque d'entraînement personnalisée à partir de trois valeurs simples : votre âge, votre fréquence cardiaque au repos et l'intensité souhaitée, exprimée en pourcentage de la réserve cardiaque. Contrairement à un simple pourcentage de la fréquence maximale, la méthode de réserve soustrait d'abord la fréquence au repos du maximum estimé, applique ensuite l'intensité à cette réserve, puis rajoute la fréquence au repos : ainsi, deux personnes ayant des niveaux de repos différents obtiennent des cibles différentes pour une même intensité.
Ce que mesure la méthode de réserve de Karvonen et les données requises
Les zones d'entraînement cardiaque aident coureurs, cyclistes et pratiquants de remise en forme à travailler à une intensité maîtrisée sans test d'effort en laboratoire. La méthode de réserve de Karvonen part d'une fréquence cardiaque maximale estimée à 220 − age en années, une estimation simple de type Fox, largement enseignée dans les formations d'entraîneurs. La fréquence au repos se mesure généralement après plusieurs minutes d'assise calme, souvent au réveil, et s'exprime en battements par minute.
L'intensité est la fraction de l'écart entre repos et maximum à laquelle vous souhaitez travailler : 50 % de la réserve correspond pour beaucoup à un effort aérobie léger, tandis que 70 à 85 % constitue une plage soutenue courante, toujours selon la condition physique et le contexte médical. L'intensité peut être un pourcentage de 0 à 100 ou une fraction de 0 à 1 inclus : 70 et 0.7 désignent tous deux 70 % de la réserve. L'âge doit rester dans une plage pratique de 1 à 120 ans.
Cas d’usage
Programmation en salle de sport et applications de coaching
Les entraîneurs saisissent l'âge du client, sa fréquence au repos et l'intensité de la zone pour afficher une cible Karvonen en bpm sur les fiches de séance, sans réimplémenter le calcul de réserve dans chaque client.
Questions fréquentes
Quelle est la formule de la fréquence cardiaque cible de Karvonen ?
L'intensité est une fraction de la réserve (par exemple 0.7 ou 70 %).
Que se passe-t-il si la fréquence au repos dépasse le maximum ?
La fréquence au repos doit rester strictement inférieure au HR_max estimé (220 − age) ; lorsqu'elle atteint ou dépasse le maximum, la réserve n'est pas positive et le calculateur rejette l'entrée sans facturation.
Puis-je envoyer l'intensité comme 70 ou comme 0.7 ?
Oui. Les valeurs de 0 à 1 inclus sont traitées comme des fractions de la réserve ; les valeurs supérieures à 1 jusqu'à 100 sont traitées comme des pourcentages. 70 et 0.7 signifient tous deux 70 % de la réserve cardiaque.
Le calculateur Karvonen de fréquence cardiaque cible est-il gratuit ?
L'outil du navigateur fonctionne gratuitement sur votre appareil.
220 moins l'âge est-il la véritable fréquence cardiaque maximale ?
Non. Il s'agit d'une simple estimation de population utilisée à des fins pédagogiques et de planification. Le maximum réel varie selon l'individu ; ce produit n'accepte pas de HR_max mesuré en laboratoire.
Outils associés
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/health/target-hr-karvonen \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"age":30,"resting_hr":60,"intensity":70}'const res = await fetch("https://api.kit.forhosting.com/health/target-hr-karvonen", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"age": 30,
"resting_hr": 60,
"intensity": 70
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/target-hr-karvonen",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"age": 30,
"resting_hr": 60,
"intensity": 70
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/target-hr-karvonen", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"age":30,"resting_hr":60,"intensity":70}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"age":30,"resting_hr":60,"intensity":70}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/target-hr-karvonen", 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": 30,
"resting_hr": 60,
"intensity": 70
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.target_hr_karvonen",
"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. |
Notes techniques
Cette fonction applique la règle « 220 − age » pour la fréquence maximale, calcule la réserve, la multiplie par l'intensité et renvoie un JSON structuré comprenant la fréquence maximale, la réserve, la cible en bpm ainsi que l'intensité en pourcentage et en fraction. Le traitement est purement arithmétique, sans réseau ni aléa, de sorte que les applications de coaching, les laboratoires d'EPS et les clients API prépayés obtiennent des résultats identiques à chaque appel. Lorsque la fréquence au repos atteint ou dépasse le maximum estimé, la requête échoue avec invalid_input, car la réserve ne peut être nulle ou négative pour une cible Karvonen pertinente.
Ce que mesure la méthode de réserve de Karvonen et les données requises
Envoyez les champs requis age, resting_hr et intensity sous forme de nombres finis ; les alias years et age_years conviennent pour l'âge, resting, rhr, rest_hr, resting_heart_rate et hr_rest pour la fréquence au repos, et intensity_percent, percent, pct, intensity_pct et target_percent pour l'intensité. Des entrées identiques produisent toujours un JSON identique, car l'algorithme ne touche ni au réseau, ni à un modèle, ni à une horloge, ni à un générateur aléatoire. Les champs manquants, les valeurs non finies, un âge ou une intensité out-of-range et une fréquence au repos atteignant ou dépassant le maximum estimé échouent tous avec invalid_input et ne sont pas facturés.
Lire les champs de la réponse et interpréter la fréquence cardiaque cible
Rappelez-vous que 220 − age n'est qu'une estimation : le maximum réel varie selon la génétique, les traitements et le sport, et ce calculateur n'accepte pas de maximum mesuré personnalisé. Ne confondez pas ce point de terminaison avec les formules de simple pourcentage du maximum qui ignorent la fréquence au repos, avec les zones de seuil lactique ou avec les cibles des tests d'effort cliniques : ce sont des intentions différentes. En cas de succès, la réponse reprend age et resting_hr, puis intensity_percent et intensity_fraction afin que les interfaces affichent l'une ou l'autre forme sans recalcul. Le champ hr_max est la fréquence maximale estimée selon 220 − age, hrr est la réserve cardiaque, soit hr_max moins resting_hr, et target_hr est la cible de Karvonen en battements par minute : la fréquence au repos plus l'intensité multipliée par la réserve. Le champ unit vaut toujours bpm, formula rappelle l'équation de réserve, et method vaut toujours karvonen_reserve pour que le code en aval puisse bifurquer sans deviner la structure. Utilisez target_hr pour une seule valeur d'entraînement sur une montre ou une console ; utilisez hr_max et hrr pour montrer les étapes intermédiaires que les élèves calculent sur papier ; utilisez intensity_fraction pour enchaîner une logique de zones qui travaille déjà sur une échelle de zéro à un. Une fréquence au repos égale ou supérieure au maximum estimé rend la réserve non positive et déclenche un message invalid_input explicite mentionnant que la fréquence au repos dépasse le maximum.
Utilisation de l'API, tarification, flux de coaching et limites pratiques
Utilisez le calculateur Karvonen gratuit dans le navigateur pour les cours d'EPS, les démonstrations en salle de sport et les vérifications rapides de clients, sans réécrire l'arithmétique de réserve dans chaque tableur. Privilégiez des mesures matinales cohérentes ; si votre interface ne recueille l'intensité qu'en pourcentages entiers, envoyez 70 plutôt que 0.7 — le moteur accepte les deux. Gardez des attentes pédagogiques : il s'agit d'un outil de planification et d'apprentissage, non d'un dispositif médical de diagnostic ; les personnes souffrant d'affections cardiaques, prenant des médicaments modifiant la fréquence ou soumises à des restrictions médicales doivent suivre l'avis d'un professionnel plutôt qu'une formule unique. Envoyez un corps JSON avec age requis, resting_hr en battements par minute et intensity en pourcentage ou en fraction. Choisissez l'API prépayée lorsqu'un SaaS de coaching, un compagnon de montre connectée, un LMS scolaire ou un journal d'entraînement exige un contrat stable sous solde KIT à $0.002 par élément réussi ; les échecs de validation ne consomment jamais de solde une fois la requête rejetée. Associez ce point de terminaison à votre propre protocole de mesure de la fréquence au repos, puis conservez target_hr avec les libellés de zones pour l'échauffement, la base aérobie et les séances de tempo. Les auteurs de SDK peuvent projeter target_hr, hr_max et hrr dans des tableaux de bord et exporter des colonnes CSV pour l'âge, la fréquence au repos, l'intensité et la cible Karvonen — les mêmes valeurs que les entraîneurs calculent à la main après avoir pris le pouls au repos.
Cas d'intégration
Cours d'EPS et devoirs de sciences du sport
Les élèves calculent des fréquences cibles à 50 %, 70 % et 85 % de la réserve et figent le JSON attendu dans des correcteurs automatisés grâce aux sorties Karvonen déterministes.
Dorsaux d'objets connectés et de SaaS de coaching
Les pipelines serveur qui stockent déjà la fréquence au repos appellent un point de terminaison prépayé pour target_hr au lieu de dupliquer les formules Fox 220−age et de réserve dans chaque langage.