Composer un lien de consultation

Cette page est écrite pour qui compose une sélection destinée à quelqu’un d’autre : un diététicien après une consultation, un hôte avant un dîner, un parent pour une cantine. Le résultat est une adresse de la liste des recettes, que la personne ouvre sans compte et sans rien installer. Voici ce que cette adresse transporte, ce qu’elle ne transporte pas, et pourquoi elle ne montre pas le même nombre de recettes à deux personnes différentes.

Le composeur écrit l’adresse à votre place

Rien de ce qui suit n’a besoin d’être tapé. Le composeur de filtres assemble les mêmes critères dans un formulaire, affiche à côté de chacun le nombre de recettes qu’il retiendrait à lui seul sur les 817 du catalogue, et donne un bouton « Copier » qui met l’adresse complète dans le presse-papiers.

Pour les critères chiffrés, il montre aussi la distribution du catalogue : premier décile, médiane, neuvième décile. C’est ce qui permet de situer un seuil que vous avez décidé. Le site ne propose aucune valeur, n’en préremplit aucune et n’en recommande aucune, ici pas plus qu’ailleurs.

La grammaire ci-dessous sert à deux choses : relire une adresse reçue, et en écrire une à la main quand elle vient d’un dossier patient plutôt que d’un formulaire.

Les neuf paramètres d’un lien

Tous les critères de la liste vivent dans l’adresse, et rien d’autre n’y vit : aucun identifiant, aucune donnée de la personne qui compose, aucune de celle qui ouvre. Une adresse peut donc être envoyée par courriel, imprimée sur une ordonnance de conseils ou dictée au téléphone.

Les paramètres que /recettes lit, dans l’ordre canonique
ParamètreCe qu’il porteRépété
qle texte cherché, sur le nom et les ingrédientsune seule valeur
categoryles catégories (entrée, plat, dessert…), séparées par des virgulesunion : une recette de l’une ou de l’autre
tagsles tags calculés (végétarien, sans gluten, rapide…), séparés par des virgulesintersection : la recette porte tous les tags
carbonles notes d’empreinte carbone retenues, en lettresunion
nutriles lettres de Nutri-Score retenuesunion
nutles contraintes chiffrées, en triplets slug:sens:valeurintersection, sauf les bandes de charge glycémique qui s’unissent
nutbasela base de lecture des contraintes : par portion (défaut) ou pour 100 gune seule valeur, jamais écrite quand c’est la portion
sansles allergènes exclus pour la visite, en toutes lettresunion avec ceux déclarés sur l’appareil qui ouvre le lien
carnetun carnet partagé, par son identifiant lisibleune seule valeur

L’ordre de la colonne de gauche est celui que le site écrit lui-même : deux façons d’arriver à la même liste produisent la même adresse, ce qui rend deux liens comparables à l’œil. Un paramètre vide est supprimé, et un paramètre inconnu est conservé plutôt que jeté, pour ne pas casser le lien de quelqu’un d’autre.

https://cookngeek.com/recettes?tags=vegetarien&nut=<contraintes>&sans=<allergènes>

Les contraintes chiffrées

Le paramètre nut porte des triplets slug:sens:valeur séparés par des virgules. Le sens est max ou min. Un même slug peut apparaître deux fois, une fois par sens, ce qui exprime un intervalle ; répété sur le même sens, le seuil le plus serré l’emporte. Un triplet mal formé est ignoré et les autres continuent de s’appliquer : une adresse tapée à la main ne doit pas échouer en entier pour un caractère.

?nut=<slug>:max:<valeur>,<slug>:min:<valeur>&nutbase=100g

nutbase vaut portion (la valeur par défaut, jamais écrite) ou 100g. Il change la base de lecture de toutes les contraintes à la fois, sauf celles qui n’ont pas de base.

Les dix critères chiffrés, dans l’ordre canonique
SlugFigureUnitéBaseOrigine
kcal🔥 Calorieskcalportion ou 100 gsommée sur la recette
proteines💪 Protéinesgportion ou 100 gsommée sur la recette
glucides🍞 Glucidesgportion ou 100 gsommée sur la recette
sucres🍬 Sucresgportion ou 100 gsommée sur la recette
lipides🫒 Lipidesgportion ou 100 gsommée sur la recette
ags🧈 Acides gras saturésgportion ou 100 gsommée sur la recette
ags_energie📊 Part de l’énergie en acides gras saturés%sans objetcalculée à la lecture
fibres🥦 Fibresgportion ou 100 gsommée sur la recette
sel🧂 Selgportion ou 100 gsommée sur la recette
sodium🔬 Sodiummgportion ou 100 gcalculée à la lecture

