Aller au contenu
openplate

L'application

Importer depuis YAZIO

Importer un journal YAZIO dans openplate avec l'outil open source yazio-exporter, et ce qui est transféré ou non

Cette page est traduite automatiquement à partir de la documentation en anglais.

Si tu tenais un journal alimentaire dans YAZIO et que tu souhaites le transférer dans openplate, suis ces étapes. Installe un outil d'exportation, exécute quatre commandes, puis sélectionne les fichiers exportés sur l'écran Données et sauvegarde d'openplate. Tu n'as besoin d'aucune compétence de développement en dehors de taper des commandes dans un terminal.

Chaque aliment consigné dans YAZIO arrive dans openplate le jour et dans le repas où tu l'as saisi, avec ses macronutriments proportionnels à la quantité consommée. Tes pesées peuvent aussi être transférées. Lis « Ce qui est transféré et ce qui ne l'est pas » ci-dessous avant d'importer, car quelques valeurs diffèrent de leur affichage dans YAZIO.

Ce dont tu as besoin

  • Ton adresse e-mail et ton mot de passe YAZIO.
  • Un ordinateur sur lequel tu peux ouvrir un terminal et installer Python. Un téléphone ne conviendra pas pour l'étape d'exportation. Tu pourras ensuite transférer les fichiers sur ton téléphone si tu y utilises openplate.
  • Python 3.11 ou plus récent.
  • openplate ouvert dans un navigateur, sur le même appareil ou sur un appareil vers lequel tu peux copier les fichiers.

Exporter ton journal depuis YAZIO

openplate ne communique pas directement avec YAZIO. Tu exécutes un outil en ligne de commande open source distinct appelé yazio-exporter. Il lit ton journal YAZIO et l'écrit dans des fichiers sur ton ordinateur.

yazio-exporter est un outil tiers. Ni openplate ni YAZIO ne l'ont créé, et aucun contributeur d'openplate ne le maintient. Il peut cesser de fonctionner si YAZIO modifie son application. Le projet se trouve sur github.com/aleksandr-bogdanov/yazio-exporter.

  1. Installe Python 3.11 ou plus récent, si tu ne l'as pas encore. La page de téléchargements de python.org propose des installateurs pour Windows, macOS et Linux.
  2. Ouvre un terminal et installe l'outil d'exportation :
    bash
    pip install yazio-exporter
  1. Connecte-toi, puis exporte tes journées, tes aliments et ton poids :
    bash
    yazio-exporter login you@example.com your-password
    yazio-exporter days
    yazio-exporter products
    yazio-exporter weight

    Remplace you@example.com et your-password par tes identifiants de connexion YAZIO. Cette commande se connecte uniquement au serveur de YAZIO, yzapi.yazio.com. Rien n'est envoyé à openplate durant cette étape.

    La commande login enregistre un jeton dans un fichier nommé token.txt dans ton dossier actuel. Les autres commandes exploitent ce fichier pour ne pas redemander ton mot de passe. Ton système crée ce fichier avec les droits de lecture réservés à ton compte utilisateur, mais il n'est pas chiffré. Supprime token.txt dès que tu as terminé l'exportation.

    Ton mot de passe reste dans l'historique de commandes de ton terminal, car yazio-exporter le prend en texte clair sur la ligne de commande au lieu d'une invite masquée. Sur macOS et Linux, tu as deux manières de l'éviter : tape un espace avant la commande si ton shell ignore les lignes commençant par un espace, ou exécute history -c juste après pour effacer l'historique de ta session. Sur Windows, fermer PowerShell ne l'efface pas. Le module PSReadLine de PowerShell conserve un fichier d'historique persistant à l'emplacement %APPDATA%\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt. Ouvre ce fichier ensuite et supprime la ligne contenant ton mot de passe.

  1. Localise les fichiers. yazio-exporter days génère days.json. yazio-exporter products génère products.json. yazio-exporter weight génère weight.json. Les fichiers apparaissent dans le dossier où tu as exécuté les commandes. Tu as besoin de days.json et products.json. weight.json est facultatif et transfère tes pesées.

Importer dans openplate

  1. Ouvre openplate et va dans Paramètres, puis dans Données et sauvegarde.
  2. Sous Importer depuis YAZIO, sélectionne Choisir les fichiers YAZIO.
  3. Dans le sélecteur de fichiers, sélectionne days.json et products.json ensemble, ainsi que weight.json si tu veux aussi tes pesées, puis confirme ton choix.
  4. openplate lit les fichiers sur ton appareil et affiche un aperçu. Il indique le nombre d'entrées qu'il va ajouter, le nombre de jours couverts, le premier et le dernier jour, ainsi que les éléments ignorés avec le motif associé. Si certains de ces jours contiennent déjà des entrées dans ton journal openplate, l'aperçu indique combien. Après l'import, ces jours affichent à la fois tes propres entrées et celles importées. Avec weight.json, l'aperçu montre aussi le nombre de pesées qu'il ajoutera ainsi que le premier et le dernier poids, en kilogrammes. Rien n'est encore inscrit dans ton journal.
  5. Vérifie l'aperçu, puis sélectionne Ajouter à mon journal. Sélectionne Annuler pour interrompre sans rien modifier.
  6. openplate confirme le nombre d'entrées et de pesées importées. Ouvre ton journal et vérifie un jour dont tu te souviens.

