AngoraTek EN
← Retour au blog
Tutoriels 7 min de lecture

Concevoir un parcours que les coureurs peuvent contester

Le parcours vedette fait 41,9 km avec 1 216 m de dénivelé positif. Quelque part au fond de sa seconde moitié, un coureur fatigué mettra une barrière horaire en balance avec ses jambes et décidera si la journée se termine à un ravitaillement ou sur une ligne d'arrivée. Construire le site de cette course, la Tahoe Skyrace au California Lodge de Heavenly, à South Lake Tahoe, s'est révélé être une mission d'ingénierie des données costumée en course à pied.

Nous pensons qu'un site de course devrait être deux choses : un parcours sous forme de données, et un plan que l'athlète peut contester. Une vidéo héros en lecture automatique et un carrousel de paysages inoubliables ne rapportent rien à quelqu'un qui a déjà décidé de souffrir et qui, maintenant, a besoin de faits. Les faits sur ce site sont de l'ingénierie de bout en bout, depuis des traces GPS réellement enregistrées comme source de vérité jusqu'à la géométrie qui s'exécute dans le navigateur. Le calculateur d'allure est la partie qui accepte de dire à un coureur, sans détour, qu'il rate la barrière.

La source de vérité est une trace Garmin Connect

Dessinez une ligne de parcours à la main sur un fond de carte, et elle hérite de votre optimisme. Les virages en épingle se redressent. Un sentier qui traverse un versant est dessiné comme s'il en faisait l'ascension. Un ravitaillement se pose là où le tableur le veut, pas là où se trouve la jonction de sentiers. Chaque athlète qui connaît la montagne repère le mensonge en un coup d'œil, et la confiance non méritée perdue à cet instant ne revient jamais.

Alors les lignes de parcours de ce site commencent comme des traces d'activité enregistrées, téléchargées depuis Garmin Connect sous forme GPX. Elles deviennent du GeoJSON avec les balises de ravitaillement attachées, et l'application consomme ce fichier directement à l'exécution. Le parcours du marathon pèse environ 197 Ko sous cette forme, mesuré pendant la build. Les traces portent le bruit qu'un enregistrement GPS réel a toujours, et nous les publions telles qu'enregistrées plutôt que de les lisser. Lisser, c'est échanger quelques mètres honnêtes de chevauchement contre une géométrie qui ne correspond plus à la montagne. Les pages de parcours proposent aussi le GPX et le GeoJSON en téléchargement, ce qui permet à tout athlète de vérifier notre travail contre sa propre montre : le site reste vérifiable, et la vérifiabilité vaut plus que le poli.

Une géométrie qui tourne sur le téléphone de l'athlète

Le site est statique, donc il n'y a pas de backend pour faire les maths. Cette contrainte a tout décidé en aval, et ça s'est passé sans mal, parce que les nombres dont un coureur a besoin coûtent peu à calculer dans le navigateur.

La distance le long du parcours vient de sommes de haversine sur la trace. Pour le profil d'élévation, la ligne est rééchantillonnée à environ 200 points, soit un échantillon tous les 200 m environ sur le marathon. Gain, perte, minimum et maximum d'élévation sont calculés à partir de ces échantillons à chaque chargement plutôt que précalculés puis oubliés, si bien que les statistiques et le graphique ne peuvent jamais se contredire. Les ravitaillements sont placés par projection au plus proche index : les coordonnées d'un ravitaillement sont appariées à l'index de profil le plus proche, assez proche pour être honnête à cette densité de trace et assez bon marché pour tourner au chargement. Interroger ce que dit le profil à une position intermédiaire est une recherche binaire sur les échantillons rééchantillonnés, donc un curseur qui balaie le graphique ne coûte pour ainsi dire rien. Un sélecteur d'unités couvre impérial et métrique, et des données structurées SportsEvent figurent dans la page pour les calendriers et la recherche.

Rien de tout cela n'a exigé de serveur de carte, de base de données ou de budget. Cela a exigé de décider que la géométrie fait partie de la page, et pas un service derrière elle.

Le replay : un coureur qui trace la ligne, clavier d'abord

