Suit le même schéma que marmitonAdapter/sevenFiftyGAdapter (construit sur
jsonLdRecipeAdapter), avec des différences propres à mangerbouger.fr
(« La Fabrique à Menus », Santé publique France) :
- list() n'utilise pas de JSON-LD du tout — la page de résultats (une app
Next.js) n'embarque aucun ItemList. Elle est cependant rendue
côté serveur et expose le même state Redux que le client hydrate, via un
<script id="__NEXT_DATA__">, qui contient déjà tout ce dont list() a
besoin (slug/nom/image, pagination). Vérifié en direct : ?query=<texte
libre> filtre bien côté serveur, et hasMorePages donne un signal de fin
de pagination plus propre que le 404 de Marmiton ou l'absence de vraie
pagination de 750g.
- parse() délègue à jsonLdRecipeAdapter mais corrige deux lacunes réelles
et systématiques de son propre JSON-LD (vérifiées sur 9 recettes,
72 étapes) : recipeInstructions[].text est un document Slate.js
sérialisé en JSON (pas du texte) plutôt qu'être aplati ; recipeYield est
absent partout alors que le nombre de portions existe bien côté site
(__NEXT_DATA__) — les deux sont corrigés par un patch structuré (parse →
mutation → réécriture) avant délégation, pas une réimplémentation.
Enregistre mangerBougerAdapter dans registerAllRecipeSources
(sources/index.ts) et complète sources-index.test.ts.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>