Gérer sa base de données d'ingrédients
Gram utilise un fichier local ingredients.yaml pour stocker les données physiques et nutritionnelles des ingrédients que vous utilisez dans vos recettes. Le maintien de cette base de données permet aux fonctionnalités telles que la Standardisation des Masses, le Calcul des Rendements et l’Estimation Nutritionnelle de fonctionner parfaitement.
Ce guide détaille le workflow standard pour entretenir votre base de données à l’aide du CLI Gram.
Le workflow recommandé
Section intitulée « Le workflow recommandé »Le workflow recommandé se compose de trois étapes, à exécuter dans cet ordre précis :
-
Synchroniser les nouveaux ingrédients
Section intitulée « Synchroniser les nouveaux ingrédients »En rédigeant de nouvelles recettes, vous utiliserez inévitablement des ingrédients qui manquent à l’appel dans votre base. Au lieu de les ajouter à la main, laissez le CLI s’en charger.
Cette commande scanne tous les fichiers
.gramde votre projet. Si elle trouve un ingrédient (ex :@lait de coco{200 ml}) qui n’existe pas dansingredients.yaml, elle lui ajoutera une entrée vierge. -
Nettoyage et déduplication (Linting)
Section intitulée « Nettoyage et déduplication (Linting) »Parfois, vous pourriez écrire
@œufdans une recette et@œufsdans une autre. Ou bien@sugaret@sucresi vous écrivez dans plusieurs langues.Cette commande s’appuie sur l’IA (voir Configurer l’IA) pour détecter les doublons sémantiques au sein de votre base de données. Si elle trouve
œufetœufs, elle vous demandera lequel conserver comme clé principale. Elle fusionnera ensuite l’autre dans la liste desaliases(alias) de la clé principale.Désormais, écrire
@œufspointera automatiquement vers l’entrée de base de donnéesœuf. -
v1.1.0
Enrichir les données
Section intitulée « Enrichir les données »Maintenant que votre base de données contient des entrées propres et dédupliquées, vous devez renseigner leurs données physiques (densité, poids unitaire, rendement) et nutritionnelles (calories, macros).
Faire cela manuellement est fastidieux. Gram peut faire appel à l’IA pour proposer ces valeurs à votre place, par lots (voir Configurer l’IA) :
Le CLI récupère les données nutritionnelles standards et les densités pour toutes les entrées incomplètes, puis vous les fait passer en revue une par une pour que vous puissiez accepter, modifier ou passer chaque proposition — la densité et la nutrition sont des données propres à un produit précis (un beurre AOP français n’a pas la même densité qu’un beurre américain), donc seul vous pouvez réellement les valider.
category/tagssont peu risqués et s’écrivent automatiquement.Cette commande ne comble que les champs manquants, n’écrase jamais les données saisies manuellement, et peut être relancée sans crainte. Une valeur acceptée telle quelle est taguée
# [LLM]dansingredients.yaml, pour repérer les estimations IA jamais relues par un humain.
Valider la base de données
Section intitulée « Valider la base de données »Avant de commit votre fichier ingredients.yaml dans votre gestionnaire de versions, il est recommandé de le valider (validate) par rapport au schéma Gram pour s’assurer de l’absence d’erreurs de formatage (comme des alias qui se chevauchent).
Partager et fusionner des bases de données
Section intitulée « Partager et fusionner des bases de données »Si vous travaillez en équipe, ou si vous souhaitez importer une base de données communautaire, vous pouvez fusionner un fichier YAML externe dans votre fichier local :
En cas de conflit (par exemple, la base communautaire indique que le beurre contient 717 kcal, contre 740 kcal dans la vôtre), le CLI vous demandera de manière interactive comment trancher.