{"id":9943,"date":"2026-10-23T12:21:07","date_gmt":"2026-10-23T12:21:07","guid":{"rendered":"https:\/\/inasrecipes.com\/?p=9943"},"modified":"2026-10-23T12:21:10","modified_gmt":"2026-10-23T12:21:10","slug":"roules-de-jambon-gratines-cremeux-et-dores","status":"publish","type":"post","link":"https:\/\/inasrecipes.com\/fr\/roules-de-jambon-gratines-cremeux-et-dores\/","title":{"rendered":"Roul\u00e9s de jambon gratin\u00e9s, cr\u00e9meux et dor\u00e9s"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Un plat familial absolument irr\u00e9sistible, ultra-g\u00e9n\u00e9reux et r\u00e9confortant \u00e0 souhait ! De tendres tranches de jambon blanc garnies de fromage filant, de salami savoureux et de fromage r\u00e2p\u00e9, envelopp\u00e9es et napp\u00e9es d&#8217;une onctueuse sauce b\u00e9chamel maison parfum\u00e9e \u00e0 la muscade et au parmesan, le tout magnifiquement gratin\u00e9 au four. Un pur d\u00e9lice !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/inasrecipes.com\/gratin-de-pommes-de-terre-au-jambon-et-a-la-mozzar\/\">Gratin de pommes de terre au jambon et \u00e0 la mozzarella<\/a><\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Table of Contents<\/h2><nav><ul><li><a href=\"#le-jambon-les-garnitures\">Le Jambon &amp; Les Garnitures<\/a><\/li><li><a href=\"#la-sauce-bechamel-onctueuse\">La Sauce B\u00e9chamel Onctueuse<\/a><\/li><li><a href=\"#les-assaisonnements\">Les Assaisonnements<\/a><\/li><li><a href=\"#materiel-necessaire\">Mat\u00e9riel N\u00e9cessaire<\/a><\/li><li><a href=\"#bechamel-ou-creme-fraiche-que-choisir\">B\u00e9chamel ou cr\u00e8me fra\u00eeche : que choisir ?<\/a><\/li><li><a href=\"#quel-est-le-temps-de-cuisson-ideal\">Quel est le temps de cuisson id\u00e9al ?<\/a><\/li><li><a href=\"#quel-fromage-utiliser-pour-un-gratin-parfait\">Quel fromage utiliser pour un gratin parfait ?<\/a><\/li><li><a href=\"#comment-obtenir-un-dessus-bien-croustillant-et-dore\">Comment obtenir un dessus bien croustillant et dor\u00e9 ?<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd2c La Science Culinaire : Fusion des Lipides, B\u00e9chamel Aromaturgique &amp; R\u00e9action de Maillard<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La r\u00e9ussite de ce gratin g\u00e9n\u00e9reux repose sur des processus physico-chimiques pr\u00e9cis qui transforment les ingr\u00e9dients en une pr\u00e9paration li\u00e9e, aromatique et dor\u00e9e :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Inversion de phase &amp; Filage de la mozzarella \/ scamorza :<\/strong> Les fromages \u00e0 p\u00e2te fil\u00e9e (mozzarella, scamorza, provolone) poss\u00e8dent une structure prot\u00e9ique orient\u00e9e en microfibres de cas\u00e9ine. Lors de la cuisson au four entre 60 \u00b0C et 70 \u00b0C, les lipides emprisonn\u00e9s fondent tandis que le r\u00e9seau de cas\u00e9ine s&#8217;assouplit sans se rompre, offrant cette texture filante caract\u00e9ristique.<\/li>\n\n\n\n<li><strong>Extraction des compos\u00e9s liposolubles de l&#8217;oignon &amp; Empois d&#8217;amidon :<\/strong> La pr\u00e9cuisson douce de l&#8217;oignon dans le beurre permet d&#8217;extraire ses compos\u00e9s organosoufr\u00e9s (alliciine) solubles dans la mati\u00e8re grasse. Lors de l&#8217;ajout de la farine et du lait, l&#8217;amidon de bl\u00e9 g\u00e9latinise sous la chaleur, formant une matrice visqueuse et stable qui pi\u00e8ge les graisses du parmesan et du jambon, emp\u00eachant le d\u00e9phasage de la sauce.<\/li>\n\n\n\n<li><strong>Prot\u00e9olyse &amp; Maillard s\u00e9lectif au gril :<\/strong> Le passage final sous le gril \u00e0 220 \u00b0C soumet les prot\u00e9ines de surface (cas\u00e9ine du fromage r\u00e2p\u00e9) et les sucres r\u00e9duits (lactose) \u00e0 une chaleur radiante directe intense. Cela d\u00e9clenche la r\u00e9action de Maillard et la pyrolyse douce des graisses, formant une cro\u00fbte croustillante ambr\u00e9e riche en pyrazines au go\u00fbt de toast\u00e9.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u23f1\ufe0f Fiche Recette<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Information<\/strong><\/td><td><strong>D\u00e9tail<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>Temps de pr\u00e9paration<\/strong><\/td><td>20 minutes<\/td><\/tr><tr><td><strong>Temps de cuisson<\/strong><\/td><td>25 minutes<\/td><\/tr><tr><td><strong>Temps total<\/strong><\/td><td>45 minutes<\/td><\/tr><tr><td><strong>Difficult\u00e9<\/strong><\/td><td>Facile<\/td><\/tr><tr><td><strong>Portions<\/strong><\/td><td>4 portions<\/td><\/tr><tr><td><strong>Calories<\/strong><\/td><td>650 kcal \/ portion<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"683\" data-pin-url=\"https:\/\/inasrecipes.com\/fr\/roules-de-jambon-gratines-cremeux-et-dores\/?tp_image_id=9948\" data-pin-title=\"Roul\u00e9s de jambon gratin\u00e9s, cr\u00e9meux et dor\u00e9s\" data-pin-description=\"Roul\u00e9s de jambon gratin\u00e9s, cr\u00e9meux et dor\u00e9s\" src=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754025410-1024x683.webp\" alt=\"\" class=\"wp-image-9948\" title=\"\" srcset=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754025410-1024x683.webp 1024w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754025410-300x200.webp 300w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754025410-768x512.webp 768w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754025410-18x12.webp 18w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754025410.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\uded2 Ingr\u00e9dients<\/h2>\n\n\n\n<h3 id=\"le-jambon-les-garnitures\" class=\"wp-block-heading\">Le Jambon &amp; Les Garnitures<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>8 tranches<\/strong> de jambon blanc <em>(fines)<\/em><\/li>\n\n\n\n<li><strong>160 g<\/strong> de fromage \u00e0 p\u00e2te fil\u00e9e en tranches <em>(mozzarella, scamorza ou provolone)<\/em><\/li>\n\n\n\n<li><strong>120 g<\/strong> de salami en tranches<\/li>\n\n\n\n<li><strong>100 g<\/strong> de fromage r\u00e2p\u00e9 \u00e0 gratiner<\/li>\n<\/ul>\n\n\n\n<h3 id=\"la-sauce-bechamel-onctueuse\" class=\"wp-block-heading\">La Sauce B\u00e9chamel Onctueuse<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>30 g<\/strong> de beurre doux<\/li>\n\n\n\n<li><strong>30 g<\/strong> de farine de bl\u00e9<\/li>\n\n\n\n<li><strong>400 ml<\/strong> de lait entier<\/li>\n\n\n\n<li><strong>100 g<\/strong> d&#8217;oignon hach\u00e9<\/li>\n\n\n\n<li><strong>30 g<\/strong> de parmesan r\u00e2p\u00e9<\/li>\n<\/ul>\n\n\n\n<h3 id=\"les-assaisonnements\" class=\"wp-block-heading\">Les Assaisonnements<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>2 g<\/strong> de sel fin<\/li>\n\n\n\n<li><strong>1 g<\/strong> de poivre noir moulu<\/li>\n\n\n\n<li><strong>1 pinc\u00e9e<\/strong> de noix de muscade r\u00e2p\u00e9e<\/li>\n<\/ul>\n\n\n\n<h3 id=\"materiel-necessaire\" class=\"wp-block-heading\">Mat\u00e9riel N\u00e9cessaire<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Plat rectangulaire allant au four, casserole, fouet, cuill\u00e8re en bois, r\u00e2pe, gril du four.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"683\" data-pin-url=\"https:\/\/inasrecipes.com\/fr\/roules-de-jambon-gratines-cremeux-et-dores\/?tp_image_id=9945\" data-pin-title=\"Roul\u00e9s de jambon gratin\u00e9s, cr\u00e9meux et dor\u00e9s\" data-pin-description=\"Roul\u00e9s de jambon gratin\u00e9s, cr\u00e9meux et dor\u00e9s\" src=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754177954-1024x683.webp\" alt=\"\" class=\"wp-image-9945\" title=\"\" srcset=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754177954-1024x683.webp 1024w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754177954-300x200.webp 300w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754177954-768x512.webp 768w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754177954-18x12.webp 18w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754177954.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udf73 \u00c9tapes de Pr\u00e9paration<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1.Pr\u00e9paration de la b\u00e9chamel au parmesan:<\/strong>Saisissage des oignons &amp; Roux.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Pr\u00e9chauffez votre four \u00e0 <strong>200 \u00b0C<\/strong> en chaleur statique et beurrez l\u00e9g\u00e8rement un plat rectangulaire allant au four.<\/li>\n\n\n\n<li>Dans une casserole, faites fondre les <strong>30 g de beurre doux<\/strong> et faites revenir les <strong>100 g d&#8217;oignon hach\u00e9<\/strong> \u00e0 feu doux jusqu&#8217;\u00e0 ce qu&#8217;ils soient tendres et translucides.<\/li>\n\n\n\n<li>Ajoutez les <strong>30 g de farine de bl\u00e9<\/strong> et m\u00e9langez \u00e0 la cuill\u00e8re en bois pendant 1 minute pour cuire le roux blond.<\/li>\n\n\n\n<li>Versez progressivement les <strong>400 ml de lait<\/strong> tout en fouettant continuellement jusqu&#8217;\u00e0 ce que la sauce \u00e9paississe et nappe le dos d&#8217;une cuill\u00e8re.<\/li>\n\n\n\n<li>Incorporez les <strong>30 g de parmesan r\u00e2p\u00e9<\/strong>, les <strong>2 g de sel fin<\/strong>, le <strong>1 g de poivre noir<\/strong> et la pinc\u00e9e de noix de muscade. M\u00e9langez bien et laissez ti\u00e9dir hors du feu.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2.Le fa\u00e7onnage des roul\u00e9s:<\/strong>Garnissage &amp; Roulage serr\u00e9.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u00c9talez les <strong>8 tranches de jambon blanc<\/strong> sur votre plan de travail.<\/li>\n\n\n\n<li>D\u00e9posez sur chaque tranche de jambon une tranche de fromage \u00e0 p\u00e2te fil\u00e9e (mozzarella, scamorza ou provolone), du salami en tranches et une petite poign\u00e9e de fromage r\u00e2p\u00e9 (en laissant une bordure libre sur les c\u00f4t\u00e9s).<\/li>\n\n\n\n<li>Roulez fermement chaque tranche de jambon autour de sa garniture.<\/li>\n\n\n\n<li>Disposition : \u00c9talez la moiti\u00e9 de la sauce b\u00e9chamel au fond du plat rectangulaire, puis disposez les 8 roul\u00e9s c\u00f4te \u00e0 c\u00f4te, la jointure du jambon tourn\u00e9e vers le bas.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3.Nappage &amp; Gratinage au four:<\/strong>200\u00b0C puis Gril \u00e0 220\u00b0C.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Nappez g\u00e9n\u00e9reusement les roul\u00e9s de jambon avec le reste de la sauce b\u00e9chamel.<\/li>\n\n\n\n<li>R\u00e9partissez le fromage r\u00e2p\u00e9 restant sur toute la surface.<\/li>\n\n\n\n<li>Enfournez \u00e0 <strong>200 \u00b0C<\/strong> pendant environ <strong>15 minutes<\/strong> jusqu&#8217;\u00e0 ce que le fromage fonde et bouillonne.<\/li>\n\n\n\n<li>Activez la position gril du four \u00e0 <strong>220 \u00b0C<\/strong> pendant quelques minutes en surveillant constamment pour obtenir une cro\u00fbte bien dor\u00e9e.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4.Repos &amp; Service:<\/strong>Stabilisation de la sauce.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Laissez reposer le plat <strong>5 minutes<\/strong> hors du four pour permettre \u00e0 la b\u00e9chamel de se stabiliser.<\/li>\n\n\n\n<li>Servez chaud directement dans le plat de cuisson !<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udca1 Conseils &amp; Astuces<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Choix du fromage \u00e0 p\u00e2te fil\u00e9e :<\/strong> Privil\u00e9giez une mozzarella &#8220;sp\u00e9cial cuisson&#8221; (en pain) ou de la scamorza fum\u00e9e peu humide pour la garniture int\u00e9rieure afin d&#8217;\u00e9viter qu&#8217;elle ne rende trop d&#8217;eau au four.<\/li>\n\n\n\n<li><strong>Accompagnement id\u00e9al :<\/strong> Servez ces roul\u00e9s riches avec une salade verte croquante (batavia, roquette ou mesclun) relev\u00e9e d&#8217;une vinaigrette acidul\u00e9e, ou avec des l\u00e9gumes verts \u00e0 la vapeur.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"683\" data-pin-url=\"https:\/\/inasrecipes.com\/fr\/roules-de-jambon-gratines-cremeux-et-dores\/?tp_image_id=9947\" data-pin-title=\"Roul\u00e9s de jambon gratin\u00e9s, cr\u00e9meux et dor\u00e9s\" data-pin-description=\"Roul\u00e9s de jambon gratin\u00e9s, cr\u00e9meux et dor\u00e9s\" src=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754120457-1024x683.webp\" alt=\"\" class=\"wp-image-9947\" title=\"\" srcset=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754120457-1024x683.webp 1024w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754120457-300x200.webp 300w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754120457-768x512.webp 768w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754120457-18x12.webp 18w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754120457.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u2753 Foire Aux Questions (FAQ)<\/h2>\n\n\n\n<h3 id=\"bechamel-ou-creme-fraiche-que-choisir\" class=\"wp-block-heading\">B\u00e9chamel ou cr\u00e8me fra\u00eeche : que choisir ?<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>La b\u00e9chamel<\/strong> (li\u00e9e \u00e0 la farine et au beurre) apporte une texture velout\u00e9e, nappante et stable \u00e0 la cuisson, id\u00e9ale pour retenir le fromage et gratiner sans s&#8217;\u00e9vaporer.<\/li>\n\n\n\n<li><strong>La cr\u00e8me fra\u00eeche<\/strong> offre une saveur plus acidul\u00e9e et riche, mais a tendance \u00e0 se liqu\u00e9fier au four sous l&#8217;effet de la chaleur si elle n&#8217;est pas associ\u00e9e \u00e0 un liant ou du fromage r\u00e2p\u00e9. Pour ce type de roul\u00e9s, <strong>la b\u00e9chamel est vivement recommand\u00e9e<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 id=\"quel-est-le-temps-de-cuisson-ideal\" class=\"wp-block-heading\">Quel est le temps de cuisson id\u00e9al ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le temps de cuisson id\u00e9al pour des roul\u00e9s de jambon d\u00e9j\u00e0 garnis est de <strong>20 \u00e0 25 minutes au total<\/strong> :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>15 minutes au four \u00e0 200 \u00b0C<\/strong> pour chauffer \u00e0 c\u0153ur, faire fondre le fromage int\u00e9rieur et lier la b\u00e9chamel.<\/li>\n\n\n\n<li><strong>3 \u00e0 5 minutes sous le gril \u00e0 220 \u00b0C<\/strong> pour faire dorer la surface.<\/li>\n<\/ul>\n\n\n\n<h3 id=\"quel-fromage-utiliser-pour-un-gratin-parfait\" class=\"wp-block-heading\">Quel fromage utiliser pour un gratin parfait ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pour obtenir un gratinage \u00e0 la fois fondant, filant et dor\u00e9 :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Pour la cro\u00fbte dor\u00e9e :<\/strong> L&#8217;emmental r\u00e2p\u00e9, le comt\u00e9 affin\u00e9 ou le gruy\u00e8re AOP.<\/li>\n\n\n\n<li><strong>Pour le c\u00f4t\u00e9 filant et fondant :<\/strong> La mozzarella, la scamorza (nature ou fum\u00e9e) ou le provolone.<\/li>\n\n\n\n<li><strong>Pour la profondeur aromatique :<\/strong> Le parmesan r\u00e2p\u00e9 (AOP) ou le pecorino incorpor\u00e9s dans la sauce.<\/li>\n<\/ul>\n\n\n\n<h3 id=\"comment-obtenir-un-dessus-bien-croustillant-et-dore\" class=\"wp-block-heading\">Comment obtenir un dessus bien croustillant et dor\u00e9 ?<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Saupoudrez du fromage riche en cas\u00e9ine<\/strong> (comt\u00e9, parmesan ou gruy\u00e8re) sur la couche sup\u00e9rieure.<\/li>\n\n\n\n<li><strong>Ajoutez \u00e9ventuellement<\/strong> une fine cuiller\u00e9e de chapelure fine ou des noisettes de beurre par-dessus le <a href=\"https:\/\/www.lacuisinedenat.com\/archives\/2016\/07\/25\/34118493.html\" target=\"_blank\" rel=\"noopener\">fromage<\/a>.<\/li>\n\n\n\n<li><strong>Terminez syst\u00e9matiquement la cuisson par 3 \u00e0 5 minutes sous le gril<\/strong> de votre four \u00e0 haute temp\u00e9rature (220 \u00b0C \u2013 230 \u00b0C) en surveillant attentivement.<\/li>\n<\/ol>\n\n\n<svg aria-hidden=\"true\" style=\"position: absolute;width: 0;height: 0;overflow: hidden\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<defs>\n<symbol viewbox=\"9 9 46 42\" id=\"wpt-star-full\">\n\t<path d=\"m46.3 52-14.4-9.5-14.4 9.4L22 35.3 8.7 24.5l17.1-.9 6.2-16 6 16 17.2 1-13.4 10.7z\" \/>\n<\/symbol>\n<\/defs>\n<\/svg>\n<a class=\"button tasty-recipes-print-button tasty-recipes-no-print tasty-recipes-print-above-card\" href=\"https:\/\/inasrecipes.com\/fr\/roules-de-jambon-gratines-cremeux-et-dores\/print\/9944\/\">Print<\/a><span class=\"tasty-recipes-jump-target\" id=\"tasty-recipes-9944-jump-target\" style=\"display:block;padding-top:2px;margin-top:-2px;\"><\/span><div id=\"tasty-recipes-9944\" data-tr-id=\"9944\" class=\"tasty-recipes tasty-recipes-9944 tasty-recipes-display tasty-recipes-has-image\" style=\"border-color: #EEF1E6 !important;\" data-tasty-recipes-customization=\"primary-color.border-color\">\n\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"display: none;\"><defs><symbol id=\"tasty-recipes-icon-clock\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>clock<\/title> <desc>clock icon<\/desc><path d=\"M22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z\" fill=\"currentColor\" \/><\/symbol><symbol id=\"tasty-recipes-icon-cutlery\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>cutlery<\/title> <desc>cutlery icon<\/desc><path d=\"M11 9H9V2H7v7H5V2H3v7c0 2.12 1.66 3.84 3.75 3.97V22h2.5v-9.03C11.34 12.84 13 11.12 13 9V2h-2v7zm5-3v8h2.5v8H21V2c-2.76 0-5 2.24-5 4z\" fill=\"currentColor\" \/><\/symbol><symbol id=\"tasty-recipes-icon-flag\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>flag<\/title> <desc>flag icon<\/desc><path d=\"M14.4 6L14 4H5v17h2v-7h5.6l.4 2h7V6z\" fill=\"currentColor\"\/><\/symbol><symbol id=\"tasty-recipes-icon-folder\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>folder<\/title> <desc>folder icon<\/desc><path d=\"M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z\" fill=\"currentColor\" \/><\/symbol><symbol id=\"tasty-recipes-icon-instagram\" viewBox=\"0 0 448 512\"><title>instagram<\/title> <desc>instagram icon<\/desc><path fill=\"currentColor\" d=\"M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z\"><\/path><\/symbol><symbol id=\"tasty-recipes-icon-pinterest\" viewBox=\"0 0 384 512\"><title>pinterest<\/title> <desc>pinterest icon<\/desc><path fill=\"currentColor\" d=\"M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z\" \/><\/symbol><symbol id=\"tasty-recipes-icon-facebook\" viewBox=\"0 0 448 512\"><title>facebook<\/title> <desc>facebook icon<\/desc><path fill=\"currentColor\" d=\"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z\" \/><\/symbol><symbol id=\"tasty-recipes-icon-print\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>print<\/title> <desc>print icon<\/desc><path d=\"M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z\" fill=\"currentColor\" \/><\/symbol><symbol id=\"tasty-recipes-icon-squares\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>squares<\/title> <desc>squares icon<\/desc><path d=\"M22 9V7h-2V5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-2h2v-2h-2v-2h2v-2h-2V9h2zm-4 10H4V5h14v14zM6 13h5v4H6zm6-6h4v3h-4zM6 7h5v5H6zm6 4h4v6h-4z\" fill=\"currentColor\" \/><\/symbol><symbol id=\"tasty-recipes-icon-heart-regular\" viewBox=\"0 0 512 512\"><title>heart<\/title> <desc>heart icon<\/desc><path fill=\"currentColor\" d=\"M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z\"><\/path><\/symbol><symbol id=\"tasty-recipes-icon-heart-solid\" viewBox=\"0 0 512 512\"><title>heart solid<\/title> <desc>heart solid icon<\/desc><path fill=\"currentColor\" d=\"M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z\"><\/path><\/symbol><\/defs><\/svg>\n<header class=\"tasty-recipes-entry-header\" style=\"background: #EEF1E6 !important;\" data-tasty-recipes-customization=\"primary-color.background\">\n\t\t\t<div class=\"tasty-recipes-image\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" style=\"border-color: #EEF1E6 !important;\" data-tasty-recipes-customization=\"primary-color.border-color\" width=\"150\" height=\"150\" src=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792754140259-150x150.webp\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" data-pin-nopin=\"true\" data-pin-description=\"Roul\u00e9s de jambon gratin\u00e9s, cr\u00e9meux et dor\u00e9s\" data-pin-title=\"Roul\u00e9s de jambon gratin\u00e9s, cr\u00e9meux et dor\u00e9s\" data-pin-url=\"https:\/\/inasrecipes.com\/fr\/roules-de-jambon-gratines-cremeux-et-dores\/?tp_image_id=9946\" title=\"\">\t\t<\/div>\n\t\t<h2 class=\"tasty-recipes-title\" style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"h2-color.color h2-transform.text-transform\">Roul\u00e9s de jambon gratin\u00e9s, cr\u00e9meux et dor\u00e9s<\/h2>\n\t<hr style=\"border-color: #F4F1E8 !important; background-color: #F4F1E8 !important;\" data-tasty-recipes-customization=\"secondary-color.border-color secondary-color.background-color\">\n\t\t\t<div class=\"tasty-recipes-rating\">\n\t\t\t\t\t\t\t<p><svg aria-hidden=\"true\" style=\"position: absolute;width: 0;height: 0;overflow: hidden\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<defs>\n<symbol viewbox=\"9 9 46 42\" id=\"wpt-star-full\">\n\t<path d=\"m46.3 52-14.4-9.5-14.4 9.4L22 35.3 8.7 24.5l17.1-.9 6.2-16 6 16 17.2 1-13.4 10.7z\" \/>\n<\/symbol>\n<\/defs>\n<\/svg>\n<span class=\"tasty-recipes-ratings-buttons tasty-recipes-no-ratings-buttons\"\tdata-tr-default-rating=\"0\"\t>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"5\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\" width=\"18\" height=\"17\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t5 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"4\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\" width=\"18\" height=\"17\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t4 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"3\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\" width=\"18\" height=\"17\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t3 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"2\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\" width=\"18\" height=\"17\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t2 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"1\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\" width=\"18\" height=\"17\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t1 Star\t\t\t<\/span>\t\t<\/i>\t<\/span><\/span><\/p>\n\t\t\t\t\t\t\t\t\t\t<p><span style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\" class=\"rating-label\">No reviews<\/span><\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"tasty-recipes-details\">\n\t\t\t<ul>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li class=\"author\"><span class=\"tasty-recipes-label\" style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAuthor:<\/span> <span style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-author-name\">Inas Recipes<\/span>\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li class=\"total-time\"><span class=\"tasty-recipes-label\" style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<svg viewBox=\"0 0 24 24\" class=\"detail-icon\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-clock\" style=\"color: #314C3C !important;\" data-tasty-recipes-customization=\"icon-color.color\"><\/use><\/svg>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTotal Time:<\/span> <span style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-total-time\">55 minutes<\/span>\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li class=\"yield\"><span class=\"tasty-recipes-label\" style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<svg viewBox=\"0 0 24 24\" class=\"detail-icon\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-cutlery\" style=\"color: #314C3C !important;\" data-tasty-recipes-customization=\"icon-color.color\"><\/use><\/svg>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tYield:<\/span> <span style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-yield\"><span data-amount=\"8\">8<\/span> roul\u00e9s (4 portions) <span class=\"tasty-recipes-yield-scale\"><span data-amount=\"1\">1<\/span>x<\/span><\/span>\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\n\t\t<\/div>\n\t<\/header>\n\n<div class=\"tasty-recipes-entry-content\">\n\n\t\t<div class=\"tasty-recipes-buttons\">\n\t\t\t\t<div class=\"tasty-recipes-button-wrap\">\n\t\t\t\n<a class=\"button tasty-recipes-print-button tasty-recipes-no-print\" href=\"https:\/\/inasrecipes.com\/fr\/roules-de-jambon-gratines-cremeux-et-dores\/print\/9944\/\" target=\"_blank\" data-tasty-recipes-customization=\"\">\n\t\t\t<svg viewBox=\"0 0 24 24\" class=\"svg-print\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-print\"><\/use><\/svg>\n\t\tPrint Recipe<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t<div class=\"tasty-recipes-button-wrap\">\n\t\t\t\n<a class=\"share-pin button\" data-pin-custom=\"true\" data-href=\"https:\/\/www.pinterest.com\/pin\/create\/bookmarklet\/?url=https%3A%2F%2Finasrecipes.com%2Ffr%2Froules-de-jambon-gratines-cremeux-et-dores%2F\" href=\"https:\/\/www.pinterest.com\/pin\/create\/bookmarklet\/?url=https%3A%2F%2Finasrecipes.com%2Ffr%2Froules-de-jambon-gratines-cremeux-et-dores%2F\" data-tasty-recipes-customization=\"\">\n\t\t\t<svg viewBox=\"0 0 24 24\" class=\"svg-print\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-pinterest\"><\/use><\/svg>\n\t\tPin Recipe<\/a>\n<script>\n\tconst share_pin_buttons = document.getElementsByClassName( 'share-pin button' );\n\tif ( share_pin_buttons ) {\n\t\tfor ( let share_key = 0; share_key < share_pin_buttons.length; share_key++ ) {\n\t\t\tshare_pin_buttons[share_key].addEventListener( 'click', (e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\twindow.open(e.target.dataset.href,'targetWindow','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=500,height=500');\n\t\t\t\treturn false;\n\t\t\t} );\n\t\t}\n\t}\n<\/script>\n\t\t<\/div>\n\t\t\t<\/div>\n\t\n\t\t\t<div class=\"tasty-recipes-description\">\n\t\t\t<h3 style=\"color: #314C3C !important;\" data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Description<\/h3>\n\t\t\t<div class=\"tasty-recipes-description-body\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t\t<p>Ces Roul\u00e9s de Jambon Gratin\u00e9s \u00e0 la B\u00e9chamel et au Fromage sont g\u00e9n\u00e9reux, fondants et irr\u00e9sistiblement gourmands. Pr\u00e9par\u00e9s avec de fines tranches de jambon blanc garnies de salami, de mozzarella filante et de fromage r\u00e2p\u00e9, ils sont d\u00e9licatement envelopp\u00e9s dans une b\u00e9chamel maison onctueuse aux oignons et au parmesan. Apr\u00e8s un passage au four, les roul\u00e9s d\u00e9voilent un c\u0153ur d\u00e9licieusement fondant sous une belle cro\u00fbte dor\u00e9e et gratin\u00e9e. Une recette familiale simple et r\u00e9confortante, parfaite pour un d\u00e9jeuner convivial ou un d\u00eener gourmand, accompagn\u00e9e d&#8217;une salade verte croquante ou de l\u00e9gumes vapeur !<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\n\t\t\t<hr style=\"border-color: #F4F1E8 !important; background-color: #F4F1E8 !important;\" data-tasty-recipes-customization=\"secondary-color.border-color secondary-color.background-color\">\n\t\n\t\t\t<div class=\"tasty-recipes-ingredients\">\n\t\t\t<div class=\"tasty-recipes-ingredients-header\">\n\t\t\t\t<div class=\"tasty-recipes-ingredients-clipboard-container\">\n\t\t\t\t\t<h3 style=\"color: #314C3C !important;\" data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Ingredients<\/h3>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"tasty-recipes-units-scale-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"tasty-recipes-scale-container\">\n\t\t\t\t\t\t\t<span class=\"tasty-recipes-scale-label\">Scale<\/span>\n\t\t\t\t\t\t\t<button class=\"tasty-recipes-scale-button tasty-recipes-scale-button-active\" data-amount=\"1\" type=\"button\">1x<\/button><button class=\"tasty-recipes-scale-button\" data-amount=\"2\" type=\"button\">2x<\/button><button class=\"tasty-recipes-scale-button\" data-amount=\"3\" type=\"button\">3x<\/button>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t\t<ul>\n<li><strong>Pour le Jambon et les Garnitures :<\/strong><\/li>\n<li><span data-amount=\"8\">8<\/span> tranches fines de jambon blanc<\/li>\n<li><span data-amount=\"160\" data-unit=\"g\">160 g<\/span> de fromage \u00e0 p\u00e2te fil\u00e9e en tranches (mozzarella, scamorza ou provolone)<\/li>\n<li><span data-amount=\"120\" data-unit=\"g\">120 g<\/span> de salami en tranches<\/li>\n<li><span data-amount=\"100\" data-unit=\"g\">100 g<\/span> de fromage r\u00e2p\u00e9 \u00e0 gratiner<\/li>\n<li><strong>Pour la Sauce B\u00e9chamel Onctueuse :<\/strong><\/li>\n<li><span data-amount=\"30\" data-unit=\"g\">30 g<\/span> de beurre doux<\/li>\n<li><span data-amount=\"30\" data-unit=\"g\">30 g<\/span> de farine de bl\u00e9<\/li>\n<li><span data-amount=\"400\">400<\/span> ml de lait entier<\/li>\n<li><span data-amount=\"100\" data-unit=\"g\">100 g<\/span> d&#8217;oignon hach\u00e9<\/li>\n<li><span data-amount=\"30\" data-unit=\"g\">30 g<\/span> de parmesan r\u00e2p\u00e9<\/li>\n<li><strong>Pour les Assaisonnements :<\/strong><\/li>\n<li><span data-amount=\"2\" data-unit=\"g\">2 g<\/span> de sel fin<\/li>\n<li><span data-amount=\"1\" data-unit=\"g\">1 g<\/span> de poivre noir moulu<\/li>\n<li><span data-amount=\"1\">1<\/span> pinc\u00e9e de noix de muscade r\u00e2p\u00e9e<\/li>\n<\/ul>\n<!--INSIDE_INGREDIENTS-->\t\t\t<\/div>\n\t\t\t<div class=\"tasty-recipes-cook-mode\">\n\t<div class=\"tasty-recipes-cook-mode__container\">\n\t\t<label class=\"tasty-recipes-cook-mode__switch\">\n\t\t\t<input type=\"checkbox\" id=\"tasty_recipes_6adfd26ebb52a_cookmode\">\n\t\t\t<span class=\"tasty-recipes-cook-mode__switch-slider tasty-recipes-cook-mode__switch-round\"\n\t\t\t\tdata-tasty-recipes-customization=\"button-color.background button-text-color.color\"><\/span>\n\t\t<\/label>\n\t\t<label for=\"tasty_recipes_6adfd26ebb52a_cookmode\">\n\t\t\t<span class=\"tasty-recipes-cook-mode__label\">Cook Mode<\/span>\n\t\t\t<span class=\"tasty-recipes-cook-mode__helper\">\n\t\t\t\tPrevent your screen from going dark\t\t\t<\/span>\n\t\t<\/label>\n\t<\/div>\n<\/div>\n\t\t<\/div>\n\t\n\t\t\t<hr style=\"border-color: #F4F1E8 !important; background-color: #F4F1E8 !important;\" data-tasty-recipes-customization=\"secondary-color.border-color secondary-color.background-color\">\n\t\n\t\t<div class=\"tasty-recipes-instructions\">\n\t\t<div class=\"tasty-recipes-instructions-header\">\n\t\t\t<h3 style=\"color: #314C3C !important;\" data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Instructions<\/h3>\n\t\t\t\t\t<\/div>\n\t\t<div style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<ol>\n<li id=\"instruction-step-1\"><strong>Pr\u00e9parer la B\u00e9chamel au Parmesan :<\/strong> Pr\u00e9chauffez votre four \u00e0 200 \u00b0C en chaleur statique et beurrez l\u00e9g\u00e8rement un plat rectangulaire allant au four. Dans une casserole, faites fondre les 30 g de beurre doux, puis ajoutez les 100 g d&#8217;oignon hach\u00e9. Faites revenir \u00e0 feu doux jusqu&#8217;\u00e0 ce que l&#8217;oignon devienne tendre et translucide. Incorporez les 30 g de farine de bl\u00e9 et m\u00e9langez \u00e0 l&#8217;aide d&#8217;une cuill\u00e8re en bois pendant 1 minute pour obtenir un roux blond. Versez progressivement les 400 ml de lait entier tout en fouettant continuellement pour \u00e9viter les grumeaux. Poursuivez la cuisson jusqu&#8217;\u00e0 ce que la b\u00e9chamel \u00e9paississe et nappe le dos d&#8217;une cuill\u00e8re. Ajoutez les 30 g de parmesan r\u00e2p\u00e9, les 2 g de sel fin, le 1 g de poivre noir moulu et une pinc\u00e9e de noix de muscade r\u00e2p\u00e9e. M\u00e9langez soigneusement, puis retirez du feu et laissez ti\u00e9dir.<\/li>\n<li id=\"instruction-step-2\"><strong>Fa\u00e7onner les Roul\u00e9s de Jambon :<\/strong> \u00c9talez les 8 tranches fines de jambon blanc sur votre plan de travail. D\u00e9posez sur chaque tranche une portion des 160 g de fromage \u00e0 p\u00e2te fil\u00e9e en tranches, r\u00e9partissez les 120 g de salami et ajoutez une petite quantit\u00e9 des 100 g de fromage r\u00e2p\u00e9 \u00e0 gratiner, en conservant une partie pour la finition. Laissez une bordure libre sur les c\u00f4t\u00e9s afin de faciliter le roulage. Roulez fermement chaque tranche de jambon autour de sa garniture pour former 8 roul\u00e9s bien serr\u00e9s. \u00c9talez la moiti\u00e9 de la b\u00e9chamel au parmesan dans le fond du plat rectangulaire, puis disposez les roul\u00e9s c\u00f4te \u00e0 c\u00f4te, la jointure du jambon orient\u00e9e vers le bas pour \u00e9viter qu&#8217;ils ne se d\u00e9roulent pendant la cuisson.<\/li>\n<li id=\"instruction-step-3\"><strong>Napper et Faire Gratiner au Four :<\/strong> Recouvrez g\u00e9n\u00e9reusement les roul\u00e9s de jambon avec le reste de la sauce b\u00e9chamel onctueuse. R\u00e9partissez uniform\u00e9ment le fromage r\u00e2p\u00e9 restant sur toute la surface. Enfournez dans le four pr\u00e9chauff\u00e9 \u00e0 200 \u00b0C pendant environ 15 minutes, jusqu&#8217;\u00e0 ce que le fromage soit bien fondu et que la sauce commence \u00e0 bouillonner. Activez ensuite la fonction gril du four \u00e0 220 \u00b0C pendant quelques minutes, en surveillant constamment, jusqu&#8217;\u00e0 l&#8217;obtention d&#8217;une belle cro\u00fbte dor\u00e9e et gratin\u00e9e.<\/li>\n<li id=\"instruction-step-4\"><strong>Laisser Reposer et Servir :<\/strong> Sortez le plat du four et laissez reposer les roul\u00e9s de jambon pendant 5 minutes afin de permettre \u00e0 la b\u00e9chamel de se stabiliser et au fromage fondu de conserver une texture bien cr\u00e9meuse. Servez les roul\u00e9s bien chauds, directement dans leur plat de cuisson, pour profiter pleinement de leur garniture g\u00e9n\u00e9reuse et d\u00e9licieusement filante !<\/li>\n<\/ol>\n\t\t<\/div>\n\t<\/div>\n\t\n\t\n\t\t\n\t\n\t\t\t<div class=\"tasty-recipes-notes\" style=\"background-color: #F4F1E8 !important;\" data-tasty-recipes-customization=\"secondary-color.background-color\">\n\t\t\t<h3 style=\"color: #314C3C !important;\" data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Notes<\/h3>\n\t\t\t<div class=\"tasty-recipes-notes-body\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t\t<ul>\n<li><strong>Bien Choisir le Fromage \u00e0 P\u00e2te Fil\u00e9e :<\/strong> Privil\u00e9giez une mozzarella sp\u00e9ciale cuisson, vendue en pain, ou une scamorza fum\u00e9e peu humide pour la garniture int\u00e9rieure. Ces fromages fondent d\u00e9licieusement sans lib\u00e9rer trop d&#8217;eau pendant la cuisson, ce qui permet de conserver une b\u00e9chamel bien onctueuse et des roul\u00e9s qui se tiennent parfaitement.<\/li>\n<li><strong>Accompagnement Id\u00e9al :<\/strong> Servez ces roul\u00e9s de jambon gratin\u00e9s avec une salade verte croquante, comme de la batavia, de la roquette ou du mesclun, assaisonn\u00e9e d&#8217;une vinaigrette l\u00e9g\u00e8rement acidul\u00e9e. Vous pouvez \u00e9galement les accompagner de l\u00e9gumes verts cuits \u00e0 la vapeur pour \u00e9quilibrer la richesse du fromage et de la sauce b\u00e9chamel.<\/li>\n<\/ul>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\n\t\t\t<div class=\"tasty-recipes-other-details\" style=\"background-color: #F4F1E8 !important;\" data-tasty-recipes-customization=\"secondary-color.background-color\">\n\t\t\t<ul>\n\t\t\t\t<li class=\"prep-time\"><span class=\"tasty-recipes-label\" style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\"><svg viewbox=\"0 0 24 24\" class=\"detail-icon\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-clock\"><\/use><\/svg>Prep Time:<\/span> <span style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-prep-time\">20 minutes<\/span><\/li><li class=\"cook-time\"><span class=\"tasty-recipes-label\" style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\"><svg viewbox=\"0 0 24 24\" class=\"detail-icon\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-clock\"><\/use><\/svg>Cook Time:<\/span> <span style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-cook-time\">30 minutes<\/span><\/li><li class=\"category\"><span class=\"tasty-recipes-label\" style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\"><svg viewbox=\"0 0 24 24\" class=\"detail-icon\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-folder\"><\/use><\/svg>Category:<\/span> <span style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-category\">Plat Principal<\/span><\/li><li class=\"method\"><span class=\"tasty-recipes-label\" style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\"><svg viewbox=\"0 0 24 24\" class=\"detail-icon\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-squares\"><\/use><\/svg>Method:<\/span> <span style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-method\">Au Four<\/span><\/li><li class=\"cuisine\"><span class=\"tasty-recipes-label\" style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"detail-label-color.color\"><svg viewbox=\"0 0 24 24\" class=\"detail-icon\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-flag\"><\/use><\/svg>Cuisine:<\/span> <span style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-cuisine\">Fran\u00e7aise<\/span><\/li>\t\t\t<\/ul>\n\t\t<\/div>\n\t\n\t\n\t\n\t\t\t\t<div class=\"tasty-recipes-nutrition\">\n\t\t\t<h3 style=\"color: #314C3C !important;\" data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Nutrition<\/h3>\n\t\t\t<ul>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Serving Size:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-serving-size\">1 portion (2 roul\u00e9s)<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Calories:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-calories\">625<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Sugar:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-sugar\">7g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Sodium:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-sodium\">1850mg<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Fat:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-fat\">44g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Saturated Fat:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-saturated-fat\">22g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Unsaturated Fat:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-unsaturated-fat\">18g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Trans Fat:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-trans-fat\">0g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Carbohydrates:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-carbohydrates\">15g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Fiber:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-fiber\">1g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Protein:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-protein\">43g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Cholesterol:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-cholesterol\">155mg<\/span><\/li>\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t<\/div>\n\t\n\t\n\t<footer class=\"tasty-recipes-entry-footer\" style=\"background: #EEF1E6 !important;\" data-tasty-recipes-customization=\"primary-color.background\">\n\t\t<div class=\"tasty-recipes-footer-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t<svg viewBox=\"0 0 24 24\" class=\"svg-instagram\" aria-hidden=\"true\" style=\"color: #314C3C !important;\" data-tasty-recipes-customization=\"footer-icon-color.color\"><use xlink:href=\"#tasty-recipes-icon-instagram\"><\/use><\/svg>\n\t\t\t\t\t\t\t\t\t\t<div class=\"tasty-recipes-footer-copy\">\n\t\t\t\t<h3 style=\"color: #283C30 !important;\" data-tasty-recipes-customization=\"footer-heading-color.color h3-transform.text-transform footer-heading.innerText\">Did you make this recipe?<\/h3>\n\t\t\t\t<div style=\"color: #374B3E !important;\" data-tasty-recipes-customization=\"footer-description-color.color footer-description.innerHTML\"><p>Share a photo and tag us \u2014 we can&#8217;t wait to see what you&#8217;ve made!<\/p>\n<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/footer>\n<\/div>\n\n\n\n<script>\nwindow.trCommon={\"minRating\":6,\"ajaxurl\":\"https:\\\/\\\/inasrecipes.com\\\/wp-admin\\\/admin-ajax.php\",\"ratingNonce\":\"\",\"postId\":9943};\nwindow.TastyRecipes = window.TastyRecipes || {};\n\nwindow.TastyRecipes.smoothScroll = {\ninit() {\ndocument.addEventListener( 'click', ( e ) => {\nlet anchor = e.target;\nif ( anchor.tagName !== 'A' ) {\nanchor = anchor.closest( 'a.tasty-recipes-scrollto' );\n}\n\nif ( ! anchor || ! anchor.classList.contains( 'tasty-recipes-scrollto' ) ) {\nreturn;\n}\n\nconst elementHref = anchor.getAttribute( 'href' );\nif ( ! elementHref ) {\nreturn;\n}\n\ne.preventDefault();\nthis.goToSelector( elementHref );\n});\n},\ngoToSelector( selector ) {\nconst element = document.querySelector( selector );\nif ( ! element ) {\nreturn;\n}\nelement.scrollIntoView( { behavior: 'smooth' } );\n}\n};\n\ndocument.addEventListener(\n'DOMContentLoaded',\n() => window.TastyRecipes.smoothScroll.init()\n);\n\n(function(){\n\n\nvar bothEquals = function( d1, d2, D ) {\nvar ret = 0;\nif (d1<=D) {\nret++;\n}\nif (d2<=D) {\nret++;\n}\nreturn ret === 2;\n};\n\nvar frac =function frac(x,D,mixed){var n1=Math.floor(x),d1=1;var n2=n1+1,d2=1;if(x!==n1){while(bothEquals(d1,d2,D)){var m=(n1+n2)\/(d1+d2);if(x===m){if(d1+d2<=D){d1+=d2;n1+=n2;d2=D+1}else if(d1>d2){d2=D+1;}else {d1=D+1;}break}else if(x<m){n2=n1+n2;d2=d1+d2}else{n1=n1+n2;d1=d1+d2}}}if(d1>D){d1=d2;n1=n2}if(!mixed){return[0,n1,d1];}var q=Math.floor(n1\/d1);return[q,n1-q*d1,d1]};frac.cont=function cont(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1<D){A=Math.floor(B);P=A*P_1+P_2;Q=A*Q_1+Q_2;if(B-A<5e-8){break;}B=1\/(B-A);P_2=P_1;P_1=P;Q_2=Q_1;Q_1=Q}if(Q>D){if(Q_1>D){Q=Q_2;P=P_2}else{Q=Q_1;P=P_1}}if(!mixed){return[0,sgn*P,Q];}var q=Math.floor(sgn*P\/Q);return[q,sgn*P-q*Q,Q]};\n\n\nwindow.tastyRecipesVulgarFractions = JSON.parse(decodeURIComponent(\"%7B%22%C2%BC%22%3A%221%2F4%22%2C%22%C2%BD%22%3A%221%2F2%22%2C%22%C2%BE%22%3A%223%2F4%22%2C%22%E2%85%93%22%3A%221%2F3%22%2C%22%E2%85%94%22%3A%222%2F3%22%2C%22%E2%85%95%22%3A%221%2F5%22%2C%22%E2%85%96%22%3A%222%2F5%22%2C%22%E2%85%97%22%3A%223%2F5%22%2C%22%E2%85%98%22%3A%224%2F5%22%2C%22%E2%85%99%22%3A%221%2F6%22%2C%22%E2%85%9A%22%3A%225%2F6%22%2C%22%E2%85%9B%22%3A%221%2F8%22%2C%22%E2%85%9C%22%3A%223%2F8%22%2C%22%E2%85%9D%22%3A%225%2F8%22%2C%22%E2%85%9E%22%3A%227%2F8%22%7D\"));\n\nwindow.tastyRecipesFormatAmount = function(amount, el) {\nif ( parseFloat( amount ) === parseInt( amount ) ) {\nreturn amount;\n}\nvar roundType = 'frac';\nif (typeof el.dataset.amountShouldRound !== 'undefined') {\nif ('false' !== el.dataset.amountShouldRound) {\nif ( 'number' === el.dataset.amountShouldRound ) {\nroundType = 'number';\n} else if ('frac' === el.dataset.amountShouldRound) {\nroundType = 'frac';\n} else if ('vulgar' === el.dataset.amountShouldRound) {\nroundType = 'vulgar';\n} else {\nroundType = 'integer';\n}\n}\n}\nif ('number' === roundType) {\namount = Number.parseFloat(amount).toPrecision(2);\n} else if ('integer' === roundType) {\namount = Math.round(amount);\n} else if ('frac' === roundType || 'vulgar' === roundType) {\nvar denom = 8;\nif (typeof el.dataset.unit !== 'undefined') {\nvar unit = el.dataset.unit;\nif (['cups','cup','c'].includes(unit)) {\ndenom = 4;\nif (0.125 === amount) {\ndenom = 8;\n}\nif (\"0.1667\" === Number.parseFloat( amount ).toPrecision(4)) {\ndenom = 6;\n}\n}\nif (['tablespoons','tablespoon','tbsp'].includes(unit)) {\ndenom = 2;\n}\nif (['teaspoons','teaspoon','tsp'].includes(unit)) {\ndenom = 8;\n}\n}\nvar amountArray = frac.cont( amount, denom, true );\nvar newAmount = '';\nif ( amountArray[1] !== 0 ) {\nnewAmount = amountArray[1] + '\/' + amountArray[2];\nif ('vulgar' === roundType) {\nObject.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {\nif (newAmount === window.tastyRecipesVulgarFractions[vulgar]) {\nnewAmount = vulgar;\n}\n});\n}\n}\nif ( newAmount ) {\nnewAmount = ' ' + newAmount;\n}\nif ( amountArray[0] ) {\nnewAmount = amountArray[0] + newAmount;\n}\namount = newAmount;\n}\nreturn amount;\n};\n\n\nwindow.tastyRecipesUpdatePrintLink = () => {\n\nconst printButton = document.querySelector( '.tasty-recipes-print-button' );\n\n\nif ( ! printButton ) {\nreturn;\n}\n\nconst printURL = new URL( printButton.href );\nconst searchParams = new URLSearchParams( printURL.search );\n\nconst unitButton = document.querySelector( '.tasty-recipes-convert-button-active' );\nconst scaleButton = document.querySelector( '.tasty-recipes-scale-button-active' );\n\nlet unit = '';\nlet scale = '';\n\nif ( unitButton ) {\nunit = unitButton.dataset.unitType;\nsearchParams.delete('unit');\nsearchParams.set( 'unit', unit );\n}\n\nif ( scaleButton ) {\nscale = scaleButton.dataset.amount;\nsearchParams.set( 'scale', scale );\n}\n\nconst paramString = searchParams.toString();\nconst newURL = '' === paramString ? printURL.href : printURL.origin + printURL.pathname + '?' + paramString;\nconst printLinks = document.querySelectorAll( '.tasty-recipes-print-link' );\n\nprintLinks.forEach( ( el ) => {\nel.href = newURL;\n});\n\nconst printButtons = document.querySelectorAll( '.tasty-recipes-print-button' );\nprintButtons.forEach( ( el ) => {\nel.href = newURL;\n});\n};\n\n\ndocument.addEventListener( 'DOMContentLoaded', () => {\n\n\nif ( ! window.location.href.includes( '\/print\/' ) ) {\nreturn;\n}\n\nconst searchParams = new URLSearchParams( window.location.search );\n\nconst unit = searchParams.get( 'unit' );\nconst scale = searchParams.get( 'scale' );\n\nif ( unit && ( 'metric' === unit || 'usc' === unit ) ) {\ndocument.querySelector( '.tasty-recipes-convert-button[data-unit-type=\"' + unit + '\"]' ).click();\n}\n\nif ( scale && Number(scale) > 0 ) {\ndocument.querySelector( '.tasty-recipes-scale-button[data-amount=\"' + Number(scale) + '\"]' ).click();\n}\n});\n}());\n\n(function(){\nvar buttonClass = 'tasty-recipes-scale-button',\nbuttonActiveClass = 'tasty-recipes-scale-button-active',\nbuttons = document.querySelectorAll('.tasty-recipes-scale-button');\nif ( ! buttons ) {\nreturn;\n}\n\nbuttons.forEach(function(button){\nbutton.addEventListener('click', function(event){\nevent.preventDefault();\nvar recipe = event.target.closest('.tasty-recipes');\nif ( ! recipe ) {\nreturn;\n}\nvar otherButtons = recipe.querySelectorAll('.' + buttonClass);\notherButtons.forEach(function(bt){\nbt.classList.remove(buttonActiveClass);\n});\nbutton.classList.add(buttonActiveClass);\n\n\nvar scalables = recipe.querySelectorAll('span[data-amount]');\nvar buttonAmount = parseFloat( button.dataset.amount );\nscalables.forEach(function(scalable){\nif (typeof scalable.dataset.amountOriginalType === 'undefined'\n&& typeof scalable.dataset.nfOriginal === 'undefined') {\nif (-1 !== scalable.innerText.indexOf('\/')) {\nscalable.dataset.amountOriginalType = 'frac';\n}\nif (-1 !== scalable.innerText.indexOf('.')) {\nscalable.dataset.amountOriginalType = 'number';\n}\nObject.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {\nif (-1 !== scalable.innerText.indexOf(vulgar)) {\nscalable.dataset.amountOriginalType = 'vulgar';\n}\n});\nif (typeof scalable.dataset.amountOriginalType !== 'undefined') {\nscalable.dataset.amountShouldRound = scalable.dataset.amountOriginalType;\n}\n}\nvar amount = parseFloat( scalable.dataset.amount ) * buttonAmount;\namount = window.tastyRecipesFormatAmount(amount, scalable);\nif ( typeof scalable.dataset.unit !== 'undefined' ) {\nif ( ! scalable.classList.contains('nutrifox-quantity') ) {\nif ( ! scalable.classList.contains('nutrifox-second-quantity') ) {\namount += ' ' + scalable.dataset.unit;\n}\n}\n}\nscalable.innerText = amount;\n});\n\nvar nonNumerics = recipe.querySelectorAll('[data-has-non-numeric-amount]');\nnonNumerics.forEach(function(nonNumeric){\nvar indicator = nonNumeric.querySelector('span[data-non-numeric-label]');\nif ( indicator ) {\nnonNumeric.removeChild(indicator);\n}\nif ( 1 !== buttonAmount ) {\nindicator = document.createElement('span');\nindicator.setAttribute('data-non-numeric-label', true);\nvar text = document.createTextNode(' (x' + buttonAmount + ')');\nindicator.appendChild(text);\nnonNumeric.appendChild(indicator);\n}\n});\n\nwindow.tastyRecipesUpdatePrintLink();\n});\n});\n}());\n\nwindow.TastyRecipes = window.TastyRecipes || {};\nwindow.TastyRecipes.cookMode = {\nwakeLockApi: false,\nwakeLock: false,\ncookModeSelector: '.tasty-recipes-cook-mode',\ninit() {\nif (\"wakeLock\" in navigator && \"request\" in navigator.wakeLock) {\nthis.wakeLockApi = navigator.wakeLock;\n}\n\nconst cookModes = document.querySelectorAll(this.cookModeSelector);\n\nif (cookModes.length > 0) {\nfor (const cookMode of cookModes) {\nif (this.wakeLockApi) {\ncookMode.querySelector('input[type=\"checkbox\"]').addEventListener(\"change\", event => {\nthis.checkboxChange(event.target);\n}, false);\n} else {\ncookMode.style.display = \"none\";\n}\n}\n}\n},\ncheckboxChange(checkbox) {\nif (checkbox.checked) {\nthis.lock();\n} else {\nthis.unlock();\n}\n},\nsetCheckboxesState(state) {\nconst checkboxes = document.querySelectorAll(this.cookModeSelector + ' input[type=\"checkbox\"]');\nfor (const checkbox of checkboxes) {\ncheckbox.checked = state;\n}\n},\nasync lock() {\ntry {\nthis.wakeLock = await this.wakeLockApi.request(\"screen\");\nthis.wakeLock.addEventListener(\"release\", () => {\nthis.wakeLock = false;\nthis.setCheckboxesState(false);\n});\nthis.setCheckboxesState(true);\n} catch (error) {\nthis.setCheckboxesState(false);\n}\n},\nunlock() {\nif (this.wakeLock) {\nthis.wakeLock.release();\nthis.wakeLock = false;\n}\nthis.setCheckboxesState(false);\n}\n};\n\n(function(callback) {\nif (document.readyState !== \"loading\") {\ncallback();\n} else {\ndocument.addEventListener(\"DOMContentLoaded\", callback);\n}\n})(() => {\nwindow.TastyRecipes.cookMode.init();\n});\n\n\n\nwindow.TastyRecipes = window.TastyRecipes || {};\n\nwindow.TastyRecipes.staticTooltip = {\nelement: null,\ntooltipElement: null,\ndeleting: false,\ninit( element ) {\nif ( this.deleting ) {\nreturn;\n}\nthis.element = element;\nthis.buildElements();\n},\ndestroy() {\nif ( ! this.tooltipElement || this.deleting ) {\nreturn;\n}\n\nthis.deleting = true;\nthis.tooltipElement.classList.remove( 'opened' );\n\nsetTimeout( () => {\nthis.tooltipElement.remove();\nthis.deleting = false;\n}, 500 );\n},\nbuildElements() {\nconst tooltipElement = document.createElement( 'div' );\ntooltipElement.classList.add( 'tasty-recipes-static-tooltip');\ntooltipElement.setAttribute( 'id', 'tasty-recipes-tooltip' );\n\nconst currentTooltipElement = document.getElementById( 'tasty-recipes-tooltip' );\nif ( currentTooltipElement ) {\ndocument.body.replaceChild( tooltipElement, currentTooltipElement );\n} else {\ndocument.body.appendChild( tooltipElement );\n}\n\nthis.tooltipElement = document.getElementById( 'tasty-recipes-tooltip' );\n},\nshow() {\nif ( ! this.tooltipElement ) {\nreturn;\n}\n\nconst tooltipTop = this.element.getBoundingClientRect().top\n+ window.scrollY\n- 10 \/\/ 10px offset.\n- this.tooltipElement.getBoundingClientRect().height;\nconst tooltipLeft = this.element.getBoundingClientRect().left\n- ( this.tooltipElement.getBoundingClientRect().width \/ 2 )\n+ ( this.element.getBoundingClientRect().width \/ 2 ) - 1;\nconst posLeft = Math.max( 10, tooltipLeft );\nthis.maybeRemoveTail( posLeft !== tooltipLeft );\n\nthis.tooltipElement.setAttribute( 'style', 'top:' + tooltipTop + 'px;left:' + posLeft + 'px;' );\nthis.tooltipElement.classList.add( 'opened' );\n\n},\nmaybeRemoveTail( removeTail ) {\nif ( removeTail ) {\nthis.tooltipElement.classList.add( 'tr-hide-tail' );\n} else {\nthis.tooltipElement.classList.remove( 'tr-hide-tail' );\n}\n},\nchangeMessage( message ) {\nif ( ! this.tooltipElement ) {\nreturn;\n}\nthis.tooltipElement.innerHTML = message;\n}\n};\n\nwindow.TastyRecipes.ajax = {\nsendPostRequest( url, data, success, failure ) {\nconst xhr = new XMLHttpRequest();\nxhr.open( 'POST', url, true );\nxhr.send( this.preparePostData( data ) );\n\nxhr.onreadystatechange = () => {\nif ( 4 !== xhr.readyState ) {\nreturn;\n}\nif ( xhr.status === 200 ) {\nsuccess( JSON.parse( xhr.responseText ) );\nreturn;\n}\n\nfailure( xhr );\n};\n\nxhr.onerror = () => {\nfailure( xhr );\n};\n},\npreparePostData( data ) {\nconst formData = new FormData();\n\nfor ( const key in data ) {\nformData.append( key, data[key] );\n}\nreturn formData;\n},\n};\n\nwindow.TastyRecipes.ratings = {\ndefaultRating: 0,\ncurrentRatingPercentage: 100,\nsavingRating: false,\ninit( minRating ) {\nthis.minRating = minRating;\n\nthis.formWatchRating();\nthis.closeTooltipWhenClickOutside();\nthis.addBodyClassBasedOnSelectedRating();\nthis.backwardCompFormRatingPosition();\n},\nformWatchRating() {\nconst ratings = document.querySelectorAll('.tasty-recipes-no-ratings-buttons [data-rating]');\nif ( ratings.length <= 0 ) {\nreturn;\n}\nfor ( const rating of ratings ) {\nrating.addEventListener( 'click', event => {\nevent.preventDefault();\nthis.defaultRating = event.target.closest( '.checked' ).dataset.rating;\nthis.setCheckedStar( event.target );\nthis.maybeSendRating( this.defaultRating, event.target );\nthis.setRatingInForm( this.defaultRating );\n} );\n}\n},\ncloseTooltipWhenClickOutside() {\nwindow.addEventListener( 'click', e => {\n\/\/ Bailout (don't remove the tooltip) when the clicked element is a rating star, or it's the tooltip itself.\nif ( e.target.closest( '.tasty-recipes-rating' ) || e.target.classList.contains( 'tasty-recipes-static-tooltip' ) ) {\nreturn;\n}\n\nwindow.TastyRecipes.staticTooltip.destroy();\n} );\n},\n setRatingInForm( rating ) {\nconst ratingInput = document.querySelector( '#respond .tasty-recipes-rating[value=\"' + rating + '\"]' );\nif ( ! ratingInput ) {\nreturn;\n}\nratingInput.click();\n},\naddBodyClassBasedOnSelectedRating() {\nconst ratingInputs = document.querySelectorAll( 'input.tasty-recipes-rating' );\nif ( ! ratingInputs ) {\nreturn;\n}\nfor ( const ratingInput of ratingInputs ) {\nratingInput.addEventListener( 'click', currentEvent => {\nconst selectedRating = currentEvent.target.getAttribute( 'value' );\nthis.handleBodyClassByRating( selectedRating );\nthis.toggleCommentTextareaRequired( selectedRating );\n} );\n}\n},\nhandleBodyClassByRating( rating ) {\nif ( rating < this.minRating ) {\ndocument.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );\nreturn;\n}\ndocument.body.classList.add( 'tasty-recipes-selected-minimum-rating' );\n},\ntoggleCommentTextareaRequired( rating ) {\nconst commentTextarea = document.getElementById( 'comment' );\nif ( ! commentTextarea ) {\nreturn;\n}\n\nif ( rating < this.minRating ) {\ncommentTextarea.setAttribute( 'required', '' );\nreturn;\n}\n\ncommentTextarea.removeAttribute( 'required' );\n},\nmaybeSendRating( rating, element ) {\nif ( this.savingRating === rating ) {\nreturn;\n}\n\nthis.savingRating = rating;\nwindow.TastyRecipes.staticTooltip.init( element );\n\nconst recipeCardElement = element.closest( '.tasty-recipes' );\nif ( ! recipeCardElement ) {\nwindow.TastyRecipes.staticTooltip.destroy();\nreturn;\n}\n\nwindow.TastyRecipes.ajax.sendPostRequest(\nwindow.trCommon.ajaxurl,\n{\naction: 'tasty_recipes_save_rating',\nrating,\nnonce: window.trCommon.ratingNonce,\npost_id: window.trCommon.postId,\nrecipe_id: recipeCardElement.dataset.trId,\n},\n( response ) => {\nwindow.TastyRecipes.staticTooltip.changeMessage( response.data.message );\nwindow.TastyRecipes.staticTooltip.show();\nthis.updateAverageText( response.data, recipeCardElement );\nthis.maybeFillCommentForm( response.data );\n\n\/\/ Hide the tooltip after 5 seconds.\nsetTimeout( () => {\nthis.maybeResetTooltip( recipeCardElement, response.data, rating );\n}, 5000 );\n},\n() => {\nthis.resetTooltip( recipeCardElement );\n}\n);\n},\nupdateAverageText( data, recipeCardElement ) {\nif ( ! data.average ) {\nreturn;\n}\nthis.setRatingPercent( data );\n\nif ( ! data.count ) {\nreturn;\n}\n\nconst quickLink = document.querySelector( '.tasty-recipes-rating-link' );\nif ( quickLink ) {\nthis.setTextInContainer( quickLink, data );\nthis.setPartialStar( quickLink );\n}\n\nconst cardStars = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );\ncardStars.dataset.trDefaultRating = data.average;\nthis.setTextInContainer( recipeCardElement.querySelector( '.tasty-recipes-rating' ), data );\n},\nsetTextInContainer( container, data ) {\nif ( ! container ) {\nreturn;\n}\n\nif ( data.label ) {\nconst ratingLabelElement = container.querySelector( '.rating-label' );\nif ( ratingLabelElement ) {\nratingLabelElement.innerHTML = data.label;\n}\nreturn;\n}\n\nconst averageElement = container.querySelector( '.average' );\nif ( averageElement ) {\naverageElement.textContent = data.average;\n}\n\nconst countElement = container.querySelector( '.count' );\nif ( countElement ) {\ncountElement.textContent = data.count;\n}\n},\nsetPartialStar( container ) {\nconst highestStar = container.querySelector( '[data-rating=\"' + Math.ceil( this.defaultRating ) + '\"]' );\nif ( highestStar ) {\nhighestStar.dataset.trClip = this.currentRatingPercentage;\n}\n},\nsetRatingPercent( data ) {\nthis.defaultRating = data.average.toFixed( 1 );\nconst parts = data.average.toFixed( 2 ).toString().split( '.' );\nthis.currentRatingPercentage = parts[1] ? parts[1] : 100;\nif ( this.currentRatingPercentage === '00' ) {\nthis.currentRatingPercentage = 100;\n}\n},\nsetCheckedStar( target ) {\nconst cardRatingContainer = target.closest( '.tasty-recipes-ratings-buttons' );\nconst selectedRatingElement = cardRatingContainer.querySelector( '[data-tr-checked]' );\nif ( selectedRatingElement ) {\ndelete selectedRatingElement.dataset.trChecked;\n}\n\nconst thisStar = target.closest( '.tasty-recipes-rating' );\nthisStar.dataset.trChecked = 1;\nthisStar.querySelector( '[data-tr-clip]' ).dataset.trClip = 100;\n},\nmaybeFillCommentForm( data ) {\nif ( ! data.comment || ! data.comment.content ) {\nreturn;\n}\n\nconst commentForm = document.querySelector( '#commentform' );\nif ( ! commentForm ) {\nreturn;\n}\n\nconst commentBox = commentForm.querySelector( '[name=comment]' );\nif ( ! commentBox || commentBox.value ) {\nreturn;\n}\n\n\/\/ Add comment details for editing.\ncommentBox.innerHTML = data.comment.content;\nif ( data.comment.name ) {\ncommentForm.querySelector( '[name=author]' ).value = data.comment.name;\ncommentForm.querySelector( '[name=email]' ).value = data.comment.email;\n}\n},\nmaybeResetTooltip( recipeCardElement, data, rating ) {\nif ( this.savingRating === rating ) {\nthis.resetTooltip( recipeCardElement, data );\n}\n},\nresetTooltip( recipeCardElement, data ) {\nwindow.TastyRecipes.staticTooltip.destroy();\nthis.savingRating = false;\n\n\/\/ Reset the default rating.\nconst cardRatingContainer = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );\nif ( cardRatingContainer ) {\nthis.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;\ncardRatingContainer.dataset.trDefaultRating = this.defaultRating;\n\nthis.resetSelectedStar( cardRatingContainer, data );\n}\n},\nresetSelectedStar( cardRatingContainer ) {\nconst selectedRatingElement = cardRatingContainer.querySelector( '[data-rating=\"' + Math.ceil( this.defaultRating ) + '\"]' );\nif ( selectedRatingElement ) {\nselectedRatingElement.querySelector( '[data-tr-clip]' ).dataset.trClip = this.currentRatingPercentage;\nselectedRatingElement.parentNode.dataset.trChecked = 1;\n}\n\nconst previousSelectedElement= cardRatingContainer.querySelector( '[data-tr-checked]' );\nif ( previousSelectedElement ) {\nconst currentSelectedRating = previousSelectedElement.querySelector('[data-rating]');\nif ( currentSelectedRating !== selectedRatingElement ) {\ndelete previousSelectedElement.dataset.trChecked;\n}\n}\n},\nbackwardCompFormRatingPosition() {\nconst ratingsButtons = document.querySelector( '#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons' );\nif ( ! ratingsButtons ) {\nreturn;\n}\nconst ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);\nif ( ! ratingsButtonsStyles.display.includes( 'flex' ) ) {\nratingsButtons.style.direction = 'rtl';\n}\n\nif ( typeof tastyRecipesRating !== 'undefined' ) {\n\/\/ Select the rating that was previously selected in admin.\nratingsButtons.querySelector( '.tasty-recipes-rating[value=\"' + tastyRecipesRating + '\"]' ).checked = true;\n}\n\nconst ratingSpans = ratingsButtons.querySelectorAll( '.tasty-recipes-rating' );\nfor (const ratingSpan of ratingSpans) {\nratingSpan.addEventListener( 'click', event => {\nif ( ratingSpan === event.target ) {\nreturn;\n}\nratingSpan.previousElementSibling.click();\n} );\n}\n}\n};\n\n(function(callback) {\nif (document.readyState !== \"loading\") {\ncallback();\n} else {\nwindow.addEventListener( 'load', callback );\n}\n})(() => {\nwindow.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );\n});\n<\/script><\/div>\n    <div class=\"xs_social_share_widget xs_share_url after_content \t\tmain_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content\">\n\n\t\t\n        <ul>\n\t\t\t        <\/ul>\n    <\/div> \n","protected":false},"excerpt":{"rendered":"<p>Un plat familial absolument irr\u00e9sistible, ultra-g\u00e9n\u00e9reux et r\u00e9confortant \u00e0 souhait ! De tendres tranches de jambon blanc garnies de fromage filant, de &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Roul\u00e9s de jambon gratin\u00e9s, cr\u00e9meux et dor\u00e9s\" class=\"read-more button\" href=\"https:\/\/inasrecipes.com\/fr\/roules-de-jambon-gratines-cremeux-et-dores\/#more-9943\" aria-label=\"En savoir plus sur Roul\u00e9s de jambon gratin\u00e9s, cr\u00e9meux et dor\u00e9s\">Voir la recette<\/a><\/p>","protected":false},"author":2,"featured_media":9946,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"googlesitekit_rrm_CAownpvBDA:productID":"","footnotes":""},"categories":[61],"tags":[],"class_list":["post-9943","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-plats-principaux","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50","no-featured-image-padding"],"_links":{"self":[{"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/posts\/9943","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/comments?post=9943"}],"version-history":[{"count":1,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/posts\/9943\/revisions"}],"predecessor-version":[{"id":9949,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/posts\/9943\/revisions\/9949"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/media\/9946"}],"wp:attachment":[{"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/media?parent=9943"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/categories?post=9943"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/tags?post=9943"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}