2026.07.20 (Lun)
2026.07.21 (Mar) mis Ă  jour

✹ RĂ©sumĂ© de GPT-5.6 Sol  

Le rĂ©cit de la transformation d’un journal alimentaire qui s’accumulait automatiquement, mais que je ne lisais mĂȘme pas, en une petite application intĂ©grĂ©e au blog que j’utilise et amĂ©liore comme MVP.

Version 1 : beaucoup de données, mais une lisibilité catastrophique

J’ai commencĂ© Ă  enregistrer mes donnĂ©es corporelles et les aliments consommĂ©s le 20 juin 2026.

Le premier écran de suivi corporel, avec les calories et les valeurs de glucides, protéines et lipides de chaque aliment dans une longue liste de texte

La saisie elle-mĂȘme n’était pas difficile. Il me suffisait d’envoyer une photo du repas : Codex recherchait les donnĂ©es nutritionnelles sur FatSecret, les enregistrait et ajoutait le lien. En revanche, la lisibilitĂ© Ă©tait catastrophique. Je ne le lisais mĂȘme pas moi-mĂȘme, alors personne d’autre ne devait le faire.

Version 2 : replier le détail des repas et ajouter les 7 derniers jours

J’ai modifiĂ© le format Ă  partir du 10 juillet 2026.

Le deuxiÚme écran, avec le détail des repas replié et un résumé des données corporelles du jour et des 7 derniers jours

J’ai masquĂ© le dĂ©tail des aliments derriĂšre un contrĂŽle d’ouverture et de fermeture, pour en faire surtout une archive que l’IA pouvait parcourir. J’ai aussi amĂ©liorĂ© la lisibilitĂ© gĂ©nĂ©rale et ajoutĂ© l’évolution des 7 derniers jours. Le journal a alors commencĂ© Ă  me fournir un vĂ©ritable retour.

« VoilĂ  donc combien de calories j’ai rĂ©ellement consommĂ©es, et comment mon poids a Ă©voluĂ© en consĂ©quence. » Cela commençait enfin Ă  apparaĂźtre clairement.

MalgrĂ© tout, l’ensemble restait difficile Ă  saisir d’un coup d’Ɠil. Le format encore trĂšs textuel semblait en ĂȘtre la cause. Puisque je pouvais demander Ă  Codex de le faire, j’ai envisagĂ© d’intĂ©grer directement dans la page une petite visionneuse au style d’une application.

Version 3 : une petite application dans le blog rend tout beaucoup plus lisible

À partir d’aujourd’hui, j’ai adoptĂ© cette version.

Le MVP du suivi corporel réunissant sur un écran les résumés du jour et des 7 derniers jours, un graphique des macronutriments et des onglets par moment de repas

J’ai expliquĂ© Ă  Codex, une par une, les fonctions que je voulais, puis j’ai continuĂ© Ă  lui donner mes retours. En une heure, le rĂ©sultat attendu fonctionnait dans l’article.

PrĂ©sentĂ©es comme un Ă©cran d’application, les informations montraient immĂ©diatement le type de repas pris Ă  chaque moment de la journĂ©e et les aliments consommĂ©s. Mon autoĂ©valuation est devenue bien plus simple. L’ensemble ressemblait beaucoup Ă  Pillyze, une application que j’utilisais souvent auparavant.

L'écran de suivi des repas de Pillyze, qui affiche ensemble une photo, les calories totales et les proportions de glucides, protéines et lipides

J’ai enregistrĂ© les donnĂ©es dans le front matter et dessinĂ© l’interface avec Liquid

Le rĂ©sultat ressemble Ă  une application, mais je n’ai pas créé une autre application pour la saisie. J’écris les donnĂ©es body_review en YAML dans le front matter placĂ© en haut du fichier Markdown de chaque Daily Review.

body_review:
  today:
    exercise:
      aerobic: []
      anaerobic: []
    nutrition:
      complete: true
      meals:
        - type: lunch
          foods:
            - name: Riz au porc épicé
              calories_kcal: 779
              macros_g:
                carbohydrate: 115.13
                protein: 29.85
                fat: 21.41

Au lieu de répéter le HTML dans chaque article, le corps appelle une seule fois la visionneuse partagée avec le {% include %} de Liquid.

{% include body-review.html review=page.body_review %}

Lors du build Jekyll, page.body_review est transmis Ă  _includes/body-review.html, qui affiche les cartes, les activitĂ©s physiques, les onglets de repas et les graphiques de macronutriments. Lorsqu’aucun repas n’est enregistrĂ© pour une pĂ©riode, comme le petit-dĂ©jeuner ou une collation tardive, l’onglet correspondant n’est mĂȘme pas créé. Une fois les calories et les macronutriments de chaque aliment saisis, le moteur de rendu calcule les totaux par repas, le total gĂ©nĂ©ral et les pourcentages. Les notes et l’évaluation des habitudes alimentaires ne sont pas calculĂ©es par l’écran : Codex les juge du point de vue du rĂ©gime, puis j’enregistre directement les valeurs dans le front matter.

Modification simultanée du front matter du suivi corporel et de l'unique ligne Liquid include dans le corps

Les Daily Reviews suivantes n’ont donc besoin que des donnĂ©es du jour, sans recopier le mĂȘme code d’interface.

Dogfooding du MVP

Je compte continuer Ă  l’utiliser et amĂ©liorer progressivement ce qui reste gĂȘnant. Je me suis aussi dit que je pourrais un jour proposer un service associĂ©, reliĂ© au web et Ă  une application.

Il s’agit en pratique d’un MVP intĂ©grĂ© au blog avant de passer au dĂ©veloppement complet de l’application, et d’une dĂ©marche de dogfooding1. Quand j’en aurai le temps, je veux construire progressivement l’application native et web avec Codex et Flutter, puis permettre Ă  terme d’intĂ©grer ses donnĂ©es dans le blog.

Références

  1. Le dogfooding consiste, pour les personnes qui dĂ©veloppent un produit, Ă  l’utiliser elles-mĂȘmes dans un environnement rĂ©el afin d’en vĂ©rifier la valeur et la facilitĂ© d’usage. L’explication du Lean Product sur le Microsoft Azure DevOps Blog le prĂ©sente Ă©galement comme l’utilisation du produit par ses crĂ©ateurs avant d’affiner davantage le MVP. ↩

Laisser un commentaire