En 2019, j’ai créé la première version de ce qui allait devenir Afitpilot. C’était un site statique avec un seul outil fonctionnel : un calculateur de somatotype, codé en JavaScript vanilla et rendu avec Bootstrap.
https://walter-clayton.github.io/somatotype
À l’époque, l’idée du produit n’était pas encore les plans d’entraînement, mais bien les somatotypes.
Le point de référence était le test des 16 personnalités. L’idée était la même : une typologie, mais pour la composition corporelle plutôt que pour la personnalité. La méthode Heath-Carter décrit chaque morphologie humaine par une notation à trois chiffres, évaluant l’endomorphie (adiposité relative), la mésomorphie (robustesse musculo-squelettique relative) et l’ectomorphie (linéarité relative). Un 2-7-1 correspond à un lutteur poids lourd. Un 1-3-7, à un coureur d’endurance. La plupart des gens se situent quelque part entre les deux.
Cette méthode a une histoire plus ancienne que son nom ne le laisse penser, et certaines de ses origines sont belges. Adolphe Quetelet, mathématicien belge du XIXe siècle, a été le premier à quantifier statistiquement la morphologie humaine — c’est lui qui a inventé ce que nous appelons aujourd’hui l’IMC. En 1940, William Sheldon a publié *The Varieties of Human Physique* et introduit le terme « somatotype », reconnaissant que chacun est un mélange de trois composantes plutôt qu’un type unique. La méthode de Sheldon reposait sur des photographies et dépendait de l’évaluateur, et il affirmait sans preuve que le somatotype était corrélé à la personnalité et au comportement. Barbara Honeyman Heath et J.E. Lindsay Carter l’ont révisée en 1967 : ils ont remplacé l’évaluation photographique par des mesures anthropométriques, supprimé le plafond artificiel de 7 points pour chaque composante et abandonné les affirmations sur la personnalité. La version encore utilisée aujourd’hui en sciences du sport repose sur 10 mesures : taille, poids, quatre plis cutanés, deux largeurs osseuses et deux circonférences de membres.
La classification de Carter compte 13 catégories — Mésomorphe Équilibré, Mésomorphe Endomorphe, Mésomorphe-Ectomorphe, Central, etc. — bien que l’espace sous-jacent soit continu.

Le calculateur implémentait directement les équations Heath-Carter tirées du manuel d’instructions de Carter de 2002 : un polynôme cubique pour l’endomorphie, une équation linéaire pour la mésomorphie, et une fonction par morceaux pour l’ectomorphie basée sur le rapport taille-poids, avec des branches à 38,25 et 40,75. Les équations elles-mêmes sont bien définies. Le travail consistait à rendre le somatochart — un plan triangulaire sur lequel toute notation à trois chiffres se projette en un point 2D — sur un canevas HTML, ce qui impliquait de déterminer la géométrie de projection, le centroïde et un facteur d’échelle.
Le résultat était brut, mais les équations et le graphique étaient corrects.
Le logo d’Afitpilot d’aujourd’hui est le même somatochart, redessiné dans Figma et simplifié pour en faire un emblème de marque. J’en ai parlé séparément — [lien vers l’article sur le logo].

La refonte de 2022
Deux ans plus tard, j’ai fait appel à trois développeurs de mon ancien bootcamp pour reconstruire l’outil de somatotype en une application complète : React pour le frontend, Node.js et Express pour le backend, MongoDB, et Material UI. Un développeur a travaillé sur le site marketing, un autre sur le frontend de l’application, et le troisième sur le backend et l’API. J’ai géré l’architecture, la recherche, l’UX, le design system, le contenu et la gestion de projet. Nous suivions les tickets dans Google Sheets, reliés à Looker Studio. Le plan prévoyait deux mois.
https://afitpilot-somatotype.vercel.app
La première idée était de sauter entièrement les mesures manuelles en scannant le corps de l’utilisateur en 3D pour en extraire automatiquement les dimensions.
Le scan corporel 3D
La méthode Heath-Carter nécessite un adipomètre, des mesures de largeur osseuse et un anthropométriste formé. Les plis cutanés dépendent de la technique — même des praticiens expérimentés peuvent avoir des écarts de 2 à 3 mm sur un même site, ce qui suffit à faire varier la notation d’un point entier.