Sous chaque parcours se trouve un replay SVG animé : la ligne de route se dessine du départ à l'arrivée pendant qu'un petit coureur la suit. La vue cycle à travers les trois courses, du kilomètre vertical de 3,94 km au semi-marathon de 21,2 km, puis au parcours vedette de 41,9 km. Elle est navigable au clavier, parce qu'une partie du standard d'accessibilité du studio est que rien sur un site web ne devrait exiger une souris.

La première tentative utilisait une animation de tracé toute faite issue d'une bibliothèque de graphiques, et elle est morte pour une raison banale. Nous ne pouvions pas garder le marqueur du coureur collé au chemin de la route tout en gardant l'animation scrubbable, parce que la bibliothèque animait l'opacité et la longueur mais possédait la synchronisation. Le remplacement est un moteur SVG maison que nous contrôlons de bout en bout. Pourquoi le construire, au juste ? Un profil d'élévation dit à un athlète la forme d'un parcours. Le replay lui raconte son histoire : la montée de Cold Creek arrive tôt, et les sections Star Lake et Tahoe Rim Trail vous portent vers les hauteurs. Les athlètes rejouent les parcours dans leur tête des jours durant avant de décider si une course leur convient. Le replay met ce processus à l'écran.

C'est le calculateur de barrière qui gagne la confiance

Chaque page de parcours porte des tableaux de barrières horaires, et le marathon porte en plus un calculateur d'allure. Entrez un temps d'arrivée cible, et la page projette votre passage à chaque barrière et délivre un verdict makesCutoff : vous passez, ou vous ratez. La projection tourne sur un modèle de répartition égale, et la page le dit.

C'est la fonctionnalité qui a transformé le site de brochure en outil, selon nous, pour une seule raison : elle dit à l'athlète une réponse qu'il ne veut pas. Le marketing de course dit à tout le monde qu'il peut y arriver. Un calculateur qui projette votre temps d'arrivée cible contre un ensemble fixe de barrières et qui conclut, à partir d'une arithmétique que vous pouvez inspecter, que vous passez après la limite, tient un tout autre type de conversation. Il convertit un sentiment, le projet vague de se débrouiller dans la montée, en nombres qu'un coach ou un membre de l'équipe d'assistance peut contester le soir même. Le débat, c'est le but. Un plan que personne ne peut défier est un espoir avec une feuille de pointage.

La répartition égale se trompe de manière utile

Les limites du modèle méritent leur propre section plutôt qu'une note de bas de page. Sur un parcours avec 1 216 m de montée, la vraie répartition de l'effort est concentrée en début de course : les plus forts banquent du temps tôt et le remboursent tard, et la seconde moitié de tout le monde tourne plus lentement que la première. Une projection en répartition égale est lisse, et les courses de montagne ne le sont pas, si bien que les arrivées projetées du calculateur dérivent de la réalité dans les deux sens. Nous gardons le modèle quand même, parce qu'il est cohérent et énoncé clairement, et parce que son biais se corrige dans la tête : si vous savez que vous finissez plus vite que vous ne démarrez, vous savez déjà comment ajuster les nombres. Un modèle biaisé que vous pouvez expliquer vaut mieux qu'un modèle précis avec lequel vous ne pouvez pas discuter.

Les traces ont leurs propres limites. Le bruit GPS signifie de petits artefacts verticaux, et une trace enregistre la ligne d'un jour précis, pas le tracé idéalisé du parcours. Nous avons choisi le chevauchement honnête plutôt que la douceur artificielle plus haut dans ce texte, et c'est ce même choix qui fait qu'un athlète avec sa propre montre peut trouver les écarts et faire confiance au reste.

Vérifiez-le vous-même

Toute la pile est vérifiable par tout le monde. Les traces sont téléchargeables, et la géométrie tourne sur votre appareil, là où vous pouvez la regarder travailler. Le modèle du calculateur est énoncé à côté de sa réponse. C'est le standard qu'une page de course devrait atteindre, parce que les athlètes sont le public le plus auto-quantifié d'internet et qu'ils possèdent des montres qui vous contredisent. Le marketing les rend curieux. La trace leur laisse trancher.

Merci d'avoir lu jusqu'ici. Si cela ressemble au problème sur lequel vous butez, parlez-nous-en. Un fondateur lit chaque message.

Engager la conversation