[{"data":1,"prerenderedAt":2063},["ShallowReactive",2],{"\u002Fetudes-de-cas\u002Foverlay-bloque-les-clics-firefox-cas-la-rosee\u002F":3,"\u002Fetudes-de-cas\u002Foverlay-bloque-les-clics-firefox-cas-la-rosee\u002F-surroundings":2059},{"id":4,"title":5,"author":6,"body":7,"brand":2036,"criticality":2037,"date":2040,"date_bug_fixed":2041,"date_bug_found":2042,"date_bug_sent":2042,"description":36,"extension":2043,"indexable":37,"meta":2044,"navigation":37,"path":2045,"platform":2046,"seo":2047,"site_url":2048,"sitemap":2049,"stack":2050,"stem":2052,"teaser":2053,"themes":2054,"updatedAt":2041,"visibility":2057,"__hash__":2058},"etudesdecas\u002Fetudes-de-cas\u002F01.overlay-bloque-les-clics-firefox-cas-la-rosee.md","L'overlay du menu bloque les clics sur Firefox - le cas La Rosée","Thomas Simonet",{"type":8,"value":9,"toc":2022},"minimark",[10,15,19,22,26,39,42,45,48,51,55,58,64,68,417,428,431,483,491,495,498,546,558,562,582,586,591,1466,1469,1473,1917,1920,1938,1942,1972,1976,1984,1990,1993,2019],[11,12,14],"h2",{"id":13},"contexte","Contexte",[16,17,18],"p",{},"L'utilisateur arrive sur la homepage et navigue sur une page catégorie et ne parvient pas à cliquer sur les boutons pour visualiser un produit qui l'intéresse.",[16,20,21],{},"L'utilisateur quitte le site et ne reviendra probablement jamais.",[11,23,25],{"id":24},"reproduction-du-problème","Reproduction du problème",[27,28,30],"div",{"style":29},"position: relative; padding-bottom: 56.25%; height: 0;",[31,32],"iframe",{"src":33,"loading":34,"frameBorder":35,"webkitallowfullscreen":36,"mozallowfullscreen":36,"allowFullScreen":37,"style":38},"https:\u002F\u002Fcap.so\u002Fembed\u002Fthcdr0vsjmftyvn","lazy","0","",true,"position: absolute; top: 0; left: 0; width: 100%; height: 100%;",[16,40,41],{},"La vidéo a été enregistrée le 14\u002F09\u002F2026 avec cap.so.",[16,43,44],{},"J'utilise le navigateur Firefox 155.0.1.",[16,46,47],{},"Le site tourne sous Shopify, avec un front headless Hydrogen, d'après les en-têtes HTTP du site.",[16,49,50],{},"Le bug ne touche ni Google Chrome ni les autres navigateurs sous le moteur de rendu Blink.",[11,52,54],{"id":53},"impact-potentiel","Impact potentiel",[16,56,57],{},"Il est possible que les utilisateurs de Firefox ne puissent pas utiliser correctement le site.",[59,60,61],"blockquote",{},[16,62,63],{},"À la rédaction de cet article, Firefox est utilisé par 7,35 % des utilisateurs en France (Source StatCounter).",[11,65,67],{"id":66},"la-cause","La cause",[69,70,74],"pre",{"className":71,"code":72,"language":73,"meta":36,"style":36},"language-css shiki shiki-themes github-dark-high-contrast","[data-state=closed]:is(._nav-menu-viewport_1uy2l_90,._search-content_1uy2l_91)+._overlay_1uy2l_102 {\n    animation: .2s linear forwards _fade-out_1uy2l_1;\n}\n\n:is(._nav-menu-viewport_1uy2l_90,._search-content_1uy2l_91)+._overlay_1uy2l_102 {\n    inset-inline: 0;\n    content: \"\";\n    background-color: #000;\n    height: 100vmax;\n    -webkit-backdrop-filter: blur(5px);\n    backdrop-filter: blur(5px);\n    position: absolute;\n    top: 100%;\n}\n\n@keyframes _fade-out_1uy2l_1 {\n    0% {\n        opacity: 1;\n        display: block;\n    }\n\n    100% {\n        opacity: 0;\n        display: none;\n    }    \n}\n","css",[75,76,77,128,152,158,164,185,198,211,224,240,262,280,293,308,313,318,330,338,351,364,370,375,383,394,406,412],"code",{"__ignoreMap":36},[78,79,82,86,90,94,98,101,104,107,110,113,116,119,122,125],"span",{"class":80,"line":81},"line",1,[78,83,85],{"class":84},"sMAXC","[",[78,87,89],{"class":88},"sCcAr","data-state",[78,91,93],{"class":92},"sWyjQ","=",[78,95,97],{"class":96},"sTRMh","closed",[78,99,100],{"class":84},"]",[78,102,103],{"class":88},":is",[78,105,106],{"class":84},"(",[78,108,109],{"class":88},"._nav-menu-viewport_1uy2l_90",[78,111,112],{"class":84},",",[78,114,115],{"class":88},"._search-content_1uy2l_91",[78,117,118],{"class":84},")",[78,120,121],{"class":92},"+",[78,123,124],{"class":88},"._overlay_1uy2l_102",[78,126,127],{"class":84}," {\n",[78,129,131,134,137,140,143,146,149],{"class":80,"line":130},2,[78,132,133],{"class":88},"    animation",[78,135,136],{"class":84},": ",[78,138,139],{"class":88},".2",[78,141,142],{"class":92},"s",[78,144,145],{"class":88}," linear",[78,147,148],{"class":88}," forwards",[78,150,151],{"class":84}," _fade-out_1uy2l_1;\n",[78,153,155],{"class":80,"line":154},3,[78,156,157],{"class":84},"}\n",[78,159,161],{"class":80,"line":160},4,[78,162,163],{"emptyLinePlaceholder":37},"\n",[78,165,167,169,171,173,175,177,179,181,183],{"class":80,"line":166},5,[78,168,103],{"class":88},[78,170,106],{"class":84},[78,172,109],{"class":88},[78,174,112],{"class":84},[78,176,115],{"class":88},[78,178,118],{"class":84},[78,180,121],{"class":92},[78,182,124],{"class":88},[78,184,127],{"class":84},[78,186,188,191,193,195],{"class":80,"line":187},6,[78,189,190],{"class":88},"    inset-inline",[78,192,136],{"class":84},[78,194,35],{"class":88},[78,196,197],{"class":84},";\n",[78,199,201,204,206,209],{"class":80,"line":200},7,[78,202,203],{"class":88},"    content",[78,205,136],{"class":84},[78,207,208],{"class":96},"\"\"",[78,210,197],{"class":84},[78,212,214,217,219,222],{"class":80,"line":213},8,[78,215,216],{"class":88},"    background-color",[78,218,136],{"class":84},[78,220,221],{"class":88},"#000",[78,223,197],{"class":84},[78,225,227,230,232,235,238],{"class":80,"line":226},9,[78,228,229],{"class":88},"    height",[78,231,136],{"class":84},[78,233,234],{"class":88},"100",[78,236,237],{"class":92},"vmax",[78,239,197],{"class":84},[78,241,243,246,248,251,253,256,259],{"class":80,"line":242},10,[78,244,245],{"class":88},"    -webkit-backdrop-filter",[78,247,136],{"class":84},[78,249,250],{"class":88},"blur",[78,252,106],{"class":84},[78,254,255],{"class":88},"5",[78,257,258],{"class":92},"px",[78,260,261],{"class":84},");\n",[78,263,265,268,270,272,274,276,278],{"class":80,"line":264},11,[78,266,267],{"class":88},"    backdrop-filter",[78,269,136],{"class":84},[78,271,250],{"class":88},[78,273,106],{"class":84},[78,275,255],{"class":88},[78,277,258],{"class":92},[78,279,261],{"class":84},[78,281,283,286,288,291],{"class":80,"line":282},12,[78,284,285],{"class":88},"    position",[78,287,136],{"class":84},[78,289,290],{"class":88},"absolute",[78,292,197],{"class":84},[78,294,296,299,301,303,306],{"class":80,"line":295},13,[78,297,298],{"class":88},"    top",[78,300,136],{"class":84},[78,302,234],{"class":88},[78,304,305],{"class":92},"%",[78,307,197],{"class":84},[78,309,311],{"class":80,"line":310},14,[78,312,157],{"class":84},[78,314,316],{"class":80,"line":315},15,[78,317,163],{"emptyLinePlaceholder":37},[78,319,321,324,328],{"class":80,"line":320},16,[78,322,323],{"class":92},"@keyframes",[78,325,327],{"class":326},"s_sBn"," _fade-out_1uy2l_1",[78,329,127],{"class":84},[78,331,333,336],{"class":80,"line":332},17,[78,334,335],{"class":88},"    0%",[78,337,127],{"class":84},[78,339,341,344,346,349],{"class":80,"line":340},18,[78,342,343],{"class":88},"        opacity",[78,345,136],{"class":84},[78,347,348],{"class":88},"1",[78,350,197],{"class":84},[78,352,354,357,359,362],{"class":80,"line":353},19,[78,355,356],{"class":88},"        display",[78,358,136],{"class":84},[78,360,361],{"class":88},"block",[78,363,197],{"class":84},[78,365,367],{"class":80,"line":366},20,[78,368,369],{"class":84},"    }\n",[78,371,373],{"class":80,"line":372},21,[78,374,163],{"emptyLinePlaceholder":37},[78,376,378,381],{"class":80,"line":377},22,[78,379,380],{"class":88},"    100%",[78,382,127],{"class":84},[78,384,386,388,390,392],{"class":80,"line":385},23,[78,387,343],{"class":88},[78,389,136],{"class":84},[78,391,35],{"class":88},[78,393,197],{"class":84},[78,395,397,399,401,404],{"class":80,"line":396},24,[78,398,356],{"class":88},[78,400,136],{"class":84},[78,402,403],{"class":88},"none",[78,405,197],{"class":84},[78,407,409],{"class":80,"line":408},25,[78,410,411],{"class":84},"    }    \n",[78,413,415],{"class":80,"line":414},26,[78,416,157],{"class":84},[16,418,419,420,427],{},"L'overlay est ajouté au DOM à l'ouverture du menu, mais est caché par l'animation \"_fade-out_1uy2l_1\" qui applique un \"display: none;\" et une \"opacity: 0;\" après l'exécution de l'animation (voir ",[421,422,426],"a",{"href":423,"rel":424},"https:\u002F\u002Fdeveloper.mozilla.org\u002Ffr\u002Fdocs\u002FWeb\u002FCSS\u002FReference\u002FProperties\u002Fanimation-fill-mode#forwards",[425],"nofollow","animation-fill-mode et la valeur forwards",").",[16,429,430],{},"Firefox ne prend pas en compte le \"display: none\" dans l'animation :",[69,432,436],{"className":433,"code":434,"language":435,"meta":36,"style":36},"language-js shiki shiki-themes github-dark-high-contrast","document.querySelector('._overlay_1uy2l_102').checkVisibility() \u002F\u002F True sur Firefox\ndocument.querySelector('._overlay_1uy2l_102').checkVisibility() \u002F\u002F False sur Google Chrome\n","js",[75,437,438,464],{"__ignoreMap":36},[78,439,440,443,447,449,452,454,457,460],{"class":80,"line":81},[78,441,442],{"class":84},"document.",[78,444,446],{"class":445},"sj_SG","querySelector",[78,448,106],{"class":84},[78,450,451],{"class":96},"'._overlay_1uy2l_102'",[78,453,427],{"class":84},[78,455,456],{"class":445},"checkVisibility",[78,458,459],{"class":84},"() ",[78,461,463],{"class":462},"sQrFR","\u002F\u002F True sur Firefox\n",[78,465,466,468,470,472,474,476,478,480],{"class":80,"line":130},[78,467,442],{"class":84},[78,469,446],{"class":445},[78,471,106],{"class":84},[78,473,451],{"class":96},[78,475,427],{"class":84},[78,477,456],{"class":445},[78,479,459],{"class":84},[78,481,482],{"class":462},"\u002F\u002F False sur Google Chrome\n",[16,484,485,486],{},"Mais pourquoi ? Firefox ne supporte pas encore les animations sur la propriété \"display\". Voir le ",[421,487,490],{"href":488,"rel":489},"https:\u002F\u002Fcaniuse.com\u002Fwf-display-animation",[425],"tableau de compatibilité sur caniuse",[11,492,494],{"id":493},"le-fix","Le fix",[16,496,497],{},"Dans ce cas précis, le fix le plus simple et rapide à déployer consiste à ajouter une propriété css :",[69,499,501],{"className":71,"code":500,"language":73,"meta":36,"style":36},":is(._nav-menu-viewport_1uy2l_90,._search-content_1uy2l_91)+._overlay_1uy2l_102 {\n    \u002F* Plus les autres propriétés *\u002F \n    pointer-events: none;\n}\n",[75,502,503,523,531,542],{"__ignoreMap":36},[78,504,505,507,509,511,513,515,517,519,521],{"class":80,"line":81},[78,506,103],{"class":88},[78,508,106],{"class":84},[78,510,109],{"class":88},[78,512,112],{"class":84},[78,514,115],{"class":88},[78,516,118],{"class":84},[78,518,121],{"class":92},[78,520,124],{"class":88},[78,522,127],{"class":84},[78,524,525,528],{"class":80,"line":130},[78,526,527],{"class":462},"    \u002F* Plus les autres propriétés *\u002F",[78,529,530],{"class":84}," \n",[78,532,533,536,538,540],{"class":80,"line":154},[78,534,535],{"class":88},"    pointer-events",[78,537,136],{"class":84},[78,539,403],{"class":88},[78,541,197],{"class":84},[78,543,544],{"class":80,"line":160},[78,545,157],{"class":84},[16,547,548,549,553,554,557],{},"Un autre fix cross-browser plus robuste consiste à utiliser les propriétés ",[550,551,552],"strong",{},"\"transition-behavior: allow-discrete\""," et ",[550,555,556],{},"\"@starting-style\"",".",[11,559,561],{"id":560},"comment-éviter-ce-type-de-problème","Comment éviter ce type de problème",[563,564,565,569,572,575],"ul",{},[566,567,568],"li",{},"Mettre en place des tests E2E (avec Playwright par exemple) ;",[566,570,571],{},"Créer des tableaux de bord segmentés par navigateur. (dans ce cas précis, le taux de conversion sur Firefox doit être inférieur aux autres) ;",[566,573,574],{},"Analyser les sessions replay des abandons (via Datadog par exemple) ;",[566,576,577,578,557],{},"Faire ",[421,579,581],{"href":580},"\u002Faudit-e-commerce\u002F","auditer son site e-commerce par Panier Percé",[11,583,585],{"id":584},"reproduire-le-bug-en-local","Reproduire le bug en local",[587,588,590],"h3",{"id":589},"fichier-html","Fichier HTML",[69,592,596],{"className":593,"code":594,"language":595,"meta":36,"style":36},"language-html shiki shiki-themes github-dark-high-contrast","\u003Chtml lang=\"fr\">\n\u003Chead>\n    \u003Cmeta charset=\"UTF-8\">\n    \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    \u003Cstyle>\n        *,\n        *:before,\n        *:after {\n            box-sizing: border-box;\n        }\n\n        body {\n            min-height: 100vh;\n            background: #fff;\n        }\n\n        header {\n            position: sticky;\n            top: 0;\n        }\n\n        nav {\n            width: 100%;\n            height: 50px;\n        }\n\n        #overlay {\n            inset-inline: 0;\n            content: \"\";\n            background-color: #000;\n            height: 50vh;\n            -webkit-backdrop-filter: blur(5px);\n            backdrop-filter: blur(5px);\n            position: absolute;\n            top: 100%;\n            animation: .2s linear forwards fade-out;\n            pointer-events: auto;\n        }\n\n        @keyframes fade-out {\n            0% {\n                opacity: 1;\n                display: block;\n            }\n\n            100% {\n                opacity: 0;\n                display: none;\n            }    \n        }\n    \u003C\u002Fstyle>\n\u003C\u002Fhead>\n\u003Cbody>\n    \u003Cheader>\n        \u003Cnav id=\"nav\">\n            \u003Cbutton id=\"open_menu\">Menu\u003C\u002Fbutton>\n        \u003C\u002Fnav>\n    \u003C\u002Fheader>\n    \u003Cmain>\n        \u003Carticle>\n            \u003Cbutton id=\"add_to_cart\" type=\"submit\">Ajouter au panier\u003C\u002Fbutton>\n        \u003C\u002Farticle>\n    \u003C\u002Fmain>\n\n    \u003Cscript>\n    const menuBtn = document.getElementById(\"open_menu\")\n    let overlay_created = false\n\n    menuBtn.addEventListener(\"click\", () => {\n        if (!overlay_created) {\n            overlay = document.createElement(\"div\")\n            overlay.id = \"overlay\"\n            document.getElementById(\"nav\").appendChild(overlay)         \n            overlay_created = true   \n        }\n    })\n    \u003C\u002Fscript>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>\n","html",[75,597,598,617,626,644,668,677,685,694,703,715,720,724,731,745,757,761,765,772,784,795,799,803,810,823,837,841,845,853,865,877,889,902,920,938,949,962,981,994,999,1004,1015,1023,1035,1047,1053,1058,1066,1077,1088,1094,1099,1109,1119,1129,1139,1158,1181,1191,1200,1210,1220,1249,1258,1267,1272,1282,1307,1321,1326,1348,1363,1383,1394,1414,1428,1433,1439,1448,1457],{"__ignoreMap":36},[78,599,600,603,606,609,611,614],{"class":80,"line":81},[78,601,602],{"class":84},"\u003C",[78,604,595],{"class":605},"sKpQp",[78,607,608],{"class":88}," lang",[78,610,93],{"class":84},[78,612,613],{"class":96},"\"fr\"",[78,615,616],{"class":84},">\n",[78,618,619,621,624],{"class":80,"line":130},[78,620,602],{"class":84},[78,622,623],{"class":605},"head",[78,625,616],{"class":84},[78,627,628,631,634,637,639,642],{"class":80,"line":154},[78,629,630],{"class":84},"    \u003C",[78,632,633],{"class":605},"meta",[78,635,636],{"class":88}," charset",[78,638,93],{"class":84},[78,640,641],{"class":96},"\"UTF-8\"",[78,643,616],{"class":84},[78,645,646,648,650,653,655,658,661,663,666],{"class":80,"line":160},[78,647,630],{"class":84},[78,649,633],{"class":605},[78,651,652],{"class":88}," name",[78,654,93],{"class":84},[78,656,657],{"class":96},"\"viewport\"",[78,659,660],{"class":88}," content",[78,662,93],{"class":84},[78,664,665],{"class":96},"\"width=device-width, initial-scale=1.0\"",[78,667,616],{"class":84},[78,669,670,672,675],{"class":80,"line":166},[78,671,630],{"class":84},[78,673,674],{"class":605},"style",[78,676,616],{"class":84},[78,678,679,682],{"class":80,"line":187},[78,680,681],{"class":605},"        *",[78,683,684],{"class":84},",\n",[78,686,687,689,692],{"class":80,"line":200},[78,688,681],{"class":605},[78,690,691],{"class":88},":before",[78,693,684],{"class":84},[78,695,696,698,701],{"class":80,"line":213},[78,697,681],{"class":605},[78,699,700],{"class":88},":after",[78,702,127],{"class":84},[78,704,705,708,710,713],{"class":80,"line":226},[78,706,707],{"class":88},"            box-sizing",[78,709,136],{"class":84},[78,711,712],{"class":88},"border-box",[78,714,197],{"class":84},[78,716,717],{"class":80,"line":242},[78,718,719],{"class":84},"        }\n",[78,721,722],{"class":80,"line":264},[78,723,163],{"emptyLinePlaceholder":37},[78,725,726,729],{"class":80,"line":282},[78,727,728],{"class":605},"        body",[78,730,127],{"class":84},[78,732,733,736,738,740,743],{"class":80,"line":295},[78,734,735],{"class":88},"            min-height",[78,737,136],{"class":84},[78,739,234],{"class":88},[78,741,742],{"class":92},"vh",[78,744,197],{"class":84},[78,746,747,750,752,755],{"class":80,"line":310},[78,748,749],{"class":88},"            background",[78,751,136],{"class":84},[78,753,754],{"class":88},"#fff",[78,756,197],{"class":84},[78,758,759],{"class":80,"line":315},[78,760,719],{"class":84},[78,762,763],{"class":80,"line":320},[78,764,163],{"emptyLinePlaceholder":37},[78,766,767,770],{"class":80,"line":332},[78,768,769],{"class":605},"        header",[78,771,127],{"class":84},[78,773,774,777,779,782],{"class":80,"line":340},[78,775,776],{"class":88},"            position",[78,778,136],{"class":84},[78,780,781],{"class":88},"sticky",[78,783,197],{"class":84},[78,785,786,789,791,793],{"class":80,"line":353},[78,787,788],{"class":88},"            top",[78,790,136],{"class":84},[78,792,35],{"class":88},[78,794,197],{"class":84},[78,796,797],{"class":80,"line":366},[78,798,719],{"class":84},[78,800,801],{"class":80,"line":372},[78,802,163],{"emptyLinePlaceholder":37},[78,804,805,808],{"class":80,"line":377},[78,806,807],{"class":605},"        nav",[78,809,127],{"class":84},[78,811,812,815,817,819,821],{"class":80,"line":385},[78,813,814],{"class":88},"            width",[78,816,136],{"class":84},[78,818,234],{"class":88},[78,820,305],{"class":92},[78,822,197],{"class":84},[78,824,825,828,830,833,835],{"class":80,"line":396},[78,826,827],{"class":88},"            height",[78,829,136],{"class":84},[78,831,832],{"class":88},"50",[78,834,258],{"class":92},[78,836,197],{"class":84},[78,838,839],{"class":80,"line":408},[78,840,719],{"class":84},[78,842,843],{"class":80,"line":414},[78,844,163],{"emptyLinePlaceholder":37},[78,846,848,851],{"class":80,"line":847},27,[78,849,850],{"class":88},"        #overlay",[78,852,127],{"class":84},[78,854,856,859,861,863],{"class":80,"line":855},28,[78,857,858],{"class":88},"            inset-inline",[78,860,136],{"class":84},[78,862,35],{"class":88},[78,864,197],{"class":84},[78,866,868,871,873,875],{"class":80,"line":867},29,[78,869,870],{"class":88},"            content",[78,872,136],{"class":84},[78,874,208],{"class":96},[78,876,197],{"class":84},[78,878,880,883,885,887],{"class":80,"line":879},30,[78,881,882],{"class":88},"            background-color",[78,884,136],{"class":84},[78,886,221],{"class":88},[78,888,197],{"class":84},[78,890,892,894,896,898,900],{"class":80,"line":891},31,[78,893,827],{"class":88},[78,895,136],{"class":84},[78,897,832],{"class":88},[78,899,742],{"class":92},[78,901,197],{"class":84},[78,903,905,908,910,912,914,916,918],{"class":80,"line":904},32,[78,906,907],{"class":88},"            -webkit-backdrop-filter",[78,909,136],{"class":84},[78,911,250],{"class":88},[78,913,106],{"class":84},[78,915,255],{"class":88},[78,917,258],{"class":92},[78,919,261],{"class":84},[78,921,923,926,928,930,932,934,936],{"class":80,"line":922},33,[78,924,925],{"class":88},"            backdrop-filter",[78,927,136],{"class":84},[78,929,250],{"class":88},[78,931,106],{"class":84},[78,933,255],{"class":88},[78,935,258],{"class":92},[78,937,261],{"class":84},[78,939,941,943,945,947],{"class":80,"line":940},34,[78,942,776],{"class":88},[78,944,136],{"class":84},[78,946,290],{"class":88},[78,948,197],{"class":84},[78,950,952,954,956,958,960],{"class":80,"line":951},35,[78,953,788],{"class":88},[78,955,136],{"class":84},[78,957,234],{"class":88},[78,959,305],{"class":92},[78,961,197],{"class":84},[78,963,965,968,970,972,974,976,978],{"class":80,"line":964},36,[78,966,967],{"class":88},"            animation",[78,969,136],{"class":84},[78,971,139],{"class":88},[78,973,142],{"class":92},[78,975,145],{"class":88},[78,977,148],{"class":88},[78,979,980],{"class":84}," fade-out;\n",[78,982,984,987,989,992],{"class":80,"line":983},37,[78,985,986],{"class":88},"            pointer-events",[78,988,136],{"class":84},[78,990,991],{"class":88},"auto",[78,993,197],{"class":84},[78,995,997],{"class":80,"line":996},38,[78,998,719],{"class":84},[78,1000,1002],{"class":80,"line":1001},39,[78,1003,163],{"emptyLinePlaceholder":37},[78,1005,1007,1010,1013],{"class":80,"line":1006},40,[78,1008,1009],{"class":92},"        @keyframes",[78,1011,1012],{"class":326}," fade-out",[78,1014,127],{"class":84},[78,1016,1018,1021],{"class":80,"line":1017},41,[78,1019,1020],{"class":88},"            0%",[78,1022,127],{"class":84},[78,1024,1026,1029,1031,1033],{"class":80,"line":1025},42,[78,1027,1028],{"class":88},"                opacity",[78,1030,136],{"class":84},[78,1032,348],{"class":88},[78,1034,197],{"class":84},[78,1036,1038,1041,1043,1045],{"class":80,"line":1037},43,[78,1039,1040],{"class":88},"                display",[78,1042,136],{"class":84},[78,1044,361],{"class":88},[78,1046,197],{"class":84},[78,1048,1050],{"class":80,"line":1049},44,[78,1051,1052],{"class":84},"            }\n",[78,1054,1056],{"class":80,"line":1055},45,[78,1057,163],{"emptyLinePlaceholder":37},[78,1059,1061,1064],{"class":80,"line":1060},46,[78,1062,1063],{"class":88},"            100%",[78,1065,127],{"class":84},[78,1067,1069,1071,1073,1075],{"class":80,"line":1068},47,[78,1070,1028],{"class":88},[78,1072,136],{"class":84},[78,1074,35],{"class":88},[78,1076,197],{"class":84},[78,1078,1080,1082,1084,1086],{"class":80,"line":1079},48,[78,1081,1040],{"class":88},[78,1083,136],{"class":84},[78,1085,403],{"class":88},[78,1087,197],{"class":84},[78,1089,1091],{"class":80,"line":1090},49,[78,1092,1093],{"class":84},"            }    \n",[78,1095,1097],{"class":80,"line":1096},50,[78,1098,719],{"class":84},[78,1100,1102,1105,1107],{"class":80,"line":1101},51,[78,1103,1104],{"class":84},"    \u003C\u002F",[78,1106,674],{"class":605},[78,1108,616],{"class":84},[78,1110,1112,1115,1117],{"class":80,"line":1111},52,[78,1113,1114],{"class":84},"\u003C\u002F",[78,1116,623],{"class":605},[78,1118,616],{"class":84},[78,1120,1122,1124,1127],{"class":80,"line":1121},53,[78,1123,602],{"class":84},[78,1125,1126],{"class":605},"body",[78,1128,616],{"class":84},[78,1130,1132,1134,1137],{"class":80,"line":1131},54,[78,1133,630],{"class":84},[78,1135,1136],{"class":605},"header",[78,1138,616],{"class":84},[78,1140,1142,1145,1148,1151,1153,1156],{"class":80,"line":1141},55,[78,1143,1144],{"class":84},"        \u003C",[78,1146,1147],{"class":605},"nav",[78,1149,1150],{"class":88}," id",[78,1152,93],{"class":84},[78,1154,1155],{"class":96},"\"nav\"",[78,1157,616],{"class":84},[78,1159,1161,1164,1167,1169,1171,1174,1177,1179],{"class":80,"line":1160},56,[78,1162,1163],{"class":84},"            \u003C",[78,1165,1166],{"class":605},"button",[78,1168,1150],{"class":88},[78,1170,93],{"class":84},[78,1172,1173],{"class":96},"\"open_menu\"",[78,1175,1176],{"class":84},">Menu\u003C\u002F",[78,1178,1166],{"class":605},[78,1180,616],{"class":84},[78,1182,1184,1187,1189],{"class":80,"line":1183},57,[78,1185,1186],{"class":84},"        \u003C\u002F",[78,1188,1147],{"class":605},[78,1190,616],{"class":84},[78,1192,1194,1196,1198],{"class":80,"line":1193},58,[78,1195,1104],{"class":84},[78,1197,1136],{"class":605},[78,1199,616],{"class":84},[78,1201,1203,1205,1208],{"class":80,"line":1202},59,[78,1204,630],{"class":84},[78,1206,1207],{"class":605},"main",[78,1209,616],{"class":84},[78,1211,1213,1215,1218],{"class":80,"line":1212},60,[78,1214,1144],{"class":84},[78,1216,1217],{"class":605},"article",[78,1219,616],{"class":84},[78,1221,1223,1225,1227,1229,1231,1234,1237,1239,1242,1245,1247],{"class":80,"line":1222},61,[78,1224,1163],{"class":84},[78,1226,1166],{"class":605},[78,1228,1150],{"class":88},[78,1230,93],{"class":84},[78,1232,1233],{"class":96},"\"add_to_cart\"",[78,1235,1236],{"class":88}," type",[78,1238,93],{"class":84},[78,1240,1241],{"class":96},"\"submit\"",[78,1243,1244],{"class":84},">Ajouter au panier\u003C\u002F",[78,1246,1166],{"class":605},[78,1248,616],{"class":84},[78,1250,1252,1254,1256],{"class":80,"line":1251},62,[78,1253,1186],{"class":84},[78,1255,1217],{"class":605},[78,1257,616],{"class":84},[78,1259,1261,1263,1265],{"class":80,"line":1260},63,[78,1262,1104],{"class":84},[78,1264,1207],{"class":605},[78,1266,616],{"class":84},[78,1268,1270],{"class":80,"line":1269},64,[78,1271,163],{"emptyLinePlaceholder":37},[78,1273,1275,1277,1280],{"class":80,"line":1274},65,[78,1276,630],{"class":84},[78,1278,1279],{"class":605},"script",[78,1281,616],{"class":84},[78,1283,1285,1288,1291,1294,1297,1300,1302,1304],{"class":80,"line":1284},66,[78,1286,1287],{"class":92},"    const",[78,1289,1290],{"class":88}," menuBtn",[78,1292,1293],{"class":92}," =",[78,1295,1296],{"class":84}," document.",[78,1298,1299],{"class":445},"getElementById",[78,1301,106],{"class":84},[78,1303,1173],{"class":96},[78,1305,1306],{"class":84},")\n",[78,1308,1310,1313,1316,1318],{"class":80,"line":1309},67,[78,1311,1312],{"class":92},"    let",[78,1314,1315],{"class":84}," overlay_created ",[78,1317,93],{"class":92},[78,1319,1320],{"class":88}," false\n",[78,1322,1324],{"class":80,"line":1323},68,[78,1325,163],{"emptyLinePlaceholder":37},[78,1327,1329,1332,1335,1337,1340,1343,1346],{"class":80,"line":1328},69,[78,1330,1331],{"class":84},"    menuBtn.",[78,1333,1334],{"class":445},"addEventListener",[78,1336,106],{"class":84},[78,1338,1339],{"class":96},"\"click\"",[78,1341,1342],{"class":84},", () ",[78,1344,1345],{"class":92},"=>",[78,1347,127],{"class":84},[78,1349,1351,1354,1357,1360],{"class":80,"line":1350},70,[78,1352,1353],{"class":92},"        if",[78,1355,1356],{"class":84}," (",[78,1358,1359],{"class":92},"!",[78,1361,1362],{"class":84},"overlay_created) {\n",[78,1364,1366,1369,1371,1373,1376,1378,1381],{"class":80,"line":1365},71,[78,1367,1368],{"class":84},"            overlay ",[78,1370,93],{"class":92},[78,1372,1296],{"class":84},[78,1374,1375],{"class":445},"createElement",[78,1377,106],{"class":84},[78,1379,1380],{"class":96},"\"div\"",[78,1382,1306],{"class":84},[78,1384,1386,1389,1391],{"class":80,"line":1385},72,[78,1387,1388],{"class":84},"            overlay.id ",[78,1390,93],{"class":92},[78,1392,1393],{"class":96}," \"overlay\"\n",[78,1395,1397,1400,1402,1404,1406,1408,1411],{"class":80,"line":1396},73,[78,1398,1399],{"class":84},"            document.",[78,1401,1299],{"class":445},[78,1403,106],{"class":84},[78,1405,1155],{"class":96},[78,1407,427],{"class":84},[78,1409,1410],{"class":445},"appendChild",[78,1412,1413],{"class":84},"(overlay)         \n",[78,1415,1417,1420,1422,1425],{"class":80,"line":1416},74,[78,1418,1419],{"class":84},"            overlay_created ",[78,1421,93],{"class":92},[78,1423,1424],{"class":88}," true",[78,1426,1427],{"class":84},"   \n",[78,1429,1431],{"class":80,"line":1430},75,[78,1432,719],{"class":84},[78,1434,1436],{"class":80,"line":1435},76,[78,1437,1438],{"class":84},"    })\n",[78,1440,1442,1444,1446],{"class":80,"line":1441},77,[78,1443,1104],{"class":84},[78,1445,1279],{"class":605},[78,1447,616],{"class":84},[78,1449,1451,1453,1455],{"class":80,"line":1450},78,[78,1452,1114],{"class":84},[78,1454,1126],{"class":605},[78,1456,616],{"class":84},[78,1458,1460,1462,1464],{"class":80,"line":1459},79,[78,1461,1114],{"class":84},[78,1463,595],{"class":605},[78,1465,616],{"class":84},[16,1467,1468],{},"Ce fichier permet de recréer la structure de base pour reproduire le bug. L'overlay est inséré dans le DOM après un clic sur le bouton #open_menu avec quelques lignes de JavaScript comme sur le site.",[587,1470,1472],{"id":1471},"le-test-playwright","Le test playwright",[69,1474,1478],{"className":1475,"code":1476,"language":1477,"meta":36,"style":36},"language-python shiki shiki-themes github-dark-high-contrast","from playwright.sync_api import sync_playwright, expect\n\n# test\nURL = \"http:\u002F\u002Flocalhost:8000\u002F\"\nMENU_SELECTOR = \"[id*='open_menu']\"\nADD_TO_CART_SELECTOR = \"[id*='add_to_cart']\"\nOVERLAY_SELECTOR = \"[id*='overlay']\"\n\ndef run(playwright):\n    browser = playwright.firefox.launch(headless=False) # Firefox version 155.0\n    page = browser.new_context(\n        viewport={\"width\": 2560, \"height\": 1440},\n        device_scale_factor=1.25\n    ).new_page()\n\n    try:\n        page.goto(URL, wait_until=\"domcontentloaded\") #1\n\n        menu = page.locator(MENU_SELECTOR).first #2\n        menu.wait_for(state=\"visible\", timeout=5000)\n        menu.click()\n\n        expect(page.locator(OVERLAY_SELECTOR)).to_be_attached() #3\n\n        add = page.locator(ADD_TO_CART_SELECTOR).first #4\n        add.wait_for(state=\"visible\", timeout=5000)\n        add.click()\n\n        print(\"✅ Test réussi\")\n        return True\n\n    except Exception as e:\n        print(f\"❌ Test échoué : {e}\")\n        return False\n\n    finally:\n        browser.close()\n\nif __name__ == \"__main__\":\n    with sync_playwright() as playwright:\n        run(playwright)\n","python",[75,1479,1480,1494,1498,1503,1513,1523,1533,1543,1547,1558,1582,1592,1624,1634,1639,1643,1651,1673,1677,1695,1720,1725,1729,1742,1746,1762,1783,1788,1792,1804,1812,1816,1830,1855,1862,1866,1873,1878,1882,1898,1912],{"__ignoreMap":36},[78,1481,1482,1485,1488,1491],{"class":80,"line":81},[78,1483,1484],{"class":92},"from",[78,1486,1487],{"class":84}," playwright.sync_api ",[78,1489,1490],{"class":92},"import",[78,1492,1493],{"class":84}," sync_playwright, expect\n",[78,1495,1496],{"class":80,"line":130},[78,1497,163],{"emptyLinePlaceholder":37},[78,1499,1500],{"class":80,"line":154},[78,1501,1502],{"class":462},"# test\n",[78,1504,1505,1508,1510],{"class":80,"line":160},[78,1506,1507],{"class":88},"URL",[78,1509,1293],{"class":92},[78,1511,1512],{"class":96}," \"http:\u002F\u002Flocalhost:8000\u002F\"\n",[78,1514,1515,1518,1520],{"class":80,"line":166},[78,1516,1517],{"class":88},"MENU_SELECTOR",[78,1519,1293],{"class":92},[78,1521,1522],{"class":96}," \"[id*='open_menu']\"\n",[78,1524,1525,1528,1530],{"class":80,"line":187},[78,1526,1527],{"class":88},"ADD_TO_CART_SELECTOR",[78,1529,1293],{"class":92},[78,1531,1532],{"class":96}," \"[id*='add_to_cart']\"\n",[78,1534,1535,1538,1540],{"class":80,"line":200},[78,1536,1537],{"class":88},"OVERLAY_SELECTOR",[78,1539,1293],{"class":92},[78,1541,1542],{"class":96}," \"[id*='overlay']\"\n",[78,1544,1545],{"class":80,"line":213},[78,1546,163],{"emptyLinePlaceholder":37},[78,1548,1549,1552,1555],{"class":80,"line":226},[78,1550,1551],{"class":92},"def",[78,1553,1554],{"class":445}," run",[78,1556,1557],{"class":84},"(playwright):\n",[78,1559,1560,1563,1565,1568,1571,1573,1576,1579],{"class":80,"line":242},[78,1561,1562],{"class":84},"    browser ",[78,1564,93],{"class":92},[78,1566,1567],{"class":84}," playwright.firefox.launch(",[78,1569,1570],{"class":326},"headless",[78,1572,93],{"class":92},[78,1574,1575],{"class":88},"False",[78,1577,1578],{"class":84},") ",[78,1580,1581],{"class":462},"# Firefox version 155.0\n",[78,1583,1584,1587,1589],{"class":80,"line":264},[78,1585,1586],{"class":84},"    page ",[78,1588,93],{"class":92},[78,1590,1591],{"class":84}," browser.new_context(\n",[78,1593,1594,1597,1599,1602,1605,1607,1610,1613,1616,1618,1621],{"class":80,"line":282},[78,1595,1596],{"class":326},"        viewport",[78,1598,93],{"class":92},[78,1600,1601],{"class":84},"{",[78,1603,1604],{"class":96},"\"width\"",[78,1606,136],{"class":84},[78,1608,1609],{"class":88},"2560",[78,1611,1612],{"class":84},", ",[78,1614,1615],{"class":96},"\"height\"",[78,1617,136],{"class":84},[78,1619,1620],{"class":88},"1440",[78,1622,1623],{"class":84},"},\n",[78,1625,1626,1629,1631],{"class":80,"line":295},[78,1627,1628],{"class":326},"        device_scale_factor",[78,1630,93],{"class":92},[78,1632,1633],{"class":88},"1.25\n",[78,1635,1636],{"class":80,"line":310},[78,1637,1638],{"class":84},"    ).new_page()\n",[78,1640,1641],{"class":80,"line":315},[78,1642,163],{"emptyLinePlaceholder":37},[78,1644,1645,1648],{"class":80,"line":320},[78,1646,1647],{"class":92},"    try",[78,1649,1650],{"class":84},":\n",[78,1652,1653,1656,1658,1660,1663,1665,1668,1670],{"class":80,"line":332},[78,1654,1655],{"class":84},"        page.goto(",[78,1657,1507],{"class":88},[78,1659,1612],{"class":84},[78,1661,1662],{"class":326},"wait_until",[78,1664,93],{"class":92},[78,1666,1667],{"class":96},"\"domcontentloaded\"",[78,1669,1578],{"class":84},[78,1671,1672],{"class":462},"#1\n",[78,1674,1675],{"class":80,"line":340},[78,1676,163],{"emptyLinePlaceholder":37},[78,1678,1679,1682,1684,1687,1689,1692],{"class":80,"line":353},[78,1680,1681],{"class":84},"        menu ",[78,1683,93],{"class":92},[78,1685,1686],{"class":84}," page.locator(",[78,1688,1517],{"class":88},[78,1690,1691],{"class":84},").first ",[78,1693,1694],{"class":462},"#2\n",[78,1696,1697,1700,1703,1705,1708,1710,1713,1715,1718],{"class":80,"line":366},[78,1698,1699],{"class":84},"        menu.wait_for(",[78,1701,1702],{"class":326},"state",[78,1704,93],{"class":92},[78,1706,1707],{"class":96},"\"visible\"",[78,1709,1612],{"class":84},[78,1711,1712],{"class":326},"timeout",[78,1714,93],{"class":92},[78,1716,1717],{"class":88},"5000",[78,1719,1306],{"class":84},[78,1721,1722],{"class":80,"line":372},[78,1723,1724],{"class":84},"        menu.click()\n",[78,1726,1727],{"class":80,"line":377},[78,1728,163],{"emptyLinePlaceholder":37},[78,1730,1731,1734,1736,1739],{"class":80,"line":385},[78,1732,1733],{"class":84},"        expect(page.locator(",[78,1735,1537],{"class":88},[78,1737,1738],{"class":84},")).to_be_attached() ",[78,1740,1741],{"class":462},"#3\n",[78,1743,1744],{"class":80,"line":396},[78,1745,163],{"emptyLinePlaceholder":37},[78,1747,1748,1751,1753,1755,1757,1759],{"class":80,"line":408},[78,1749,1750],{"class":84},"        add ",[78,1752,93],{"class":92},[78,1754,1686],{"class":84},[78,1756,1527],{"class":88},[78,1758,1691],{"class":84},[78,1760,1761],{"class":462},"#4\n",[78,1763,1764,1767,1769,1771,1773,1775,1777,1779,1781],{"class":80,"line":414},[78,1765,1766],{"class":84},"        add.wait_for(",[78,1768,1702],{"class":326},[78,1770,93],{"class":92},[78,1772,1707],{"class":96},[78,1774,1612],{"class":84},[78,1776,1712],{"class":326},[78,1778,93],{"class":92},[78,1780,1717],{"class":88},[78,1782,1306],{"class":84},[78,1784,1785],{"class":80,"line":847},[78,1786,1787],{"class":84},"        add.click()\n",[78,1789,1790],{"class":80,"line":855},[78,1791,163],{"emptyLinePlaceholder":37},[78,1793,1794,1797,1799,1802],{"class":80,"line":867},[78,1795,1796],{"class":88},"        print",[78,1798,106],{"class":84},[78,1800,1801],{"class":96},"\"✅ Test réussi\"",[78,1803,1306],{"class":84},[78,1805,1806,1809],{"class":80,"line":879},[78,1807,1808],{"class":92},"        return",[78,1810,1811],{"class":88}," True\n",[78,1813,1814],{"class":80,"line":891},[78,1815,163],{"emptyLinePlaceholder":37},[78,1817,1818,1821,1824,1827],{"class":80,"line":904},[78,1819,1820],{"class":92},"    except",[78,1822,1823],{"class":88}," Exception",[78,1825,1826],{"class":92}," as",[78,1828,1829],{"class":84}," e:\n",[78,1831,1832,1834,1836,1839,1842,1844,1847,1850,1853],{"class":80,"line":922},[78,1833,1796],{"class":88},[78,1835,106],{"class":84},[78,1837,1838],{"class":92},"f",[78,1840,1841],{"class":96},"\"❌ Test échoué : ",[78,1843,1601],{"class":92},[78,1845,1846],{"class":84},"e",[78,1848,1849],{"class":92},"}",[78,1851,1852],{"class":96},"\"",[78,1854,1306],{"class":84},[78,1856,1857,1859],{"class":80,"line":940},[78,1858,1808],{"class":92},[78,1860,1861],{"class":88}," False\n",[78,1863,1864],{"class":80,"line":951},[78,1865,163],{"emptyLinePlaceholder":37},[78,1867,1868,1871],{"class":80,"line":964},[78,1869,1870],{"class":92},"    finally",[78,1872,1650],{"class":84},[78,1874,1875],{"class":80,"line":983},[78,1876,1877],{"class":84},"        browser.close()\n",[78,1879,1880],{"class":80,"line":996},[78,1881,163],{"emptyLinePlaceholder":37},[78,1883,1884,1887,1890,1893,1896],{"class":80,"line":1001},[78,1885,1886],{"class":92},"if",[78,1888,1889],{"class":88}," __name__",[78,1891,1892],{"class":92}," ==",[78,1894,1895],{"class":96}," \"__main__\"",[78,1897,1650],{"class":84},[78,1899,1900,1903,1906,1909],{"class":80,"line":1006},[78,1901,1902],{"class":92},"    with",[78,1904,1905],{"class":84}," sync_playwright() ",[78,1907,1908],{"class":92},"as",[78,1910,1911],{"class":84}," playwright:\n",[78,1913,1914],{"class":80,"line":1017},[78,1915,1916],{"class":84},"        run(playwright)\n",[16,1918,1919],{},"Les étapes :",[1921,1922,1923,1929,1932,1935],"ol",{},[566,1924,1925,1926],{},"Charge ",[75,1927,1928],{},"http:\u002F\u002Flocalhost:8000\u002F",[566,1930,1931],{},"Clic sur le bouton \"menu\"",[566,1933,1934],{},"Vérifie que l'overlay a bien été ajouté",[566,1936,1937],{},"Clic sur le bouton \"ajouter au panier\"",[587,1939,1941],{"id":1940},"lancer-le-test","Lancer le test",[69,1943,1947],{"className":1944,"code":1945,"language":1946,"meta":36,"style":36},"language-shell shiki shiki-themes github-dark-high-contrast","python -m http.server 8000\nuv run test.py\n","shell",[75,1948,1949,1962],{"__ignoreMap":36},[78,1950,1951,1953,1956,1959],{"class":80,"line":81},[78,1952,1477],{"class":326},[78,1954,1955],{"class":88}," -m",[78,1957,1958],{"class":96}," http.server",[78,1960,1961],{"class":88}," 8000\n",[78,1963,1964,1967,1969],{"class":80,"line":130},[78,1965,1966],{"class":326},"uv",[78,1968,1554],{"class":96},[78,1970,1971],{"class":96}," test.py\n",[587,1973,1975],{"id":1974},"résultat-du-test","Résultat du test",[69,1977,1982],{"className":1978,"code":1980,"language":1981},[1979],"language-text","❌ Test échoué : Locator.click: Timeout 30000ms exceeded.\nCall log:\n  - waiting for locator(\"[id*='add_to_cart']\").first\n    - locator resolved to \u003Cbutton href=\"#\" id=\"add_to_cart\">Ajouter au panier\u003C\u002Fbutton>\n  - attempting click action\n    2 × waiting for element to be visible, enabled and stable\n      - element is visible, enabled and stable\n      - scrolling into view if needed\n      - done scrolling\n      - \u003Cdiv id=\"overlay\">\u003C\u002Fdiv> from \u003Cheader>…\u003C\u002Fheader> subtree intercepts pointer events\n","text",[75,1983,1980],{"__ignoreMap":36},[16,1985,1986,1987],{},"Playwright détecte bien le bug : ",[550,1988,1989],{},"overlay from header subtree intercepts pointer events",[16,1991,1992],{},"Et pour confirmer, voici le même test avec Chromium :",[69,1994,1996],{"className":1475,"code":1995,"language":1477,"meta":36,"style":36},"browser = playwright.chromium.launch(headless=False) # ✅ Test réussi\n",[75,1997,1998],{"__ignoreMap":36},[78,1999,2000,2003,2005,2008,2010,2012,2014,2016],{"class":80,"line":81},[78,2001,2002],{"class":84},"browser ",[78,2004,93],{"class":92},[78,2006,2007],{"class":84}," playwright.chromium.launch(",[78,2009,1570],{"class":326},[78,2011,93],{"class":92},[78,2013,1575],{"class":88},[78,2015,1578],{"class":84},[78,2017,2018],{"class":462},"# ✅ Test réussi\n",[674,2020,2021],{},"html pre.shiki code .sMAXC, html code.shiki .sMAXC{--shiki-default:#F0F3F6}html pre.shiki code .sCcAr, html code.shiki .sCcAr{--shiki-default:#91CBFF}html pre.shiki code .sWyjQ, html code.shiki .sWyjQ{--shiki-default:#FF9492}html pre.shiki code .sTRMh, html code.shiki .sTRMh{--shiki-default:#ADDCFF}html pre.shiki code .s_sBn, html code.shiki .s_sBn{--shiki-default:#FFB757}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sj_SG, html code.shiki .sj_SG{--shiki-default:#DBB7FF}html pre.shiki code .sQrFR, html code.shiki .sQrFR{--shiki-default:#BDC4CC}html pre.shiki code .sKpQp, html code.shiki .sKpQp{--shiki-default:#72F088}",{"title":36,"searchDepth":130,"depth":130,"links":2023},[2024,2025,2026,2027,2028,2029,2030],{"id":13,"depth":130,"text":14},{"id":24,"depth":130,"text":25},{"id":53,"depth":130,"text":54},{"id":66,"depth":130,"text":67},{"id":493,"depth":130,"text":494},{"id":560,"depth":130,"text":561},{"id":584,"depth":130,"text":585,"children":2031},[2032,2033,2034,2035],{"id":589,"depth":154,"text":590},{"id":1471,"depth":154,"text":1472},{"id":1940,"depth":154,"text":1941},{"id":1974,"depth":154,"text":1975},"La Rosée Cosmétiques",{"level":2038,"color":2039},"prioritaire","bg-red-600","2026-09-15",null,"2026-09-14","md",{},"\u002Fetudes-de-cas\u002Foverlay-bloque-les-clics-firefox-cas-la-rosee","Shopify",{"title":5,"description":36},"https:\u002F\u002Fwww.larosee-cosmetiques.com\u002F",{"loc":2045,"lastmod":2040},[2051],"Hydrogen","etudes-de-cas\u002F01.overlay-bloque-les-clics-firefox-cas-la-rosee","Bug bloquant chez La Rosée Cosmétiques. Retrouve mon analyse de ce cas (Cause, le fix et mes conseils).",[2055,2056],"technique","ux","visible","kIjC7NPMoqP3UI6Gcxf69WBXLEylFAan5IeXECcgBC8",{"previous":2041,"next":2060},{"path":2061,"title":2062},"\u002Fetudes-de-cas\u002Faudit-ux-parfums-adopt","Audit UX d'Adopt : recherche interne, bandeau promo et panier",1793393579920]