Comment lire un parcours de trail comme un pro

Comment lire un parcours de trail comme un pro

📅 1 March 2026 ⏱ Préparation
← Retour au blog

Résumé exécutif

Quand j’analyse un parcours, je cherche trois choses : (1) où le temps se gagne/se perd (segments clés), (2) où le risque augmente (descentes techniques, dévers, exposition, visibilité), (3) comment traduire cela en stratégie (pacing, nutrition, matériel).

Je ne fais pas confiance à un seul chiffre de D+ : il dépend des traitements (lissage et seuils). Strava explique lisser l’altitude et appliquer des seuils (10 m sans baro, 2 m avec baro) avant d’ajuster le D+. ([support.strava.com](https://support.strava.com/hc/fr/articles/115001294564-FAQ-concernant-l-altitude?utm_source=chatgpt.com))

Pour estimer le temps, j’utilise au minimum deux modèles transparents (Naismith, Tobler, modèle empirique calibrable). Et je me construis toujours une fenêtre (temps + marges + stop-time), pas un chrono unique.

Pourquoi analyser un trail change tout

bash

Le trail n’est pas un 10 km route : le relief et la technicité font varier le coût énergétique et la biomécanique d’un segment à l’autre. Une référence majeure (Minetti et al.) mesure le coût énergétique de la marche et de la course sur des pentes extrêmes, et montre que ce coût varie fortement avec la pente. ([journals.physiology.org](https://journals.physiology.org/doi/10.1152/japplphysiol.01177.2001?utm_source=chatgpt.com))

Donc si je lis mal le parcours (ou si je le lis trop “globalement”), je fais des erreurs de pacing, de nutrition, et de gestion du risque. À l’inverse, une analyse bien faite rend le jour J plus simple : je sais à l’avance où je marche, où je mange, et où je garde de la marge.

Profil altimétrique : ce que ça montre (et ce que ça cache)

Ce que le profil altimétrique montre bien

Un profil altimétrique montre la structure globale : grandes montées, grandes descentes, altitude maximale, distribution du dénivelé. C’est excellent pour décider de la logistique (frontale ? météo en altitude ?).

Pente instantanée vs pente moyenne

Une pente moyenne peut masquer des “murs” et des replats. J’utilise donc : (1) une pente fenêtrée (50–200 m) pour réduire le bruit, (2) une distribution des pentes (quantiles / histogramme), (3) la plus longue montée continue.

Formules : pente instantanée et pente fenêtrée
Pente (%) = 100 * Δh / Δd_horiz
Pente fenêtrée (plus stable) : pente_% = 100 * (ele[j] - ele[i]) / dist_horiz(i->j) où dist_horiz(i->j) ≈ 50–200 m (selon densité de points)

Pour calculer des pentes depuis un MNT avec un SIG, QGIS documente l’analyse de terrain et le calcul de pente sur raster. (docs.qgis.org)

bash

Le vrai piège : le lissage (smoothing) et la qualité altitude

La “pente” dépend de l’altitude. Or l’altitude est bruitée (GPS), peut dériver (baro), et peut être corrigée via MNT. Strava explicite un mécanisme de lissage et de seuils avant de compter le D+. ([support.strava.com](https://support.strava.com/hc/fr/articles/115001294564-FAQ-concernant-l-altitude?utm_source=chatgpt.com))

Si je veux un profil “référence” en France, je peux recalculer des altitudes via les services altimétriques IGN (API REST) et/ou utiliser un MNT comme RGE ALTI (pas 1 m/5 m selon produit). ([geoservices.ign.fr](https://geoservices.ign.fr/documentation/services/services-geoplateforme/altimetrie?utm_source=chatgpt.com)) ([geoservices.ign.fr](https://geoservices.ign.fr/rgealti?utm_source=chatgpt.com))

Segments clés : comment segmenter

Mon objectif : transformer un tracé continu en segments “décisionnels”. Un bon segment est homogène (pente + terrain + courbure) et se termine là où je change de stratégie.

Critères de segmentation (opérationnels)
Critère Repère Pourquoi Sortie
Changement de pente Seuils (ex. -10 / -5 / +5 / +12 %) Pacing différent (course/marche, sécurité) Segments pente-homogènes
Longueur 200 m–1 km (souvent) Assez long pour lisser le bruit, assez court pour décider Liste segments
Technicité Zones racines/pierriers/épingles Plafond de vitesse + risque Segments “prudence”
Points clés Ravitos, barrières, passages exposés Décision logistique et sécurité Segments alignés sur roadbook
Transitions Relances fréquentes / “marches” Coût caché (freinage/relance) Buffer spécifique

Le coût de la pente et son effet sur la locomotion justifient cette segmentation : la marche/course change de coût selon le gradient. ([journals.physiology.org](https://journals.physiology.org/doi/10.1152/japplphysiol.01177.2001?utm_source=chatgpt.com))

Pièges terrain : descentes, dévers, pierriers, virages

Un parcours “bien lu” n’est pas celui où je connais le D+. C’est celui où j’ai marqué les pièges qui plafonnent la vitesse et augmentent le risque : descentes cassantes, dévers glissants, pierriers, épingles serrées, visibilité faible.

Pièges terrain : comment je les lis et ce que je change
Piège Comment je le repère Impact Contre-mesure
Descente technique Carte + photos/reco + sinuosité Vitesse plafonnée, fatigue quadri Cadence ↑, contrôle, marge temps
Dévers Topo + traces OSM + retours Risque cheville/genou Stabilité, bâtons si maîtrisés
Pierrier / instable Satellite + topo + reco Appuis instables → vitesse ↓ Trajectoire, marge, chaussures adaptées
Épingles / virages Trace GPX (angle/km), carte Freinage-relance coûteux Segmenter, buffer “transitions”
Visibilité (nuit/brouillard) Horaires + météo Risque & vitesse ↓ Frontale, marge 5–15%

Les descentes augmentent les forces de freinage et d’impact : une étude rapporte des hausses importantes en descente par rapport au plat (ex. à −9°). ([pubmed.ncbi.nlm.nih.gov](https://pubmed.ncbi.nlm.nih.gov/15652542/?utm_source=chatgpt.com))

Transitions : l’épuisement invisible

bash

Les transitions, ce sont les changements rapides (pente, rythme, appuis) qui “cassent” l’économie : marcher/courir/marcher, relances après épingles, replats courts, escaliers naturels. Elles coûtent surtout parce qu’elles ajoutent du freinage, de la relance, et du stress neuromusculaire.

Ma règle : je segmente les transitions et j’ajoute un buffer spécifique (temps ou %) plutôt que de les diluer dans une moyenne globale.

Stratégie : pacing, nutrition, matériel, reconnaissance, crew

Pacing (principe)

Je vise une intensité durable en montée et je protège les descentes. Au lieu de courir “tout ce qui monte”, je décide où je marche activement (pour éviter une marche subie plus tard). Ce principe est cohérent avec le coût énergétique variable de la pente. ([journals.physiology.org](https://journals.physiology.org/doi/10.1152/japplphysiol.01177.2001?utm_source=chatgpt.com))

Nutrition : traduire le temps estimé en g CHO/h

Un temps estimé devient un plan d’apports : l’INSEP mentionne des repères de glucides pendant l’effort (30–60 g/h et jusqu’à 90 g/h sur efforts plus longs selon contexte). ([books.openedition.org](https://books.openedition.org/insep/1212?lang=en&utm_source=chatgpt.com))

Matériel et sécurité

J’adapte chaussures, bâtons, frontale, couches au terrain et à la météo. Je traite les zones exposées et les descentes techniques comme des zones de sécurité, même si “ça coûte” une minute.

Reconnaissance et crew

Si je ne peux pas reconnaître tout le parcours, je reconnais au moins : (1) la descente la plus technique, (2) la montée la plus longue, (3) l’accès aux ravitos. Et je partage au crew des fenêtres de passage (pas une heure unique).

Workflow GPX → DEM → segments → temps → plan

[Diagramme interactif disponible dans la version web]

Affichage Mermaid : conservez le script Mermaid (bas de page) ou pré-générez un SVG si votre CMS bloque le JS.
Exemples outils SIG (ogr2ogr / gdaldem)
# Convertir GPX -> GeoJSON (track_points)
ogr2ogr -f GeoJSON track_points.geojson trace.gpx track_points

Calculer pente depuis un MNT/DEM
gdaldem slope mnt.tif slope_percent.tif -p

OGR lit GPX et expose des couches (waypoints, routes, track_points). (gdal.org) L’outil ogr2ogr est documenté comme convertisseur vectoriel. (gdal.org) gdaldem slope calcule des pentes à partir d’un raster. (gdal.org)

Snippet GPX parsing (gpxpy pseudocode)
import gpxpy
with open("trace.gpx", "r", encoding="utf-8") as f: gpx = gpxpy.parse(f)

Exemple : itérer points
for trk in gpx.tracks: for seg in trk.segments: for pt in seg.points: lat, lon = pt.latitude, pt.longitude ele = pt.elevation # peut être None t = pt.time # peut être None

gpxpy : bibliothèque Python pour parser/manipuler GPX. (github.com)

Exemple chiffré : 20 km / +800 m (segmenté)

Je prends un exemple plausible (non spécifié, car sans GPX réel) : 20 km, +800 m, et environ -800 m (boucle). Je segmente de manière “lisible” pour illustrer Naismith, Tobler, et un modèle empirique.

Segmentation (exemple pédagogique)
Segment Distance Δh Pente moyenne
Montée 15 km+500 m+10%
Descente 13 km-400 m-13,3%
Roulant7 km00%
Montée 23 km+300 m+10%
Descente 22 km-400 m-20%

Méthodes : Naismith, Tobler, empirique

Naismith (métrique) - calcul pas à pas
T_naismith (heures) = (D_km/5) + (Dplus_m/600)
D = 20 km ; D+ = 800 m

T = (20/5) + (800/600) = 4.000 + 1.333 = 5.333 h = 05h20

Formulation métrique Naismith : 1 h/5 km + 1 h/600 m D+. (ukhillwalking.com)

Tobler (pente→vitesse) - calcul segmenté
v(S) = 6 * exp(-3.5 * abs(S + 0.05))
S = dh/dx (m/m), v en km/h Temps segment = distance / v(S)
Segments :
+10% => S=+0.10 -> v≈3.549 km/h -> t=5/3.549=1.409 h = 01h25
-13.3% => S=-0.133 -> v≈4.426 km/h -> t=3/4.426=0.678 h = 00h41
0% => S=0 -> v≈5.037 km/h -> t=7/5.037=1.390 h = 01h23
+10% => v≈3.549 -> t=3/3.549=0.845 h = 00h51
-20% => S=-0.20 -> v≈3.739 km/h -> t=2/3.739=0.535 h = 00h32
Total ≈ 4.857 h = 04h51

Tobler (1993) : “hiking function”, souvent reprise sous cette forme. ([escholarship.org](https://escholarship.org/uc/item/05r820mz?utm_source=chatgpt.com))

Modèle empirique calibrable (p0/c_up/c_down) - 3 profils

Je propose trois profils (exemples) : sans calibration, ce n’est pas une vérité, c’est un modèle pédagogique. Conversion pente→%VMA : non spécifié (pas de standard universel).

Profils (hypothèses) pour l’exemple
Profil p0 (min/km) c_up (min/100 m) c_down (min/100 m)
Lent7,5104
Moyen6,2582
Rapide5,256,51
T (minutes) = D_km*p0 + (Dplus_m/100)*c_up + (Dminus_m/100)*c_down
D = 20 km ; D+ = 800 m ; D- = 800 m
Profil lent : 207.5 + 810 + 84 = 150 + 80 + 32 = 262 min = 04h22 Profil moyen : 206.25+ 88 + 82 = 125 + 64 + 16 = 205 min = 03h25 Profil rapide: 205.25+ 86.5+ 8*1 = 105 + 52 + 8 = 165 min = 02h45
Comparaison des méthodes - exemple 20 km / +800 m (temps en mouvement)
Méthode Lent Moyen Rapide Lecture
Naismith 05h2005h2005h20 Borne prudente “marche”
Tobler (segments) 04h5104h5104h51 Marche, sensible à pente
Empirique (p0/c_up/c_down) 04h2203h2502h45 Plan coureur (si calibré)

À retenir : Naismith/Tobler sont orientés marche (rando) : je les utilise pour la prudence et la comparaison ; le modèle empirique est plus “plan de course” mais doit être calibré. Le coût énergétique de pente (Minetti) explique pourquoi une approche “distance seule” échoue. ([journals.physiology.org](https://journals.physiology.org/doi/10.1152/japplphysiol.01177.2001?utm_source=chatgpt.com))

Références

bash
  1. IGN : RGE ALTI (MNT 1 m / 5 m). ([geoservices.ign.fr](https://geoservices.ign.fr/rgealti?utm_source=chatgpt.com))
  2. IGN : service altimétrique (API REST : altitude de points, profil le long d’une courbe). ([geoservices.ign.fr](https://geoservices.ign.fr/documentation/services/services-geoplateforme/altimetrie?utm_source=chatgpt.com))
  3. Strava Support (FR) : altitude, lissage et seuils D+. ([support.strava.com](https://support.strava.com/hc/fr/articles/115001294564-FAQ-concernant-l-altitude?utm_source=chatgpt.com))
  4. GPX 1.1 (Topografix) : format, metadata, tracks/routes/waypoints. ([topografix.com](https://www.topografix.com/gpx/1/1/?utm_source=chatgpt.com))
  5. GDAL/OGR : driver GPX, ogr2ogr, gdaldem. ([gdal.org](https://gdal.org/en/stable/drivers/vector/gpx.html?utm_source=chatgpt.com))
  6. QGIS (FR) : analyse de terrain, calcul de pente sur raster. ([docs.qgis.org](https://docs.qgis.org/2.8/fr/docs/training_manual/rasters/terrain_analysis.html?utm_source=chatgpt.com))
  7. gpxpy : parsing GPX en Python. ([github.com](https://github.com/tkrajina/gpxpy/blob/dev/README.md?utm_source=chatgpt.com))
  8. Naismith (métrique) : 1h/5 km + 1h/600 m D+. ([ukhillwalking.com](https://www.ukhillwalking.com/articles/skills/how_to_calculate_route_times_using_naismiths_rule-7777?utm_source=chatgpt.com))
  9. Tobler W. (1993) : “hiking function” (source primaire). ([escholarship.org](https://escholarship.org/uc/item/05r820mz?utm_source=chatgpt.com))
  10. Minetti AE et al. (2002) : coût énergétique marche/course selon pente. DOI 10.1152/japplphysiol.01177.2001. PMID 12183501. ([journals.physiology.org](https://journals.physiology.org/doi/10.1152/japplphysiol.01177.2001?utm_source=chatgpt.com))
  11. Praz C. (2011) : coût énergétique en montée/descente (SEMS, francophone). ([sems.ch](https://sems.ch/fileadmin/user_upload/Zeitschrift/59-2011-1/Cout_59_1_11_Praz.pdf?utm_source=chatgpt.com))
  12. Forces en descente (impacts/freinage) : Gottschall & Kram (2005). PMID 15652542. ([pubmed.ncbi.nlm.nih.gov](https://pubmed.ncbi.nlm.nih.gov/15652542/?utm_source=chatgpt.com))
  13. Nutrition endurance (France) : INSEP OpenEdition “La compétition” (repères glucides). ([books.openedition.org](https://books.openedition.org/insep/1212?lang=en&utm_source=chatgpt.com))

Note Altitracks : si vous mentionnez un outil de roadbook/estimation, vérifiez sa doc officielle. Si les algorithmes internes ne sont pas publics, marquez-les non spécifié.

Tu prépares un trail ? Analyse ton GPX en 2 minutes et obtiens un plan de course personnalisé.

Analyser mon GPX ↗