{"id":8811,"date":"2026-09-29T14:39:13","date_gmt":"2026-09-29T14:39:13","guid":{"rendered":"https:\/\/inasrecipes.com\/?p=8811"},"modified":"2026-09-29T14:39:16","modified_gmt":"2026-09-29T14:39:16","slug":"terrine-froide-de-saumon","status":"publish","type":"post","link":"https:\/\/inasrecipes.com\/fr\/terrine-froide-de-saumon\/","title":{"rendered":"Terrine froide de saumon : La recette facile, fra\u00eeche et raffin\u00e9e"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">La <strong>terrine froide de saumon<\/strong> est un incontournable de la gastronomie fran\u00e7aise lorsqu&#8217;il s&#8217;agit d&#8217;\u00e9pater ses convives sans passer ses journ\u00e9es en cuisine. Qu&#8217;il s&#8217;agisse d&#8217;un banquet de f\u00eate de fin d&#8217;ann\u00e9e, d&#8217;un d\u00e9jeuner dominical en famille ou d&#8217;un buffet estival en plein air, ce plat s\u00e9duit toujours par son esth\u00e9tique soign\u00e9e, ses strates color\u00e9es et sa fra\u00eecheur incomparable en bouche.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/inasrecipes.com\/couronne-salade-russe-saumon-fume-crevettes\/\">Couronne de Salade Russe au Saumon Fum\u00e9 et aux Crevettes : La Recette Festive &amp; Chic<\/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=\"#ustensiles-necessaires\">Ustensiles n\u00e9cessaires<\/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=\"#notes-et-conseils-du-chef\">Notes et conseils du Chef<\/a><\/li><li><a href=\"#1-la-maitrise-de-la-gelatine\">1. La ma\u00eetrise de la g\u00e9latine<\/a><\/li><li><a href=\"#2-le-choix-du-saumon-fume\">2. Le choix du saumon fum\u00e9<\/a><\/li><li><a href=\"#3-la-decoupe-parfaite\">3. La d\u00e9coupe parfaite<\/a><\/li><li><a href=\"#comment-faire-une-terrine-de-saumon-froide\">Comment faire une terrine de saumon froide ?<\/a><\/li><li><a href=\"#quelle-est-la-recette-dune-terrine-aux-saumons\">Quelle est la recette d&#8217;une terrine aux saumons ?<\/a><\/li><li><a href=\"#quelle-est-la-recette-de-saumon-pour-manger-froid\">Quelle est la recette de saumon pour manger froid ?<\/a><\/li><li><a href=\"#quelle-est-la-recette-de-la-terrine-de-saumon-de-cyril-lignac\">Quelle est la recette de la terrine de saumon de Cyril Lignac ?<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Fiche Recette : Terrine froide de saumon<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Pr\u00e9paration :<\/strong> 280 min (dont temps de repos)<\/li>\n\n\n\n<li><strong>Cuisson :<\/strong> 10 min<\/li>\n\n\n\n<li><strong>Total :<\/strong> 290 min<\/li>\n\n\n\n<li><strong>Portions :<\/strong> 6 personnes<\/li>\n\n\n\n<li><strong>Difficult\u00e9 :<\/strong> Moyen<\/li>\n\n\n\n<li><strong>Cuisine :<\/strong> Cuisine fran\u00e7aise<\/li>\n\n\n\n<li><strong>Calories :<\/strong> 430 kcal \/ portion<\/li>\n<\/ul>\n\n\n\n<h3 id=\"ustensiles-necessaires\" class=\"wp-block-heading\">Ustensiles n\u00e9cessaires<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Moule \u00e0 cake ou moule \u00e0 terrine m\u00e9tallique (environ 22 \u00d7 10 cm)<\/li>\n\n\n\n<li>Film alimentaire \u00e9tirable<\/li>\n\n\n\n<li>Saladier en verre<\/li>\n\n\n\n<li>Spatule en silicone (maryse)<\/li>\n\n\n\n<li>Casserole<\/li>\n\n\n\n<li>Bol d&#8217;eau froide<\/li>\n\n\n\n<li>Plat de service rectangulaire<\/li>\n\n\n\n<li>Couteau bien aiguis\u00e9<\/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\/terrine-froide-de-saumon\/?tp_image_id=8813\" data-pin-title=\"Terrine froide de saumon : La recette facile, fra\u00eeche et raffin\u00e9e\" data-pin-description=\"Terrine froide de saumon : La recette facile, fra\u00eeche et raffin\u00e9e\" src=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/09\/image_1200x800_1790688642658-1024x683.webp\" alt=\"\" class=\"wp-image-8813\" title=\"\" srcset=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/09\/image_1200x800_1790688642658-1024x683.webp 1024w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/09\/image_1200x800_1790688642658-300x200.webp 300w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/09\/image_1200x800_1790688642658-768x512.webp 768w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/09\/image_1200x800_1790688642658-18x12.webp 18w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/09\/image_1200x800_1790688642658.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption><\/figcaption><\/figure>\n\n\n\n<h3 id=\"ingredients\" class=\"wp-block-heading\">Ingr\u00e9dients<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Ingr\u00e9dient<\/th><th>Quantit\u00e9<\/th><\/tr><\/thead><tbody><tr><td><strong>Saumon fum\u00e9<\/strong><\/td><td>300 g<\/td><\/tr><tr><td><strong>Surimi<\/strong><\/td><td>200 g<\/td><\/tr><tr><td><strong>\u0152ufs<\/strong><\/td><td>3 unit\u00e9s<\/td><\/tr><tr><td><strong>Cr\u00e8me fra\u00eeche \u00e9paisse<\/strong><\/td><td>200 g<\/td><\/tr><tr><td><strong>Mayonnaise<\/strong><\/td><td>150 g<\/td><\/tr><tr><td><strong>G\u00e9latine en feuilles<\/strong><\/td><td>6 g (environ 3 feuilles standard)<\/td><\/tr><tr><td><strong>Jus de citron<\/strong><\/td><td>20 ml<\/td><\/tr><tr><td><strong>Herbes fra\u00eeches<\/strong> (aneth, persil plat, ciboulette)<\/td><td>15 g<\/td><\/tr><tr><td><strong>Sel fin<\/strong><\/td><td>4 g<\/td><\/tr><tr><td><strong>Poivre noir moulu<\/strong><\/td><td>1 g<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 id=\"preparation-etape-par-etape\" class=\"wp-block-heading\">Pr\u00e9paration \u00e9tape par \u00e9tape<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u00c9tape 1 : Pr\u00e9paration du moule et des \u0153ufs<\/h4>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Chemiser le moule :<\/strong> Tapissez un moule \u00e0 cake ou \u00e0 terrine (environ 22 \u00d7 10 cm) avec du film alimentaire en le laissant largement d\u00e9passer sur les c\u00f4t\u00e9s. Le fond et les parois doivent \u00eatre enti\u00e8rement et herm\u00e9tiquement couverts.<\/li>\n\n\n\n<li><strong>Cuisson des \u0153ufs :<\/strong> Portez une casserole d&#8217;eau \u00e0 \u00e9bullition et plongez-y les \u0153ufs. Laissez cuire pendant 9 minutes dans une eau fr\u00e9missante. Plongez-les imm\u00e9diatement dans un bol d&#8217;eau glac\u00e9e pour stopper la cuisson.<\/li>\n\n\n\n<li><strong>D\u00e9coupe des \u0153ufs :<\/strong> \u00c9calez les \u0153ufs refroidis puis coupez-les en morceaux r\u00e9guliers. Le jaune et le blanc doivent rester bien distincts pour offrir un visuel contrast\u00e9 lors de la d\u00e9coupe.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">\u00c9tape 2 : Pr\u00e9paration de l&#8217;appareil cr\u00e9meux<\/h4>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li><strong>Hydratation de la g\u00e9latine :<\/strong> Faites tremper les feuilles de g\u00e9latine dans un grand bol d&#8217;eau froide pendant 5 minutes. Essorez-les soigneusement entre vos mains jusqu&#8217;\u00e0 ce qu&#8217;elles soient parfaitement souples.<\/li>\n\n\n\n<li><strong>Dissolution de la g\u00e9latine :<\/strong> Dans une petite casserole, chauffez doucement 3 cuill\u00e8res \u00e0 soupe de cr\u00e8me fra\u00eeche \u00e9paisse jusqu&#8217;\u00e0 environ 60 \u00b0C. Retirez du feu, ajoutez la g\u00e9latine essor\u00e9e et m\u00e9langez \u00e9nergiquement \u00e0 la spatule jusqu&#8217;\u00e0 dissolution compl\u00e8te. Le m\u00e9lange doit \u00eatre parfaitement homog\u00e8ne et ne jamais bouillir.<\/li>\n\n\n\n<li><strong>M\u00e9lange de la base :<\/strong> Dans un saladier en verre, fouettez le reste de la cr\u00e8me fra\u00eeche avec la mayonnaise, le jus de citron, les herbes fra\u00eeches finement hach\u00e9es (aneth, persil, ciboulette), le sel et le poivre noir. La pr\u00e9paration doit devenir lisse et l\u00e9g\u00e8rement nappante.<\/li>\n\n\n\n<li><strong>Liaison :<\/strong> Incorporez la cr\u00e8me g\u00e9latin\u00e9e ti\u00e9die \u00e0 la pr\u00e9paration cr\u00e9meuse froide en m\u00e9langeant vivement. Aucune trace de g\u00e9latine ne doit rester visible.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">\u00c9tape 3 : Montage de la terrine<\/h4>\n\n\n\n<ol start=\"8\" class=\"wp-block-list\">\n<li><strong>Chemisage au saumon :<\/strong> Tapissez le fond et les parois du moule avec une partie des tranches de saumon fum\u00e9 en les faisant l\u00e9g\u00e8rement se chevaucher. Le moule doit pr\u00e9senter une couverture r\u00e9guli\u00e8re.<\/li>\n\n\n\n<li><strong>Premi\u00e8re couche :<\/strong> \u00c9talez une premi\u00e8re couche uniforme de pr\u00e9paration cr\u00e9meuse sur le fond tapiss\u00e9 de saumon.<\/li>\n\n\n\n<li><strong>Pr\u00e9paration du surimi :<\/strong> Coupez le surimi en tron\u00e7ons d&#8217;environ 1,5 \u00e0 2 cm. Les morceaux doivent rester suffisamment gros pour cr\u00e9er du relief et \u00eatre bien visibles \u00e0 la tranche.<\/li>\n\n\n\n<li><strong>Montage altern\u00e9 :<\/strong> R\u00e9partissez en couches successives le reste du saumon fum\u00e9, les tron\u00e7ons de surimi et les morceaux d&#8217;\u0153ufs durs, en intercalant de la pr\u00e9paration cr\u00e9meuse entre chaque ingr\u00e9dient. Les trois \u00e9l\u00e9ments doivent rester distincts.<\/li>\n\n\n\n<li><strong>Finition :<\/strong> Verser le reste de la pr\u00e9paration cr\u00e9meuse sur le dessus. Tapotez doucement le moule sur votre plan de travail pour \u00e9liminer les \u00e9ventuelles poches d&#8217;air trapped, puis rabattez le film alimentaire d\u00e9passent sur la surface.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">\u00c9tape 4 : Prise au froid et service<\/h4>\n\n\n\n<ol start=\"13\" class=\"wp-block-list\">\n<li><strong>Refrig\u00e9ration :<\/strong> Placez la terrine au r\u00e9frig\u00e9rateur sous une l\u00e9g\u00e8re pression (en posant par exemple une petite planche sur le dessus) \u00e0 4 \u00b0C pendant au moins 4 heures, et id\u00e9alement toute une nuit. La terrine doit \u00eatre bien ferme et presque immobile au centre.<\/li>\n\n\n\n<li><strong>D\u00e9moulage et d\u00e9coupe :<\/strong> D\u00e9moulez d\u00e9licatement la terrine sur un plat de service rectangulaire froid, puis retirez le film alimentaire. Tranchez \u00e0 l&#8217;aide d&#8217;un couteau \u00e0 lame fine bien aiguis\u00e9e, pr\u00e9alablement tremp\u00e9e dans l&#8217;eau chaude et essuy\u00e9e entre chaque tranche.<\/li>\n<\/ol>\n\n\n\n<h3 id=\"notes-et-conseils-du-chef\" class=\"wp-block-heading\">Notes et conseils du Chef<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Service :<\/strong> Servez la terrine bien froide, en tranches r\u00e9guli\u00e8res de 1,5 cm d&#8217;\u00e9paisseur.<\/li>\n\n\n\n<li><strong>Accompagnement :<\/strong> Elle s&#8217;accompagne \u00e0 merveille de quartiers de citron jaune, d&#8217;une mayonnaise l\u00e9g\u00e8re aux herbes ou d&#8217;une salade verte folle (m\u00e2che, mesclun) tr\u00e8s l\u00e9g\u00e8rement assaisonn\u00e9e \u00e0 l&#8217;huile d&#8217;olive et au vinaigre de framboise.<\/li>\n\n\n\n<li><strong>Conservation :<\/strong> Conservez la terrine couverte au r\u00e9frig\u00e9rateur entre 0 et 4 \u00b0C pendant 48 heures au maximum. Apr\u00e8s d\u00e9coupe, prot\u00e9gez les tranches restantes sous un film \u00e9tirable et consommez-les dans les 24 heures.<\/li>\n\n\n\n<li><strong>Cong\u00e9lation :<\/strong> La cong\u00e9lation est fortement d\u00e9conseill\u00e9e : la cr\u00e8me, la g\u00e9latine et les \u0153ufs durs risquent de d\u00e9mouler et de rendre de l&#8217;eau lors du d\u00e9gel, ce qui alt\u00e9rerait la texture de la terrine.<\/li>\n\n\n\n<li><strong>Variante Sans Gluten :<\/strong> Veillez \u00e0 choisir une marque de surimi et une mayonnaise certifi\u00e9es sans gluten.<\/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\/terrine-froide-de-saumon\/?tp_image_id=8814\" data-pin-title=\"Terrine froide de saumon : La recette facile, fra\u00eeche et raffin\u00e9e\" data-pin-description=\"Terrine froide de saumon : La recette facile, fra\u00eeche et raffin\u00e9e\" src=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/09\/image_1200x800_1790688696028-1024x683.webp\" alt=\"\" class=\"wp-image-8814\" title=\"\" srcset=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/09\/image_1200x800_1790688696028-1024x683.webp 1024w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/09\/image_1200x800_1790688696028-300x200.webp 300w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/09\/image_1200x800_1790688696028-768x512.webp 768w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/09\/image_1200x800_1790688696028-18x12.webp 18w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/09\/image_1200x800_1790688696028.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Conseils pour r\u00e9ussir sa terrine de saumon froide \u00e0 tous les coups<\/h2>\n\n\n\n<h3 id=\"1-la-maitrise-de-la-gelatine\" class=\"wp-block-heading\">1. La ma\u00eetrise de la g\u00e9latine<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pour obtenir une tenue parfaite lors du d\u00e9moulage sans donner un effet &#8220;caoutchouc&#8221; \u00e0 votre mousse, respectez scrupuleusement le temps de trempage dans l&#8217;eau glac\u00e9e. La g\u00e9latine doit \u00eatre dissoute dans une cr\u00e8me chaude mais non bouillante (autour de 60 \u00b0C), car une temp\u00e9rature sup\u00e9rieure \u00e0 80 \u00b0C peut d\u00e9grader le pouvoir g\u00e9lifiant des prot\u00e9ines.<\/p>\n\n\n\n<h3 id=\"2-le-choix-du-saumon-fume\" class=\"wp-block-heading\">2. Le choix du saumon fum\u00e9<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Privil\u00e9giez de larges tranches de saumon fum\u00e9 d&#8217;\u00c9cosse ou de Norv\u00e8ge, tranch\u00e9es finement et r\u00e9guli\u00e8rement. Des tranches trop \u00e9paisses seront difficiles \u00e0 d\u00e9couper nettement une fois la terrine prise.<\/p>\n\n\n\n<h3 id=\"3-la-decoupe-parfaite\" class=\"wp-block-heading\">3. La d\u00e9coupe parfaite<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La cl\u00e9 d&#8217;une pr\u00e9sentation digne d&#8217;un traiteur r\u00e9side dans la propret\u00e9 des tranches. Utilisez un couteau alv\u00e9ol\u00e9 ou une lame tr\u00e8s aff\u00fbt\u00e9e. Trempez la lame dans un r\u00e9cipient d&#8217;eau tr\u00e8s chaude, puis essuyez-la avec un essuie-tout propre avant de d\u00e9couper chaque tranche.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Foire Aux Questions (FAQ)<\/h2>\n\n\n\n<h3 id=\"comment-faire-une-terrine-de-saumon-froide\" class=\"wp-block-heading\"><strong>Comment faire une terrine de saumon froide ?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pour faire une terrine de saumon froide r\u00e9ussie, le principe repose sur l&#8217;assemblage d&#8217;ingr\u00e9dients cuits ou fum\u00e9s (saumon fum\u00e9, surimi, \u0153ufs durs) li\u00e9s par une pr\u00e9paration cr\u00e9meuse coll\u00e9e \u00e0 la g\u00e9latine ou au chantilly. On chemise un moule \u00e0 cake de film \u00e9tirable puis de tranches de saumon, avant d&#8217;y alterner les garnitures et la cr\u00e8me assaisonn\u00e9e de citron et d&#8217;herbes fra\u00eeches (aneth, ciboulette). Apr\u00e8s un repos de minimum 4 heures au r\u00e9frig\u00e9rateur, la terrine se d\u00e9moule facilement gr\u00e2ce au film et se sert en tranches tr\u00e8s fra\u00eeches.<\/p>\n\n\n\n<h3 id=\"quelle-est-la-recette-dune-terrine-aux-saumons\" class=\"wp-block-heading\"><strong>Quelle est la recette d&#8217;une terrine aux saumons ?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La recette traditionnelle d&#8217;une terrine &#8220;aux saumons&#8221; (au pluriel) combine deux textures de saumon :<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Le saumon frais :<\/strong> Poche dans un court-bouillon puis \u00e9miett\u00e9.<\/li>\n\n\n\n<li><strong>Le saumon fum\u00e9 :<\/strong> Utilis\u00e9 pour chemiser le moule ou incorpor\u00e9 en lani\u00e8res.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Elle associe le saumon poch\u00e9 ti\u00e9di et le saumon fum\u00e9 avec de la cr\u00e8me fra\u00eeche fouett\u00e9e, du jus de citron, un brin d&#8217;aneth et de la g\u00e9latine pour assurer le maintien au froid.<\/p>\n\n\n\n<h3 id=\"quelle-est-la-recette-de-saumon-pour-manger-froid\" class=\"wp-block-heading\"><strong>Quelle est la recette de saumon pour manger froid ?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Outre la terrine, plusieurs recettes \u00e0 base de saumon se pr\u00eatent id\u00e9alement \u00e0 une d\u00e9gustation froide :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Le pav\u00e9 de saumon poch\u00e9 au court-bouillon :<\/strong> Servis froid avec une sauce mousseline ou mayonnaise ciboulette.<\/li>\n\n\n\n<li><strong>Le gravlax de saumon :<\/strong> Filet de saumon marin\u00e9 au gros sel, sucre, poivre et aneth fra\u00eeche pendant 24 \u00e0 48 heures.<\/li>\n\n\n\n<li><strong>Rillettes de saumon :<\/strong> M\u00e9lange de saumon cuit \u00e0 la vapeur, de saumon fum\u00e9, de fromage frais (type St Mor\u00eat ou Ricotta), de citron et de ciboulette, \u00e0 tartiner sur du pain grill\u00e9.<\/li>\n<\/ul>\n\n\n\n<h3 id=\"quelle-est-la-recette-de-la-terrine-de-saumon-de-cyril-lignac\" class=\"wp-block-heading\"><strong>Quelle est la recette de la terrine de saumon de Cyril Lignac ?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La version c\u00e9l\u00e8bre du chef Cyril Lignac se distingue par sa grande l\u00e9g\u00e8ret\u00e9 et sa gourmandise. Sa recette privil\u00e9gie une alliance entre <a href=\"https:\/\/www.lacuisinedenat.com\/archives\/2016\/07\/25\/34118493.html\" target=\"_blank\" rel=\"noopener\">saumon<\/a> cuit \u00e0 basse temp\u00e9rature et saumon fum\u00e9, li\u00e9s avec un m\u00e9lange de mascarpone, de cr\u00e8me liquide enti\u00e8re mont\u00e9e en chantilly, d&#8217;aneth, de zeste de citron vert et une touche de piment d&#8217;Espelette pour relever le tout. Cyril Lignac y ajoute parfois une fine couche de gel\u00e9e au citron ou un c\u0153ur d&#8217;avocat au centre pour apporter un contraste de textures et de couleurs \u00e0 la coupe.<\/p>\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\/terrine-froide-de-saumon\/print\/8812\/\">Print<\/a><span class=\"tasty-recipes-jump-target\" id=\"tasty-recipes-8812-jump-target\" style=\"display:block;padding-top:2px;margin-top:-2px;\"><\/span><div id=\"tasty-recipes-8812\" data-tr-id=\"8812\" class=\"tasty-recipes tasty-recipes-8812 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\/09\/image_1200x800_1790688762072-150x150.webp\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" data-pin-nopin=\"true\" data-pin-description=\"Terrine froide de saumon : La recette facile, fra\u00eeche et raffin\u00e9e\" data-pin-title=\"Terrine froide de saumon : La recette facile, fra\u00eeche et raffin\u00e9e\" data-pin-url=\"https:\/\/inasrecipes.com\/fr\/terrine-froide-de-saumon\/?tp_image_id=8815\" 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\">Terrine froide de saumon : La recette facile, fra\u00eeche et raffin\u00e9e<\/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\">4 heures 39 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=\"1\">1<\/span> terrine <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\/terrine-froide-de-saumon\/print\/8812\/\" 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%2Fterrine-froide-de-saumon%2F\" href=\"https:\/\/www.pinterest.com\/pin\/create\/bookmarklet\/?url=https%3A%2F%2Finasrecipes.com%2Ffr%2Fterrine-froide-de-saumon%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>Une terrine fra\u00eeche et \u00e9l\u00e9gante au saumon fum\u00e9, surimi et \u0153ufs durs, li\u00e9e par une pr\u00e9paration cr\u00e9meuse aux herbes et au citron.<\/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><span data-amount=\"300\" data-unit=\"g\">300 g<\/span> de saumon fum\u00e9<\/li>\n<li><span data-amount=\"200\" data-unit=\"g\">200 g<\/span> de surimi<\/li>\n<li><span data-amount=\"3\">3<\/span> \u0153ufs<\/li>\n<li><span data-amount=\"200\" data-unit=\"g\">200 g<\/span> de cr\u00e8me fra\u00eeche \u00e9paisse<\/li>\n<li><span data-amount=\"150\" data-unit=\"g\">150 g<\/span> de mayonnaise<\/li>\n<li><span data-amount=\"6\" data-unit=\"g\">6 g<\/span> de g\u00e9latine en feuilles (environ <span data-amount=\"3\">3<\/span> feuilles standard)<\/li>\n<li><span data-amount=\"20\">20<\/span> ml de jus de citron<\/li>\n<li><span data-amount=\"15\" data-unit=\"g\">15 g<\/span> d&#8217;herbes fra\u00eeches (aneth, persil plat, ciboulette)<\/li>\n<li><span data-amount=\"4\" data-unit=\"g\">4 g<\/span> de sel fin<\/li>\n<li><span data-amount=\"1\" data-unit=\"g\">1 g<\/span> de poivre noir moulu<\/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_6adec1adec5db_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_6adec1adec5db_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\">Tapissez un moule \u00e0 cake ou \u00e0 terrine d&#8217;environ 22 \u00d7 10 cm avec du film alimentaire en le laissant largement d\u00e9passer sur les c\u00f4t\u00e9s.<\/li>\n<li id=\"instruction-step-2\">Portez une casserole d&#8217;eau \u00e0 \u00e9bullition et plongez-y les \u0153ufs. Faites-les cuire pendant 9 minutes dans une eau fr\u00e9missante, puis plongez-les imm\u00e9diatement dans un bol d&#8217;eau glac\u00e9e.<\/li>\n<li id=\"instruction-step-3\">\u00c9calez les \u0153ufs refroidis et coupez-les en morceaux r\u00e9guliers en conservant le jaune et le blanc bien distincts.<\/li>\n<li id=\"instruction-step-4\">Faites tremper les feuilles de g\u00e9latine dans un grand bol d&#8217;eau froide pendant 5 minutes. Essorez-les soigneusement.<\/li>\n<li id=\"instruction-step-5\">Chauffez doucement 3 cuill\u00e8res \u00e0 soupe de cr\u00e8me fra\u00eeche \u00e9paisse jusqu&#8217;\u00e0 environ 60 \u00b0C. Retirez du feu, ajoutez la g\u00e9latine essor\u00e9e et m\u00e9langez jusqu&#8217;\u00e0 dissolution compl\u00e8te, sans faire bouillir.<\/li>\n<li id=\"instruction-step-6\">Dans un saladier, fouettez le reste de la cr\u00e8me fra\u00eeche avec la mayonnaise, le jus de citron, les herbes fra\u00eeches finement hach\u00e9es, le sel et le poivre jusqu&#8217;\u00e0 obtenir une pr\u00e9paration lisse et l\u00e9g\u00e8rement nappante.<\/li>\n<li id=\"instruction-step-7\">Incorporez la cr\u00e8me g\u00e9latin\u00e9e ti\u00e9die \u00e0 la pr\u00e9paration cr\u00e9meuse froide en m\u00e9langeant vivement jusqu&#8217;\u00e0 obtenir une pr\u00e9paration homog\u00e8ne.<\/li>\n<li id=\"instruction-step-8\">Tapissez le fond et les parois du moule avec une partie des tranches de saumon fum\u00e9 en les faisant l\u00e9g\u00e8rement se chevaucher.<\/li>\n<li id=\"instruction-step-9\">\u00c9talez une premi\u00e8re couche uniforme de pr\u00e9paration cr\u00e9meuse sur le fond tapiss\u00e9 de saumon.<\/li>\n<li id=\"instruction-step-10\">Coupez le surimi en tron\u00e7ons d&#8217;environ 1,5 \u00e0 2 cm.<\/li>\n<li id=\"instruction-step-11\">R\u00e9partissez en couches successives le reste du saumon fum\u00e9, les tron\u00e7ons de surimi et les morceaux d&#8217;\u0153ufs durs, en intercalant de la pr\u00e9paration cr\u00e9meuse entre chaque ingr\u00e9dient.<\/li>\n<li id=\"instruction-step-12\">Versez le reste de la pr\u00e9paration cr\u00e9meuse sur le dessus. Tapotez doucement le moule sur le plan de travail pour \u00e9liminer les \u00e9ventuelles poches d&#8217;air, puis rabattez le film alimentaire sur la surface.<\/li>\n<li id=\"instruction-step-13\">Placez la terrine au r\u00e9frig\u00e9rateur sous une l\u00e9g\u00e8re pression \u00e0 4 \u00b0C pendant au moins 4 heures, id\u00e9alement toute une nuit.<\/li>\n<li id=\"instruction-step-14\">D\u00e9moulez d\u00e9licatement la terrine sur un plat de service rectangulaire froid et retirez le film alimentaire.<\/li>\n<li id=\"instruction-step-15\">Tranchez avec un couteau \u00e0 lame fine bien aiguis\u00e9e, pr\u00e9alablement tremp\u00e9 dans l&#8217;eau chaude et essuy\u00e9 entre chaque tranche.<\/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<p>Pour une d\u00e9coupe nette et \u00e9l\u00e9gante, laissez la terrine prendre suffisamment au froid, id\u00e9alement toute une nuit. Utilisez un couteau bien aiguis\u00e9 et essuyez la lame entre chaque tranche.<\/p>\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\">30 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\">9 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\">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<\/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\">0<\/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\">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\">Sodium:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-sodium\">0mg<\/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\">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\">Saturated Fat:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-saturated-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\">Unsaturated Fat:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-unsaturated-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\">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\">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\">Fiber:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-fiber\">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\">Protein:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-protein\">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\">Cholesterol:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-cholesterol\">0mg<\/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\":8811};\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>La terrine froide de saumon est un incontournable de la gastronomie fran\u00e7aise lorsqu&#8217;il s&#8217;agit d&#8217;\u00e9pater ses convives sans passer ses journ\u00e9es en &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Terrine froide de saumon : La recette facile, fra\u00eeche et raffin\u00e9e\" class=\"read-more button\" href=\"https:\/\/inasrecipes.com\/fr\/terrine-froide-de-saumon\/#more-8811\" aria-label=\"En savoir plus sur Terrine froide de saumon : La recette facile, fra\u00eeche et raffin\u00e9e\">Voir la recette<\/a><\/p>","protected":false},"author":2,"featured_media":8815,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"googlesitekit_rrm_CAownpvBDA:productID":"","footnotes":""},"categories":[61],"tags":[],"class_list":["post-8811","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\/8811","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=8811"}],"version-history":[{"count":1,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/posts\/8811\/revisions"}],"predecessor-version":[{"id":8816,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/posts\/8811\/revisions\/8816"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/media\/8815"}],"wp:attachment":[{"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/media?parent=8811"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/categories?post=8811"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/tags?post=8811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}