Skip to content

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_mm
  • handlebar_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 :

  1. Ajouter les nouvelles colonnes canoniques (ex: saddle_nose_to_steerer_mm, saddle_nose_to_hoods_mm, cockpit_drop_mm, saddle_tilt_deg, adjustment_context).
  2. Backfill depuis les anciennes colonnes quand le mapping est univoque.
  3. Mettre à jour le code/UI pour lire/écrire les nouveaux champs.
  4. 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_notes au début.