{"id":9667,"date":"2026-10-17T20:22:13","date_gmt":"2026-10-17T20:22:13","guid":{"rendered":"https:\/\/inasrecipes.com\/?p=9667"},"modified":"2026-10-17T20:22:19","modified_gmt":"2026-10-17T20:22:19","slug":"roule-de-saumon-fume-cremeux-et-frais-aux-herbes","status":"publish","type":"post","link":"https:\/\/inasrecipes.com\/fr\/roule-de-saumon-fume-cremeux-et-frais-aux-herbes\/","title":{"rendered":"Roul\u00e9 de saumon fum\u00e9, cr\u00e9meux et frais aux herbes"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Une entr\u00e9e \u00e9l\u00e9gante, ultra-fra\u00eeche et d&#8217;une grande simplicit\u00e9 ! De belles tranches de saumon fum\u00e9 enveloppent un pain de mie moelleux et une cr\u00e8me onctueuse de fromage frais parfum\u00e9e \u00e0 l&#8217;aneth, \u00e0 la ciboulette et au citron. Un classique incontournable des tables de f\u00eate et des ap\u00e9ritifs gourmands !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/inasrecipes.com\/poireaux-au-jambon-gratines-fondants-et-bien-dores\/\">Poireaux au jambon gratin\u00e9s, fondants et bien dor\u00e9s<\/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=\"#materiel-necessaire\">Mat\u00e9riel n\u00e9cessaire<\/a><\/li><li><a href=\"#ingredients\">Ingr\u00e9dients<\/a><\/li><li><a href=\"#preparation-etape-par-etape\">Pr\u00e9paration \u00e9tape par \u00e9tape<\/a><\/li><li><a href=\"#comment-faire-un-roule-de-saumon\">Comment faire un roul\u00e9 de saumon ?<\/a><\/li><li><a href=\"#quelles-herbes-avec-du-saumon-fume\">Quelles herbes avec du saumon fum\u00e9 ?<\/a><\/li><li><a href=\"#est-il-possible-de-faire-un-roule-au-saumon-la-veille\">Est-il possible de faire un roul\u00e9 au saumon la veille ?<\/a><\/li><li><a href=\"#quelle-est-la-meilleure-sauce-pour-accompagner-le-saumon-fume\">Quelle est la meilleure sauce pour accompagner le saumon fum\u00e9 ?<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd2c La Science Culinaire : \u00c9mulsion Laiti\u00e8re, Matrice d&#8217;Amidon &amp; D\u00e9naturation par l&#8217;Acide<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La r\u00e9ussite de ce roul\u00e9 de saumon sans cuisson repose sur des principes physico-chimiques pr\u00e9cis qui garantissent une tenue parfaite et des saveurs \u00e9quilibr\u00e9es :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Inversion de phase &amp; Onctuosit\u00e9 du fromage frais :<\/strong> Le fromage frais et la cr\u00e8me fra\u00eeche enti\u00e8re constituent des \u00e9mulsions d&#8217;eau dans la mati\u00e8re grasse laiti\u00e8re. L&#8217;association de ces deux \u00e9l\u00e9ments cr\u00e9e une matrice lipidique dense et plastique \u00e0 4 \u00b0C. La cristallisation des triglyc\u00e9rides lors du repos de 2 heures au r\u00e9frig\u00e9rateur raffermit la cr\u00e8me, permettant au roul\u00e9 de conserver sa forme cylindrique compacte lors de la d\u00e9coupe sans s&#8217;effondrer.<\/li>\n\n\n\n<li><strong>Absorption capillaire de l&#8217;amidon du pain de mie :<\/strong> L&#8217;amidon r\u00e9trograd\u00e9 du pain de mie agit comme une \u00e9ponge capillaire hydrophile. Il absorbe l&#8217;humidit\u00e9 r\u00e9siduelle apport\u00e9e par le jus de citron et la cr\u00e8me fra\u00eeche, ce qui assouplit les tranches de mie et permet de les rouler sans qu&#8217;elles ne se fissurent ou ne se rompent.<\/li>\n\n\n\n<li><strong>Action antioxydante de l&#8217;acide citrique &amp; D\u00e9naturation douce :<\/strong> Le jus de citron apporte de l&#8217;acide citrique et de la vitamine C (acide ascorbique) qui pr\u00e9viennent l&#8217;oxydation de l&#8217;aneth et de la ciboulette, pr\u00e9servant leur couleur vert vif. De plus, l&#8217;acidit\u00e9 \u00e9quilibre la richesse lipidique de la chair du saumon fum\u00e9 et stimule la salivation, rehaussant les ar\u00f4mes iod\u00e9s en bouche.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u23f1\ufe0f Fiche Recette : Roul\u00e9 de saumon fum\u00e9, cr\u00e9meux et frais aux herbes<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Pr\u00e9paration :<\/strong> 20 minutes <em>(+ 120 min de repos au frais)<\/em><\/li>\n\n\n\n<li><strong>Cuisson :<\/strong> 0 minute <em>(sans cuisson)<\/em><\/li>\n\n\n\n<li><strong>Temps Total :<\/strong> 20 minutes d&#8217;action <em>(2 heures et 20 minutes au total)<\/em><\/li>\n\n\n\n<li><strong>Difficult\u00e9 :<\/strong> Facile<\/li>\n\n\n\n<li><strong>Portions :<\/strong> 6 personnes<\/li>\n\n\n\n<li><strong>Calories :<\/strong> 360 kcal \/ portion<\/li>\n<\/ul>\n\n\n\n<h3 id=\"materiel-necessaire\" class=\"wp-block-heading\">Mat\u00e9riel n\u00e9cessaire<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Saladier<\/li>\n\n\n\n<li>Spatule souple<\/li>\n\n\n\n<li>Planche \u00e0 d\u00e9couper<\/li>\n\n\n\n<li>Papier cuisson<\/li>\n\n\n\n<li>Film alimentaire \u00e9tirable<\/li>\n\n\n\n<li>Couteau de chef bien aiguis\u00e9<\/li>\n\n\n\n<li>R\u00e9frig\u00e9rateur<\/li>\n<\/ul>\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\/roule-de-saumon-fume-cremeux-et-frais-aux-herbes\/?tp_image_id=9670\" data-pin-title=\"Roul\u00e9 de saumon fum\u00e9, cr\u00e9meux et frais aux herbes\" data-pin-description=\"Roul\u00e9 de saumon fum\u00e9, cr\u00e9meux et frais aux herbes\" src=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792264521402-1024x683.webp\" alt=\"\" class=\"wp-image-9670\" title=\"\" srcset=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792264521402-1024x683.webp 1024w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792264521402-300x200.webp 300w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792264521402-768x512.webp 768w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792264521402-18x12.webp 18w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792264521402.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption><\/figcaption><\/figure>\n\n\n\n<h3 id=\"ingredients\" class=\"wp-block-heading\"><strong>Ingr\u00e9dients<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">La Base &amp; La Viande<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Ingr\u00e9dient<\/strong><\/td><td><strong>Quantit\u00e9<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>Saumon fum\u00e9<\/strong> <em>(en tranches)<\/em><\/td><td>400 g<\/td><\/tr><tr><td><strong>Pain de mie<\/strong> <em>(sans cro\u00fbte)<\/em><\/td><td>6 tranches<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">La Cr\u00e8me aux Herbes<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Ingr\u00e9dient<\/strong><\/td><td><strong>Quantit\u00e9<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>Fromage frais nature<\/strong> <em>(type Philadelphia ou Saint-Moret)<\/em><\/td><td>300 g<\/td><\/tr><tr><td><strong>Cr\u00e8me fra\u00eeche \u00e9paisse<\/strong><\/td><td>100 g<\/td><\/tr><tr><td><strong>Aneth frais<\/strong><\/td><td>15 g<\/td><\/tr><tr><td><strong>Ciboulette fra\u00eeche<\/strong><\/td><td>10 g<\/td><\/tr><tr><td><strong>Citron jaune<\/strong><\/td><td>1 pi\u00e8ce <em>(jus de la moiti\u00e9 + rondelles)<\/em><\/td><\/tr><tr><td><strong>Poivre noir moulu<\/strong><\/td><td>1 g<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Les Garnitures &amp; Finitions<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Ingr\u00e9dient<\/strong><\/td><td><strong>Quantit\u00e9<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>Radis frais<\/strong><\/td><td>2 pi\u00e8ces <em>(pour la d\u00e9coration)<\/em><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 id=\"preparation-etape-par-etape\" class=\"wp-block-heading\"><strong>Pr\u00e9paration \u00e9tape par \u00e9tape<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1.Ciselage des herbes &amp; Confection de la cr\u00e8me:<\/strong>Pr\u00e9paration aromatique.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Ciselez finement l&#8217;aneth frais et la ciboulette.<\/li>\n\n\n\n<li>Dans un saladier, m\u00e9langer le fromage frais nature, la cr\u00e8me fra\u00eeche \u00e9paisse, le jus de la moiti\u00e9 du citron, les herbes cisel\u00e9es et le poivre noir moulu jusqu&#8217;\u00e0 l&#8217;obtention d&#8217;une pr\u00e9paration homog\u00e8ne, \u00e9paisse et cr\u00e9meuse.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2.Disposition du pain de mie &amp; Garnissage:<\/strong>Montage de la base.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Disposez les 6 tranches de pain de mie sans cro\u00fbte sur une feuille de papier cuisson en les faisant l\u00e9g\u00e8rement se chevaucher sur les bords afin de former un grand rectangle continu.<\/li>\n\n\n\n<li>\u00c0 l&#8217;aide d&#8217;une spatule, \u00e9talez la pr\u00e9paration au fromage frais de mani\u00e8re r\u00e9guli\u00e8re sur toute la surface du pain de mie.<\/li>\n\n\n\n<li>Recouvrez uniform\u00e9ment la cr\u00e8me avec les tranches de saumon fum\u00e9, sans laisser de zone importante d\u00e9couverte.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3.Roulage serr\u00e9 &amp; Prise au frais:<\/strong>Fa\u00e7onnage &amp; R\u00e9frig\u00e9ration.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>En vous aidant du papier cuisson, roulez la base garnie sur elle-m\u00eame dans le sens de la longueur en maintenant une pression douce et r\u00e9guli\u00e8re pour former un cylindre compact.<\/li>\n\n\n\n<li>Enveloppez enti\u00e8rement le rouleau dans du film alimentaire en serrant bien les extr\u00e9mit\u00e9s pour lisser la surface.<\/li>\n\n\n\n<li>R\u00e9frig\u00e9rez le roul\u00e9 \u00e0 environ 4 \u00b0C pendant <strong>120 minutes (2 heures)<\/strong> pour qu&#8217;il devienne suffisamment ferme.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4.D\u00e9coupe &amp; Dressage:<\/strong>Tranchage net.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Retirez le film alimentaire du roul\u00e9 bien froid.<\/li>\n\n\n\n<li>\u00c0 l&#8217;aide d&#8217;un couteau bien aiguis\u00e9, d\u00e9coupez le roul\u00e9 en tranches \u00e9paisses et r\u00e9guli\u00e8res.<\/li>\n\n\n\n<li>D\u00e9coupez le demi-citron restant et les 2 radis en rondelles fines.<\/li>\n\n\n\n<li>Dressez les tranches de roul\u00e9 sur un plat ou une planche de pr\u00e9sentation, accompagn\u00e9es des rondelles de citron et de radis.<\/li>\n<\/ol>\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\/roule-de-saumon-fume-cremeux-et-frais-aux-herbes\/?tp_image_id=9669\" data-pin-title=\"Roul\u00e9 de saumon fum\u00e9, cr\u00e9meux et frais aux herbes\" data-pin-description=\"Roul\u00e9 de saumon fum\u00e9, cr\u00e9meux et frais aux herbes\" src=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792264579409-1024x683.webp\" alt=\"\" class=\"wp-image-9669\" title=\"\" srcset=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792264579409-1024x683.webp 1024w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792264579409-300x200.webp 300w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792264579409-768x512.webp 768w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792264579409-18x12.webp 18w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/10\/image_1200x800_1792264579409.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udca1 Conseils &amp; Astuces du Chef<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Prise au frais :<\/strong> Le temps de repos de 2 heures au r\u00e9frig\u00e9rateur est indispensable pour permettre \u00e0 la mati\u00e8re grasse du fromage frais de raffermir et de garantir une d\u00e9coupe nette en rondelles parfaites.<\/li>\n\n\n\n<li><strong>Anticipation :<\/strong> Vous pouvez conserver le roul\u00e9 entier, bien emball\u00e9 dans son film alimentaire, jusqu&#8217;\u00e0 <strong>24 heures au r\u00e9frig\u00e9rateur<\/strong>. Les tranches individuelles sont cependant meilleures le jour m\u00eame de la d\u00e9coupe pour \u00e9viter qu&#8217;elles ne s&#8217;ass\u00e8chent.<\/li>\n\n\n\n<li><strong>Cong\u00e9lation :<\/strong> La cong\u00e9lation est fortement d\u00e9conseill\u00e9e, car elle alt\u00e8re la texture du fromage frais (qui d\u00e9phase \u00e0 la d\u00e9cong\u00e9lation) et rend la chair du saumon spongieuse.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u2753 Foire Aux Questions (FAQ)<\/h2>\n\n\n\n<h3 id=\"comment-faire-un-roule-de-saumon\" class=\"wp-block-heading\">Comment faire un roul\u00e9 de saumon ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pour r\u00e9aliser un roul\u00e9 de saumon, \u00e9talez une couche de fromage frais aux herbes sur des tranches de pain de mie ou sur une omelette fine, recouvrez de tranches de saumon fum\u00e9, puis roulez l&#8217;ensemble tr\u00e8s serr\u00e9 dans du film alimentaire. Laissez reposer 2 heures au r\u00e9frig\u00e9rateur avant de trancher avec un couteau bien aiguis\u00e9.<\/p>\n\n\n\n<h3 id=\"quelles-herbes-avec-du-saumon-fume\" class=\"wp-block-heading\">Quelles herbes avec du saumon fum\u00e9 ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le saumon fum\u00e9 s&#8217;associe traditionnellement avec l&#8217;<strong>aneth<\/strong> et la <strong>ciboulette<\/strong>, qui apportent de la fra\u00eecheur et une note l\u00e9g\u00e8rement anis\u00e9e ou d&#8217;oignon doux. Vous pouvez \u00e9galement ajouter de l&#8217;<strong>estragons<\/strong>, du <strong>cerfeuil<\/strong> ou quelques feuilles de <strong>coriandre fra\u00eeche<\/strong>.<\/p>\n\n\n\n<h3 id=\"est-il-possible-de-faire-un-roule-au-saumon-la-veille\" class=\"wp-block-heading\">Est-il possible de faire un roul\u00e9 au saumon la veille ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Oui, absolument !<\/strong> Vous pouvez pr\u00e9parer le roul\u00e9 de saumon entier la veille et le conserver au r\u00e9frig\u00e9rateur emball\u00e9 herm\u00e9tiquement dans du film \u00e9tirable. D\u00e9coupez-le en tranches au dernier moment avant de servir pour pr\u00e9server tout son moelleux.<\/p>\n\n\n\n<h3 id=\"quelle-est-la-meilleure-sauce-pour-accompagner-le-saumon-fume\" class=\"wp-block-heading\">Quelle est la meilleure sauce pour accompagner le saumon fum\u00e9 ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Plusieurs <a href=\"https:\/\/www.lacuisinedenat.com\/archives\/2016\/07\/25\/34118493.html\" target=\"_blank\" rel=\"noopener\">sauces<\/a> froides s&#8217;accordent \u00e0 merveille avec le saumon fum\u00e9 :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Une <strong>sauce cr\u00e9meuse \u00e0 la ciboulette et au citron<\/strong> (fromage frais, cr\u00e8me aigre ou yaourt grec).<\/li>\n\n\n\n<li>Une <strong>sauce nordique \u00e0 la moutarde douce, aneth et miel<\/strong>.<\/li>\n\n\n\n<li>Un simple filet de <strong>jus de citron vert ou jaune<\/strong> accompagn\u00e9 de poivre du moulin.<\/li>\n<\/ul>\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\/roule-de-saumon-fume-cremeux-et-frais-aux-herbes\/print\/9668\/\">Print<\/a><span class=\"tasty-recipes-jump-target\" id=\"tasty-recipes-9668-jump-target\" style=\"display:block;padding-top:2px;margin-top:-2px;\"><\/span><div id=\"tasty-recipes-9668\" data-tr-id=\"9668\" class=\"tasty-recipes tasty-recipes-9668 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 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_1792264506213-150x150.webp\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" data-pin-nopin=\"true\" data-pin-description=\"Roul\u00e9 de saumon fum\u00e9, cr\u00e9meux et frais aux herbes\" data-pin-title=\"Roul\u00e9 de saumon fum\u00e9, cr\u00e9meux et frais aux herbes\" data-pin-url=\"https:\/\/inasrecipes.com\/fr\/roule-de-saumon-fume-cremeux-et-frais-aux-herbes\/?tp_image_id=9671\" 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\u00e9 de saumon fum\u00e9, cr\u00e9meux et frais aux herbes<\/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\">2 heures 20 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> 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\/roule-de-saumon-fume-cremeux-et-frais-aux-herbes\/print\/9668\/\" 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%2Froule-de-saumon-fume-cremeux-et-frais-aux-herbes%2F\" href=\"https:\/\/www.pinterest.com\/pin\/create\/bookmarklet\/?url=https%3A%2F%2Finasrecipes.com%2Ffr%2Froule-de-saumon-fume-cremeux-et-frais-aux-herbes%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>Ce Roul\u00e9 de Saumon Fum\u00e9 au Fromage Frais et aux Herbes est une entr\u00e9e froide \u00e9l\u00e9gante, fra\u00eeche et irr\u00e9sistiblement cr\u00e9meuse. Pr\u00e9par\u00e9 avec de fines tranches de saumon fum\u00e9, du pain de mie moelleux et une g\u00e9n\u00e9reuse garniture de fromage frais d\u00e9licatement parfum\u00e9e \u00e0 l&#8217;aneth, \u00e0 la ciboulette et au citron, il offre une association raffin\u00e9e de saveurs marines et d&#8217;herbes fra\u00eeches. Facile \u00e0 r\u00e9aliser sans cuisson, ce roul\u00e9 se d\u00e9coupe en belles rondelles r\u00e9guli\u00e8res apr\u00e8s un repos au r\u00e9frig\u00e9rateur. Une recette id\u00e9ale pour un ap\u00e9ritif festif, un buffet froid, une entr\u00e9e de f\u00eate ou un repas convivial, joliment accompagn\u00e9e de rondelles de citron et de radis croquants.<\/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 la Base et le Saumon :<\/strong><\/li>\n<li><span data-amount=\"400\" data-unit=\"g\">400 g<\/span> de saumon fum\u00e9 en tranches<\/li>\n<li><span data-amount=\"6\">6<\/span> tranches de pain de mie sans cro\u00fbte<\/li>\n<li><strong>Pour la Cr\u00e8me aux Herbes :<\/strong><\/li>\n<li><span data-amount=\"300\" data-unit=\"g\">300 g<\/span> de fromage frais nature (type Philadelphia ou Saint-Moret)<\/li>\n<li><span data-amount=\"100\" data-unit=\"g\">100 g<\/span> de cr\u00e8me fra\u00eeche \u00e9paisse<\/li>\n<li><span data-amount=\"15\" data-unit=\"g\">15 g<\/span> d&#8217;aneth frais<\/li>\n<li><span data-amount=\"10\" data-unit=\"g\">10 g<\/span> de ciboulette fra\u00eeche<\/li>\n<li><span data-amount=\"1\">1<\/span> citron jaune (jus de la moiti\u00e9 + rondelles pour la d\u00e9coration)<\/li>\n<li><span data-amount=\"1\" data-unit=\"g\">1 g<\/span> de poivre noir moulu<\/li>\n<li><strong>Pour les Garnitures et Finitions :<\/strong><\/li>\n<li><span data-amount=\"2\">2<\/span> radis frais, pour la d\u00e9coration<\/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_6adce02f088aa_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_6adce02f088aa_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>Ciseler les Herbes et Pr\u00e9parer la Cr\u00e8me :<\/strong> Ciselez finement les 15 g d&#8217;aneth frais et les 10 g de ciboulette. Dans un saladier, m\u00e9langez les 300 g de fromage frais nature, les 100 g de cr\u00e8me fra\u00eeche \u00e9paisse, le jus de la moiti\u00e9 du citron jaune, les herbes fra\u00eechement cisel\u00e9es et le 1 g de poivre noir moulu. Travaillez d\u00e9licatement la pr\u00e9paration jusqu&#8217;\u00e0 obtenir une cr\u00e8me homog\u00e8ne, \u00e9paisse, lisse et parfaitement onctueuse.<\/li>\n<li id=\"instruction-step-2\"><strong>Disposer le Pain de Mie et R\u00e9partir la Garniture :<\/strong> Disposez les 6 tranches de pain de mie sans cro\u00fbte sur une grande feuille de papier cuisson en les faisant l\u00e9g\u00e8rement se chevaucher sur les bords afin de former un rectangle continu. \u00c0 l&#8217;aide d&#8217;une spatule, \u00e9talez uniform\u00e9ment la cr\u00e8me au fromage frais et aux herbes sur toute la surface du pain de mie. Recouvrez ensuite g\u00e9n\u00e9reusement avec les 400 g de saumon fum\u00e9 en tranches, en veillant \u00e0 ne laisser aucune zone importante d\u00e9couverte.<\/li>\n<li id=\"instruction-step-3\"><strong>Rouler Fermement et R\u00e9frig\u00e9rer :<\/strong> En vous aidant du papier cuisson, roulez d\u00e9licatement la base garnie sur elle-m\u00eame dans le sens de la longueur. Maintenez une pression douce et r\u00e9guli\u00e8re pour obtenir un cylindre bien compact sans \u00e9craser la garniture. Enveloppez enti\u00e8rement le rouleau dans du film alimentaire en serrant soigneusement les extr\u00e9mit\u00e9s afin de lisser la surface et de maintenir sa forme. Placez le roul\u00e9 au r\u00e9frig\u00e9rateur \u00e0 environ 4 \u00b0C pendant 120 minutes (2 heures), jusqu&#8217;\u00e0 ce qu&#8217;il soit suffisamment ferme pour \u00eatre d\u00e9coup\u00e9 proprement.<\/li>\n<li id=\"instruction-step-4\"><strong>D\u00e9couper et Dresser les Rondelles :<\/strong> Retirez d\u00e9licatement le film alimentaire du roul\u00e9 bien froid. \u00c0 l&#8217;aide d&#8217;un couteau bien aiguis\u00e9, d\u00e9coupez-le en tranches \u00e9paisses et r\u00e9guli\u00e8res pour faire appara\u00eetre les diff\u00e9rentes couches de pain de mie, de cr\u00e8me aux herbes et de saumon fum\u00e9. Coupez le demi-citron restant et les 2 radis frais en fines rondelles. Disposez harmonieusement les tranches de roul\u00e9 sur un plat ou une planche de pr\u00e9sentation, accompagnez-les des rondelles de citron et de radis, puis servez bien frais.<\/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>La Prise au Frais est Indispensable :<\/strong> Respectez les 2 heures de repos au r\u00e9frig\u00e9rateur \u00e0 environ 4 \u00b0C. Ce temps permet \u00e0 la mati\u00e8re grasse du fromage frais de raffermir et garantit une d\u00e9coupe nette en belles rondelles r\u00e9guli\u00e8res sans \u00e9craser la garniture.<\/li>\n<li><strong>Anticipation et Conservation :<\/strong> Vous pouvez pr\u00e9parer le roul\u00e9 \u00e0 l&#8217;avance et le conserver entier, soigneusement envelopp\u00e9 dans son film alimentaire, jusqu&#8217;\u00e0 24 heures au r\u00e9frig\u00e9rateur. Les tranches individuelles sont toutefois meilleures le jour m\u00eame de la d\u00e9coupe afin d&#8217;\u00e9viter qu&#8217;elles ne s&#8217;ass\u00e8chent.<\/li>\n<li><strong>Cong\u00e9lation D\u00e9conseill\u00e9e :<\/strong> \u00c9vitez de congeler ce roul\u00e9. La cong\u00e9lation alt\u00e8re la texture du fromage frais, qui peut se s\u00e9parer \u00e0 la d\u00e9cong\u00e9lation, et risque de rendre la chair du saumon fum\u00e9 spongieuse.<\/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\">0 minute<\/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\">Entr\u00e9e<\/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\">Sans Cuisson<\/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 (1\/8 du roul\u00e9)<\/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\">310<\/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\">3g<\/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\">1050mg<\/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\">21g<\/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\">11g<\/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\">8g<\/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\">13g<\/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\">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\">Cholesterol:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-cholesterol\">75mg<\/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\":9667};\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>Une entr\u00e9e \u00e9l\u00e9gante, ultra-fra\u00eeche et d&#8217;une grande simplicit\u00e9 ! De belles tranches de saumon fum\u00e9 enveloppent un pain de mie moelleux et &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Roul\u00e9 de saumon fum\u00e9, cr\u00e9meux et frais aux herbes\" class=\"read-more button\" href=\"https:\/\/inasrecipes.com\/fr\/roule-de-saumon-fume-cremeux-et-frais-aux-herbes\/#more-9667\" aria-label=\"En savoir plus sur Roul\u00e9 de saumon fum\u00e9, cr\u00e9meux et frais aux herbes\">Voir la recette<\/a><\/p>","protected":false},"author":2,"featured_media":9671,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"googlesitekit_rrm_CAownpvBDA:productID":"","footnotes":""},"categories":[61],"tags":[],"class_list":["post-9667","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\/9667","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=9667"}],"version-history":[{"count":1,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/posts\/9667\/revisions"}],"predecessor-version":[{"id":9672,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/posts\/9667\/revisions\/9672"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/media\/9671"}],"wp:attachment":[{"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/media?parent=9667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/categories?post=9667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/tags?post=9667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}