Calculateur FFMI normalisé
Place des sportifs de tailles différentes sur une même échelle de masse maigre : 68 kg de masse maigre pour 1,75 m reçoivent une correction de 0,305 point vers la référence de 1,8 m. Vous voyez l'indice brut et l'indice normalisé côte à côte. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Masse maigre
- 68
- Hauteur
- 1,75
- Masse maigre (kg)
- 68 kg/m²
- Hauteur (m)
- 1,75
- FFMI
- 22,2040816327
- FFMI normalisé
- 22,5090816327
L'indice de masse maigre normalisé ajuste la masse maigre à la stature afin que des athlètes de tailles différentes se placent sur une échelle comparable. Cette capacité reçoit la masse sans graisse en kilogrammes et la taille debout en mètres, calcule le FFMI brut comme masse maigre sur taille au carré, puis applique la correction classique de six virgule un fois un virgule huit moins la taille vers la référence d'un virgule huit mètres.
Pourquoi le FFMI brut a besoin d'une correction de taille
L'indice brut divise la masse maigre par la taille en mètres au carré. Il tient déjà compte de la stature, mais garde un biais lié à la taille : deux sportifs ayant le même tissu maigre et des tailles différentes n'obtiennent pas le même chiffre. La version normalisée ajoute une correction linéaire : 6,1 fois l'écart entre 1,8 m et votre taille. Pour 68 kg de masse maigre et 1,75 m, l'écart est faible et la correction vaut 0,305 point ; au-dessus de 1,8 m, elle devient négative. Les deux valeurs sont données en kilogrammes par mètre carré.
Quand l'utiliser et quoi vérifier d'abord
Les entraîneurs se servent de la valeur normalisée pour placer des sportifs de tailles différentes sur une même échelle pendant une sèche ou une prise de masse. Le calculateur part d'une masse maigre que vous connaissez déjà, mesurée par DEXA, pesée hydrostatique, un bon appareil d'impédancemétrie, plis cutanés ou une autre méthode fiable ; il n'estime pas la composition à partir du poids et du pourcentage de graisse. La taille peut être saisie en mètres ou en centimètres. Les valeurs manquantes ou non positives sont refusées, tout comme les tailles hors d'une plage adulte plausible.
Cas d’usage
Entraînement force et physique
Les entraîneurs saisissent la masse maigre mesurée et la stature pour placer des athlètes de tailles différentes sur une seule bande de FFMI normalisé par la taille pendant les phases de sèche ou de prise de masse.
Applications fitness et science du sport
Les applications qui stockent déjà la masse sans graisse via DEXA ou BIA appellent un point de terminaison prépayé stable pour le FFMI normalisé au lieu de réimplémenter la correction 6.1×(1.8−h) dans chaque langage client.
Questions fréquentes
Quelle est la formule du FFMI normalisé ?
Le FFMI brut est la masse maigre en kg divisée par la taille en mètres au carré.
En quoi cela diffère-t-il d'un calculateur FFMI classique ?
Un outil FFMI classique part souvent du poids et du pourcentage de graisse pour dériver la masse maigre. Ce point de terminaison accepte la masse maigre directement et renvoie toujours l'indice normalisé par la taille plus le FFMI brut et le terme d'ajustement.
Que se passe-t-il si la masse maigre ou la taille manquent ?
Les valeurs non positives et les tailles hors de la fenêtre adulte sûre sont aussi rejetées et non facturées.
Quelles unités dois-je utiliser pour la masse maigre et la taille ?
Si votre interface recueille des livres ou des pouces, convertissez avant d'appeler pour que la formule publiée s'applique correctement.
Le calculateur de FFMI normalisé est-il gratuit ?
L'outil du navigateur s'exécute gratuitement sur votre appareil.
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/ffmi-normalized \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lean_mass":68,"height":1.75}'const res = await fetch("https://api.kit.forhosting.com/health/ffmi-normalized", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lean_mass": 68,
"height": 1.75
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/ffmi-normalized",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lean_mass": 68,
"height": 1.75
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/ffmi-normalized", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lean_mass":68,"height":1.75}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lean_mass":68,"height":1.75}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/ffmi-normalized", 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
{
"lean_mass": 68,
"height": 1.75
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.ffmi_normalized",
"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
Entraîneurs, applications de science du sport et carnets de recherche obtiennent l'indice scientifique et la bande normalisée par la taille dans une seule réponse JSON déterministe. Le chemin est de l'arithmétique pure sans réseau ni graine aléatoire, de sorte que les contrôles gratuits dans le navigateur et les clients d'API prépayée ne divergent jamais. Si la masse maigre ou la taille manquent, si les valeurs ne sont pas positives ou si la taille sort d'une fenêtre adulte sûre, la requête échoue avec invalid_input et n'est pas facturée.
Ce que mesure le FFMI normalisé et quelles entrées vous devez fournir
Le FFMI normalisé par la taille corrige ce biais par un ajustement linéaire vers une stature de référence fixe d'un virgule huit mètres, avec le coefficient largement cité de six virgule un. La masse maigre doit déjà être connue par DEXA, pesée hydrostatique, un appareil BIA de qualité, plis cutanés ou une autre méthode de composition en laquelle vous avez confiance ; ce calculateur n'estime pas la composition à partir du poids et du pourcentage de graisse. Les tailles inférieures à zéro virgule trois mètres ou supérieures à trois mètres sont rejetées comme hors d'une fenêtre d'isolement sûre pour la stature adulte debout. L'indice de masse maigre brut divise la masse maigre par la taille en mètres au carré et incorpore donc encore un biais de stature : les athlètes plus petits tendent à marquer plus haut et les plus grands plus bas pour une même densité de tissu maigre. Le moteur forme d'abord le FFMI comme lean_mass_kg divisé par height_m au carré, puis ajoute six virgule un fois un virgule huit moins height_m, et renvoie les deux figures en kilogrammes par mètre carré. Envoyez lean_mass comme un nombre fini positif en kilogrammes ; les alias lean_mass_kg, fat_free_mass, fat_free_mass_kg, ffm et lbm sont acceptés lorsque votre charge utile utilise déjà ces noms. Envoyez height comme un nombre fini positif en mètres ; les alias height_m, stature et stature_m sont acceptés, et height_cm lorsque vous préférez les centimètres — le moteur divise par cent. Si la masse maigre ou la taille manquent, sont vides, non finies ou non positives, la requête échoue avec invalid_input en nommant le champ. Des entrées identiques produisent toujours le même JSON car l'algorithme ne touche jamais le réseau, un modèle, une horloge ou un générateur aléatoire.
Lire les champs de la réponse et les pièges fréquents
Souvenez-vous que la qualité de la masse maigre domine le résultat — une entrée de composition médiocre produit un indice poli mais sans sens. Ne confondez pas ce point de terminaison avec l'IMC, le BMI Prime, le BMR ou le chemin FFMI poids-et-graisse qui dérive la masse maigre elle-même : ils répondent à d'autres questions et vivent sur d'autres capacités. Les valeurs de masse maigre extrêmement élevées au-dessus du plafond de sécurité publié de l'isolement sont aussi rejetées. Gardez des attentes cliniques : il s'agit d'une estimation éducative et de planification, non d'un dispositif médical de diagnostic, et les utilisateurs à composition corporelle atypique ou avec des conditions médicales doivent suivre un avis professionnel plutôt qu'un seul indice. En cas de succès, la réponse répète lean_mass_kg et height_m, puis signale ffmi, normalized_ffmi et height_adjustment. Le champ height_adjustment vaut exactement six virgule un fois un virgule huit moins height_m afin que les interfaces affichent le terme de correction à côté de l'indice brut sans le recalculer. Le champ reference_height_m vaut toujours un virgule huit et coefficient vaut toujours six virgule un pour que les clients documentent la formule sans coder des constantes en dur. Le champ unit est toujours kg/m², formula reformule l'expression normalisée complète et method est toujours ffmi_normalized pour que le code en aval puisse brancher sans inspecter les formes. Utilisez ffmi lorsque vous voulez l'indice scientifique brut pour des articles de recherche ; utilisez normalized_ffmi lorsque votre littérature d'entraînement, vos notes de préparation à la compétition ou le tableau de bord d'équipe citent la bande ajustée à la taille.
Usage de l'API, tarification, flux d'entraînement et limites pratiques
Appelez le calculateur de FFMI normalisé gratuit dans le navigateur pour des contrôles rapides, des démonstrations de cours et l'éducation des clients sans installer de tableur de science du sport. Gardez les requêtes petites, documentez le coefficient de six virgule un pour vos utilisateurs, et vous obtenez des scores de masse maigre ajustés à la taille reproductibles sans monter une pile complète de science du sport par vous-même. Envoyez un corps JSON avec lean_mass et height obligatoires (ou leurs alias). Utilisez l'API prépayée lorsqu'un SaaS fitness, une plateforme de performance d'équipe, un formulaire de télésanté ou un carnet de recherche ont besoin d'un contrat stable sous solde KIT à $0.002 par élément réussi ; les échecs de validation ne consomment jamais le solde après le rejet par le moteur. Associez ce point de terminaison à un flux de composition qui stocke déjà la masse sans graisse — exports DEXA, API d'appareils BIA ou tableurs de plis cutanés — puis tracez normalized_ffmi sur une saison sans redériver la masse maigre du poids de la balance à chaque fois. Préférez la masse maigre en kilogrammes et la taille en mètres qui correspondent à la formule publiée ; si votre interface recueille des livres ou des centimètres, convertissez ou utilisez height_cm avant d'appeler. Les auteurs qui livrent des SDK peuvent mapper ffmi et normalized_ffmi directement dans des tableaux de bord et exporter des colonnes CSV étiquetées indice de masse maigre et FFMI ajusté à la taille — les mêmes nombres que les entraîneurs écrivent à la main en appliquant la correction de style Kouri sur papier. Lorsque la stature égale la référence d'un virgule huit mètres, height_adjustment vaut zéro et normalized_ffmi égale le ffmi brut, ce qui est un test de fumée utile pour les tests d'intégration.
Cas d'intégration
Démonstrations en classe et recherche
Les cours comparent le FFMI brut au FFMI normalisé par la taille et figent le JSON attendu dans des tests automatisés à sorties déterministes.