Import de journal (JSON)
Description
Importer une journée entière — repas, symptômes, bien-être, activités — décrite dans un fichier ou un texte JSON, typiquement produit par Claude Chat à partir d'un récit en langage naturel (« ce midi j'ai mangé… »). Deux chemins d'entrée : coller le texte dans le Journal, ou choisir un fichier dans les Paramètres.
Objectif
Gagner du temps en dictant sa journée à un assistant plutôt qu'en saisissant chaque aliment un par un.
Prérequis
- Permissions : aucune (l'import par fichier utilise le sélecteur de fichiers du système).
- Connexion : aucune pour importer. Produire le JSON avec Claude Chat nécessite en revanche ce service, en dehors de Nutritor.
- Configuration : aucune.
- Format : un JSON respectant le format « nutritor_import » version 1.0 (voir Options). Un fichier d'exemple est disponible : exemple-import.json.
Comment l'utiliser
- Par collage : dans le Journal, toucher le troisième bouton flottant « Ajouter les repas », coller le JSON copié depuis Claude Chat, puis « Importer ». Les balises Markdown (
```json) autour du texte sont retirées automatiquement. - Par fichier : Paramètres → section « Import / export » → « Importer un journal JSON », puis choisir le fichier.
- Si des repas existent déjà pour cette date (dans l'historique, ou dans le Journal du jour s'il s'agit d'aujourd'hui), une fenêtre propose Fusionner, Remplacer ou Annuler. Sinon, l'import est ajouté directement.
- Un message de confirmation indique le nombre de repas, d'aliments importés et d'aliments « non trouvés ».
- Si la date est celle d'aujourd'hui, les repas apparaissent dans le Journal du jour ; sinon, ils sont enregistrés dans l'historique de cette date (consultable via le calendrier).
Options
Structure du fichier (tous les blocs sauf nutritor_import, version et date sont optionnels) :
{
"nutritor_import": true,
"version": "1.0",
"date": "2026-06-07",
"repas": [
{ "moment": "déjeuner", "heure": "12:45",
"aliments": [
{ "nom": "Œuf au plat", "quantite": 2, "unite": "œufs", "poids_g": 120,
"per100": { "kcal": 196, "proteines": 13.6, "glucides": 0.9, "lipides": 14.8, "fibres": 0 } }
] }
],
"symptomes": [ { "heure": "14:00", "type": "ballonnements", "intensite": 2 } ],
"bien_etre": { "energie": 4, "stress": 2, "sommeil_h": 7.5 },
"activite": [ { "type": "marche", "duree_min": 35, "heure": "18:00" } ]
}
| Champ | Règle |
|---|---|
moment | Petit-déjeuner, encas matin, déjeuner, encas après-midi (ou goûter, collation), dîner (ou souper) — variantes sans accent et anglaises acceptées. Un moment inconnu est rangé dans le déjeuner. |
| Résolution d'un aliment | Dans l'ordre : 1) aliment de la bibliothèque portant exactement le même nom ; 2) valeurs per100 du fichier ; 3) valeurs par portion (kcal, proteines, glucides, lipides) ; 4) premier résultat de la recherche CIQUAL sur le nom ; 5) sinon, ligne à 0 kcal comptée comme « non trouvée » |
unite / poids_g | Pour les unités en grammes, la quantité sert de poids. Pour toute autre unité (œuf, fruit, ml…), poids_g doit donner le poids total, sinon l'aliment est compté comme 100 g |
source | Accepté, mais sans effet sur le calcul |
symptomes[].intensite | 1 à 5 (borné) |
bien_etre | energie (1 à 5) alimente le score d'énergie ; stress (1 à 5) alimente le score d'inflammation ; sommeil_h donne la durée de sommeil (bornée de 4 à 12 h). humeur et note sont ignorés. |
activite[] | Seules les activités avec une heure sont importées |
Paramètres associés
Aucun paramètre dédié.
Données utilisées
| Donnée créée | Détail |
|---|---|
| Repas | Journal du jour (nutritor:meals) si la date est aujourd'hui, historique (nutritor:journal) sinon |
| Nouveaux aliments | Les aliments créés à partir de per100 (identifiant import-<nom>, catégorie « Importé », marque « Claude IA ») et ceux trouvés dans CIQUAL sont ajoutés à la bibliothèque personnelle s'ils n'y figurent pas |
| Symptômes | Chaque symptôme du fichier devient un ressenti de la timeline du jour ; chaque activité aussi (type « énergie », intensité 4) |
| Bien-être | Écrit dans l'entrée de symptômes du jour (nutritor:symptoms) |
Aucune donnée n'est envoyée par cette fonctionnalité : le texte collé ou le fichier est analysé sur l'appareil.
Résultat
Une journée reconstituée dans le Journal (kcal, macros, timeline, symptômes), avec la liste des aliments non reconnus dans le message de confirmation.
Fonctionnement hors connexion
Complet : l'analyse est locale. Voir Hors connexion.
Fonctionnement en ligne
Identique au mode hors connexion.
Limites
- « Fusionner » ajoute les aliments à ceux déjà présents (importer deux fois le même fichier en fusion duplique donc les repas) ; « Remplacer » efface les repas de la date avant d'insérer ceux du fichier.
- Un bloc
bien_etreréécrit l'entrée de symptômes de la date : l'énergie et l'inflammation (stress) sont remplacées par celles du fichier ; la durée de sommeil existante est conservée si le fichier n'en donne pas. - La recherche CIQUAL retient le premier résultat sans vérification : un nom ambigu peut donner un aliment inattendu. Fournir
per100ou utiliser un nom identique à celui de la bibliothèque est plus fiable. - Les aliments créés depuis
per100n'ont aucun allergène renseigné : les badges de compatibilité et le Nutri-Score Perso ne peuvent donc pas les signaler. - Un type de symptôme non reconnu est enregistré comme « douleur ».
- Seule la version « 1.0 » du format est acceptée.
Erreurs possibles
- « JSON invalide — impossible de parser le contenu » — le texte n'est pas du JSON valide.
- « Ce fichier n'est pas un export Nutritor valide (nutritor_import: true manquant) ».
- « Version non supportée » — la version n'est pas « 1.0 ».
- « Champ "date" manquant ou invalide (format attendu : YYYY-MM-DD) ».
- Dans la boîte de collage, l'erreur est affichée sous le champ, précédée de « Format JSON invalide — » ; par fichier, elle apparaît dans un message temporaire.
Dépannage
FAQ
Mes repas importés sont-ils en double ?
Si vous avez importé deux fois le même fichier en choisissant « Fusionner », oui. Utilisez « Remplacer » pour réimporter une journée.
Pourquoi un aliment affiche-t-il 0 kcal ?
Il n'a été trouvé ni dans la bibliothèque, ni dans CIQUAL, et le fichier ne donnait pas de valeurs. Il figure dans le nombre « non trouvés » du message de confirmation.
Pourquoi deux œufs comptent-ils comme 100 g ?
Sans poids_g, une unité autre que le gramme est comptée pour 100 g. Ajoutez le poids total de la quantité indiquée.