Recettes et ingrédients
Deux voies : l’administration pour une instance donnée, ou demo/recipes.json pour enrichir les données de démonstration livrées avec le dépôt.
Ajouter un ingrédient
Section intitulée « Ajouter un ingrédient »Un ingrédient n’est utile que s’il est relié aux données ouvertes :
| Champ | Exemple | Sert à |
|---|---|---|
off_category |
en:tomatoes |
Prix Open Prices. Choisissez la catégorie la plus précise sur la taxonomie Open Food Facts. |
price_unit |
kg, l ou unit |
Unité dans laquelle les prix sont comparés |
unit_weight_g |
120 |
Poids moyen d’une pièce : conversion entre pièces et kilos |
impactco2_slug |
tomate |
Facteur carbone ADEME |
ciqual_code et valeurs pour 100 g |
20276 |
Valeurs nutritionnelles, relevées sur ciqual.anses.fr |
aisle |
produce |
Regroupement par rayon dans les listes de courses |
is_staple |
sel, poivre, huile | Ignoré dans les courses et les suggestions |
Puis lancez uv run python manage.py sync_prices <slug> pour importer ses prix et recalculer les recettes.
Ajouter une recette de démonstration
Section intitulée « Ajouter une recette de démonstration »Les données de démonstration sont dans demo/ :
| Fichier | Contenu |
|---|---|
recipes.json |
diets, ingredients et recipes |
ciqual.json |
Aliments Ciqual utilisés, indexés par code |
images/*.webp, images/*.svg |
Photos et illustrations |
images/credits.json |
Auteur, licence et source de chaque photo |
Format d’une recette
Section intitulée « Format d’une recette »{ "title": "Choucroute de poisson", "summary": "Une choucroute légère au saumon, prête en moins d'une heure.", "course": "main", "difficulty": 3, "servings": 2, "prep": 15, "cook": 40, "origin": "Normandie, France", "cuisine": "france", "diets": ["Pescétarien", "Sans gluten"], "featured": true, "image": "choucroute-de-poisson.webp", "ingredients": [["Choucroute crue", 400, "g"], ["Pavé de saumon", 2, "piece"]], "steps": ["Rincez la choucroute à l'eau froide et égouttez-la."]}course:starter,main,salad,soup,dessert,breakfast,snack,sauceoudrink.difficulty: 1 (très facile) à 4 (expert).ingredients:[nom, quantité, unité]ou[nom, quantité, unité, précision]. Le nom doit exister dans la listeingredientsdu fichier ; unités possibles :g,kg,ml,cl,l,piece,tbsp,tsp,pinch.diets: noms présents dans la listediets.
Format d’un ingrédient
Section intitulée « Format d’un ingrédient »{"name": "Pavé de saumon", "aisle": "fish", "price_unit": "kg", "unit_weight_g": 125, "off": "en:salmon-fillets", "co2": "saumon", "ciqual": "26036"}cuisine prend l’une des valeurs de Recipe.Cuisine : france, europe, maghreb, africa, asia, india, americas. Les ingrédients vendus à la pièce (price_unit à unit) doivent être dosés en pièces dans les recettes.
off, co2, ciqual, unit_weight_g et staple sont facultatifs. Ajoutez l’aliment correspondant dans demo/ciqual.json (kcal, proteins, fat, carbs pour 100 g).
Photo et crédits
Section intitulée « Photo et crédits »-
Trouvez une photo sous licence libre (CC0, CC BY ou CC BY-SA), par exemple sur Wikimedia Commons.
-
Recadrez-la et convertissez-la en WebP de 1000 px de large au maximum, nommée comme le slug de la recette (
choucroute-de-poisson.webp). -
Ajoutez son crédit dans
demo/images/credits.json:"choucroute-de-poisson.webp": {"author": "Nom de l'auteur","license": "CC BY-SA 4.0","license_url": "https://creativecommons.org/licenses/by-sa/4.0","source": "https://commons.wikimedia.org/wiki/File:..."}
Sans photo libre satisfaisante, une illustration SVG originale convient (exemple : dahl-de-lentilles-corail.svg) ; sans entrée dans credits.json, elle est créditée « Illustration Comégusto ». Les crédits s’affichent sous la photo et sur la page /credits/.
Charger et vérifier
Section intitulée « Charger et vérifier »uv run python manage.py seed_demo # idempotentuv run python manage.py seed_demo --refresh-images # remplace aussi les images existantesuv run python manage.py sync_prices # prix des nouveaux ingrédientsVérifiez la fiche : quantités et unités (pluriels), coût, CO2, valeurs nutritionnelles (une couverture inférieure à 100 % signale un ingrédient sans données Ciqual ou sans conversion en grammes) et crédit de la photo.
Dans l’administration
Section intitulée « Dans l’administration »Les recettes se créent aussi dans l’administration, avec leurs ingrédients et étapes en ligne. À l’enregistrement, le coût, le CO2, les valeurs nutritionnelles et l’index de recherche sont recalculés.