Les fichiers restent sur ton appareil. openplate les lit localement dans ton navigateur sans les téléverser vers un serveur.

Ce qui est importé et ce qui ne l'est pas

  • Chaque aliment devient une entrée distincte, le jour et au repas où tu l'as saisi dans YAZIO.
  • Un nutriment absent de YAZIO apparaît comme inconnu dans openplate, jamais comme zéro. YAZIO ne renseigne pas les fibres pour beaucoup d'aliments. Dans ce cas, openplate marque les fibres comme inconnues plutôt qu'à zéro.
  • openplate considère que la valeur en glucides de YAZIO exclut déjà les fibres, selon la convention européenne, et ne soustrait pas les fibres une seconde fois. Personne ne sait exactement quelle méthode utilise YAZIO. Si la valeur de YAZIO inclut en réalité les fibres, selon la convention américaine, tes glucides nets dans openplate apparaîtront plus élevés qu'ils ne le sont en réalité, jamais plus bas. Pour un suivi pauvre en glucides, c'est l'erreur la plus sûre.
  • Une quantité en millilitres est comptée comme le même nombre de grammes. openplate enregistre le poids uniquement en grammes.
  • Les entrées rapides sont ignorées. Quand tu saisis des calories dans YAZIO sans choisir d'aliment, l'entrée ne contient aucun macronutriment qu'openplate puisse lire.
  • Une entrée est ignorée quand son aliment est manquant dans products.json. Cela arrive en général lorsque la base de YAZIO ne contient plus l'aliment, ce qui fait que l'export liste l'entrée du journal sans ses nutriments. Un aliment que tu as supprimé de ton journal YAZIO n'est pas ignoré, car il ne figure pas du tout dans l'export.
  • Le poids d'une recette correspond à la somme de ses ingrédients. Une recette sans liste d'ingrédients dans le fichier d'export est ignorée. Les valeurs des recettes sont la partie la moins fiable de cet import, vérifie donc une recette importée par rapport à YAZIO.
  • Chaque pesée devient une entrée dans ton suivi de poids. L'export répète ton dernier poids chaque jour jusqu'à ta pesée suivante. openplate ne conserve un jour que si son poids diffère du jour précédent. Deux pesées consécutives affichant exactement le même poids sont donc importées sous la forme d'une seule entrée.
  • openplate lit les valeurs dans weight.json en kilogrammes. L'export ne précise pas l'unité employée. Si tu te pèses en livres dans YAZIO, vérifie le premier et le dernier poids dans l'aperçu avant de confirmer. openplate ignore et comptabilise toute valeur inférieure à 20 ou supérieure à 350.
  • Un jour qui contient déjà une pesée dans openplate la conserve. L'importation ne remplace jamais un poids que tu as saisi dans openplate. L'aperçu affiche le nombre de ces jours.
  • Importer à nouveau les mêmes fichiers met à jour les entrées existantes au lieu de créer des doublons. Cette action écrase toutes les modifications manuelles apportées à une entrée ou une pesée importée.

Supprimer une importation

Pour annuler une importation, ouvre Données et sauvegarde. Si des entrées importées existent, le bas de la page affiche Entrées importées depuis YAZIO avec le nombre d'entrées du journal et de pesées issues de YAZIO. Sélectionne Supprimer les entrées YAZIO, puis confirme. openplate supprime chaque entrée et chaque pesée issues de l'importation, y compris celles que tu as modifiées ensuite. Il conserve tout ce que tu as consigné toi-même dans openplate. Une pesée que tu ajoutes un jour qui en comporte déjà une importée remplace cette dernière et compte comme la tienne. Si tu utilises la synchronisation, tes autres appareils suppriment aussi les entrées importées.

En cas de problème

openplate vérifie les fichiers avant d'afficher un aperçu. Voici la signification de chaque message :

  • « L'un de ces fichiers n'est pas un JSON valide. Choisis les fichiers days.json et products.json générés par l'outil d'exportation. » L'un des fichiers n'est pas un JSON valide. Sélectionne les fichiers exactement tels que yazio-exporter les a créés, sans modification.
  • « L'un de ces fichiers n'est pas une exportation YAZIO. Choisis uniquement days.json, products.json et, si tu souhaites tes pesées, weight.json. » Un fichier est un JSON valide mais ne contient pas de données d'exportation YAZIO. Vérifie que tu as sélectionné les bons fichiers.
  • « Tu as choisi deux fichiers du même type. Choisis un seul days.json et un seul products.json. » Tu as sélectionné des fichiers en double, comme deux copies de days.json ou de weight.json. Sélectionne un exemplaire de chaque.
  • « Le fichier days.json est manquant. Choisis-le en même temps que products.json. » Tu as uniquement sélectionné products.json. Sélectionne les deux fichiers ensemble.
  • « Le fichier products.json est manquant. Choisis-le en même temps que days.json. » Tu as uniquement sélectionné days.json. Sélectionne les deux fichiers ensemble.

Si l'aperçu indique des entrées ignorées, consulte la section « Ce qui est transféré et ce qui ne l'est pas » ci-dessus pour plus de détails.

Modifier cette page sur GitHub