Goal
   Objectif est d'extraire et structurer les informations d'une recette de cuisine sous forme d'un objet JSON sans jamais modifier le texte d'origine.

    1. Identification et extraction des informations demandées.
    2. Calcul des temps de préparation et de cuisson si non précisés.
    3. Structuration des données dans un objet JSON conforme au format attendu.
    4. Respect strict de la langue d'origine et du texte des instructions.
    5. Aucune information ajoutée ou modifiée en dehors de l’organisation des données.
    

    Return Format
    Renvoies un objet JSON strictement respecté avec cette structure :
    json
    {
    "NbPersons": <nbPersons>,
    "Language": <language>,  
    "Category": <category>,  
    "Title": <title>,  
    "Subtitle": <subtitle>,  
    "Preparation_Time": <preparation_time>,  
    "Cooking_Time":  <cooking_time>,  
    "Difficulty": <difficulty>,  
    "Ingredients": [
        {
            "section": <section>,  
            "ingredients": [<ingredients>]  
        }
    ],  
    "Description": <description>,  
    "Instructions": [<instructions>],  
    "AuthorName": <author>,  
    "Notes_Ingredients": <notes_ingredients>,  
    "Notes_Instructions": <notes_instructions>  
    }
    - nbPersons doit être le nombre de personne pour laquelle la recette est défini.
    - language doit être le code ISO 639 de la langue de la recette
    - category doit être "drinks" si c'est du liquide parmis cette liste (thé, café, jus de fruit, cocktail, mocktail). Sinon choisis la meilleure option parmis (bread, appetizer, starter, main, dessert, breakfast, snack, teatime, jam, sauce, icecream)
    - title doit être le nom de la recette
    - subtitle doit être un complément du nom de la recette.
    - preparation_time doit être le temps de préparation total (en minutes) si pas d'information essaie de calculer en fonction des informations fournies
    - cooking_time doit être le Temps de cuisson total  (en minutes) si pas d'information essaie de calculer en fonction des informations fournies
    - difficulty doit être une difficulté parmis (easy, medium, hard)
    - ingredients doit être une liste des ingrédients avec les quantités par section. Exemple: {section: "Pour la sauce", ingredients: ["1 kg de beurre"]}. Si absence d'information pour la section, tu mettras "Pour la recette".
    - instruction doit être les instructions qui sont présent dans les explications. Précises bien en détails ce qui est écris pour les instructions. Fais attention à respecter l'ordre des instructions. C'est une liste de string.
    - description doit être une présentation qui donne envie de faire la recette.
    - notes_ingredients doit être les détails importants qui sont précisé concernant les ingrédients (ingrédient facultatif, remplacement d'un ingrédient par un autre ingrédient...)
    - notes_instructions doit être les détails important qui sont précisé concernant les étapes pour faire la recette (actuces, conseils...)

    Warnings
    - Ne modifie aucun texte d'origine (titre, description, ingrédients, instructions).
    - Ne traduis pas la langue de la recette, elle doit être identifiée et conservée.
    - Les instructions doivent être strictement identiques à l'original, sans reformulation.
    - Si une information est absente, laisse le champ vide, sans ajout d’invention.
    - Les quantités d’ingrédients doivent rester sous forme de liste de chaînes de caractères.
    - Respecte le format JSON exact et assure-toi qu’il soit bien formatté.

    Context Dump
    Texte source fourni :

    {
    "explication": "Portobello Shepherd's Pie\nPortobello mushrooms are a nice meaty vegan alternative to traditional lamb or beef in shepherd's pie. Look for\nchopped red onion and precut carrot and celery sticks to speed your prep time. Or baby carrots work like a\ncharm when diced in the Vidalia Chop Wizard.\nSERVES 4 TO 6\nPOTATO TOPPING\nI pound russet or other baking potatoes\nI pound orange sweet potatoes\n3 tablespoons plain vegan yogurt\n2 tablespoons olive oil\n¼ teaspoon salt\n1/4 cup rice milk\nFILLING\n2 tablespoons olive oil\n½ cup diced red onion\nI cup diced carrot\nI cup diced celery\n3 medium or 2 large portobello mushroom caps, cut into ½-inch dice\nSalt and freshly ground pepper\nBig pinch of allspice\nI teaspoon dried thyme\n2 tablespoons superfine brown rice flour\n1½ cups vegetable stock or mushroom broth\n2 tablespoons tomato paste\nI tablespoon Pickapeppa Sauce or other hot sauce\n½ cup frozen peas\nI tablespoon Earth Balance soy-free buttery spread or olive oil\nSweet paprika\n1 To make the topping, prick the potatoes and sweet potatoes a few times with the tines of a fork, put in a\nmicrowave-safe container, cover, and cook in the microwave on high for 10 to 12 minutes, until tender. (If you have\na baked potato setting, use that.) Let rest in the microwave for 5 minutes, then remove one at a time and hold with a\nkitchen towel in one hand-they will be hot! Cut in half and spoon out the potato flesh into a medium-size bowl;\ndiscard the skins.\n2 Add the yogurt, olive oil, salt, and rice milk to the potatoes in the bowl. Using a handheld electric mixer, whip\nuntil smooth. Set aside.\n3 To make the filling, heat the olive oil in a large sauté pan over medium-high heat. Once the oil is hot and starting\nto ripple, add the onion, carrot, celery, and diced mushrooms. Sprinkle with salt and pepper and the allspice and\nthyme. Cook, stirring often, for 5 minutes, until tender. Sprinkle with the brown rice flour, reduce the heat to\nmedium, and cook for 2 minutes, stirring often.\n4 Add the vegetable stock, bring to a boil, and deglaze the bottom of the pan, scraping up any browned bits, for 1\nminute. Add the tomato paste and Pickapeppa and cook, stirring, for 1 minute. Stir in the peas.\n5 Preheat the broiler to high and grease a 7 by 11-inch broiler-safe casserole or baking dish.\n6 Transfer the filling to the prepared casserole and top evenly with the mashed potatoes. Dot the top with the\nbuttery spread and sprinkle with paprika. Broil 6 inches from the heat source for 6 minutes, until the top is browned.\nKeep a close eye on it so it doesn't burn."
}