mport TheMealDB : les synonymes d'ingrédients ("vanilla pod" vs "vanilla bean") ne sont pas reconnus #4

Open
opened 2026-08-27 12:49:04 +02:00 by kyuno · 0 comments
Owner

Contexte

Lors de l'import d'une recette TheMealDB, certains ingrédients pourtant présents dans le catalogue ne sont pas reconnus automatiquement et finissent dans la section "Ingrédients à compléter", alors qu'un synonyme anglais courant suffirait à les faire correspondre.

Exemple observé sur la recette "Flan" (externalId 53322) : l'ingrédient source "1 vanilla pod" n'est pas reconnu, alors que le catalogue contient bien "Vanille (gousse)" (clé vanillaBean, libellé anglais de matching "Vanilla bean" dans packages/shared/src/data/catalog-labels-en.ts).

Cause

matchIngredientName (apps/api/src/lib/ingredient-matcher.ts) exige que les tokens du libellé catalogue ("vanilla", "bean") apparaissent tels quels et contigus dans le texte source. TheMealDB utilise couramment "Vanilla Pod" plutôt que "Vanilla Bean""pod""bean", donc aucune correspondance, malgré un ingrédient équivalent existant.

Impact

Faible — l'utilisateur peut toujours choisir manuellement l'ingrédient correct dans "Ingrédients à compléter". C'est un défaut d'ergonomie/complétude des synonymes plutôt qu'un blocage (contrairement à #53).

Piste de correction

INGREDIENT_LABELS_EN n'accepte qu'un seul libellé anglais par ingrédient aujourd'hui — passer à une liste de synonymes par ingrédient (comme UNIT_LABELS_EN le fait déjà pour les unités) permettrait d'ajouter des variantes fréquentes chez les sources anglophones (ex. ["Vanilla bean", "Vanilla pod"]) sans devoir changer l'algorithme de matching lui-même.

🤖 Filed by Claude Code

## Contexte Lors de l'import d'une recette TheMealDB, certains ingrédients pourtant présents dans le catalogue ne sont pas reconnus automatiquement et finissent dans la section "Ingrédients à compléter", alors qu'un synonyme anglais courant suffirait à les faire correspondre. Exemple observé sur la recette "Flan" (`externalId` `53322`) : l'ingrédient source `"1 vanilla pod"` n'est pas reconnu, alors que le catalogue contient bien "Vanille (gousse)" (clé `vanillaBean`, libellé anglais de matching `"Vanilla bean"` dans `packages/shared/src/data/catalog-labels-en.ts`). ## Cause `matchIngredientName` (`apps/api/src/lib/ingredient-matcher.ts`) exige que les tokens du libellé catalogue (`"vanilla"`, `"bean"`) apparaissent **tels quels** et **contigus** dans le texte source. TheMealDB utilise couramment `"Vanilla Pod"` plutôt que `"Vanilla Bean"` — `"pod"` ≠ `"bean"`, donc aucune correspondance, malgré un ingrédient équivalent existant. ## Impact Faible — l'utilisateur peut toujours choisir manuellement l'ingrédient correct dans "Ingrédients à compléter". C'est un défaut d'ergonomie/complétude des synonymes plutôt qu'un blocage (contrairement à #53). ## Piste de correction `INGREDIENT_LABELS_EN` n'accepte qu'un seul libellé anglais par ingrédient aujourd'hui — passer à une liste de synonymes par ingrédient (comme `UNIT_LABELS_EN` le fait déjà pour les unités) permettrait d'ajouter des variantes fréquentes chez les sources anglophones (ex. `["Vanilla bean", "Vanilla pod"]`) sans devoir changer l'algorithme de matching lui-même. 🤖 Filed by [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: kyuno/batchCooking#4
No description provided.