{"id":7064,"date":"2026-07-12T15:29:10","date_gmt":"2026-07-12T15:29:10","guid":{"rendered":"https:\/\/inasrecipes.com\/?p=7064"},"modified":"2026-07-12T15:29:11","modified_gmt":"2026-07-12T15:29:11","slug":"recette-verrines-thon-fromage-frais","status":"publish","type":"post","link":"https:\/\/inasrecipes.com\/fr\/recette-verrines-thon-fromage-frais\/","title":{"rendered":"Verrines thon et fromage frais"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Lorsque vous organisez un ap\u00e9ritif d\u00eenatoire, que vous recevez des proches pour un repas d&#8217;\u00e9t\u00e9 ou que vous cherchez une entr\u00e9e color\u00e9e et l\u00e9g\u00e8re, servir des amuse-bouches mous ou fades peut g\u00e2cher l&#8217;ambiance. Si vous voulez bluffer vos invit\u00e9s avec des contenants transparents qui d\u00e9voilent des couches graphiques impeccables, une texture cr\u00e9meuse et des d\u00e9s de l\u00e9gumes ultra-croquants, ma\u00eetriser la recette des <strong>Verrines thon et fromage frais<\/strong> est votre atout ma\u00eetre. Ce classique des tables ensoleill\u00e9es associe la gourmandise d&#8217;une mousse marine acidul\u00e9e \u00e0 la fra\u00eecheur croquante du potager.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sur <strong><a href=\"https:\/\/inasrecipes.com\" data-type=\"link\" data-id=\"inasrecipes.com\">inasrecipes.com<\/a><\/strong>, nous aimons d\u00e9cortiquer la petite science culinaire qui transforme des ingr\u00e9dients simples en verres de chef. Le probl\u00e8me r\u00e9current avec les verrines ? Des couches qui se m\u00e9langent \u00e0 cause d&#8217;un exc\u00e8s de liquide ou des l\u00e9gumes qui rendent leur eau et d\u00e9trempent la base laiti\u00e8re. En comprenant les principes de la stabilisation des \u00e9mulsions \u00e0 froid, de l&#8217;exsudation aqueuse et de la d\u00e9coupe g\u00e9om\u00e9trique, vos verrines resteront impeccables du r\u00e9frig\u00e9rateur jusqu&#8217;\u00e0 la table.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/inasrecipes.com\/salade-dharicots-verts-tomates-thon-fraiche-complete\/\">Salade d\u2019Haricots Verts, Tomates &amp; Thon | Fra\u00eeche &amp; Compl\u00e8te<\/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=\"#ingredients-pour-4-a-6-verrines\">Ingr\u00e9dients (Pour 4 \u00e0 6 Verrines)<\/a><\/li><li><a href=\"#instructions\">Instructions<\/a><\/li><li><a href=\"#quel-fromage-associer-avec-le-thon\">Quel fromage associer avec le thon ?<\/a><\/li><li><a href=\"#le-thon-se-marie-t-il-bien-avec-le-fromage\">Le thon se marie-t-il bien avec le fromage ?<\/a><\/li><li><a href=\"#le-thon-et-le-fromage-cest-bon\">Le thon et le fromage, c&#8217;est bon ?<\/a><\/li><li><a href=\"#quels-aliments-se-marient-bien-avec-le-thon-en-conserve\">Quels aliments se marient bien avec le thon en conserve ?<\/a><\/li><li><a href=\"#le-thon-est-il-bon-pour-le-coeur\">Le thon est-il bon pour le c\u0153ur ?<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">La Science de la Verrine : \u00c9mulsion Stable et Pression Osmotique<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Superposer des textures cr\u00e9meuses et des l\u00e9gumes juteux dans un espace clos demande un strict contr\u00f4le de l&#8217;eau et des mati\u00e8res grasses :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>La Stabilisation de l&#8217;\u00c9mulsion \u00e0 Froid :<\/strong> M\u00e9langer du thon en bo\u00eete avec un fromage frais (comme le St M\u00f4ret) ne sert pas seulement \u00e0 lier les saveurs. Le fromage frais sert de matrice lipidique textur\u00e9e. En le fouettant avec un filet d&#8217;huile d&#8217;olive et de jus de citron, les prot\u00e9ines laiti\u00e8res pi\u00e8gent l&#8217;humidit\u00e9 naturelle du thon. Cela cr\u00e9e une texture ferme mais a\u00e9r\u00e9e qui supporte le poids des couches sup\u00e9rieures sans s&#8217;effondrer.<\/li>\n\n\n\n<li><strong>Le Pi\u00e9geage de l&#8217;Exsudation Aqueuse :<\/strong> Le concombre et la tomate sont compos\u00e9s \u00e0 plus de 90 % d&#8217;eau. Si vous les coupez et les salez imm\u00e9diatement, l&#8217;eau sort des cellules par <em>osmose<\/em>, transformant votre verrine en soupe. Pour \u00e9viter cela, les l\u00e9gumes doivent \u00eatre \u00e9p\u00e9pin\u00e9s rigoureusement, coup\u00e9s et d\u00e9licatement s\u00e9ch\u00e9s sur du papier absorbant avant l&#8217;assemblage.<\/li>\n\n\n\n<li><strong>La Densit\u00e9 G\u00e9om\u00e9trique des Couches :<\/strong> Pour que le visuel soit net, l&#8217;ordre des facteurs compte. La couche la plus dense et visqueuse (la mousse de thon) se place au fond pour ancrer la verrine. Les d\u00e9s de tomates, plus lourds, viennent ensuite, surmont\u00e9s par les d\u00e9s de concombre, plus l\u00e9gers, garantissant des lignes de d\u00e9marcation parfaites.<\/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\/recette-verrines-thon-fromage-frais\/?tp_image_id=7066\" data-pin-title=\"Verrines thon et fromage frais\" data-pin-description=\"Verrines thon et fromage frais\" src=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/07\/image_1200x800_1783869322741-1024x683.webp\" alt=\"\" class=\"wp-image-7066\" title=\"\" srcset=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/07\/image_1200x800_1783869322741-1024x683.webp 1024w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/07\/image_1200x800_1783869322741-300x200.webp 300w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/07\/image_1200x800_1783869322741-768x512.webp 768w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/07\/image_1200x800_1783869322741.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Recette : Verrines thon et fromage frais<\/h2>\n\n\n\n<h3 id=\"ingredients-pour-4-a-6-verrines\" class=\"wp-block-heading\"><strong>Ingr\u00e9dients<\/strong> (Pour 4 \u00e0 6 Verrines)<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>La Mousse Marine Cr\u00e9meuse<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>200g de thon en bo\u00eete (\u00e9goutt\u00e9)<\/li>\n\n\n\n<li>150g de fromage frais (type St M\u00f4ret)<\/li>\n\n\n\n<li>1 cuill\u00e8re \u00e0 soupe de jus de citron (pour r\u00e9veiller les saveurs et blanchir la texture)<\/li>\n\n\n\n<li>1 cuill\u00e8re \u00e0 soupe d&#8217;huile d&#8217;olive extra vierge<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Les Couches Potag\u00e8res Croquantes<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1 tomate dense (type Roma ou grappe)<\/li>\n\n\n\n<li>1\/2 concombre<\/li>\n\n\n\n<li>Quelques brins de ciboulette fra\u00eeche cisel\u00e9e (pour la finition)<\/li>\n<\/ul>\n\n\n\n<h3 id=\"instructions\" class=\"wp-block-heading\"><strong>Instructions<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u202b1.Cr\u00e9ation de la Mousse de Thon Emulsifi\u00e9e:<\/strong>\u200f5 min.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans un r\u00e9cipient ou le bol d&#8217;un petit mixeur, d\u00e9posez les 200g de thon bien \u00e9goutt\u00e9 et les 150g de fromage frais. Ajoutez la cuill\u00e8re \u00e0 soupe d&#8217;huile d&#8217;olive et la cuill\u00e8re \u00e0 soupe de jus de citron. Mixez ou \u00e9crasez vigoureusement \u00e0 la fourchette jusqu&#8217;\u00e0 l&#8217;obtention d&#8217;une cr\u00e8me homog\u00e8ne, lisse et tartinable. R\u00e9servez au frais pour raffermir la structure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u202b2.D\u00e9coupe Horlog\u00e8re et D\u00e9shydratation des V\u00e9g\u00e9taux:<\/strong>\u200f8 min.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Coupez votre tomate en quatre, retirez compl\u00e8tement les graines et le jus central pour ne garder que la chair ferme. Faites de m\u00eame pour le demi-concombre en retirant la partie centrale spongieuse riche en eau. Taillez la chair de la tomate et du concombre en petits d\u00e9s tr\u00e8s r\u00e9guliers (brunoise). D\u00e9posez-les bri\u00e8vement sur du papier absorbant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u202b3.L&#8217;Architecture et le Montage des Couches:<\/strong>\u200f5 min.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Munissez-vous de vos verrines transparentes. \u00c0 l&#8217;aide d&#8217;une poche \u00e0 douille (ou d&#8217;une petite cuill\u00e8re en veillant \u00e0 ne pas salir les parois), r\u00e9partissez la mousse de thon et fromage frais \u00e9quitablement au fond de chaque verre. Ajoutez ensuite une couche r\u00e9guli\u00e8re de d\u00e9s de tomates, puis terminez par la couche de d\u00e9s de concombres.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u202b4.Le Repos Thermique et la Touche Finale:<\/strong>\u200f1 hour.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Parsemez le dessus de vos verrines avec la ciboulette fra\u00eechement cisel\u00e9e. Placez les verrines au r\u00e9frig\u00e9rateur pendant <strong>au moins 1 heure<\/strong> avant de servir. Ce passage au froid permet aux graisses de la mousse de se figer pleinement et garantit une d\u00e9gustation \u00e0 temp\u00e9rature id\u00e9ale.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"683\" data-pin-url=\"https:\/\/inasrecipes.com\/fr\/recette-verrines-thon-fromage-frais\/?tp_image_id=7067\" data-pin-title=\"Verrines thon et fromage frais\" data-pin-description=\"Verrines thon et fromage frais\" src=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/07\/image_1200x800_1783869335759-1024x683.webp\" alt=\"\" class=\"wp-image-7067\" title=\"\" srcset=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/07\/image_1200x800_1783869335759-1024x683.webp 1024w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/07\/image_1200x800_1783869335759-300x200.webp 300w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/07\/image_1200x800_1783869335759-768x512.webp 768w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/07\/image_1200x800_1783869335759.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Foire Aux Questions (FAQ)<\/h2>\n\n\n\n<h3 id=\"quel-fromage-associer-avec-le-thon\" class=\"wp-block-heading\"><strong>Quel fromage associer avec le thon ?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le meilleur fromage \u00e0 associer avec le thon est <strong>un fromage frais \u00e0 p\u00e2te fra\u00eeche et tartinable (comme le St M\u00f4ret, le Philadelphia ou du fromage de ch\u00e8vre frais)<\/strong>. Sa texture mall\u00e9able et sa douceur lact\u00e9e enrobent parfaitement les fibres parfois s\u00e8ches du thon en conserve sans masquer son go\u00fbt marin.<\/p>\n\n\n\n<h3 id=\"le-thon-se-marie-t-il-bien-avec-le-fromage\" class=\"wp-block-heading\"><strong>Le thon se marie-t-il bien avec le fromage ?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Oui, <strong>le thon et le fromage forment un duo culinaire remarquable et tr\u00e8s \u00e9quilibr\u00e9<\/strong>. La texture s&#8217;en trouve sublim\u00e9e (le gras textur\u00e9 du fromage compense le c\u00f4t\u00e9 sec du poisson) et les saveurs se compl\u00e8tent, la note sal\u00e9e du thon coupant la neutralit\u00e9 cr\u00e9meuse du laitage.<\/p>\n\n\n\n<h3 id=\"le-thon-et-le-fromage-cest-bon\" class=\"wp-block-heading\"><strong>Le thon et le fromage, c&#8217;est bon ?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">C&#8217;est <strong>excellent, particuli\u00e8rement dans des pr\u00e9parations froides comme des rillettes, des tartinades ou des verrines ap\u00e9ritives<\/strong>. Cette association apporte \u00e0 la fois de la gourmandise, une belle onctuosit\u00e9 en bouche et une excellente valeur nutritionnelle en combinant prot\u00e9ines marines et laiti\u00e8res.<\/p>\n\n\n\n<h3 id=\"quels-aliments-se-marient-bien-avec-le-thon-en-conserve\" class=\"wp-block-heading\"><strong>Quels aliments se marient bien avec le thon en conserve ?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le thon en conserve s&#8217;associe id\u00e9alement avec <strong>les ingr\u00e9dients acides et croquants comme le jus de citron, les c\u00e2pres, les cornichons, les oignons rouges, ainsi que les l\u00e9gumes d&#8217;\u00e9t\u00e9 riches en eau comme la tomate et le concombre<\/strong>. L&#8217;huile d&#8217;olive et les herbes fra\u00eeches (ciboulette, aneth) compl\u00e8tent parfaitement ce profil m\u00e9diterran\u00e9en.<\/p>\n\n\n\n<h3 id=\"le-thon-est-il-bon-pour-le-coeur\" class=\"wp-block-heading\"><strong>Le thon est-il bon pour le c\u0153ur ?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Oui, <strong>le thon est excellent pour le syst\u00e8me cardiovasculaire<\/strong>. C&#8217;est un poisson riche en acides gras insatur\u00e9s, notamment en <strong>om\u00e9ga-3<\/strong>, qui contribuent activement \u00e0 r\u00e9guler le taux de cholest\u00e9rol, \u00e0 maintenir une bonne \u00e9lasticit\u00e9 des vaisseaux sanguins et \u00e0 r\u00e9duire les risques de troubles cardiaques.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"683\" data-pin-url=\"https:\/\/inasrecipes.com\/fr\/recette-verrines-thon-fromage-frais\/?tp_image_id=7068\" data-pin-title=\"Verrines thon et fromage frais\" data-pin-description=\"Verrines thon et fromage frais\" src=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/07\/image_1200x800_1783869430750-1024x683.webp\" alt=\"\" class=\"wp-image-7068\" title=\"\" srcset=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/07\/image_1200x800_1783869430750-1024x683.webp 1024w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/07\/image_1200x800_1783869430750-300x200.webp 300w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/07\/image_1200x800_1783869430750-768x512.webp 768w, https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/07\/image_1200x800_1783869430750.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le visuel graphique et la fra\u00eecheur en bouche de nos <strong>Verrines thon et fromage frais<\/strong> prouvent que les entr\u00e9es simples atteignent l&#8217;excellence quand on respecte la gestion de l&#8217;eau des l\u00e9gumes. En cr\u00e9ant une base laiti\u00e8re ferme et en s\u00e9chant bien vos d\u00e9s de tomates et concombres, vous offrez \u00e0 vos convives une mise en bouche digne d&#8217;un traiteur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour d\u00e9couvrir d&#8217;autres recettes d&#8217;ap\u00e9ro graphiques, des techniques de d\u00e9coupe en brunoise et des fiches d&#8217;associations de <a href=\"https:\/\/www.allrecipes.com\/recipe\/279937\/italian-flag-verrines\/\" target=\"_blank\" rel=\"noopener\">saveurs<\/a> marines, rejoignez notre communaut\u00e9 sur <strong><a href=\"https:\/\/inasrecipes.com\" data-type=\"link\" data-id=\"inasrecipes.com\">inasrecipes.com<\/a><\/strong> !<\/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\/recette-verrines-thon-fromage-frais\/print\/7065\/\">Print<\/a><span class=\"tasty-recipes-jump-target\" id=\"tasty-recipes-7065-jump-target\" style=\"display:block;padding-top:2px;margin-top:-2px;\"><\/span><div id=\"tasty-recipes-7065\" data-tr-id=\"7065\" class=\"tasty-recipes tasty-recipes-7065 tasty-recipes-display tasty-recipes-has-image\" style=\"border-color: #EEF1E6 !important;\" data-tasty-recipes-customization=\"primary-color.border-color\">\n\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"display: none;\"><defs><symbol id=\"tasty-recipes-icon-clock\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>clock<\/title> <desc>clock icon<\/desc><path d=\"M22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z\" fill=\"currentColor\" \/><\/symbol><symbol id=\"tasty-recipes-icon-cutlery\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>cutlery<\/title> <desc>cutlery icon<\/desc><path d=\"M11 9H9V2H7v7H5V2H3v7c0 2.12 1.66 3.84 3.75 3.97V22h2.5v-9.03C11.34 12.84 13 11.12 13 9V2h-2v7zm5-3v8h2.5v8H21V2c-2.76 0-5 2.24-5 4z\" fill=\"currentColor\" \/><\/symbol><symbol id=\"tasty-recipes-icon-flag\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>flag<\/title> <desc>flag icon<\/desc><path d=\"M14.4 6L14 4H5v17h2v-7h5.6l.4 2h7V6z\" fill=\"currentColor\"\/><\/symbol><symbol id=\"tasty-recipes-icon-folder\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>folder<\/title> <desc>folder icon<\/desc><path d=\"M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z\" fill=\"currentColor\" \/><\/symbol><symbol id=\"tasty-recipes-icon-instagram\" viewBox=\"0 0 448 512\"><title>instagram<\/title> <desc>instagram icon<\/desc><path fill=\"currentColor\" d=\"M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z\"><\/path><\/symbol><symbol id=\"tasty-recipes-icon-pinterest\" viewBox=\"0 0 384 512\"><title>pinterest<\/title> <desc>pinterest icon<\/desc><path fill=\"currentColor\" d=\"M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z\" \/><\/symbol><symbol id=\"tasty-recipes-icon-facebook\" viewBox=\"0 0 448 512\"><title>facebook<\/title> <desc>facebook icon<\/desc><path fill=\"currentColor\" d=\"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z\" \/><\/symbol><symbol id=\"tasty-recipes-icon-print\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>print<\/title> <desc>print icon<\/desc><path d=\"M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z\" fill=\"currentColor\" \/><\/symbol><symbol id=\"tasty-recipes-icon-squares\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><title>squares<\/title> <desc>squares icon<\/desc><path d=\"M22 9V7h-2V5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-2h2v-2h-2v-2h2v-2h-2V9h2zm-4 10H4V5h14v14zM6 13h5v4H6zm6-6h4v3h-4zM6 7h5v5H6zm6 4h4v6h-4z\" fill=\"currentColor\" \/><\/symbol><symbol id=\"tasty-recipes-icon-heart-regular\" viewBox=\"0 0 512 512\"><title>heart<\/title> <desc>heart icon<\/desc><path fill=\"currentColor\" d=\"M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z\"><\/path><\/symbol><symbol id=\"tasty-recipes-icon-heart-solid\" viewBox=\"0 0 512 512\"><title>heart solid<\/title> <desc>heart solid icon<\/desc><path fill=\"currentColor\" d=\"M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z\"><\/path><\/symbol><\/defs><\/svg>\n<header class=\"tasty-recipes-entry-header\" style=\"background: #EEF1E6 !important;\" data-tasty-recipes-customization=\"primary-color.background\">\n\t\t\t<div class=\"tasty-recipes-image\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" style=\"border-color: #EEF1E6 !important;\" data-tasty-recipes-customization=\"primary-color.border-color\" width=\"150\" height=\"150\" src=\"https:\/\/inasrecipes.com\/wp-content\/uploads\/2026\/07\/image_1200x800_1783869721199-150x150.webp\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" data-pin-nopin=\"true\" data-pin-description=\"Verrines thon et fromage frais\" data-pin-title=\"Verrines thon et fromage frais\" data-pin-url=\"https:\/\/inasrecipes.com\/fr\/recette-verrines-thon-fromage-frais\/?tp_image_id=7069\" 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\">Verrines thon et fromage frais<\/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\">1 hour 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=\"4\">4<\/span> \u00e0 6 verrines <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\/recette-verrines-thon-fromage-frais\/print\/7065\/\" 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%2Frecette-verrines-thon-fromage-frais%2F\" href=\"https:\/\/www.pinterest.com\/pin\/create\/bookmarklet\/?url=https%3A%2F%2Finasrecipes.com%2Ffr%2Frecette-verrines-thon-fromage-frais%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>De d\u00e9licieuses verrines fra\u00eeches au thon et fromage frais, accompagn\u00e9es de tomates, concombre et ciboulette. Une entr\u00e9e \u00e9l\u00e9gante, l\u00e9g\u00e8re et facile \u00e0 pr\u00e9parer, parfaite pour l&#8217;ap\u00e9ritif ou les repas d&#8217;\u00e9t\u00e9.<\/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=\"200\" data-unit=\"g\">200g<\/span> de thon en bo\u00eete, \u00e9goutt\u00e9<\/li>\n<li><span data-amount=\"150\" data-unit=\"g\">150g<\/span> de fromage frais (type St M\u00f4ret)<\/li>\n<li><span data-amount=\"1\">1<\/span> cuill\u00e8re \u00e0 soupe de jus de citron<\/li>\n<li><span data-amount=\"1\">1<\/span> cuill\u00e8re \u00e0 soupe d&#8217;huile d&#8217;olive extra vierge<\/li>\n<li><span data-amount=\"1\">1<\/span> tomate dense (type Roma ou grappe)<\/li>\n<li><span data-amount=\"0.5\">1\/2<\/span> concombre<\/li>\n<li>Quelques brins de ciboulette fra\u00eeche cisel\u00e9e<\/li>\n<\/ul>\n<!--INSIDE_INGREDIENTS-->\t\t\t<\/div>\n\t\t\t<div class=\"tasty-recipes-cook-mode\">\n\t<div class=\"tasty-recipes-cook-mode__container\">\n\t\t<label class=\"tasty-recipes-cook-mode__switch\">\n\t\t\t<input type=\"checkbox\" id=\"tasty_recipes_6adc70e9dd4f4_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_6adc70e9dd4f4_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\">M\u00e9langez le thon \u00e9goutt\u00e9, le fromage frais, le jus de citron et l&#8217;huile d&#8217;olive jusqu&#8217;\u00e0 obtenir une mousse lisse et homog\u00e8ne. R\u00e9servez au r\u00e9frig\u00e9rateur.<\/li>\n<li id=\"instruction-step-2\">Retirez les graines de la tomate et du concombre puis coupez-les en petits d\u00e9s r\u00e9guliers. D\u00e9posez-les sur du papier absorbant pour \u00e9liminer l&#8217;exc\u00e8s d&#8217;humidit\u00e9.<\/li>\n<li id=\"instruction-step-3\">R\u00e9partissez la mousse de thon au fond des verrines. Ajoutez une couche de d\u00e9s de tomates puis une couche de d\u00e9s de concombre.<\/li>\n<li id=\"instruction-step-4\">Parsemez de ciboulette cisel\u00e9e.<\/li>\n<li id=\"instruction-step-5\">Placez les verrines au r\u00e9frig\u00e9rateur pendant au moins 1 heure avant de servir bien fra\u00eeches.<\/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>Pr\u00e9parez les verrines quelques heures \u00e0 l&#8217;avance pour permettre aux saveurs de bien se d\u00e9velopper. Utilisez des l\u00e9gumes bien fermes pour une meilleure tenue et une belle pr\u00e9sentation.<\/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\">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 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 verrine<\/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\">180<\/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\">2g<\/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\">330mg<\/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\">12g<\/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\">5g<\/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\">6g<\/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\">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\">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\">15g<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\">Cholesterol:<\/strong> <span style=\"color: #292A25 !important;\" data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-cholesterol\">35mg<\/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\":7064};\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\n\n<p class=\"wp-block-paragraph\"><\/p>\n\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>Lorsque vous organisez un ap\u00e9ritif d\u00eenatoire, que vous recevez des proches pour un repas d&#8217;\u00e9t\u00e9 ou que vous cherchez une entr\u00e9e color\u00e9e &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Verrines thon et fromage frais\" class=\"read-more button\" href=\"https:\/\/inasrecipes.com\/fr\/recette-verrines-thon-fromage-frais\/#more-7064\" aria-label=\"En savoir plus sur Verrines thon et fromage frais\">Voir la recette<\/a><\/p>","protected":false},"author":2,"featured_media":7069,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"googlesitekit_rrm_CAownpvBDA:productID":"","footnotes":""},"categories":[61],"tags":[],"class_list":["post-7064","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\/7064","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=7064"}],"version-history":[{"count":1,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/posts\/7064\/revisions"}],"predecessor-version":[{"id":7070,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/posts\/7064\/revisions\/7070"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/media\/7069"}],"wp:attachment":[{"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/media?parent=7064"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/categories?post=7064"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inasrecipes.com\/fr\/wp-json\/wp\/v2\/tags?post=7064"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}