Les deux figures « calculées à la lecture » sont des conversions de figures voisines : le sodium est le sel converti à la règle d’étiquetage européenne, la part de l’énergie en acides gras saturés est un rapport. Elles sont refusées exactement quand la figure dont elles viennent est refusée, et une part n’a pas de base puisqu’un rapport est le même par portion et pour 100 g.

Le onzième critère de la même grammaire n’est pas un nutriment : la charge glycémique, slug gl, qui accepte en plus un sens band parmi basse, moderee, elevee, inconnue. Les bandes s’unissent au lieu de s’intersecter, parce que « basse ou élevée » n’est pas un intervalle. Une charge est par portion par définition, donc nutbase ne la concerne pas.

Les minéraux et les vitamines

Vingt-trois constituants supplémentaires s’écrivent dans la même grammaire, avec les mêmes sens max et min et la même base nutbase. Ils viennent de Anses. 2025. Table de composition nutritionnelle des aliments Ciqual (Licence Ouverte / Etalab). L’Anses ne participe pas à ce site et n’en cautionne pas le contenu.

?nut=potassium:min:<valeur>&nutbase=portion

Ils se comportent autrement que les dix ci-dessus sur un point, et c’est le point à connaître avant d’envoyer un lien. Les dix sont sommés pour toute recette dont la couverture nutritionnelle atteint 90 %, donc une contrainte sur l’un d’eux ne peut que retenir ou écarter. Un minéral est publié constituant par constituant, seulement pour les aliments dont la table le porte, si bien qu’une contrainte sur l’un d’eux a une troisième réponse : le catalogue ne sait pas. Le même seuil de 90 % s’applique alors aux grammes du plat couverts par une figure, et la liste annonce combien de recettes elle a refusées pour cette raison au lieu de les faire disparaître sans le dire. Une figure absente est écartée, jamais estimée.

Les 23 minéraux et vitamines, dans l’ordre où ils sont imprimés
SlugFigureUnitéGroupe
calciumCalciummgMinéraux
cuivreCuivremgMinéraux
ferFermgMinéraux
iodeIodeµgMinéraux
magnesiumMagnésiummgMinéraux
manganeseManganèsemgMinéraux
phosphorePhosphoremgMinéraux
potassiumPotassiummgMinéraux
seleniumSéléniumµgMinéraux
zincZincmgMinéraux
vitamine-aVitamine A (équivalents rétinol)µgVitamines
beta-caroteneBêta-carotèneµgVitamines
vitamine-dVitamine DµgVitamines
vitamine-eVitamine EmgVitamines
vitamine-k1Vitamine K1µgVitamines
vitamine-cVitamine CmgVitamines
vitamine-b1Vitamine B1 (thiamine)mgVitamines
vitamine-b2Vitamine B2 (riboflavine)mgVitamines
vitamine-b3Vitamine B3 (niacine)mgVitamines
vitamine-b5Vitamine B5 (acide pantothénique)mgVitamines
vitamine-b6Vitamine B6mgVitamines
vitamine-b9Vitamine B9 (folates)µgVitamines
vitamine-b12Vitamine B12µgVitamines

Ce que « sans » dit et ce qu’il ne dit pas

?sans= porte des allergènes en toutes lettres, séparés par des virgules, parmi les quatorze de la réglementation européenne : gluten, lait, œufs, soja, fruits à coque, poissons, sulfites, céleri, mollusques, moutarde, sésame, crustacés, arachides, lupin. Les variantes d’orthographe arachide et oeufs sont acceptées à la lecture et jamais réécrites dans l’adresse.

Une exclusion s’ajoute et ne se retire jamais. Elle s’unit à ce que la personne a déclaré sur son propre appareil : un lien ne peut pas faire réapparaître un allergène qu’elle avait masqué. La direction inverse serait le seul bogue de ce site capable d’envoyer quelqu’un à l’hôpital.

L’exclusion vaut pour la visite et n’écrit rien : elle ne touche pas les préférences de la personne, ne crée pas de compte, ne laisse rien derrière elle quand l’onglet est fermé. Ce que la personne veut garder, elle le déclare elle-même dans ses préférences.

Ce que l’exclusion ne dit pas, et c’est la partie qui compte : elle lit les allergènes déclarés par les lignes d’ingrédients de la recette, telles que le référentiel les décrit. Ce n’est pas une certification, cela ne couvre ni les traces, ni la contamination croisée, ni la marque précise achetée en magasin, ni ce qui est ajouté à table. Une recette qui n’est pas exclue n’est pas une recette déclarée sûre : c’est une recette dont aucune ligne ne déclare l’allergène.

