L’estimation de la Vo2max par Garmin
|Ayant toujours aimé défendre « l’indéfendable » en cyclisme 😁 (après mes articles sur les puissances estimées par Strava ou celles d’un vieux home trainer non smart), aujourd’hui j’ai décidé de m’attaquer à l’estimation de la VO2max par les appareils Garmin.
Est-ce une grosse farce comme le prétendent beaucoup, ou bien un outil permettant une réelle estimation de sa cylindrée? Voici une tentative de réponse à cette question. Cet article est très (très!) long (et il m’a fallut quelques semaines pour le boucler^^) car j’aime rentrer dans les détails des choses qui m’intéressent, et les tester. Je comprend que ça puisse être trop long pour ceux qui veulent juste une réponse à leur question: « comment est-ce que cela fonctionne, est-ce fiable? », et donc pour eux voici:
L’article résumé en 2 phrases :p
Pour résumer, l’estimation est basée sur une formule classique ( (12.35 * Puissance + 300)/poids ) ainsi qu’une courbe de régression. C’est très fiable statistiquement, mais pas forcément de manière individuelle.
Pour ceux qui veulent les détails, place au pavé!
Menu
Présentation
Sur les GPS Garmin de génération relativement récente (à partir de la gamme x20), l’estimation de la VO2max du cycliste est disponible, à condition d’utiliser un capteur de puissance et un cardio fréquencemètre. Sur la génération x30, des tas d’indicateurs supplémentaires sont disponibles, ce fût une belle surprise lorsque j’ai remplacé mon 820 par un 830. Tous ces indicateurs sont issus des travaux de recherche de FirstBeat.
Les GPS de la génération x20 offrent 5 à 6 indicateurs FirstBeat, contre 13 à 14 pour la génération x30! En voici la liste complète:
- Estimation de la VO2max
- Condition de performance: écart de niveau en temps réel par rapport à sa VO2max
- Estimation de la FTP
- Training Effect: aerobic ou anaerobic (impact de l’entrainement de la session dans ces zones de travail, notée de 0 à 5)
- Workout Label: indique quels zones d’entrainement on été travaillées lors de la dernière session (recup, endurance, tempo, seuil, VO2max, sprint, anaérobie)
- Training Load Balance: répartition des charges d’entraînement des 4 dernières semaines en 3 zones d’intensités
- Charge d’entrainement (basée sur le cardio)
- Training Status: indique si l’on se desentraîne, si on se maintient ou si on se surentraîne
- Recovery Time: indique combien de temps de repos est nécessaire avant le prochaine entrainement
- Calories brûlées (déterminé via le rythme cardiaque, donc peu utile si l’on a un capteur de puissance)
- Stress Test: indique le niveau de récupération (de 0 à 100) après un test au repos d’environ 3 minutes (basé sur la variabilité du rythme cardiaque)
- Niveau d’acclimatation à la chaleur et à l’altitude
- Rythme de la respiration
On va donc s’intéresser ici à la détermination de la VO2max, et également à l’indicateur de performance en temps réel. Lors de mes premiers essais (à l’époque avec mon Edge 820), j’avais été surpris d’obtenir des augmentations de VO2max en roulant en Zone 2 ou au tempo. On verra plus loin qu’il s’agit justement d’un des points forts de cette méthode d’estimation: il n’y a pas a pas besoin d’effectuer un effort maximal pour obtenir une estimation de sa Vo2max, ce qui peut sembler contre-intuitif.
L’indicateur temps réel permet, pendant son entrainement, de se situer par rapport à sa Vo2max: pouvant aller de -10 à +10, il permet de savoir à quel niveau de son potentiel maximum l’on se situe. J’ai remarqué que je démarrai mes sessions souvent bas (à -3 par exemple), avant de remonter, à 0 si je suis dans la forme du moment, et jusqu’à +3 ou +4 si je suis dans une très bonne forme. Lorsque le cardio est ‘collé’ je remarque que l’indicateur peut monter encore plus haut, et inversement. Ainsi avant même de lire les documents de recherche, j’avais l’intuition que le rythme cardiaque avait une influence sur la détermination de la Vo2max de FirstBeat.
Entrons maintenant dans le vif du sujet pour comprendre comment tout cela est calculé.
Algorithme FirstBeat
Présentation simplifiée
Un white paper (document de recherche présentant un principe) existe sur le sujet, à lire: https://assets.firstbeat.com/firstbeat/uploads/2017/06/white_paper_VO2max_30.6.2017.pdf (en cache ici si le lien est mort)
Malheureusement, ce papier n’explique pas grand chose (et encore moins en ce qui concerne le cyclisme): on comprend que les données (cardio, vitesse) sont scindés en segments, et que certaines parties sont filtrées (en cas de pause, de perte de GPS ou de rythme trop saccadé). Puis le tout est rassemblé dans une courbe de régression reliant la vitesse de course au cardio (il s’agit d’une courbe théorique qui tente le plus possible de coller aux données récoltées) pour obtenir une extrapolation de la FcMax et ensuite de la VO2max. Mais il ne rentre pas plus dans les détails.
Deux choses intéressantes toutefois: l’importance de la FCMax (on y reviendra), et la validité du modèle: celle ci est donnée à 95% (on y reviendra également).
Présentation plus détaillée
Je suis tombé récemment sur un papier qui cette fois rentre dans les détails, il est disponible ici:
https://patentimages.storage.googleapis.com/d7/29/7a/8f5accec706c6a/US20110040193A1.pdf (ou en cache ici)
C’est un document très intéressant et relativement facile à lire, du moins dans ses grands principes. Cependant il rentre dans beaucoup de détails qui ne nous sont pas forcément utiles, notamment en ce qui concerne la fragmentation des données et la fiabilité des différents segments (c’est même le gros de la thématique!). Il présente aussi de multiples façons d’estimer la VO2max: en cyclisme, en course à pied, en rameur, avec le ressenti ou encore avec la respiration.
Si on ne devait retenir qu’une seule chose, c’est la fameuse formule tant attendue (!) liant la VO2max à la puissance et associée à une courbe de régression, mais reprenons tout de même ce document pour en extraire les infos importantes.
- l’algorithme doit pouvoir fonctionner sur une session d’entrainement habituelle (ce n’est pas un test d’effort)
- l’estimation peut être basée sur une session ou un ensemble de sessions
- l’utilisateur doit renseigner plusieurs informations comme l’âge, le sexe le poids ou la fréquence cardiaque maximale
- Les données du cardio et de la puissance sont utilisées pour le cyclisme
- sont exclus de l’analyse:
- les 3 premières minutes de la session
- les segments de données peu fiables (présentant de trop grandes variations de rythme cardiaque ou de trop courte durée)
- les segments en descentes ou avec revêtement/conditions météo changeantes (cas de la course à pied)
- une courbe de régression est calculée avec les segments de données conservés, chaque segment représentant un intervalle de fréquence cardiaque (par exemple 120 à 129, puis 130 à 139, etc…).
- la formule (12.35 * Puissance + 300)/poids est utilisée pour calculer la VO2 de chaque segment
- le point de la courbe de régression correspondant à FCmax donne la Vo2max
On y est, enfin cette fameuse formule 😁. Et comme le dit le document, cette formule est en fait connue depuis un bout de temps. Ainsi dans un de mes articles de 2014 recensant les différentes manières d’estimer la Vo2max apparaissaient déjà des formules approchantes, par exemple (11.5 * puissance +260) / poids (les autres variantes étant simplement des développements mathématiques de cette dernière, avec éventuellement un ajustement et de légères variations des constantes).
Rien de magique ni de (trop) approximatif dans ce genre de formules: si vous allez voir dans mon article de l’époque, le dernier paragraphe explique comment, par de simples lois de la physique ou de la biologie, on est capable de déterminer la consommation d’oxygène d’un sportif. La seule inconnue (qui peut être conséquente du point de vue individuel, mais statistiquement correcte), est le rendement du corps humain, pouvant varier de 21 à 25% et avoir une grande influence dans le résultat final.
En fait, la véritable avancée de cette méthode, c’est de tracer un nuage de points représentant la puissance en fonction de la fréquence cardiaque, et d’en tirer une équation de régression. Le but de cette équation, devant coller le plus possible à ces différents points, est de calculer une puissance pour chaque valeur de fréquence cardiaque.
Comme on le voyait plus haut, nul besoin de faire un test d’effort pour obtenir son estimation de Vo2max. Il suffit de ‘rentrer’ sa fréquence cardiaque maximale dans la formule de régression pour obtenir sa puissance à Vo2max (pma) et donc sa Vo2max.
Un petit ‘hic’ toutefois: la Vo2max ne s’obtient pas forcément à FCmax (celle ci peut être atteinte par exemple à la fin d’un palier de test). Sauf si je suis passé à côté de quelque chose, il y a donc une petite faille à ce niveau. Dans tous les cas, cela met donc l’accent sur la fréquence cardiaque maximale: il est indispensable de bien la configurer dans votre Garmin, et de ne surtout pas laisser l’appareil l’estimer! La marge d’erreur pourrait rendre invalide l’estimation de votre Vo2max.
Voila pour la théorie. On va maintenant mettre en pratique cela au travers d’un exemple, pour bien comprendre le fonctionnement global.
Décryptage
Etude de cas qui fonctionne
Pour essayer de mettre en pratique l’algorithme FirstBeat manuellement, j’ai choisi une de mes sessions d’entrainement sous Zwift, avec le genre de données qui vont bien: un rythme relativement élevé mais non maximal, avec quelques variations régulières, mais non brusques.
Le but va être de tester la validité d’une estimation de la VO2max via la courbe de régression, et ce sera tout: hors de question d’aller se plonger dans la création de segments, avec tout la partie algorithmique qui est associé😅 (sélection et pourcentage de fiabilité). Ce sera donc une grosse approximation, pour illustrer le principe.
J’ai exporté ma session au format GPX, puis l’ai converti en .csv à l’aide d’un convertisseur XML/CSV en ligne (le format GPX est en effet un simple fichier XML). J’ai utilisé ce site: https://www.convertcsv.com/xml-to-csv.htm .
J’ai ensuite importé le csv dans un google sheet. J’obtiens un tableau de ce genre là (j’ai renommé les colonnes extensions/power en ‘Puisssance‘ et ‘ extensions/TrackPointExtension/hr/__text‘ en ‘Cardio‘)
Ensuite, il va nous falloir créer ce fameux nuage de points. Pour cela, on va sectionner les deux colonnes qui nous intéressent: Puissance et Cardio.
Puis on va insérer un tableau (Insert->Chart). Dans Chart type, sélectionner scatter (nuage de points). Il faut ensuite inverser (le cas échéant) les Axes X et Y pour avoir les données du cardio en abscisses: X-axis: cardio et Series: Puissance.
On obtient notre nuage de points:
La tendance ressemble grossièrement à une droite, avec une deuxième branche plus basse et plus horizontale. Cette branche représente des puissances faibles malgré un cardio élevé: c’est une bonne illustration de l‘inertie cardiaque: lorsque l’on coupe son effort le rythme cardiaque met un peu de temps à redescendre.
On va maintenant aller dans l’onglet ‘Customize’ pour obtenir notre équation de régression:
Dans ‘Series‘, on peut déjà commencer par réduire le Point Size à 2px pour rendre le graphe plus lisible. Puis cocher Trendline pour tracer la courbe de régression (la tendance du nuage de points).
Cela fait apparaître un sous menu:
‘Type’ permet de choisir le type de courbe de régression. Il est par défaut à Linear (c’est une droite).
Cochez ‘Show R²‘. Le R² est un indice qui illustre la qualité de l’approximation de l’équation de régression. Plus il est proche de 1, plus forte sera sa fiabilité (il ‘collera’ plus aux données). On sait que dans notre cas, l’indice sera forcément faible à cause de la ‘branche’ évoquée plus haut. Ce qui ne veut pas dire que l’estimation sera foireuse: en un coup d’œil on peut voir que le gros du nuage est bien suivi par la courbe.
Enfin, dans le menu ‘Label‘ sélectionnez ‘Use Equation‘ afin de faire apparaître la fameuse équation en haut du graphique.
En testant différentes hypothèses de courbe (Type), on peut voir que les différents R² se valent. Je suis à 0.664 en linéaire (de type f=a.x+b), 0.651 en exponentiel (f=a.e(x)), 0.665 en polynomial (f=a.x+b+c.x²+…+d.x^n avec le choix du degré du polynôme) ou encore 0.654 en logarithmique (f=a.ln(x) +b).
Cela signifie que chaque méthode retournera à peu prés le même résultat. Pourtant, j’ai du mal à me voir utiliser une droite, car évidemment puissance et cardio ne sont pas liés de manière linéaire! Cela peut fonctionner jusqu’en zone 3 (tempo) à la limite, mais ensuite le principe même du seuil (zone 4) c’est que le corps n’utilise plus les même filières énergétiques, et qu’on observe une décorrélation entre cardio et puissance. Et c’est d’autant plus vrai qu’on monte en puissance. Au sprint par exemple, la valeur du cardio n’est d’aucune utilité.
Intuitivement l’exponentielle me semble le meilleur choix: plus on augmente sa fréquence cardiaque, meilleur est le gain de puissance. Si je prend mes chiffres par exemple en passant de 120 à 150 pulsations je vais gagner 50 Watts, mais en passant à 180 pulsations , ce sera peut être un gain de 70 Watts!
A ce stade, j’en suis donc ici:
Faisons le calcul avec ma Fcmax. Je vais utiliser 194, chiffre que j’atteins régulièrement, même si j’arrive à le dépasser quelque fois chaque saison.
Cela me donnerais une PMA de:
47.1 * exp (0.0106 x 194) = 368 Watts
ce qui est optimiste… puisque je viens tout juste de réaliser un CP5 à 355 Watts lors d’un test de PMA (sur home trainer), avoir longtemps stagné autour de 334/338 Watts (ce qui semble ma réelle valeur sur le terrain).
Par contre, et ça c’est intéressant, si j’utilise la formule linéaire, j’obtiens:
2.42*194 -131 = 338 Watts
qui a longtemps été mon CP5 au watts près (!), avant comme je le disais juste au dessus de battre cette valeur il y a quelques jours. Il est vrai que je déteste ce genre d’effort, et que je tente rarement des CP5.
On va utiliser maintenant la formule qui donne la consommation d’oxygène en fonction de la puissance (et donc la Vo2max à PMA) :
consommation d’oxygène= (12.35 * Puissance + 300)/poids
Avec mes 58 kilos, j’obtiens 83 (!) dans le premier cas, 77 dans le second cas (et 80 en utilisant mon CP5 récent). Toujours (trop) flatteur, mais cela correspond bien à ce que m’indique mon Garmin: de 72 à 79 de Vo2max en pleine saison. La formule parait tout de même bien trop optimiste, sans doute à cause de mon poids léger qui me fait un peu sortir des ‘normes’ et des variations individuelles du rendement énergétique. Car je connais des coureurs bien plus costauds que moi qui ont cette Vo2max. C’est le cas de tous les coureurs élites et des très bons cyclosportifs qui ont une PMA autour des 7W/kg (contre un peu plus de 6W/kg dans mon cas): la théorie leur donne une VO2max au delà des 90 alors qu’ils sont en réalité entre 70 et 75.
Etude d’un cas limite
Le précédent cas correspondait aux critères qui vont bien: une allure stable au niveau de la puissance, et cela sur plusieurs dizaines de minutes.
Dans le cas d’un travail de fractionné, les conditions ne sont plus valides, et j’ai remarqué que pour ce genre de session j’avais un indicateur de performance (que j’appellerais cond.perf. comme sur le garmin pour abréger) franchement négatif, surtout lorsque j’allais taquiner des intervalles en VO2max.
Voici donc une rapide étude d’une de mes sessions de travail de PMA avec intervalles de type 30/15, immédiatement enchaîné avec un test de PMA (celui dont je parlais plus haut), avec paliers de 1 minute et incréments de 20 Watts.
Sur la première partie, l’indicateur cond.perf. était très négatif, descendant jusqu’à -8! A la suite du test PMA, il est remonté à 0, alors que je battais pourtant mon CP5.
Si j’importe mes données dans google sheet pour en sortir le graphe et l’équation de régression, j’obtient ce graphe:
et une équation qui me donne 335 Watts de PMA, soit la même chose que précédemment. On est donc bien stable par rapport à mes valeurs habituelles, ce qui justifie le cond. perf. à 0.
Si je supprime la fin de la session (je ne garde donc que l’exercice en intervalles), j’obtiens ce joli graphe, où l’on remarque bien les deux parties distinctes correspondants au 30/15 (représentatif sur la partie haute d’un effort à PMA avec cardio élevé, et sur la partie basse basse d’un effort en récup avec le cardio qui n’a pas le temps de redescendre):
avec l’équation qui me donne une PMA de seulement 317 Watts. Ce qui, avec la formule de VO2max, me donne 72.7. Cela correspond à une baisse de -4 à -5, c’est à dire en phase avec l’indicateur.
Le fait d’avoir ces deux nuages de points distincts fait que l’équation ne représente plus rien (elle est virtuellement abaissée par les phases de recup), d’où un indicateur à la ramasse alors que la forme du moment ne l’était pas. Le nuage du bas, est un ‘faux indicateur’ de faible PMA: le cardio est élevé (autour de 175 pulsations minutes) pour des valeurs de puissance de 100 à 200 Watts. Pire, à cause de l’inertie cardiaque (c’est à dire que le cardio continue à monter lorsque l’on relâche l’effort), on constate de visu que le nuage du bas est même légèrement plus décalé, ou recentré sur des valeurs hautes sur l’échelle du cardio que celui du haut!
Si on fait maintenant l’inverse, c’est à dire que je supprime la partie 30/15 pour ne garder que le test d’effort incrémental, j’obtiens:
Ce qui me donne une PMA de 380 Watts, et qui aurait dû me donner un indicateur cond. à +8 ou +9, plus représentatif de ma forme du moment que le petit ‘0’ que j’ai obtenu en fin de session! Est-ce que je serais capable un jour d’atteindre cette PMA de 380 Watts, ça reste à prouver 😅.
Comparaison avec d’autres estimations
Le meilleur moyen de mesurer sa VO2max reste évidemment le test en labo, où l’on va mesurer les échanges gazeux lors d’un test incrémental. Ce genre de test peut en général se faire dans les sections de médecine du sport des centres hospitaliers.
Concernant les estimations, comme mentionné plus haut, j’avais déjà écrit un article en 2014 récapitulant différentes formules d’estimation de la Vo2max.
Critique/validation
Scientifique
La formule utilisée par Firstbeat que j’ai indiquée plus haut, à savoir:
Vo2max = (12.35 * Puissance + 300)/poids
à été testé sur des militaires et a fait l’objet d’un article scientifique en 2013:
https://academic.oup.com/milmed/article/178/2/234/4210885 (web) ou en pdf ou en cache
Deux choses à noter. Tout d’abord il est bien fait mention d’un lien linéaire entre puissance et Vo2max, ce qui semble logique, mais également avec le cardio, ce qui me fait un peu plus tiquer comme je l’indiquais plus haut.
Ensuite, la formule utilisée n’est pas exactement la même:
Vo2max = 12.35*Puissance/kg + 3,5
Ça revient à distribuer la formule précédente, avec le terme de 300 divisé par le poids qui devient 3.5 (donc on considère un poids de 85 kg). Ça ne change pas grand chose au final (1 à 2 points de VO2max pour des poids très éloignés de 85 kg).
Qu’a donné cette étude? Des résultats très contradictoires!
En effet si l’on s’en tient à sa conclusion, les résultats entre mesures directes et indirectes sont très proches: +/-1 point de VO2max!
Malheureusement, ce résultat est statistique: c’est à dire qu’en mesurant un groupe d’athlètes, cette équation tombera juste pour la moyenne de leur VO2max, mais individuellement, il pourra y avoir de grands écarts. C’est un peu le principe des stats ^^, et c’est le même soucis que rencontre la fameuse formule ‘220-age‘ pour déterminer la fréquence cardiaque maximale.
Concrètement, voici un des graphiques de leur étude, à savoir le nuage de point représentant les résultats des mesures directes et indirectes:
J’ai rajouté les deux annotations en rouge, donnant deux résultats possibles pour une estimation de Vo2max à 50. On obtient 57 et 44 pour les deux extrêmes! Une étude précédente annonce un résultat individuel à +/-15 de Vo2max.
C’est tout de suite moins sexy 😅. Je pense que ça vient, comme évoqué plus haut, du rendement du corps humain, pouvant varier entre 21 et 25%. C’est à dire qu’une même Vo2max pourra donner des PMA complètement différentes selon le coureur.
Il faut tout de même relativiser: si l’on ne prend pas les extrêmes du graphique, les valeurs sont assez ‘ramassées’: par exemple pour 46 de Vo2max calculée, on tombe entre 44 et 52.
Constat personnel et conclusion
Au début de mes entrainements avec le Garmin, j’avais été surpris d’obtenir une estimation de VO2max sans faire ni effort à PMA, ni la moindre intensité. C’est quelque chose qui surprend encore beaucoup de monde. Comme on l’a vu, cet algorithme d’estimation ne nécessite au final qu’un effort en Z2/Z3 pour obtenir les points nécessaires à la courbe de régression.
Et c’est même le contraire qui peut arriver: les efforts à PMA, encore plus lorsqu’il sont fractionnés, peuvent ‘brouiller’ le calcul de la VO2max, selon l’inertie du cardio. D’où peut être une VO2max surestimée pour ceux qui font des sorties ‘au train’.
Pour les sorties longues, la fatigue va venir faire baisser l’estimation. Ce que je constate souvent, c’est un indicateur de performances mauvais en début de sortie (l’échauffement, les arrêts/relance pour sortie de la ville plombent la courbe de régression), qui s’améliore dès que je sors un premier effort (Z2 appuyé ou Z3 minimum). Puis, en fin de sortie, l’efficacité baisse à cause de la fatigue, de même que le ratio puissance/cardio. Cela a pour conséquence de refaire chuter l’indicateur, ce qui est un peu dommage.
Cela nous amène à un autre point, que j’appellerais l’artificialisation de la VO2max 😅. Ceux qui ont un gros volume d’entrainement, avec beaucoup de tempo, vont avoir tendance à avoir le cardio ‘collé’. Ça m’arrive souvent avec Zwift, lorsque j’enchaîne des semaines et des mois de séances Xert. Ce dernier préconise de longues séances à 70/80% voire 90% de FTP. Sur les premières séances, je peux finir à 80% de FCmax moyen, et sur les dernières à moins de 75%. Cela a pour effet d’aplatir la courbe de régression et d’augmenter l’estimation de la VO2max, sans pour autant être meilleur sur CP5.
Enfin le dernier point d’influence de la mesure concerne la valeur de la FCmax. Comme je le disais plus haut, il est important de rentrer sa FCmax mesurée dans les paramètres du Garmin, et de ne pas se contenter de l’estimation. Je soupçonne les personnes ayant une FCmax elevée (ce qui est mon cas avec 195 régulièrement atteint et dépassé de temps en temps) d’avoir une meilleure estimation, puisque cela prolonge d’autant la courbe de régression. Alors qu’au contraire, certaines personnes dépassent rarement les 170, tout en ayant un très bon niveau. Dans ce cas là, la courbe de régression est réduite dans sa longueur et, à moins d’avoir également un cardio très bas en endurance, l’estimation de la Vo2max risque d’être pessimiste.
Alors, que faire des valeurs estimées par le Garmin? Pour ma part, je sais très bien que je n’ai pas 77 ni 75 de Vo2max comme me l’indique le GPS (j’ai même eu droit à 79 une fois!), mais probablement autour de 70 (valeur sur laquelle je retombe via plusieurs formules). Ce qui est plus intéressant, c’est la variation de valeur dans le temps, et là, le Garmin ne se trompe guère.
En effet, si j’accède à l’historique des mes valeurs (via le compte Garmin, puis menu Rapports, en sélectionnant Vo2max Cyclisme), la variation correspond totalement à mon ressenti et à mes phases de préparation / compétitions.
Ici on voit qu’après le pic de septembre (période de CLM et gentlemens), elle diminue en octobre / novembre (période sans objectifs) avant de remonter dès janvier avec la reprise des entrainements sur Zwift. Le pic est atteint en avril / mai, ce qui correspond effectivement à ma meilleure forme de l’année, avec des compétitions de ‘haut niveau’ sur Zwift et beaucoup de records de puissance à la clef.
En juin, sans objectif sur route et avec une météo qui rend compliqué de continuer à faire des compétions sur home trainer (car je n’aime pas trop l’entrainement en extérieur), la forme baisse un peu.
Lors de la coupure 2017/2018, un peu las j’ai stoppé le vélo pendant quelques mois, et cela se voit facilement sur le graphe:
Après une remontée lors de la reprise en janvier, une baisse s’était ré-enclenché malgré la reprise de l’entrainement, ayant eu beaucoup de mal à retrouver mon niveau initial.
Voila qui termine cet article sur l’estimation de la Vo2max sur les appareils Garmin, n’hésitez pas à partager votre expérience, remarques ou remontées d’erreurs dans les commentaires!