Bibliothèque d'aliments
Description
La Bibliothèque est la collection personnelle d'aliments de l'utilisateur — tout aliment ajouté au Journal ou à un plat, quelle que soit sa source (CIQUAL, Open Food Facts, scanner, IA, photo ou saisie manuelle), y est conservé pour être réutilisé sans nouvelle recherche.
Objectif
Éviter de ressaisir ou rechercher deux fois le même aliment, et donner un point d'entrée unique pour créer une fiche aliment quand elle n'existe dans aucune base (CIQUAL, Open Food Facts) — avec ou sans IA.
Prérequis
- Permissions : aucune pour consulter, filtrer, comparer, éditer ou supprimer un aliment de la bibliothèque. La caméra/photothèque n'interviennent que via les chips « Scanner » et « Photo » (voir Permissions).
- Connexion : aucune pour la bibliothèque elle-même (recherche locale). Requise pour créer un aliment via IA, Open Food Facts, scanner ou photo.
- Configuration : aucune. La création manuelle (« Saisie libre ») ne nécessite ni IA ni réseau.
Comment l'utiliser
- Ouvrir l'onglet 🌿 « Aliments ».
- Sans recherche, la liste affiche 4 sections : Récemment ajoutés, Récemment utilisés (journal/plats), Récemment consultés, puis tous les autres aliments (ordre du plus récent au plus ancien).
- Taper dans la barre de recherche filtre par nom ou marque (avec un temps de latence de 300 ms) sur l'ensemble de la bibliothèque.
- 5 chips « Découvrir » permettent de créer un nouvel aliment : CIQUAL, Open Food Facts, Scanner, IA, Photo.
- Toucher « IA » ouvre un formulaire (nom, marque, contexte optionnel) puis lance une génération en arrière-plan via
aiQueue; un bouton discret « Saisie libre de l'aliment » permet de créer la fiche sans IA (12 sections : informations générales, apports, protéines, glucides, lipides, minéraux & vitamines, profil sensoriel, allergènes, composition). - Toucher un aliment de la liste ouvre sa fiche détail (pour l'ajouter au Journal) ; l'icône livre ouvre un sélecteur pour l'ajouter directement à un plat.
- L'icône colonnes (topbar) active le mode Comparer : sélectionner 2 aliments fait apparaître un bouton « Comparer » qui ouvre le Comparateur.
- L'icône corbeille sur chaque ligne supprime l'aliment de la bibliothèque, après confirmation.
Options
| Chip « Découvrir » | Ouvre |
|---|---|
| CIQUAL | Recherche dans la base CIQUAL 2020 (hors connexion) |
| Open Food Facts | Recherche par nom dans Open Food Facts (connexion requise) |
| Scanner | Scan de code-barres → Open Food Facts |
| IA | Génération d'une fiche complète par IA à partir du nom |
| Photo | Reconnaissance d'aliment par IA vision |
Paramètres associés
Le fournisseur IA utilisé par la génération et l'enrichissement se configure dans Paramètres. Aucun autre paramètre n'est spécifique à la bibliothèque.
Données utilisées
| Donnée | Détail |
|---|---|
| Bibliothèque | Stockage local nutritor:foods — tableau de fiches Food (id, nom, marque, catégorie, portion, valeurs par 100 g, allergènes, badges de compatibilité, minéraux/vitamines optionnels) |
| Récemment utilisés / consultés | nutritor:recent_food_uses / nutritor:recent_food_views — listes d'identifiants, sans contenu dupliqué |
| Export / import JSON | Paramètres → Base de données locale — export intégral, import avec validation (chaque entrée doit avoir id, name et per100) puis dédoublonnage strict par id : un identifiant déjà présent dans la bibliothèque est ignoré, jamais mis à jour |
Résultat
Une bibliothèque qui grandit au fil de l'usage, consultable et modifiable sans reconnexion aux sources d'origine, avec badge de compatibilité (allergènes/régimes du profil) visible directement dans la liste.
Fonctionnement hors connexion
Complet pour : consultation, recherche, filtrage, comparaison, édition, suppression, export/import JSON, et création via CIQUAL ou saisie libre. Voir Hors connexion.
Fonctionnement en ligne
Requis pour créer un aliment via Open Food Facts, Scanner, IA ou Photo — chacune de ces sources appelle un service externe (Open Food Facts ou le fournisseur IA configuré).
Limites
- L'import JSON ignore silencieusement tout aliment dont l'
idexiste déjà dans la bibliothèque — il ne met jamais à jour une fiche existante, même si son contenu a changé dans le fichier importé. - La suppression d'un aliment de la bibliothèque est immédiate après confirmation ; elle n'affecte pas les repas déjà enregistrés qui le référencent (les données macro copiées dans le repas restent inchangées).
- Le mode Comparer ne conserve que les 2 dernières sélections : sélectionner un 3ᵉ aliment remplace automatiquement le plus ancien des deux déjà choisis.
- Le Nutri-Score Perso n'est pas affiché dans la liste de la bibliothèque — seulement dans la fiche détail et le Comparateur.
Erreurs possibles
- Import JSON rejeté — un message d'erreur s'affiche si une entrée n'a pas
id,nameouper100, ou si le fichier n'est pas un JSON valide. - Génération IA en échec — voir Dépannage IA.
- Permission caméra/photothèque refusée (chips Scanner/Photo) — voir Dépannage permission.
Dépannage
FAQ
Puis-je créer un aliment sans IA et sans connexion ?
Oui — le bouton « Saisie libre de l'aliment », accessible depuis l'écran « Ajouter avec l'IA », permet une création manuelle complète (12 sections), entièrement hors ligne.
Si je réimporte un export JSON, mes aliments modifiés seront-ils écrasés ?
Non : un identifiant déjà présent dans la bibliothèque est ignoré à l'import, jamais remplacé.
Pourquoi un aliment reste-t-il dans un repas après l'avoir supprimé de la bibliothèque ?
Les repas stockent une copie des valeurs nutritionnelles au moment de l'ajout ; supprimer l'aliment de la bibliothèque n'affecte pas les repas déjà enregistrés.