Deux personnes, une adresse, deux listes

Le compte affiché par le composeur est celui du catalogue, avant toute déclaration personnelle. La personne qui ouvre le lien voit ce compte diminué de ce qu’elle a déclaré de son côté : deux lecteurs avec des allergènes différents obtiennent deux listes différentes derrière la même adresse, et c’est voulu. L’union se fait dans le sens protecteur, jamais dans l’autre.

Conséquence pratique : le nombre de recettes que vous voyez en composant est un maximum, pas une promesse. Si le compte exact importe, ouvrez l’adresse dans une fenêtre de navigation privée, qui ne porte aucune déclaration : c’est ce que voit quelqu’un qui n’a rien déclaré.

Les tags de recette et les exclusions d’ingrédient ne comptent pas non plus la même chose, et la page sur le gluten détaille le cas où l’écart est le plus visible : le tag pardonne une ligne facultative, l’exclusion non.

Garder une composition

Une composition peut être enregistrée sous un nom, depuis la liste elle-même, jusqu’à 10 à la fois. Ce qui est gardé est la chaîne de critères, pas la liste de recettes : un filtre enregistré en septembre retient en octobre les recettes ajoutées entre-temps.

Les filtres enregistrés sont les vôtres. Ils vivent sur votre appareil, suivent votre compte si vous êtes connecté, et ne partent avec personne : ce qui se partage est l’adresse. Enregistrer sert à recomposer vite la même sélection à la consultation suivante, pas à distribuer une bibliothèque.

Ce que la personne fait du lien

À l’ouverture de l’adresse, un bandeau propose d’enregistrer ces critères comme filtre, en un geste. Rien du lien n’entre dans les préférences de la personne : les exclusions écrites dans ?sans= restent votre énoncé, à l’intérieur du filtre, et ses propres allergènes restent les siens. La liste applique les deux, toujours dans le sens protecteur.

Un filtre enregistré se retrouve ensuite dans le planificateur : « ajouter une recette » peut être restreint à l’un d’eux, ce qui permet de composer une semaine à l’intérieur de votre sélection sans quitter la page. Les mêmes critères, le même calcul, la même liste.

Le planificateur accepte aussi un objectif quotidien par chiffre, saisi par la personne dans le menu ⚙ des colonnes affichées. Le total du jour est alors suivi du nombre saisi (« 1 800 kcal (objectif 2 000) »). Le site ne propose aucune valeur, ne colore rien et ne commente pas l’écart : c’est une soustraction que la personne demande, pas un avis. Un objectif n’entre jamais dans une adresse, et ne peut donc pas se transmettre par un lien.

Un lien n’active jamais « Régime hyposodé » ni « Sucres réduits ». Ces deux modes ne filtrent pas une liste : ils réécrivent la page d’une recette (sel ou sucre ajouté réduits d’un tiers, substitutions annoncées et réversibles ligne par ligne). Ils changent ce que la personne cuisine, alors ils se déclenchent depuis ses préférences et nulle part ailleurs. Si votre conseil les suppose, dites-le en toutes lettres à côté du lien : la page des préférences porte deux interrupteurs, et ils restent éteints tant que personne ne les allume.

Ce que le site refuse

Aucun seuil par défaut, aucun préréglage nommé d’après une situation. Il n’y a pas de bouton « régime pauvre en sel » qui poserait une valeur : les seuils viennent de la personne qui compose l’adresse. Le site publie les figures et la distribution du catalogue, et s’arrête là.

Aucun verdict sur une recette. Rien ici ne qualifie une recette d’adaptée, de recommandée ou de déconseillée pour qui que ce soit. Un filtre retient ou ne retient pas, ce qui est une opération sur des chiffres et non un avis.

Une figure est refusée, jamais approchée. Une recette dont moins de 90 % des grammes portent une fiche nutritionnelle n’est pas filtrée sur une valeur inventée : elle sort du compte. Et les comparaisons portent sur la valeur publiée, celle que la fiche affiche, pas sur une décimale que rien à l’écran ne montre. C’est ce qui fait que le compte annoncé par le composeur et le nombre de lignes de la liste sont égaux par construction.

Les valeurs sont des estimations calculées à partir des ingrédients et de tables de composition publiées, pas des mesures de laboratoire sur le plat fini. Elles varient avec la marque, la découpe, la cuisson et ce qui est ajouté à table.

Continuer