Le pipeline utilisait deux API. L’API in3D générait un modèle 3D complet du corps à partir d’un scan effectué avec un smartphone, renvoyant un fichier GLB. J’ai écrit une classe personnalisée OBJExporter — un parseur basé sur Three.js qui analysait la géométrie du maillage, des lignes et des points du scan — pour convertir le GLB en format OBJ. L’API 3D MeasureUp extrayait ensuite les données anthropométriques du fichier OBJ : taille, volume corporel, circonférence des biceps, circonférence des mollets.
Cela fournissait quatre mesures directes. Les équations Heath-Carter en nécessitent davantage, et plusieurs des entrées — épaisseurs des plis cutanés, largeurs osseuses — ne peuvent pas être mesurées à partir d’un scan externe. J’ai dérivé le reste à l’aide d’équations prédictives issues de l’ostéométrie médico-légale et de l’anthropométrie clinique :
- Densité corporelle à partir de la masse et du volume corporel (Rani et al., 2021)
- Largeur du fémur à partir de la taille (Quintero Monterrosa et al., 2022) — la même famille de régressions que celles établies par Trotter et Gleser dans leurs travaux de 1952 sur l’estimation de la stature à partir des os longs
- Largeur de l’humérus à partir de la largeur du fémur, avec un décalage fixe d’environ 2 cm (Mukhopadhyay et al., 2010)
- Pourcentage de graisse corporelle à partir de l’IMC et de l’âge via l’équation de Sloan (Naz et al., 2017)
- Somme des plis cutanés à partir de la densité corporelle via la conversion densité-pli cutané de Carter (Carter, 2002)
Deux ajustements ont été nécessaires. L’équation de mésomorphie de Heath-Carter attend la circonférence du bras fléchi, mais les scans 3D capturent le bras détendu, ce qui sous-estime la mesure d’environ 10 mm. J’ai donc ajouté une correction. La relation entre la largeur de l’humérus et celle du fémur était un décalage fixe plutôt qu’une régression, car les données populationnelles sur ce ratio sont moins fournies que celles sur les os longs en fonction de la stature.
Le document méthodologique signalait que les estimations de la largeur de l’humérus et de la circonférence du bras fléchi nécessitaient une validation supplémentaire. Les marges d’erreur sur un somatotype dérivé d’un scan étaient plus larges que sur une mesure correctement effectuée.
Le pipeline fonctionnait de bout en bout. Il prenait plus de cinq minutes par utilisateur.
Un problème parallèle concernait les avatars. Le plan initial était de rendre le scan réel de chaque utilisateur sous forme d’avatar Three.js dans le navigateur. Les modèles in3D revenaient à plus de 300 Mo chacun. Ni la latence ni la taille des fichiers n’étaient viables.
Nous sommes revenus à une saisie manuelle étape par étape comme flux d’entrée principal, mais avons conservé les équations prédictives comme aides — permettant aux utilisateurs de sauter les champs qu’ils ne pouvaient pas mesurer et d’inférer les valeurs manquantes à partir de ce qu’ils avaient entré. Les avatars sont passés des scans 3D rendus à des SVG conçus à la main : j’en ai dessiné un pour chacune des 13 catégories dans Affinity Publisher et Figma, et l’utilisateur était associé à la catégorie correspondant à sa notation.
L’application a été livrée à la fin des deux mois. Les utilisateurs se sont inscrits, ont suivi le processus de mesure, ont obtenu leur notation de somatotype et ont vu leur avatar associé positionné sur le somatochart.
La méthodologie du scan 3D est restée dans un document méthodologique. Les équations prédictives sont restées dans le codebase comme solutions de repli. Le somatochart est devenu le logo.


Laisser un commentaire
Vous devez être connecté pour publier un commentaire.