Bikefit — Fiche de positionnement (V1)¶
Ce document sert de référence produit + technique pour la V1 de la fiche de positionnement.
Objectif V1 : démarrer petit mais juste, avec une liste de champs qui permet : - de reproduire une position (mêmes repères, mêmes unités) - de suivre les changements dans le temps - de rester compatible avec les fiches “pro” (sans chercher à tout modéliser tout de suite)
Hors-scope V1 (hypothèses) : - pas de mesure d’une pièce (guidon/potence/manivelles/entretoises) - pas de mesure de l’humain - pas de mesure de géométrie du vélo
Principes¶
- Un champ doit avoir : définition, unité, méthode de mesure, et si possible une convention de signe.
- V1 privilégie des mesures “mécaniques” (vélo) + un champ texte riche pour les cales.
- Les champs UI doivent rester stables même si on migre les colonnes DB.
Champs V1 (UI) + mapping DB¶
Liste “essentielle” (UI)¶
- Hauteur de selle (mm)
- Nez selle → colonne direction (mm)
- Nez selle → cocotte (mm)
- Cockpit drop (mm)
- Inclinaison de selle (°)
- Position des cales (texte)
- Contexte / raison de l’ajustement (texte)
Avant / Après — libellés (pour revue)¶
But : te permettre de valider rapidement les changements de libellés.
Notes : - Avant = libellé tel qu’affiché dans l’app aujourd’hui (formulaire Bikefit). - Après (V1) = libellé recommandé pour la V1 (plus court + plus “vrai” métier).
| Champ | Avant (UI actuel) | Après (UI V1 proposé) | Unité | Colonne DB actuelle | Nom canonique proposé |
|---|---|---|---|---|---|
| Hauteur de selle | Hauteur de selle (mm) | Hauteur de selle (BB → appui ischions) | mm | saddle_height_mm |
saddle_height_mm |
| Nez selle → direction | Nez de la selle jusqu'au centre de la colonne de direction (mm) | Nez de selle → colonne de direction | mm | saddle_setback_mm |
saddle_nose_to_steerer_mm |
| Nez selle → cocotte | Nez de la selle jusqu'à l'appui proximal de la cocotte (mm) | Nez de selle → cocotte (appui proximal) | mm | saddle_to_bar_drop_mm |
saddle_nose_to_hoods_mm |
| Drop cockpit | Cockpit drop (mm) | Drop cockpit (selle ↔ guidon) | mm | handlebar_reach_mm |
cockpit_drop_mm |
| Inclinaison selle | Inclinaison de selle (°) | Inclinaison de selle (nez +/−) | ° | stem_angle_deg |
saddle_tilt_deg |
| Position des cales | Position des cales | Position des cales (détails) | texte | cleat_position_notes |
cleat_position_notes |
| Contexte | Contexte / raison de l'ajustement | Contexte / raison de l’ajustement | texte | other_notes |
adjustment_context |
Note : certains noms de colonnes existants ne reflètent plus le libellé UI actuel. On documente ci-dessous l’état actuel et le nom canonique proposé.
| Champ (UI) | Unité | Colonne DB actuelle | Nom canonique proposé | Notes |
|---|---|---|---|---|
| Hauteur de selle | mm | saddle_height_mm |
saddle_height_mm |
BB → zone d’assise (appui ischions). |
| Nez selle → colonne direction | mm | saddle_setback_mm |
saddle_nose_to_steerer_mm |
Colonne existante mal nommée ("setback"). |
| Nez selle → cocotte (appui proximal) | mm | saddle_to_bar_drop_mm |
saddle_nose_to_hoods_mm |
Colonne existante mal nommée ("drop"). |
| Cockpit drop | mm | handlebar_reach_mm |
cockpit_drop_mm |
Colonne existante mal nommée ("reach"). Convention de signe à fixer (UI: + vers le haut / - vers le bas). |
| Inclinaison de selle | ° | stem_angle_deg |
saddle_tilt_deg |
Colonne existante mal nommée ("stem"). |
| Position des cales | texte | cleat_position_notes |
cleat_position_notes |
Champ texte structurable (avant/arrière, largeur, rotation, shims, espaceurs, modèles). |
| Contexte / raison de l’ajustement | texte | other_notes |
adjustment_context |
Renommer recommandé : other_notes devient ambigu. |
Hors-scope V1 (colonnes existantes)¶
Selon les hypothèses V1, on ne demande pas de mesure de pièce (ex: guidon/potence/manivelles), ni de mesure de l’humain, ni de géométrie du vélo.
Donc, ces colonnes peuvent rester en BD pour compatibilité/historique, mais ne devraient pas être requises dans la fiche V1 :
stem_length_mmhandlebar_width_mm
Et la colonne stem_angle_deg devrait idéalement redevenir “angle de potence” dans une V2, mais en V1 on l’utilise (legacy) pour l’inclinaison de selle → à migrer vers saddle_tilt_deg.
Recommandation migration (plus tard)¶
Pour éviter de casser les fiches existantes, approche recommandée :
- Ajouter les nouvelles colonnes canoniques (ex:
saddle_nose_to_steerer_mm,saddle_nose_to_hoods_mm,cockpit_drop_mm,saddle_tilt_deg,adjustment_context). - Backfill depuis les anciennes colonnes quand le mapping est univoque.
- Mettre à jour le code/UI pour lire/écrire les nouveaux champs.
- Déprécier les anciennes colonnes (conserver un temps), puis cleanup.
Non-objectif V1 (pour rester petit)¶
- Angles biomécaniques (genou, tronc, épaule, coude, etc.) → possible V2.
- Mesures détaillées guidon (aux drops vs cocottes séparées) → possible V2.
- Mesures de pièces (potence/guidon/manivelles/entretoises) → possible V2 si besoin, mais pas en V1.
- Multiplication de champs “pro” (shim exact G/D, offsets, etc.) → garder dans
cleat_position_notesau début.