Messages
Ordered list of dispatched messages across all your buses
"Contao\CoreBundle\Messenger\Message\SearchIndexMessage" |
|
---|---|
Caller | In SearchIndexListener.php line |
Bus | messenger.bus.default |
Message | Contao\CoreBundle\Messenger\Message\SearchIndexMessage {#5393 -document: Contao\CoreBundle\Search\Document {#5295 -crawler: null -jsonLds: null -uri: Nyholm\Psr7\Uri {#5383 -scheme: "https" -userInfo: "" -host: "contao5.env-test.fr" -port: null -path: "/actualites/categorie/categorie-1" -query: "" -fragment: "" } -statusCode: 200 -headers: [ "cache-control" => [ "max-age=3600, public, s-maxage=3600" ] "date" => [ "Mon, 23 Dec 2024 10:00:23 GMT" ] "content-type" => [ "text/html; charset=UTF-8" ] "vary" => [ "Origin" "Cookie" ] "x-cache-debug" => [ "1" ] "x-content-type-options" => [ "nosniff" ] "referrer-policy" => [ "no-referrer-when-downgrade, strict-origin-when-cross-origin" ] "strict-transport-security" => [ "max-age=31536000" ] "x-cache-tags" => [ "contao.db.tl_module.181,contao.db.tl_module.164,contao.db.tl_module.158,contao.db.tl_module.233,contao.db.tl_module.237,contao.db.tl_module.234,contao.db.tl_module.235,contao.db.tl_module.240,contao.db.tl_module.238,contao.db.tl_module.231,contao.db.tl_module.236,contao.db.tl_module.159,contao.db.tl_module.160,contao.db.tl_module.188,contao.db.tl_module.191,contao.db.tl_module.239,contao.db.tl_page.226,contao.db.tl_page.302,contao.db.tl_page.294,contao.db.tl_page.293,contao.db.tl_page.290,contao.db.tl_page.295,contao.db.tl_page.296,contao.db.tl_page.297,contao.db.tl_page.288,contao.db.tl_page.301,contao.db.tl_module.190,contao.db.tl_module.161,contao.db.tl_module.165,contao.db.tl_module.162,contao.db.tl_module.196,contao.db.tl_module.163,contao.db.tl_module.168,contao.db.tl_module.150,contao.db.tl_module.172,contao.db.tl_module.171,contao.db.tl_module.151,contao.db.tl_module.169,contao.db.tl_article.442,contao.db.tl_content.5702,contao.db.tl_module.245,contao.db.tl_content.5752,contao.db.tl_module.247,contao.db.tl_article.417,contao.db.tl_content.5551,contao.db.tl_content.5593,contao.db.tl_article.408,contao.db.tl_content.5594,contao.db.tl_news_archive.6,contao.db.tl_news.33,contao.db.tl_news.34,contao.db.tl_news.37,contao.db.tl_module.199,contao.db.tl_module.186,contao.db.tl_module.185,contao.db.tl_module.242,contao.db.tl_module.182,contao.db.tl_page.225" ] "x-frame-options" => [ "SAMEORIGIN" ] "x-xss-protection" => [ "1; mode=block" ] "x-debug-token" => [ "c0d68d" ] "x-debug-token-link" => [ "https://contao5.env-test.fr/_profiler/c0d68d" ] "x-robots-tag" => [ "noindex" ] ] -body: """ \n <!-- TEMPLATE START: templates/client/fe_page.html5 -->\n <!DOCTYPE html>\n <html lang="fr">\n <head>\n \n <meta charset="UTF-8">\n <title>Actualités - Client</title>\n <base href="https://contao5.env-test.fr/">\n \n <meta name="robots" content="index,follow">\n <meta name="description" content="">\n <meta name="generator" content="Contao Open Source CMS">\n \n \n <meta name="viewport" content="width=device-width,initial-scale=1.0,shrink-to-fit=no,viewport-fit=cover">\n <link rel="stylesheet" href="/assets/contao/css/icons.min.css?v=17add20a"><link rel="stylesheet" href="/assets/contao/css/layout.min.css?v=17add20a"><link rel="stylesheet" href="/assets/colorbox/css/colorbox.min.css?v=83af8d5b"><link rel="stylesheet" href="/assets/tablesorter/css/tablesorter.min.css?v=2c7ba128"><link rel="stylesheet" href="/files/client/css/client.css?v=ed972f93"><link rel="stylesheet" href="/files/client/css/fixes.css?v=945290f9"> <script src="/assets/jquery/js/jquery.min.js?v=2e868dd8"></script><script src="/files/oneo/js/modernizr.min.js?v=945290f9"></script><!-- images::apple --><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon.png" sizes="57x57"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-57x57.png" sizes="57x57"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-60x60.png" sizes="60x60"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-72x72.png" sizes="72x72"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-76x76.png" sizes="76x76"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-114x114.png" sizes="114x114"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-120x120.png" sizes="120x120"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-144x144.png" sizes="144x144"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-152x152.png" sizes="152x152"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-180x180.png" sizes="180x180"><!-- images::android --><link rel="icon" type="image/png" href="/files/images/tiles/android-chrome-36x36.png" sizes="36x36"><link rel="icon" type="image/png" href="/files/images/tiles/android-chrome-48x48.png" sizes="48x48"><link rel="icon" type="image/png" href="/files/images/tiles/android-chrome-72x72.png" sizes="72x72"><link rel="icon" type="image/png" href="/files/images/tiles/android-chrome-96x96.png" sizes="96x96"><link rel="icon" type="image/png" href="/files/images/tiles/android-chrome-144x144.png" sizes="144x144"><link rel="icon" type="image/png" href="/files/images/tiles/android-chrome-512x512.png" sizes="512x512"><link rel="icon" type="image/png" href="/files/images/tiles/android-chrome-192x192.png" sizes="192x192"><link rel="icon" type="image/png" href="/files/images/tiles/homescreen-192x192.png" sizes="192x192"><!-- images::microsoft --><meta content="/files/images/tiles/small.jpg" name="msapplication-square70x70logo"><meta content="/files/images/tiles/medium.jpg" name="msapplication-square150x150logo"><meta content="/files/images/tiles/wide.jpg" name="msapplication-wide310x150logo"><meta content="/files/images/tiles/large.jpg" name="msapplication-square310x310logo"><!-- images::icon --><link rel="icon" type="image/png" href="/files/images/tiles/favicon-16x16.png" sizes="16x16"><link rel="icon" type="image/png" href="/files/images/tiles/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/files/images/tiles/favicon-96x96.png" sizes="96x96"><link rel="icon" type="image/png" href="/files/images/tiles/favicon-128x128.png" sizes="128x128"><link rel="icon" type="image/png" href="/files/images/tiles/favicon-160x160.png" sizes="160x160"><link rel="icon" type="image/png" href="/files/images/tiles/favicon-192x192.png" sizes="192x192"><link rel="icon" type="image/png" href="/files/images/tiles/favicon-196x196.png" sizes="196x196"><!-- additionals::windows --><!-- additionals::ios --><!-- additionals::android --><!-- additionals::webApp --><!-- favicon --><link rel="shortcut icon" type="image/x-icon" href="/files/images/tiles/favicon.ico" ><link rel="icon" type="image/ico" href="/files/images/tiles/favicon.ico" >\n <!-- TEMPLATE START: templates/analytics_tools.html5 -->\n \n <!-- TEMPLATE END: templates/analytics_tools.html5 -->\n \n </head>\n <body id="top" class="sidebar-right level-1 page-297">\n \n \t\n \t<div class="page">\n \n \t\t\t\t\t<header class="page-header">\n \t\t\t\t\n <!-- TEMPLATE START: templates/client/rsce_client_fixed_note.html5 -->\n <!-- indexer::stop -->\n <div class="fixed-note ce_rsce_client_fixed_note" data-icon="ℹ">\n \n \t<div class="fixed-note-column">\n \t\t<p>Nous utilisons des cookies pour nous assurer que nous vous offrons la meilleure expérience sur notre site Web. Si vous continuez sans modifier vos paramètres, nous supposerons que vous acceptez de recevoir tous les cookies de ce site Web.</p><p>Remarque : Vous pouvez utiliser cette case pour toute information et choisir s'il doit être possible de l'afficher à nouveau ou non.</p>\t</div>\n \t\t\t<div class="fixed-note-column">\n \t\t\t<a href="http://www.aboutcookies.org/Default.aspx?page=1" class="fixed-note-link" target="_blank" rel="noopener">\n \t\t\t\tPlus d'informations\t\t\t</a>\n \t\t</div>\n \t\t<div class="fixed-note-column">\n \t\t<button class="fixed-note-button">Ok</button>\n \t</div>\n \n </div>\n \n \t<a class="fixed-note-closed" href="actualites/categorie/categorie-1#"><span>Info</span></a>\n <!-- indexer::continue -->\n \n <script>\n (function() {\n \n \tvar getCookie = function() {\n \t\tvar data;\n \t\tif (\n \t\t\t!window.localStorage\n \t\t\t|| !window.JSON\n \t\t\t|| !(data = localStorage["fixed-note-181"])\n \t\t\t|| !(data = JSON.parse(data))\n \t\t) {\n \t\t\treturn;\n \t\t}\n \t\tif (data.expires < Date.now()) {\n \t\t\tremoveCookie();\n \t\t\treturn null;\n \t\t}\n \t\treturn data.value || null;\n \t};\n \n \tvar setCookie = function() {\n \t\tif (!window.localStorage || !window.JSON) {\n \t\t\treturn;\n \t\t}\n \t\tlocalStorage["fixed-note-181"] = JSON.stringify({\n \t\t\tvalue: "1722763857",\n \t\t\texpires: Date.now() + 2592000000,\n \t\t});\n \t};\n \n \tvar removeCookie = function() {\n \t\tdelete localStorage["fixed-note-181"];\n \t};\n \n \tvar resize = function() {\n \t\tvar style = window.getComputedStyle(note);\n \t\tif (style.position === 'fixed' && style.display !== 'none') {\n \t\t\tdocument.documentElement.style.paddingBottom = note.offsetHeight + 'px';\n \t\t}\n \t\telse {\n \t\t\tdocument.documentElement.style.paddingBottom = '';\n \t\t}\n \t};\n \n \tvar close = function() {\n \t\tnote.style.display = 'none';\n \t\t\t\t\tnoteClosed.style.display = '';\n \t\t\t\tresize();\n \t};\n \n \tvar open = function() {\n \t\tnote.style.display = '';\n \t\t\t\t\tnoteClosed.style.display = 'none';\n \t\t\t\tresize();\n \t};\n \n \tvar note = document.querySelectorAll('.fixed-note');\n \tnote = note[note.length - 1];\n \tvar button = note.querySelector('.fixed-note-button');\n \n \t\t\tvar noteClosed = document.querySelectorAll('.fixed-note-closed');\n \t\tnoteClosed = noteClosed[noteClosed.length - 1];\n \n \t\tnoteClosed.addEventListener('click', function(event) {\n \t\t\topen();\n \t\t\tremoveCookie();\n \t\t\tevent.preventDefault();\n \t\t});\n \t\n \tbutton.addEventListener('click', function() {\n \t\tclose();\n \t\tsetCookie();\n \t});\n \n \tif (getCookie() === "1722763857") {\n \t\tclose();\n \t}\n \telse {\n \t\topen();\n \t}\n \n \twindow.addEventListener('resize', resize);\n \n })();\n </script>\n \n <!-- TEMPLATE END: templates/client/rsce_client_fixed_note.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <div class="header-navigation">\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <div class="header-bar">\n \t<div class="header-bar-inner">\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <div class="navigation-wrapper left-navigation-wrapper">\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: templates/client/rsce_client_icon_links.html5 -->\n <ul class="icon-links ce_rsce_client_icon_links header-links full-links">\n \t\t\t<li class="adress">\n \t\t\t<span data-icon="">\n \t\t\t\t<span class="icon-links-label">Ville, Pays</span>\n \t\t\t</span>\n \t\t</li>\n \t\t\t<li class="phone">\n \t\t\t<a href="tel:+3301020304" data-icon="">\n \t\t\t\t<span class="icon-links-label">+33 01 02 03 0</span>\n \t\t\t</a>\n \t\t</li>\n \t\t\t<li class="email">\n \t\t\t<a href="mailto:contact@mail.com" data-icon="">\n \t\t\t\t<span class="icon-links-label">contact@mail.com</span>\n \t\t\t</a>\n \t\t</li>\n \t</ul>\n \n <!-- TEMPLATE END: templates/client/rsce_client_icon_links.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n </div>\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <div class="navigation-wrapper right-navigation-wrapper">\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: templates/client/mod_customnav.html5 -->\n <!-- indexer::stop -->\n <nav class="mod_customnav secondary-navigation block">\n \n \n <a href="/actualites/categorie/categorie-1#skipNavigation240" class="invisible">Aller au contenu</a>\n \n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n \n <ul class="level_1">\n <li><a href="/page-1" title="Page 1">Page 1</a></li>\n <li><a href="/galeries" title="Galeries">Galeries</a></li>\n </ul>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n \n <a id="skipNavigation240" class="invisible"> </a>\n \n </nav>\n <!-- indexer::continue -->\n <!-- TEMPLATE END: templates/client/mod_customnav.html5 -->\n \n <!-- TEMPLATE START: templates/client/mod_customnav.html5 -->\n <!-- indexer::stop -->\n <nav class="mod_customnav header-dropdown block">\n \n <div class="customnav-title">Secondaire</div>\n \n <a href="/actualites/categorie/categorie-1#skipNavigation238" class="invisible">Aller au contenu</a>\n \n \n <!-- TEMPLATE START: templates/client/nav_custom_sub.html5 -->\n \n <ul class="level_1">\n \n <li class="">\n \n <a\n href="/page-1"\n title="Page 1"\n >\n Page 1 </a>\n \n \n \n <ul class="level_2">\n \n <li class="">\n \n <a\n href="/page-1-1"\n title="Page 1.1"\n >\n Page 1.1 </a>\n \n \n </li>\n \n \n <li class="">\n \n <a\n href="https://contao5.env-test.fr/page-1#page1redirect"\n title="Page 1 Redirect"\n >\n Page 1 Redirect </a>\n \n \n </li>\n \n </ul>\n \n <!-- TEMPLATE END: templates/client/nav_custom_sub.html5 -->\n \n <a id="skipNavigation238" class="invisible"> </a>\n \n </nav>\n <!-- indexer::continue -->\n <!-- TEMPLATE END: templates/client/mod_customnav.html5 -->\n \n <!-- TEMPLATE START: templates/client/mod_login.html5 -->\n \n <!-- indexer::stop -->\n <div class="mod_login header-login login block">\n \n <div>Connexion</div>\n \n <form id="tl_login_231" method="post">\n <div class="formbody">\n <input type="hidden" name="FORM_SUBMIT" value="tl_login_231">\n <input type="hidden" name="REQUEST_TOKEN" value="">\n <input type="hidden" name="_target_path" value="aHR0cHM6Ly9jb250YW81LmVudi10ZXN0LmZyL2FjdHVhbGl0ZXMvY2F0ZWdvcmllL2NhdGVnb3JpZS0x">\n <input type="hidden" name="_always_use_target_path" value="0">\n <div class="widget widget-text">\n <label for="username">Identifiant</label>\n <input type="text" name="username" id="username" class="text" value="" autocapitalize="off" autocomplete="username" required>\n </div>\n <div class="widget widget-password">\n <label for="password">Mot de passe</label>\n <input type="password" name="password" id="password" class="text password" value="" autocomplete="current-password" required>\n </div>\n <div class="widget widget-checkbox">\n <fieldset class="checkbox_container">\n <span><input type="checkbox" name="autologin" id="autologin" value="1" class="checkbox"> <label for="autologin">Rester connecté</label></span>\n </fieldset>\n </div>\n <div class="widget widget-submit">\n <button type="submit" class="submit">Connexion</button>\n </div>\n </div>\n </form>\n \n </div>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: templates/client/mod_login.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n </div>\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n </div>\n </div>\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <div class="main-navigation-wrapper">\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <div class="navigation-wrapper left-navigation-wrapper">\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: templates/client/rsce_client_logo.html5 -->\n \n <!-- indexer::stop -->\n <div class="ce_rsce_client_logo logo">\n \t<a href="">\n \t\t\t\t\t\t\t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \n \n <img src="/files/images/common/logo.png" width="800" height="182" alt="Client">\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \t\t\t</a>\n </div>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: templates/client/rsce_client_logo.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n </div>\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <div class="navigation-wrapper right-navigation-wrapper">\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: templates/client/rsce_client_nav_search.html5 -->\n \n <!-- indexer::stop -->\n <div class="ce_rsce_client_nav_search main-navigation-search">\n \t<a href="/recherche">Lancer la recherche</a>\n \t<form action="/recherche" method="get">\n \t\t<label for="oneo-nav-search-191">Saisissez les mots clefs</label>\n \t\t<input id="oneo-nav-search-191" type="search" name="keywords">\n \t\t<button type="submit">Lancer la recherche</button>\n \t</form>\n </div>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: templates/client/rsce_client_nav_search.html5 -->\n \n <!-- TEMPLATE START: templates/client/rsce_client_icon_links.html5 -->\n <ul class="icon-links ce_rsce_client_icon_links">\n \t\t\t<li >\n \t\t\t<a href="#" data-icon="" target="_blank" rel="noopener">\n \t\t\t\t<span class="icon-links-label">Facebook</span>\n \t\t\t</a>\n \t\t</li>\n \t\t\t<li >\n \t\t\t<a href="#" data-icon="" target="_blank" rel="noopener">\n \t\t\t\t<span class="icon-links-label">LinkedIn</span>\n \t\t\t</a>\n \t\t</li>\n \t\t\t<li >\n \t\t\t<a href="#" data-icon="">\n \t\t\t\t<span class="icon-links-label">Instagram</span>\n \t\t\t</a>\n \t\t</li>\n \t</ul>\n \n <!-- TEMPLATE END: templates/client/rsce_client_icon_links.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_navigation.html5 -->\n \n <!-- indexer::stop -->\n <nav class="mod_rocksolid_mega_menu main-navigation block">\n \n \n <a href="/actualites/categorie/categorie-1#skipNavigation190" class="invisible">Aller au contenu</a>\n \n \n <!-- TEMPLATE START: templates/client/nav_rsmm.html5 -->\n <ul class="level_1">\n \n \t\n \t\t\t\t\n \t\t<li class="home tagline-no-border sibling">\n \n \t\t\t\t\t\t\t<a href="/"\n \t\t\t\t title="Accueil"\n \t\t\t\t class="home tagline-no-border sibling page-226 type-regular"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Accueil</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n \t\t\t\t\n \t\t<li class="sibling">\n \n \t\t\t\t\t\t\t<a href="https://contao5.env-test.fr/#intro"\n \t\t\t\t title="Intro"\n \t\t\t\t class="sibling page-302 type-redirect"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Intro</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n \t\t\t\t\n \t\t<li class="submenu sibling">\n \n \t\t\t\t\t\t\t<a href="/page-1"\n \t\t\t\t title="Page 1"\n \t\t\t\t class="submenu sibling page-290 type-regular"\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t aria-haspopup="true"\t\t\t\t\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Page 1</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n <!-- TEMPLATE START: templates/client/nav_rsmm.html5 -->\n <ul class="level_2">\n \n \t\n \t\t\t\t\n \t\t<li class="">\n \n \t\t\t\t\t\t\t<a href="/page-1-1"\n \t\t\t\t title="Page 1.1"\n \t\t\t\t class=" page-294 type-regular"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Page 1.1</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n \t\t\t\t\n \t\t<li class="">\n \n \t\t\t\t\t\t\t<a href="https://contao5.env-test.fr/page-1#page1redirect"\n \t\t\t\t title="Page 1 Redirect"\n \t\t\t\t class=" page-293 type-redirect"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Page 1 Redirect</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n </ul>\n \n <!-- TEMPLATE END: templates/client/nav_rsmm.html5 -->\n \n \t\t</li>\n \n \t\n \t\t\t\t\n \t\t<li class="sibling">\n \n \t\t\t\t\t\t\t<a href="/galeries"\n \t\t\t\t title="Galeries"\n \t\t\t\t class="sibling page-295 type-regular"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Galeries</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n \t\t\t\t\n \t\t<li class="sibling">\n \n \t\t\t\t\t\t\t<a href="https://contao5.env-test.fr/page-1#services"\n \t\t\t\t title="Services"\n \t\t\t\t class="sibling page-296 type-redirect"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Services</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n \t\t\t\t\n \t\t<li class="trail sibling">\n \n \t\t\t\t\t\t\t<a href="/actualites"\n \t\t\t\t title="Actualités"\n \t\t\t\t class="trail sibling page-297 type-regular"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Actualités</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n \t\t\t\t\n \t\t<li class="sibling">\n \n \t\t\t\t\t\t\t<a href="/contact"\n \t\t\t\t title="Contact"\n \t\t\t\t class="sibling page-288 type-regular"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Contact</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n \t\t\t\t\n \t\t<li class="sibling">\n \n \t\t\t\t\t\t\t<a href="/kitchen-sink"\n \t\t\t\t title="Kitchen Sink"\n \t\t\t\t class="sibling page-301 type-regular"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Kitchen Sink</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n </ul>\n \n <!-- TEMPLATE END: templates/client/nav_rsmm.html5 -->\n \n <span id="skipNavigation190" class="invisible"></span>\n \n </nav>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_navigation.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n </div>\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n </div>\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n </div>\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <div class="main-navigation-mobile">\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: templates/client/rsce_client_nav_search.html5 -->\n \n <!-- indexer::stop -->\n <div class="ce_rsce_client_nav_search main-navigation-mobile-search">\n \t<a href="http://contao5.env-test.fr/search"></a>\n \t<form action="http://contao5.env-test.fr/search" method="get">\n \t\t<label for="oneo-nav-search-196">Suchen</label>\n \t\t<input id="oneo-nav-search-196" type="search" name="keywords">\n \t\t<button type="submit"></button>\n \t</form>\n </div>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: templates/client/rsce_client_nav_search.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_navigation.html5 -->\n \n <!-- indexer::stop -->\n <nav class="mod_rocksolid_mega_menu main-navigation block">\n \n \n <a href="/actualites/categorie/categorie-1#skipNavigation190" class="invisible">Aller au contenu</a>\n \n \n <!-- TEMPLATE START: templates/client/nav_rsmm.html5 -->\n <ul class="level_1">\n \n \t\n \t\t\t\t\n \t\t<li class="home tagline-no-border sibling">\n \n \t\t\t\t\t\t\t<a href="/"\n \t\t\t\t title="Accueil"\n \t\t\t\t class="home tagline-no-border sibling page-226 type-regular"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Accueil</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n \t\t\t\t\n \t\t<li class="sibling">\n \n \t\t\t\t\t\t\t<a href="https://contao5.env-test.fr/#intro"\n \t\t\t\t title="Intro"\n \t\t\t\t class="sibling page-302 type-redirect"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Intro</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n \t\t\t\t\n \t\t<li class="submenu sibling">\n \n \t\t\t\t\t\t\t<a href="/page-1"\n \t\t\t\t title="Page 1"\n \t\t\t\t class="submenu sibling page-290 type-regular"\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t aria-haspopup="true"\t\t\t\t\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Page 1</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n <!-- TEMPLATE START: templates/client/nav_rsmm.html5 -->\n <ul class="level_2">\n \n \t\n \t\t\t\t\n \t\t<li class="">\n \n \t\t\t\t\t\t\t<a href="/page-1-1"\n \t\t\t\t title="Page 1.1"\n \t\t\t\t class=" page-294 type-regular"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Page 1.1</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n \t\t\t\t\n \t\t<li class="">\n \n \t\t\t\t\t\t\t<a href="https://contao5.env-test.fr/page-1#page1redirect"\n \t\t\t\t title="Page 1 Redirect"\n \t\t\t\t class=" page-293 type-redirect"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Page 1 Redirect</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n </ul>\n \n <!-- TEMPLATE END: templates/client/nav_rsmm.html5 -->\n \n \t\t</li>\n \n \t\n \t\t\t\t\n \t\t<li class="sibling">\n \n \t\t\t\t\t\t\t<a href="/galeries"\n \t\t\t\t title="Galeries"\n \t\t\t\t class="sibling page-295 type-regular"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Galeries</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n \t\t\t\t\n \t\t<li class="sibling">\n \n \t\t\t\t\t\t\t<a href="https://contao5.env-test.fr/page-1#services"\n \t\t\t\t title="Services"\n \t\t\t\t class="sibling page-296 type-redirect"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Services</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n \t\t\t\t\n \t\t<li class="trail sibling">\n \n \t\t\t\t\t\t\t<a href="/actualites"\n \t\t\t\t title="Actualités"\n \t\t\t\t class="trail sibling page-297 type-regular"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Actualités</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n \t\t\t\t\n \t\t<li class="sibling">\n \n \t\t\t\t\t\t\t<a href="/contact"\n \t\t\t\t title="Contact"\n \t\t\t\t class="sibling page-288 type-regular"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Contact</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n \t\t\t\t\n \t\t<li class="sibling">\n \n \t\t\t\t\t\t\t<a href="/kitchen-sink"\n \t\t\t\t title="Kitchen Sink"\n \t\t\t\t class="sibling page-301 type-regular"\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\titemprop="url">\n \t\t\t\t\t<span itemprop="name">Kitchen Sink</span>\n \t\t\t\n \t\t\t\n \t\t\t\t\t\t\t</a>\n \t\t\t\n \t\t\t\n \t\t</li>\n \n \t\n </ul>\n \n <!-- TEMPLATE END: templates/client/nav_rsmm.html5 -->\n \n <span id="skipNavigation190" class="invisible"></span>\n \n </nav>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_navigation.html5 -->\n \n <!-- TEMPLATE START: templates/client/mod_customnav.html5 -->\n <!-- indexer::stop -->\n <nav class="mod_customnav secondary-navigation block">\n \n \n <a href="/actualites/categorie/categorie-1#skipNavigation240" class="invisible">Aller au contenu</a>\n \n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n \n <ul class="level_1">\n <li><a href="/page-1" title="Page 1">Page 1</a></li>\n <li><a href="/galeries" title="Galeries">Galeries</a></li>\n </ul>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n \n <a id="skipNavigation240" class="invisible"> </a>\n \n </nav>\n <!-- indexer::continue -->\n <!-- TEMPLATE END: templates/client/mod_customnav.html5 -->\n \n <!-- TEMPLATE START: templates/client/mod_customnav.html5 -->\n <!-- indexer::stop -->\n <nav class="mod_customnav header-dropdown block">\n \n <div class="customnav-title">Secondaire</div>\n \n <a href="/actualites/categorie/categorie-1#skipNavigation238" class="invisible">Aller au contenu</a>\n \n \n <!-- TEMPLATE START: templates/client/nav_custom_sub.html5 -->\n \n <ul class="level_1">\n \n <li class="">\n \n <a\n href="/page-1"\n title="Page 1"\n >\n Page 1 </a>\n \n \n \n <ul class="level_2">\n \n <li class="">\n \n <a\n href="/page-1-1"\n title="Page 1.1"\n >\n Page 1.1 </a>\n \n \n </li>\n \n \n <li class="">\n \n <a\n href="https://contao5.env-test.fr/page-1#page1redirect"\n title="Page 1 Redirect"\n >\n Page 1 Redirect </a>\n \n \n </li>\n \n </ul>\n \n <!-- TEMPLATE END: templates/client/nav_custom_sub.html5 -->\n \n <a id="skipNavigation238" class="invisible"> </a>\n \n </nav>\n <!-- indexer::continue -->\n <!-- TEMPLATE END: templates/client/mod_customnav.html5 -->\n \n <!-- TEMPLATE START: templates/client/rsce_client_icon_links.html5 -->\n <ul class="icon-links ce_rsce_client_icon_links">\n \t\t\t<li >\n \t\t\t<a href="#" data-icon="" target="_blank" rel="noopener">\n \t\t\t\t<span class="icon-links-label">Facebook</span>\n \t\t\t</a>\n \t\t</li>\n \t\t\t<li >\n \t\t\t<a href="#" data-icon="" target="_blank" rel="noopener">\n \t\t\t\t<span class="icon-links-label">LinkedIn</span>\n \t\t\t</a>\n \t\t</li>\n \t\t\t<li >\n \t\t\t<a href="#" data-icon="">\n \t\t\t\t<span class="icon-links-label">Instagram</span>\n \t\t\t</a>\n \t\t</li>\n \t</ul>\n \n <!-- TEMPLATE END: templates/client/rsce_client_icon_links.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n </div>\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \t\t\t</header>\n \t\t\n \t\t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <div class="tagline">\n <div class="tagline-inner">\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: templates/client/rsce_client_centered_wrapper_start.html5 -->\n \r\n \r\n <div class=" centered-wrapper ce_rsce_client_centered_wrapper_start breadcrumbs-wrapper -highlight-color -color-inverted " >\r\n \r\n \t\t\t\t<div class="centered-wrapper-inner " >\r\n \n <!-- TEMPLATE END: templates/client/rsce_client_centered_wrapper_start.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <div class="breadcrumbs-headline">Actualités</div>\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_breadcrumb.html5 -->\n \n <!-- indexer::stop -->\n <nav class="mod_breadcrumb -right block" aria-label="Breadcrumb">\n \n \n <ul>\n <li><a href="/" title="Client">Client</a></li>\n <li class="active" aria-current="page">Actualités</li>\n </ul>\n \n </nav>\n <!-- indexer::continue -->\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_breadcrumb.html5 -->\n \n <!-- TEMPLATE START: templates/client/rsce_client_centered_wrapper_stop.html5 -->\n </div>\n </div>\n \n <!-- TEMPLATE END: templates/client/rsce_client_centered_wrapper_stop.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n </div>\n </div>\n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n \t\t<div class="content-wrapper">\n \n \t\t\t<main role="main" class="main-content">\n \n \t\t\t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n \n \n <div id="article-417" class="mod_article block">\n \n \n <!-- TEMPLATE START: templates/client/rsce_client_headline_box_custom.html5 -->\n \n <div class="headline-box ce_rsce_client_headline_box_custom ">\n \t\t\t\t<h1\t\t\tclass="headline "\n \t\t\t>\n \t\tActualités</h1>\n \t\t\t</div>\n \n <!-- TEMPLATE END: templates/client/rsce_client_headline_box_custom.html5 -->\n \n </div>\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n \n \n <div id="article-408" class="mod_article block">\n \n \n <!-- TEMPLATE START: vendor/contao/news-bundle/contao/templates/modules/mod_newslist.html5 -->\n \n <!-- indexer::stop -->\n <div class="mod_newslist news-image-teaser block">\n \n \n \n \n <!-- TEMPLATE START: templates/client/news_boxed.html5 -->\n <article class="news-boxed-item news_category_2 category_2 rs-column -large-col-4-1 -large-first -large-first-row -medium-col-3-1 -medium-first -medium-first-row -small-col-1-1 -small-first -small-last -small-first-row">\n \t\t\t<div class="news-boxed-categories">\n \t\t\t<a class="news-category-btn button -small category-2" href="/actualites/categorie/categorie-1">Catégorie 1</a>\t\t</div>\n \t\t\t\t<div class="news-boxed-item-image">\n \t\t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \n \n <img src="/assets/images/j/area-1-20hqhv5kh7j97dc.jpg" width="308" height="214" alt="">\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \t\t\t\t\t\t\t<div class="news-boxed-item-image-more"><a href="/actualite/premium-themes-extenstions-created-to-perfectly-fit-together" title="Lire l'article: Premium Themes & Extenstions created to perfectly fit together">En savoir plus...<span class="invisible"> Premium Themes & Extenstions created to perfectly fit together</span></a></div>\n \t\t\t\t\t</div>\n \t\n \t\t\t <div class="tags">\n \t \t\t\t <span class="tag-wrapper">\n \t\t\t\t<a href="/actualites/tag/WyJDZWNpIGVzdCBsZSB0YWcgMSJd" class="tag_ceci-est-le-tag-1" rel="nofollow">Ceci est le tag 1</a>\t\t\t </span>\n \t \t </div>\n \t\t<h2 class="news-boxed-title">\n \t\t\t\t\t<a href="/actualite/premium-themes-extenstions-created-to-perfectly-fit-together">\n \t\t\t\tPremium Themes & Extenstions created to perfectly fit together\t\t\t\t\t</a>\n \t\t\t</h2>\n \n \t<div class="news-boxed-item-teaser">\n \t\t<p>RockSolid Themes and Extensions are made to work. We release fast, regular updates to ensure you can always rely on our foundation of lovingly designed themes and solid extensions.</p>\t</div>\n \t\n \t\n \t</article>\n \n <!-- TEMPLATE END: templates/client/news_boxed.html5 -->\n \n <!-- TEMPLATE START: templates/client/news_boxed.html5 -->\n <article class="news-boxed-item news_category_2 category_2 rs-column -large-col-4-1 -large-first-row -medium-col-3-1 -medium-first-row -small-col-1-1 -small-first -small-last">\n \t\t\t<div class="news-boxed-categories">\n \t\t\t<a class="news-category-btn button -small category-2" href="/actualites/categorie/categorie-1">Catégorie 1</a>\t\t</div>\n \t\t\t\t<div class="news-boxed-item-image">\n \t\t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \n \n <img src="/assets/images/f/area-2-4mkrf9ey03j7t3d.jpg" width="308" height="214" alt="">\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \t\t\t\t\t\t\t<div class="news-boxed-item-image-more"><a href="/actualite/pdf-fully-responsive-retina-ready-and-made-to-fit-your-needs" title="Lire l'article: PDF Fully Responsive, Retina Ready and made to fit your needs">En savoir plus...<span class="invisible"> PDF Fully Responsive, Retina Ready and made to fit your needs</span></a></div>\n \t\t\t\t\t</div>\n \t\n \t\t\t <div class="tags">\n \t \t\t\t <span class="tag-wrapper">\n \t\t\t\t<a href="/actualites/tag/Tag2" class="tag_tag2" rel="nofollow">Tag2</a>\t\t\t </span>\n \t \t </div>\n \t\t<h2 class="news-boxed-title">\n \t\t\t\t\t<a href="/actualite/pdf-fully-responsive-retina-ready-and-made-to-fit-your-needs">\n \t\t\t\tPDF Fully Responsive, Retina Ready and made to fit your needs\t\t\t\t\t</a>\n \t\t\t</h2>\n \n \t<div class="news-boxed-item-teaser">\n \t\t<p>Discover how RockSolid Themes and Extensions can completely transform the way you work. Start your next project using one of our high quality Contao Themes and save time and money.</p>\t</div>\n \t\n \t\t\t<ul class="enclosure">\n \t\t\t\t\t\t\t<li class="download-element ext-pdf">\n \t\t\t\t\t<a href="/actualites/categorie/categorie-1?file=files/downloads/pdf/Placeholder-PDF.pdf" title="Télécharger Placeholder-PDF.pdf">\n \t\t\t\t\t\tPlaceholder-PDF.pdf\t\t\t\t\t\t<span class="size">(12.9 Ko)</span>\n \t\t\t\t\t</a>\n \t\t\t\t\t\t\t\t\t\t<img src="/assets/images/g/958-22dbarfqma9t37a.png" width="116" height="150" alt="">\n \t\t\t\t</li>\n \t\t\t\t\t</ul>\n \t\n \t</article>\n \n <!-- TEMPLATE END: templates/client/news_boxed.html5 -->\n \n <!-- TEMPLATE START: templates/client/news_boxed.html5 -->\n <article class="news-boxed-item news_category_2 category_2 news_category_3 category_3 rs-column -large-col-4-1 -large-first-row -medium-col-3-1 -medium-last -medium-first-row -small-col-1-1 -small-first -small-last">\n \t\t\t<div class="news-boxed-categories">\n \t\t\t<a class="news-category-btn button -small category-2" href="/actualites/categorie/categorie-1">Catégorie 1</a><a class="news-category-btn button -small category-3" href="/actualites/categorie/categorie-2">Catégorie 2</a>\t\t</div>\n \t\t\t\t<div class="news-boxed-item-image">\n \t\t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \n \n <img src="/assets/images/f/area-2-4mkrf9ey03j7t3d.jpg" width="308" height="214" alt="">\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n \t\t\t\t\t\t\t<div class="news-boxed-item-image-more"><a href="/actualite/pdf-fully-responsive-retina-ready-and-made" title="Lire l'article: PDF Fully Responsive, Retina Ready and made">En savoir plus...<span class="invisible"> PDF Fully Responsive, Retina Ready and made</span></a></div>\n \t\t\t\t\t</div>\n \t\n \t\t\t <div class="tags">\n \t \t\t\t <span class="tag-wrapper">\n \t\t\t\t<a href="/actualites/tag/WyJDZWNpIGVzdCBsZSB0YWcgMSJd" class="tag_ceci-est-le-tag-1" rel="nofollow">Ceci est le tag 1</a>\t\t\t </span>\n \t \t\t\t <span class="tag-wrapper">\n \t\t\t\t<a href="/actualites/tag/Tag2" class="tag_tag2" rel="nofollow">Tag2</a>\t\t\t </span>\n \t \t </div>\n \t\t<h2 class="news-boxed-title">\n \t\t\t\t\t<a href="/actualite/pdf-fully-responsive-retina-ready-and-made">\n \t\t\t\tPDF Fully Responsive, Retina Ready and made\t\t\t\t\t</a>\n \t\t\t</h2>\n \n \t<div class="news-boxed-item-teaser">\n \t\t<p>Discover how RockSolid Themes and Extensions can completely transform the way you work. Start your next project using one of our high quality Contao Themes and save time and money.</p>\t</div>\n \t\n \t\t\t<ul class="enclosure">\n \t\t\t\t\t\t\t<li class="download-element ext-pdf">\n \t\t\t\t\t<a href="/actualites/categorie/categorie-1?file=files/downloads/pdf/Placeholder-PDF.pdf" title="Télécharger Placeholder-PDF.pdf">\n \t\t\t\t\t\tPlaceholder-PDF.pdf\t\t\t\t\t\t<span class="size">(12.9 Ko)</span>\n \t\t\t\t\t</a>\n \t\t\t\t\t\t\t\t\t\t<img src="/assets/images/g/958-22dbarfqma9t37a.png" width="116" height="150" alt="">\n \t\t\t\t</li>\n \t\t\t\t\t</ul>\n \t\n \t</article>\n \n <!-- TEMPLATE END: templates/client/news_boxed.html5 -->\n \n \n </div>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: vendor/contao/news-bundle/contao/templates/modules/mod_newslist.html5 -->\n \n </div>\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n \n \t\t\t\t\n \t\t\t</main>\n \n \t\t\t\t\t\t\t<aside class="sidebar">\n \t\t\t\t\t\t\t\t\t\t\n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n \n \n <div id="article-442" class="mod_article block">\n \n \n <!-- TEMPLATE START: vendor/codefog/contao-news_categories/contao/templates/modules/mod_newscategories.html5 -->\n \n <!-- indexer::stop -->\n <div class="mod_newscategories block">\n \n <h2>Filtrer par catégorie</h2>\n \n \n \n <!-- TEMPLATE START: templates/client/nav_newscategories.html5 -->\n \n <ul class="level_1">\n \n <li class="reset">\n <a href="/actualites" class="reset" title="Afficher les actualités de toutes les catégories" itemprop="url">\n \n <span class="name" itemprop="name">Toutes les catégories</span>\n \n <sup class="quantity">(4)</sup>\n </a>\n \n </li>\n \n <li class="news_category_2 category_2 active">\n \n <strong class="news_category_2 category_2 active">\n <span class="name" itemprop="name">Catégorie 1</span>\n \n <sup class="quantity">(3)</sup>\n </strong>\n \n </li>\n \n <li class="news_category_3 category_3">\n <a href="/actualites/categorie/categorie-2" class="news_category_3 category_3" title="Catégorie 2" itemprop="url">\n \n <span class="name" itemprop="name">Catégorie 2</span>\n \n <sup class="quantity">(2)</sup>\n </a>\n \n </li>\n </ul>\n \n <!-- TEMPLATE END: templates/client/nav_newscategories.html5 -->\n \n \n </div>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: vendor/codefog/contao-news_categories/contao/templates/modules/mod_newscategories.html5 -->\n \n <!-- TEMPLATE START: vendor/numero2/contao-tags/src/Resources/contao/templates/modules/mod_news_tag_cloud.html5 -->\n \n <!-- indexer::stop -->\n <div class="mod_news_tag_cloud block">\n \n <h2>Filtrer par tags</h2>\n \n \n <ul>\n <li>\n \n <a href="/actualites/tag/WyJDZWNpIGVzdCBsZSB0YWcgMSJd" class="tag_ceci-est-le-tag-1" rel="noindex nofollow">\n \n Ceci est le tag 1<span class="count">2</span>\n \n </a>\n \n </li>\n <li>\n \n <a href="/actualites/tag/Tag2" class="tag_tag2" rel="noindex nofollow">\n \n Tag2<span class="count">1</span>\n \n </a>\n \n </li>\n </ul>\n \n \n \n </div>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: vendor/numero2/contao-tags/src/Resources/contao/templates/modules/mod_news_tag_cloud.html5 -->\n \n </div>\n \n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n \t\t\t\t</aside>\n \t\t\t\n \t\t</div>\n \n \t\t\n \t\t\t\t\t<footer class="page-footer">\n \t\t\t\t\n <!-- TEMPLATE START: templates/client/rsce_client_footer_top.html5 -->\n \n <!-- indexer::stop -->\n <a href="actualites/categorie/categorie-1#top" class="footer-top-link ce_rsce_client_footer_top">\n \tNach oben</a>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: templates/client/rsce_client_footer_top.html5 -->\n \n <!-- TEMPLATE START: templates/client/rsce_client_icon_links.html5 -->\n <ul class="icon-links ce_rsce_client_icon_links">\n \t\t\t<li >\n \t\t\t<a href="#" data-icon="" target="_blank" rel="noopener">\n \t\t\t\t<span class="icon-links-label">Facebook</span>\n \t\t\t</a>\n \t\t</li>\n \t\t\t<li >\n \t\t\t<a href="#" data-icon="" target="_blank" rel="noopener">\n \t\t\t\t<span class="icon-links-label">LinkedIn</span>\n \t\t\t</a>\n \t\t</li>\n \t\t\t<li >\n \t\t\t<a href="#" data-icon="">\n \t\t\t\t<span class="icon-links-label">Instagram</span>\n \t\t\t</a>\n \t\t</li>\n \t</ul>\n \n <!-- TEMPLATE END: templates/client/rsce_client_icon_links.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_navigation.html5 -->\n \n <!-- indexer::stop -->\n <nav class="mod_navigation footer-navigation block">\n \n \n <a href="/actualites/categorie/categorie-1#skipNavigation185" class="invisible">Aller au contenu</a>\n \n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n \n <ul class="level_1">\n <li class="home tagline-no-border sibling"><a href="/" title="Accueil" class="home tagline-no-border sibling">Accueil</a></li>\n <li class="sibling"><a href="https://contao5.env-test.fr/#intro" title="Intro" class="sibling">Intro</a></li>\n <li class="sibling"><a href="/page-1" title="Page 1" class="sibling">Page 1</a></li>\n <li class="sibling"><a href="/galeries" title="Galeries" class="sibling">Galeries</a></li>\n <li class="sibling"><a href="https://contao5.env-test.fr/page-1#services" title="Services" class="sibling">Services</a></li>\n <li class="trail sibling"><a href="/actualites" title="Actualités" class="trail sibling">Actualités</a></li>\n <li class="sibling"><a href="/contact" title="Contact" class="sibling">Contact</a></li>\n <li class="sibling"><a href="/kitchen-sink" title="Kitchen Sink" class="sibling">Kitchen Sink</a></li>\n </ul>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n \n <span id="skipNavigation185" class="invisible"></span>\n \n </nav>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_navigation.html5 -->\n \n <!-- TEMPLATE START: templates/client/mod_customnav.html5 -->\n <!-- indexer::stop -->\n <nav class="mod_customnav footer-secondary-navigation block">\n \n \n <a href="/actualites/categorie/categorie-1#skipNavigation242" class="invisible">Aller au contenu</a>\n \n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n \n <ul class="level_1">\n <li><a href="/mentions-legales" title="Mentions légales">Mentions légales</a></li>\n </ul>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n \n <a id="skipNavigation242" class="invisible"> </a>\n \n </nav>\n <!-- indexer::continue -->\n <!-- TEMPLATE END: templates/client/mod_customnav.html5 -->\n \n <!-- TEMPLATE START: templates/client/rsce_client_footer_copyright.html5 -->\n \n <!-- indexer::stop -->\n <div class="footer-copyright ce_rsce_client_footer_copyright">\n \t<span><p>© Copyright 2024. Client. Tous droits réservés. <a href="https://www.bioweb.fr" target="_blank" rel="noopener">Site cultivé par <img style="width: 50px; height: auto;" src="https://www.bioweb.fr/files/images/common/bioweb-logo-1-cr.png" alt=""></a></p></span>\n </div>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: templates/client/rsce_client_footer_copyright.html5 -->\n \t\t\t</footer>\n \t\t\n \t</div>\n \n \t\n \n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/jquery/j_accordion.html5 -->\n \n <script src="/assets/jquery-ui/js/jquery-ui.min.js?v=1.13.2"></script>\n <script>\n jQuery(function($) {\n $(document).accordion({\n // Put custom options here\n heightStyle: 'content',\n header: '.toggler',\n collapsible: true,\n create: function(event, ui) {\n ui.header.addClass('active');\n $('.toggler').attr('tabindex', 0);\n },\n activate: function(event, ui) {\n ui.newHeader.addClass('active');\n ui.oldHeader.removeClass('active');\n $('.toggler').attr('tabindex', 0);\n }\n });\n });\n </script>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/jquery/j_accordion.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/jquery/j_colorbox.html5 -->\n \n <script src="/assets/colorbox/js/colorbox.min.js?v=1.6.4.2"></script>\n <script>\n jQuery(function($) {\n $('a[data-lightbox]').map(function() {\n $(this).colorbox({\n // Put custom options here\n loop: false,\n rel: $(this).attr('data-lightbox'),\n maxWidth: '95%',\n maxHeight: '95%'\n });\n });\n });\n </script>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/jquery/j_colorbox.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/jquery/j_tablesort.html5 -->\n \n <script src="/assets/tablesorter/js/tablesorter.min.js?v=2.31.3.1"></script>\n <script>\n jQuery(function($) {\n $('.ce_table .sortable').each(function(i, table) {\n var attr = $(table).attr('data-sort-default'),\n opts = {}, s;\n \n if (attr) {\n s = attr.split('|');\n opts = { sortList: [[s[0], s[1] == 'desc' | 0]] };\n }\n \n $(table).tablesorter(opts);\n });\n });\n </script>\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/jquery/j_tablesort.html5 -->\n \n <!-- TEMPLATE START: templates/client/js_modernizr.html5 -->\n \n <!-- TEMPLATE END: templates/client/js_modernizr.html5 -->\n \n <!-- TEMPLATE START: templates/client/js_mediaelement.html5 -->\n \n <!-- TEMPLATE END: templates/client/js_mediaelement.html5 -->\n <script src="/files/client/js/script.js?v=945290f9"></script><script src="/files/client/js/shared.js?v=945290f9"></script> <script type="application/ld+json">\n {\n "@context": "https:\/\/schema.org",\n "@graph": [\n {\n "@type": "WebPage"\n },\n {\n "@type": "BreadcrumbList",\n "itemListElement": [\n {\n "@type": "ListItem",\n "item": {\n "@id": "\/",\n "name": "Client"\n },\n "position": 1\n },\n {\n "@type": "ListItem",\n "item": {\n "@id": "actualites\/categorie\/categorie-1",\n "name": "Actualités"\n },\n "position": 2\n }\n ]\n }\n ]\n }\n </script>\n <script type="application/ld+json">\n {\n "@context": "https:\/\/schema.contao.org",\n "@graph": [\n {\n "@type": "Page",\n "fePreview": false,\n "groups": [],\n "noSearch": false,\n "pageId": 297,\n "protected": false,\n "title": "Actualités"\n }\n ]\n }\n </script>\n <div id="sfwdtc0d68d" class="sf-toolbar sf-display-none" role="region" aria-label="Symfony Web Debug Toolbar"> <!-- START of Symfony Web Debug Toolbar --><div id="sfMiniToolbar-c0d68d" class="sf-minitoolbar" data-no-turbolink data-turbo="false"> <button type="button" title="Show Symfony toolbar" id="sfToolbarMiniToggler-c0d68d" accesskey="D" aria-expanded="false" aria-controls="sfToolbarMainContent-c0d68d"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="currentColor" d="M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z"/></svg> </button></div><div id="sfToolbarClearer-c0d68d" class="sf-toolbar-clearer"></div><div id="sfToolbarMainContent-c0d68d" class="sf-toolbarreset notranslate clear-fix" data-no-turbolink data-turbo="false"> <div class="sf-toolbar-block sf-toolbar-block-request sf-toolbar-status-normal " > <a href="https://contao5.env-test.fr/_profiler/c0d68d?panel=request"> <div class="sf-toolbar-icon"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="currentColor" d="M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z"/></svg> <span class="sf-toolbar-value sf-toolbar-ajax-request-counter"> Loading… </span> </div> </a> <div class="sf-toolbar-info"> <div class="sf-toolbar-info-piece"> <b>Loading the web debug toolbar…</b> </div> <div class="sf-toolbar-info-piece"> Attempt #<span id="sfLoadCounter-c0d68d"></span> </div> <div class="sf-toolbar-info-piece"> <b> <button class="sf-cancel-button" type="button" id="sfLoadCancel-c0d68d" title="Cancel loading">Cancel</button> </b> </div> </div></div> <button class="hide-button" type="button" id="sfToolbarHideButton-c0d68d" title="Close Toolbar" accesskey="D" aria-expanded="true" aria-controls="sfToolbarMainContent-c0d68d"> <svg xmlns="http://www.w3.org/2000/svg" data-icon-name="icon-tabler-x" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <line x1="18" y1="6" x2="6" y2="18"></line> <line x1="6" y1="6" x2="18" y2="18"></line></svg> </button></div><!-- END of Symfony Web Debug Toolbar --></div><style nonce="61ddf064edd1644d227faa555ef2f82d"> .sf-toolbarreset { --sf-toolbar-font-family-system: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --sf-toolbar-font-family-monospace: "Ubuntu Mono", "JetBrains Mono", ui-monospace, "Roboto Mono", SFMono-Regular, Menlo, Monaco, Consolas,"Liberation Mono", "Courier New", monospace; --sf-toolbar-white: #fff; --sf-toolbar-black: #000; --sf-toolbar-gray-50: #fafafa; --sf-toolbar-gray-100: #f5f5f5; --sf-toolbar-gray-200: #e5e5e5; --sf-toolbar-gray-300: #d4d4d4; --sf-toolbar-gray-400: #a3a3a3; --sf-toolbar-gray-500: #737373; --sf-toolbar-gray-600: #525252; --sf-toolbar-gray-700: #404040; --sf-toolbar-gray-800: #262626; --sf-toolbar-gray-900: #171717; --sf-toolbar-red-50: #FEFBFC; --sf-toolbar-red-100: #FCE9ED; --sf-toolbar-red-200: #F5B8C5; --sf-toolbar-red-300: #EF869C; --sf-toolbar-red-400: #E85574; --sf-toolbar-red-500: #E1244B; --sf-toolbar-red-600: #B41939; --sf-toolbar-red-700: #83122A; --sf-toolbar-red-800: #510B1A; --sf-toolbar-red-900: #20040A; --sf-toolbar-yellow-50: #fef7e1; --sf-toolbar-yellow-100: #fef2cd; --sf-toolbar-yellow-200: #fde496; --sf-toolbar-yellow-300: #fcd55f; --sf-toolbar-yellow-400: #fbc728; --sf-toolbar-yellow-500: #e6af05; --sf-toolbar-yellow-600: #af8503; --sf-toolbar-yellow-700: #785b02; --sf-toolbar-yellow-800: #413101; --sf-toolbar-yellow-900: #0a0800; --sf-toolbar-green-50: #eff5f5; --sf-toolbar-green-100: #deeaea; --sf-toolbar-green-200: #bbd5d5; --sf-toolbar-green-300: #99bfbf; --sf-toolbar-green-400: #76a9a9; --sf-toolbar-green-500: #598e8e; --sf-toolbar-green-600: #436c6c; --sf-toolbar-green-700: #2e4949; --sf-toolbar-green-800: #182727; --sf-toolbar-green-900: #030404;}.sf-minitoolbar { --sf-toolbar-gray-800: #262626; background-color: var(--sf-toolbar-gray-800); border-top-left-radius: 4px; bottom: 0; box-sizing: border-box; display: none; height: 36px; padding: 6px; position: fixed; right: 0; z-index: 99999;}.sf-minitoolbar button { background-color: transparent; padding: 0; border: none;}.sf-minitoolbar svg,.sf-minitoolbar img { --sf-toolbar-gray-200: #e5e5e5; color: var(--sf-toolbar-gray-200); max-height: 24px; max-width: 24px; display: inline;}.sf-toolbar-clearer { clear: both; height: 36px;}.sf-display-none { display: none;}.sf-toolbarreset *:not(svg rect) { box-sizing: content-box; vertical-align: baseline; letter-spacing: normal; width: auto;}.sf-toolbarreset { background-color: var(--sf-toolbar-gray-800); bottom: 0; box-shadow: inset 0 1px 0 var(--sf-toolbar-black), 0 -1px 0 rgba(0, 0, 0, 0.5); color: var(--sf-toolbar-gray-200); font: 11px var(--sf-toolbar-font-family-system); left: 0; margin: 0; padding: 0 36px 0 0; position: fixed; right: 0; text-align: left; text-transform: none; z-index: 99999; direction: ltr; /* neutralize the aliasing defined by external CSS styles */ -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: auto;}.sf-toolbarreset abbr { border: dashed var(--sf-toolbar-gray-500); border-width: 0 0 1px;}.sf-toolbarreset svg,.sf-toolbarreset img { height: 20px; width: 20px; display: inline-block;}.sf-toolbarreset .sf-cancel-button { color: var(--sf-toolbar-gray-700);}.sf-toolbarreset .hide-button { background: var(--sf-toolbar-gray-800); color: var(--sf-toolbar-gray-300); display: block; position: absolute; top: 2px; right: 0; width: 36px; height: 34px; cursor: pointer; text-align: center; border: none; margin: 0; padding: 0;}.sf-toolbarreset .hide-button:hover { background: var(--sf-toolbar-gray-700);}.sf-toolbarreset .hide-button svg { max-height: 18px; margin-top: 1px;}.sf-toolbar-block { cursor: default; display: block; float: left; height: 36px; margin-right: 0; position: relative; white-space: nowrap; max-width: 15%;}.sf-toolbar-block > a,.sf-toolbar-block > a:hover { display: block; text-decoration: none; background-color: transparent; color: inherit;}.sf-toolbar-block span { display: inline-block;}.sf-toolbar-block .sf-toolbar-value { color: var(--sf-toolbar-gray-100); font-size: 13px; line-height: 36px; padding: 0;}.sf-toolbar-block .sf-toolbar-label,.sf-toolbar-block .sf-toolbar-class-separator { color: var(--sf-toolbar-gray-400); font-size: 12px; margin-left: 2px;}.sf-toolbar-block .sf-toolbar-info { border-collapse: collapse; display: table; z-index: 100000;}.sf-toolbar-block hr { border-top: 1px solid var(--sf-toolbar-gray-500); margin: 4px 0; padding-top: 4px;}.sf-toolbar-block .sf-toolbar-info-piece { /* this 'border-bottom' trick is needed because 'margin-bottom' doesn't work for table rows */ border-bottom: solid transparent 3px; display: table-row;}.sf-toolbar-block .sf-toolbar-info-piece-additional,.sf-toolbar-block .sf-toolbar-info-piece-additional-detail { display: none;}.sf-toolbar-block .sf-toolbar-info-group { margin-bottom: 4px; padding-bottom: 2px; border-bottom: 1px solid #333333;}.sf-toolbar-block .sf-toolbar-info-group:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status { border-radius: 4px; padding: 2px 5px; margin-bottom: 0;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status + .sf-toolbar-status { margin-left: 4px;}.sf-toolbar-block .sf-toolbar-info-piece:last-child { margin-bottom: 0;}div.sf-toolbar .sf-toolbar-block .sf-toolbar-info-piece a { color: #99CDD8; text-decoration: underline;}div.sf-toolbar .sf-toolbar-block a:hover { text-decoration: none;}.sf-toolbar-block .sf-toolbar-info-piece b { color: var(--sf-toolbar-gray-400); display: table-cell; font-size: 11px; padding: 4px 8px 4px 0;}.sf-toolbar-block:not(.sf-toolbar-block-dump) .sf-toolbar-info-piece span { color: var(--sf-toolbar-gray-100);}.sf-toolbar-block .sf-toolbar-info-piece span { font-size: 12px;}div.sf-toolbar .sf-toolbar-block .sf-toolbar-info-piece.sf-toolbar-info-php-ext a { text-decoration: none;}.sf-toolbar-block .sf-toolbar-info { background-color: var(--sf-toolbar-gray-700); border-radius: 4px; border-bottom-left-radius: 0; bottom: 36px; color: var(--sf-toolbar-gray-100); display: none; padding: 9px 0; position: absolute;}.sf-toolbar-block.sf-toolbar-block-right .sf-toolbar-info { border-bottom-left-radius: 4px; border-bottom-right-radius: 0;}.sf-toolbar-block .sf-toolbar-info:empty { visibility: hidden;}.sf-toolbar-block .sf-toolbar-status { display: inline-block; color: var(--sf-toolbar-white); background-color: var(--sf-toolbar-gray-600); padding: 3px 6px; margin: 0 4px; min-width: 15px; min-height: 13px; text-align: center;}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-green,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-green { background-color: #059669; color: var(--white);}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-red,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-red { background-color: var(--sf-toolbar-red-500); color: var(--sf-toolbar-red-50);}.sf-toolbar-block .sf-toolbar-status.sf-toolbar-status-yellow,.sf-toolbar-block .sf-toolbar-info .sf-toolbar-status.sf-toolbar-status-yellow { background-color: var(--sf-toolbar-yellow-300); color: var(--sf-toolbar-yellow-800);}.sf-toolbar-block.sf-toolbar-status-green::before,.sf-toolbar-block.sf-toolbar-status-red::before,.sf-toolbar-block.sf-toolbar-status-yellow::before { background: var(--sf-toolbar-yellow-400); border-radius: 6px; content: ''; position: absolute; bottom: 1px; left: 0; width: 98%; height: 3px; z-index: 10005;}.sf-toolbar-block.sf-toolbar-status-red::before { background: var(--sf-toolbar-red-400);}.sf-toolbar-block.sf-toolbar-status-green::before { background: var(--sf-toolbar-green-400);}.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-green::before,.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-red::before,.sf-toolbar-block-request.sf-toolbar-block.sf-toolbar-status-yellow::before { display: none;}.sf-toolbar-block-request .sf-toolbar-status { border-radius: 6px; color: #fff; display: inline-block; flex-shrink: 0; font-size: 13px; font-weight: 500; padding: 4px 8px;}.sf-toolbar-block-request .sf-toolbar-info-piece a { background-color: transparent; text-decoration: none;}.sf-toolbar-block-request .sf-toolbar-info-piece a:hover { text-decoration: underline;}.sf-toolbar-block-request .sf-toolbar-redirection-status { font-weight: normal; padding: 2px 4px; line-height: 18px;}.sf-toolbar-block.sf-toolbar-block-request .sf-toolbar-redirection-status.sf-toolbar-status-yellow { background-color: var(--sf-toolbar-yellow-300); border-radius: 4px; color: var(--sf-toolbar-yellow-800); padding: 1px 4px;}.sf-toolbar-block.sf-toolbar-block-request .sf-toolbar-info-piece .sf-toolbar-redirection-method { background: transparent; color: var(--sf-toolbar-gray-300); border: 1px solid var(--sf-toolbar-gray-400); padding: 1px 4px;}.sf-toolbar-block-request .sf-toolbar-info-piece span.sf-toolbar-redirection-method { font-size: 12px; height: 17px; line-height: 17px; margin-right: 5px;}.sf-toolbar-block-request .sf-toolbar-request-icon svg { stroke-width: 3px;}.sf-toolbar-block-ajax .sf-toolbar-icon { cursor: pointer;}.sf-toolbar-status-green .sf-toolbar-label,.sf-toolbar-status-yellow .sf-toolbar-label,.sf-toolbar-status-red .sf-toolbar-label { color: var(--sf-toolbar-white);}.sf-toolbar-block-config svg path,.sf-toolbar-block-config svg .sf-svg-path { fill: var(--sf-toolbar-white);}.sf-toolbar-block .sf-toolbar-icon { color: var(--sf-toolbar-gray-300); align-items: center; display: flex; height: 36px; padding: 0 7px; overflow: hidden; text-overflow: ellipsis;}.sf-toolbar-block:hover .sf-toolbar-icon { border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; box-shadow: 1px 0 0 var(--sf-toolbar-black), inset 0 -1px 0 var(--sf-toolbar-black);}.sf-toolbar-block.sf-toolbar-block-right:hover .sf-toolbar-icon { box-shadow: -1px 0 0 var(--sf-toolbar-black), inset 0 -1px 0 var(--sf-toolbar-black);}.sf-toolbar-block-request .sf-toolbar-icon { padding-left: 0; padding-right: 0;}.sf-toolbar-block .sf-toolbar-icon img,.sf-toolbar-block .sf-toolbar-icon svg { border-width: 0;}.sf-toolbar-block .sf-toolbar-icon img + span,.sf-toolbar-block .sf-toolbar-icon svg + span { margin-left: 4px;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-value,.sf-toolbar-block.sf-toolbar-block-sf-cli .sf-toolbar-value { margin-left: 5px;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-label,.sf-toolbar-block.sf-toolbar-block-sf-cli .sf-toolbar-label { margin-left: 0;}.sf-toolbar-block:hover,.sf-toolbar-block.hover { position: relative;}.sf-toolbar-block:hover .sf-toolbar-icon,.sf-toolbar-block.hover .sf-toolbar-icon { background-color: var(--sf-toolbar-gray-700); position: relative; z-index: 10002;}.sf-toolbar-block-ajax.hover .sf-toolbar-info { z-index: 10001;}.sf-toolbar-block:hover .sf-toolbar-info,.sf-toolbar-block.hover .sf-toolbar-info { display: block; padding: 10px; max-width: 525px; max-height: 480px; word-wrap: break-word; overflow: hidden; overflow-y: auto;}.sf-toolbar-info-piece b.sf-toolbar-ajax-info { color: var(--sf-toolbar-gray-100);}.sf-toolbar-ajax-requests { border: 1px solid var(--sf-toolbar-gray-500); font-variant: tabular-nums; margin: 5px 0 0; width: 100%;}.sf-toolbar-ajax-requests td { background-color: var(--sf-toolbar-gray-700); border: 1px solid var(--sf-toolbar-gray-500); color: var(--sf-toolbar-gray-100); font-size: 12px; padding: 4px; vertical-align: middle;}.sf-toolbar-ajax-requests thead { border: 0;}.sf-toolbar-ajax-requests th { background-color: var(--sf-toolbar-gray-800); border: 1px solid var(--sf-toolbar-gray-500); color: var(--sf-toolbar-gray-200); font-size: 11px; padding: 4px;}.sf-ajax-request-url { max-width: 250px; line-height: 9px; overflow: hidden; text-overflow: ellipsis;}.sf-toolbar-ajax-requests .sf-ajax-request-url a { text-decoration: none;}.sf-toolbar-ajax-requests .sf-ajax-request-url a:hover { text-decoration: underline;}.sf-ajax-request-duration { text-align: right;}.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-ajax-requests .sf-toolbar-status { font-size: 11px; padding: 1px 3px;}.sf-ajax-request-loading { animation: sf-blink .5s ease-in-out infinite;}@keyframes sf-blink { 0% { background: var(--sf-toolbar-gray-800); } 50% { background: var(--sf-toolbar-gray-700); } 100% { background: var(--sf-toolbar-gray-800); }}.sf-toolbar-block.sf-toolbar-block-dump .sf-toolbar-info { max-width: none; width: 100%; position: fixed; box-sizing: border-box; left: 0;}.sf-toolbar-block-dump pre.sf-dump { background-color: var(--sf-toolbar-gray-800); border-color: var(--sf-toolbar-gray-500); border-radius: 0; margin: 6px 0 12px 0;}.sf-toolbar-block-dump pre.sf-dump:last-child { margin-bottom: 0;}.sf-toolbar-block-dump pre.sf-dump .sf-dump-search-wrapper { margin-bottom: 5px;}.sf-toolbar-block-dump pre.sf-dump span.sf-dump-search-count { color: #333; font-size: 12px;}.sf-toolbar-block-dump .sf-toolbar-info-piece { display: block;}.sf-toolbar-block-dump .sf-toolbar-info-piece .sf-toolbar-file-line { color: var(--sf-toolbar-gray-400); margin-left: 4px;}.sf-toolbar-block-dump .sf-toolbar-info img { display: none;}.sf-toolbar-block-serializer .detailed-metrics { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 15px; margin-top: 15px;}/* Responsive Design */.sf-toolbar-icon .sf-toolbar-label,.sf-toolbar-icon .sf-toolbar-value { display: none;}.sf-toolbar-block-config .sf-toolbar-icon .sf-toolbar-label,.sf-cli .sf-toolbar-icon .sf-toolbar-label { display: inline-block;}/* Legacy Design - these styles are maintained to make old panels look a bit better on the new toolbar */.sf-toolbar-block .sf-toolbar-info-piece-additional-detail { color: var(--sf-toolbar-gray-400); font-size: 12px;}.sf-toolbar-status-green .sf-toolbar-info-piece-additional-detail,.sf-toolbar-status-yellow .sf-toolbar-info-piece-additional-detail,.sf-toolbar-status-red .sf-toolbar-info-piece-additional-detail { color: var(--sf-toolbar-white);}@media (min-width: 768px) { .sf-toolbar-icon .sf-toolbar-label, .sf-toolbar-icon .sf-toolbar-value { display: inline; } .sf-toolbar-block-time .sf-toolbar-icon svg, .sf-toolbar-block-memory .sf-toolbar-icon svg { display: none; } .sf-toolbar-block-time .sf-toolbar-icon svg + span, .sf-toolbar-block-memory .sf-toolbar-icon svg + span { margin-left: 0; } .sf-toolbar-block .sf-toolbar-icon { padding: 0 10px; } .sf-toolbar-block-time .sf-toolbar-icon { padding-right: 5px; } .sf-toolbar-block-memory .sf-toolbar-icon { padding-left: 5px; } .sf-toolbar-block-request .sf-toolbar-icon { display: flex; align-items: center; padding-left: 0; padding-right: 0; } .sf-toolbar-block-request .sf-toolbar-label { margin-left: 4px; margin-right: 1px; } .sf-toolbar-block-request .sf-toolbar-status + .sf-toolbar-request-icon { display: inline-flex; margin-left: 5px; } .sf-toolbar-block-request .sf-toolbar-icon .sf-toolbar-request-icon + .sf-toolbar-label { margin-left: 0; } .sf-toolbar-block-request .sf-toolbar-label + .sf-toolbar-value { margin-right: 5px; } .sf-toolbar-block-request:hover .sf-toolbar-info { max-width: none; } .sf-toolbar-block .sf-toolbar-info-piece b { font-size: 12px; } .sf-toolbar-block .sf-toolbar-info-piece span { font-size: 13px; } .sf-toolbar-block-right { float: right; margin-left: 0; margin-right: 0; } .sf-toolbarreset .sf-toolbar-block.sf-toolbar-block-right:not(.sf-toolbar-block-sf-cli) .sf-toolbar-info { border-bottom-left-radius: 4px; border-bottom-right-radius: 0; }}@media (min-width: 1024px) { .sf-toolbar-block .sf-toolbar-info-piece-additional, .sf-toolbar-block .sf-toolbar-info-piece-additional-detail { display: inline; } .sf-toolbar-block .sf-toolbar-info-piece-additional:empty, .sf-toolbar-block .sf-toolbar-info-piece-additional-detail:empty { display: none; }}/***** Error Toolbar *****/.sf-error-toolbar .sf-toolbarreset { background: var(--sf-toolbar-gray-800); color: var(--sf-toolbar-gray-100); font: 13px/36px var(--sf-toolbar-font-family-system); height: 36px; padding: 0 15px; text-align: left;}.sf-error-toolbar .sf-toolbarreset svg { height: auto;}.sf-error-toolbar .sf-toolbarreset a { color: #99cdd8; margin-left: 5px; text-decoration: underline;}.sf-error-toolbar .sf-toolbarreset a:hover { text-decoration: none;}.sf-error-toolbar .sf-toolbarreset .sf-toolbar-icon { float: left; padding: 5px 0; margin-right: 10px;}.sf-full-stack { left: 0px; font-size: 12px;}/***** Media query print: Do not print the Toolbar. *****/@media print { .sf-toolbar { display: none !important; }}</style><script nonce="f6fbd14b35c033947389ec57b4911e17">/*<![CDATA[*/ if (typeof Sfjs === 'undefined' || typeof Sfjs.loadToolbar === 'undefined') { Sfjs = (function() { "use strict"; if ('classList' in document.documentElement) { var hasClass = function (el, cssClass) { return el.classList.contains(cssClass); }; var removeClass = function(el, cssClass) { el.classList.remove(cssClass); }; var addClass = function(el, cssClass) { el.classList.add(cssClass); }; var toggleClass = function(el, cssClass) { el.classList.toggle(cssClass); }; } else { var hasClass = function (el, cssClass) { return el.className.match(new RegExp('\\b' + cssClass + '\\b')); }; var removeClass = function(el, cssClass) { el.className = el.className.replace(new RegExp('\\b' + cssClass + '\\b'), ' '); }; var addClass = function(el, cssClass) { if (!hasClass(el, cssClass)) { el.className += " " + cssClass; } }; var toggleClass = function(el, cssClass) { hasClass(el, cssClass) ? removeClass(el, cssClass) : addClass(el, cssClass); }; } var noop = function() {}; var profilerStorageKey = 'symfony/profiler/'; var addEventListener; var el = document.createElement('div'); if (!('addEventListener' in el)) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, callback); }; } else { addEventListener = function (element, eventName, callback) { element.addEventListener(eventName, callback, false); }; } var request = function(url, onSuccess, onError, payload, options, tries) { url = new URL(url); url.searchParams.set('XDEBUG_IGNORE', '1'); url = url.toString(); var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); options = options || {}; options.retry = options.retry || false; tries = tries || 1; /* this delays for 125, 375, 625, 875, and 1000, ... */ var delay = tries < 5 ? (tries - 0.5) * 250 : 1000; xhr.open(options.method || 'GET', url, true); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.onreadystatechange = function(state) { if (4 !== xhr.readyState) { return null; } if (xhr.status == 404 && options.retry && !options.stop) { setTimeout(function() { if (options.stop) { return; } request(url, onSuccess, onError, payload, options, tries + 1); }, delay); return null; } if (200 === xhr.status) { (onSuccess || noop)(xhr); } else { (onError || noop)(xhr); } }; if (options.onSend) { options.onSend(tries); } xhr.send(payload || ''); }; var getPreference = function(name) { if (!window.localStorage) { return null; } return localStorage.getItem(profilerStorageKey + name); }; var setPreference = function(name, value) { if (!window.localStorage) { return null; } localStorage.setItem(profilerStorageKey + name, value); }; var requestStack = []; var extractHeaders = function(xhr, stackElement) { /* Here we avoid to call xhr.getResponseHeader in order to */ /* prevent polluting the console with CORS security errors */ var allHeaders = xhr.getAllResponseHeaders(); var ret; if (ret = allHeaders.match(/^x-debug-token:\s+(.*)$/im)) { stackElement.profile = ret[1]; } if (ret = allHeaders.match(/^x-debug-token-link:\s+(.*)$/im)) { stackElement.profilerUrl = ret[1]; } if (ret = allHeaders.match(/^Symfony-Debug-Toolbar-Replace:\s+(.*)$/im)) { stackElement.toolbarReplaceFinished = false; stackElement.toolbarReplace = '1' === ret[1]; } }; var successStreak = 4; var pendingRequests = 0; var renderAjaxRequests = function() { var requestCounter = document.querySelector('.sf-toolbar-ajax-request-counter'); if (!requestCounter) { return; } requestCounter.textContent = requestStack.length; var infoSpan = document.querySelector(".sf-toolbar-ajax-info"); if (infoSpan) { infoSpan.textContent = requestStack.length + ' AJAX request' + (requestStack.length !== 1 ? 's' : ''); } var ajaxToolbarPanel = document.querySelector('.sf-toolbar-block-ajax'); if (requestStack.length) { ajaxToolbarPanel.style.display = 'block'; } else { ajaxToolbarPanel.style.display = 'none'; } if (pendingRequests > 0) { addClass(ajaxToolbarPanel, 'sf-ajax-request-loading'); } else if (successStreak < 4) { addClass(ajaxToolbarPanel, 'sf-toolbar-status-red'); removeClass(ajaxToolbarPanel, 'sf-ajax-request-loading'); } else { removeClass(ajaxToolbarPanel, 'sf-ajax-request-loading'); removeClass(ajaxToolbarPanel, 'sf-toolbar-status-red'); } }; var startAjaxRequest = function(index) { var tbody = document.querySelector('.sf-toolbar-ajax-request-list'); if (!tbody) { return; } var nbOfAjaxRequest = tbody.rows.length; if (nbOfAjaxRequest >= 100) { tbody.deleteRow(0); } var request = requestStack[index]; pendingRequests++; var row = document.createElement('tr'); request.DOMNode = row; var requestNumberCell = document.createElement('td'); requestNumberCell.textContent = index + 1; row.appendChild(requestNumberCell); var profilerCell = document.createElement('td'); profilerCell.textContent = 'n/a'; row.appendChild(profilerCell); var methodCell = document.createElement('td'); methodCell.textContent = request.method; row.appendChild(methodCell); var typeCell = document.createElement('td'); typeCell.textContent = request.type; row.appendChild(typeCell); var statusCodeCell = document.createElement('td'); var statusCode = document.createElement('span'); statusCode.textContent = 'n/a'; statusCodeCell.appendChild(statusCode); row.appendChild(statusCodeCell); var pathCell = document.createElement('td'); pathCell.className = 'sf-ajax-request-url'; if ('GET' === request.method) { var pathLink = document.createElement('a'); pathLink.setAttribute('href', request.url); pathLink.textContent = request.url; pathCell.appendChild(pathLink); } else { pathCell.textContent = request.url; } pathCell.setAttribute('title', request.url); row.appendChild(pathCell); var durationCell = document.createElement('td'); durationCell.className = 'sf-ajax-request-duration'; durationCell.textContent = 'n/a'; row.appendChild(durationCell); request.liveDurationHandle = setInterval(function() { durationCell.textContent = (new Date() - request.start) + ' ms'; }, 100); row.className = 'sf-ajax-request sf-ajax-request-loading'; tbody.insertBefore(row, null); var toolbarInfo = document.querySelector('.sf-toolbar-block-ajax .sf-toolbar-info'); toolbarInfo.scrollTop = toolbarInfo.scrollHeight; renderAjaxRequests(); }; var finishAjaxRequest = function(index) { var request = requestStack[index]; clearInterval(request.liveDurationHandle); if (!request.DOMNode) { return; } if (request.toolbarReplace && !request.toolbarReplaceFinished && request.profile) { /* Flag as complete because finishAjaxRequest can be called multiple times. */ request.toolbarReplaceFinished = true; /* Search up through the DOM to find the toolbar's container ID. */ for (var elem = request.DOMNode; elem && elem !== document; elem = elem.parentNode) { if (elem.id.match(/^sfwdt/)) { Sfjs.loadToolbar(elem.id.replace(/^sfwdt/, ''), request.profile); break; } } } pendingRequests--; var row = request.DOMNode; /* Unpack the children from the row */ var profilerCell = row.children[1]; var methodCell = row.children[2]; var statusCodeCell = row.children[4]; var statusCodeElem = statusCodeCell.children[0]; var durationCell = row.children[6]; if (request.error) { row.className = 'sf-ajax-request sf-ajax-request-error'; methodCell.className = 'sf-ajax-request-error'; successStreak = 0; } else { row.className = 'sf-ajax-request sf-ajax-request-ok'; successStreak++; } if (request.statusCode) { if (request.statusCode < 300) { statusCodeElem.setAttribute('class', 'sf-toolbar-status'); } else if (request.statusCode < 400) { statusCodeElem.setAttribute('class', 'sf-toolbar-status sf-toolbar-status-yellow'); } else { statusCodeElem.setAttribute('class', 'sf-toolbar-status sf-toolbar-status-red'); } statusCodeElem.textContent = request.statusCode; } else { statusCodeElem.setAttribute('class', 'sf-toolbar-status sf-toolbar-status-red'); } if (request.duration) { durationCell.textContent = request.duration + ' ms'; } if (request.profilerUrl) { profilerCell.textContent = ''; var profilerLink = document.createElement('a'); profilerLink.setAttribute('href', request.profilerUrl); profilerLink.textContent = request.profile; profilerCell.appendChild(profilerLink); } renderAjaxRequests(); }; if (window.fetch && window.fetch.polyfill === undefined) { var oldFetch = window.fetch; window.fetch = function () { var promise = oldFetch.apply(this, arguments); var url = arguments[0]; var params = arguments[1]; var paramType = Object.prototype.toString.call(arguments[0]); if (paramType === '[object Request]') { url = arguments[0].url; params = { method: arguments[0].method, credentials: arguments[0].credentials, headers: arguments[0].headers, mode: arguments[0].mode, redirect: arguments[0].redirect }; } else { url = String(url); } if (!url.match(new RegExp("^\/((index|app(_[\\w]+)?)\\.php\/)?_wdt"))) { var method = 'GET'; if (params && params.method !== undefined) { method = params.method; } var stackElement = { error: false, url: url, method: method, type: 'fetch', start: new Date() }; var idx = requestStack.push(stackElement) - 1; promise.then(function (r) { stackElement.duration = new Date() - stackElement.start; stackElement.error = r.status < 200 || r.status >= 400; stackElement.statusCode = r.status; stackElement.profile = r.headers.get('x-debug-token'); stackElement.profilerUrl = r.headers.get('x-debug-token-link'); stackElement.toolbarReplaceFinished = false; stackElement.toolbarReplace = '1' === r.headers.get('Symfony-Debug-Toolbar-Replace'); finishAjaxRequest(idx); }, function (e){ stackElement.error = true; finishAjaxRequest(idx); }); startAjaxRequest(idx); } return promise; }; } if (window.XMLHttpRequest && XMLHttpRequest.prototype.addEventListener) { var proxied = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function(method, url, async, user, pass) { var self = this; /* prevent logging AJAX calls to static and inline files, like templates */ var path = url; if (url.slice(0, 1) === '/') { if (0 === url.indexOf('')) { path = url.slice(0); } } else if (0 === url.indexOf('https\u003A\/\/contao5.env\u002Dtest.fr')) { path = url.slice(27); } if (!path.match(new RegExp("^\/((index|app(_[\\w]+)?)\\.php\/)?_wdt"))) { var stackElement = { error: false, url: url, method: method, type: 'xhr', start: new Date() }; var idx = requestStack.push(stackElement) - 1; this.addEventListener('readystatechange', function() { if (self.readyState == 4) { stackElement.duration = new Date() - stackElement.start; stackElement.error = self.status < 200 || self.status >= 400; stackElement.statusCode = self.status; extractHeaders(self, stackElement); finishAjaxRequest(idx); } }, false); startAjaxRequest(idx); } proxied.apply(this, Array.prototype.slice.call(arguments)); }; } return { hasClass: hasClass, removeClass: removeClass, addClass: addClass, toggleClass: toggleClass, getPreference: getPreference, setPreference: setPreference, addEventListener: addEventListener, request: request, renderAjaxRequests: renderAjaxRequests, getSfwdt: function(token) { if (!this.sfwdt) { this.sfwdt = document.getElementById('sfwdt' + token); } return this.sfwdt; }, load: function(selector, url, onSuccess, onError, options) { var el = document.getElementById(selector); if (el && el.getAttribute('data-sfurl') !== url) { request( url, function(xhr) { el.innerHTML = xhr.responseText; el.setAttribute('data-sfurl', url); removeClass(el, 'loading'); var pending = pendingRequests; for (var i = 0; i < requestStack.length; i++) { startAjaxRequest(i); if (requestStack[i].duration) { finishAjaxRequest(i); } } /* Revert the pending state in case there was a start called without a finish above. */ pendingRequests = pending; (onSuccess || noop)(xhr, el); }, function(xhr) { (onError || noop)(xhr, el); }, '', options ); } return this; }, showToolbar: function(token) { var sfwdt = this.getSfwdt(token); removeClass(sfwdt, 'sf-display-none'); if (getPreference('toolbar/displayState') == 'none') { document.getElementById('sfToolbarMainContent-' + token).style.display = 'none'; document.getElementById('sfToolbarClearer-' + token).style.display = 'none'; document.getElementById('sfMiniToolbar-' + token).style.display = 'block'; } else { document.getElementById('sfToolbarMainContent-' + token).style.display = 'block'; document.getElementById('sfToolbarClearer-' + token).style.display = 'block'; document.getElementById('sfMiniToolbar-' + token).style.display = 'none'; } }, hideToolbar: function(token) { var sfwdt = this.getSfwdt(token); addClass(sfwdt, 'sf-display-none'); }, initToolbar: function(token) { this.showToolbar(token); var hideButton = document.getElementById('sfToolbarHideButton-' + token); var hideButtonSvg = hideButton.querySelector('svg'); hideButtonSvg.setAttribute('aria-hidden', 'true'); hideButtonSvg.setAttribute('focusable', 'false'); addEventListener(hideButton, 'click', function (event) { event.preventDefault(); var p = this.parentNode; p.style.display = 'none'; (p.previousElementSibling || p.previousSibling).style.display = 'none'; document.getElementById('sfMiniToolbar-' + token).style.display = 'block'; setPreference('toolbar/displayState', 'none'); }); var showButton = document.getElementById('sfToolbarMiniToggler-' + token); var showButtonSvg = showButton.querySelector('svg'); showButtonSvg.setAttribute('aria-hidden', 'true'); showButtonSvg.setAttribute('focusable', 'false'); addEventListener(showButton, 'click', function (event) { event.preventDefault(); var elem = this.parentNode; if (elem.style.display == 'none') { document.getElementById('sfToolbarMainContent-' + token).style.display = 'none'; document.getElementById('sfToolbarClearer-' + token).style.display = 'none'; elem.style.display = 'block'; } else { document.getElementById('sfToolbarMainContent-' + token).style.display = 'block'; document.getElementById('sfToolbarClearer-' + token).style.display = 'block'; elem.style.display = 'none' } setPreference('toolbar/displayState', 'block'); }); }, loadToolbar: function(token, newToken) { var that = this; var triesCounter = document.getElementById('sfLoadCounter-' + token); var options = { retry: true, onSend: function (count) { if (count === 3) { that.initToolbar(token); } if (triesCounter) { triesCounter.textContent = count; } }, }; var cancelButton = document.getElementById('sfLoadCancel-' + token); if (cancelButton) { addEventListener(cancelButton, 'click', function (event) { event.preventDefault(); options.stop = true; that.hideToolbar(token); }); } newToken = (newToken || token); this.load( 'sfwdt' + token, 'https\u003A\/\/contao5.env\u002Dtest.fr\/_wdt\/xxxxxx'.replace(/xxxxxx/, newToken), function(xhr, el) { /* Do nothing in the edge case where the toolbar has already been replaced with a new one */ if (!document.getElementById('sfToolbarMainContent-' + newToken)) { return; } /* Evaluate in global scope scripts embedded inside the toolbar */ var i, scripts = [].slice.call(el.querySelectorAll('script')); for (i = 0; i < scripts.length; ++i) { if (scripts[i].firstChild) { eval.call({}, scripts[i].firstChild.nodeValue); } } el.style.display = -1 !== xhr.responseText.indexOf('sf-toolbarreset') ? 'block' : 'none'; if (el.style.display == 'none') { return; } that.initToolbar(newToken); /* Handle toolbar-info position */ var toolbarBlocks = [].slice.call(el.querySelectorAll('.sf-toolbar-block')); for (i = 0; i < toolbarBlocks.length; ++i) { toolbarBlocks[i].onmouseover = function () { var toolbarInfo = this.querySelectorAll('.sf-toolbar-info')[0]; var pageWidth = document.body.clientWidth; var elementWidth = toolbarInfo.offsetWidth; var leftValue = (elementWidth + this.offsetLeft) - pageWidth; var rightValue = (elementWidth + (pageWidth - this.offsetLeft)) - pageWidth; /* Reset right and left value, useful on window resize */ toolbarInfo.style.right = ''; toolbarInfo.style.left = ''; if (elementWidth > pageWidth) { toolbarInfo.style.left = 0; } else if (leftValue > 0 && rightValue > 0) { toolbarInfo.style.right = (rightValue * -1) + 'px'; } else if (leftValue < 0) { toolbarInfo.style.left = 0; } else { toolbarInfo.style.right = '0px'; } }; } renderAjaxRequests(); addEventListener(document.querySelector('.sf-toolbar-ajax-clear'), 'click', function() { requestStack = []; renderAjaxRequests(); successStreak = 4; document.querySelector('.sf-toolbar-ajax-request-list').innerHTML = ''; }); addEventListener(document.querySelector('.sf-toolbar-block-ajax'), 'mouseenter', function (event) { var elem = document.querySelector('.sf-toolbar-block-ajax .sf-toolbar-info'); elem.scrollTop = elem.scrollHeight; }); addEventListener(document.querySelector('.sf-toolbar-block-ajax > .sf-toolbar-icon'), 'click', function (event) { event.preventDefault(); toggleClass(this.parentNode, 'hover'); }); var dumpInfo = document.querySelector('.sf-toolbar-block-dump .sf-toolbar-info'); if (null !== dumpInfo) { addEventListener(dumpInfo, 'sfbeforedumpcollapse', function () { dumpInfo.style.minHeight = dumpInfo.getBoundingClientRect().height+'px'; }); addEventListener(dumpInfo, 'mouseleave', function () { dumpInfo.style.minHeight = ''; }); } }, function(xhr) { if (xhr.status !== 0 && !options.stop) { var sfwdt = that.getSfwdt(token); sfwdt.innerHTML = '\ <div class="sf-toolbarreset notranslate">\ <div class="sf-toolbar-icon"><svg width="26" height="28" xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" viewBox="0 0 26 28" enable-background="new 0 0 26 28" xml:space="preserve"><path fill="#FFFFFF" d="M13 0C5.8 0 0 5.8 0 13c0 7.2 5.8 13 13 13c7.2 0 13-5.8 13-13C26 5.8 20.2 0 13 0z M20 7.5 c-0.6 0-1-0.3-1-0.9c0-0.2 0-0.4 0.2-0.6c0.1-0.3 0.2-0.3 0.2-0.4c0-0.3-0.5-0.4-0.7-0.4c-2 0.1-2.5 2.7-2.9 4.8l-0.2 1.1 c1.1 0.2 1.9 0 2.4-0.3c0.6-0.4-0.2-0.8-0.1-1.3C18 9.2 18.4 9 18.7 8.9c0.5 0 0.8 0.5 0.8 1c0 0.8-1.1 2-3.3 1.9 c-0.3 0-0.5 0-0.7-0.1L15 14.1c-0.4 1.7-0.9 4.1-2.6 6.2c-1.5 1.8-3.1 2.1-3.8 2.1c-1.3 0-2.1-0.6-2.2-1.6c0-0.9 0.8-1.4 1.3-1.4 c0.7 0 1.2 0.5 1.2 1.1c0 0.5-0.2 0.6-0.4 0.7c-0.1 0.1-0.3 0.2-0.3 0.4c0 0.1 0.1 0.3 0.4 0.3c0.5 0 0.9-0.3 1.2-0.5 c1.3-1 1.7-2.9 2.4-6.2l0.1-0.8c0.2-1.1 0.5-2.3 0.8-3.5c-0.9-0.7-1.4-1.5-2.6-1.8c-0.8-0.2-1.3 0-1.7 0.4C8.4 10 8.6 10.7 9 11.1 l0.7 0.7c0.8 0.9 1.3 1.7 1.1 2.7c-0.3 1.6-2.1 2.8-4.3 2.1c-1.9-0.6-2.2-1.9-2-2.7c0.2-0.6 0.7-0.8 1.2-0.6 c0.5 0.2 0.7 0.8 0.6 1.3c0 0.1 0 0.1-0.1 0.3C6 15 5.9 15.2 5.9 15.3c-0.1 0.4 0.4 0.7 0.8 0.8c0.8 0.3 1.7-0.2 1.9-0.9 c0.2-0.6-0.2-1.1-0.4-1.2l-0.8-0.9c-0.4-0.4-1.2-1.5-0.8-2.8c0.2-0.5 0.5-1 0.9-1.4c1-0.7 2-0.8 3-0.6c1.3 0.4 1.9 1.2 2.8 1.9 c0.5-1.3 1.1-2.6 2-3.8c0.9-1 2-1.7 3.3-1.8C20 4.8 21 5.4 21 6.3C21 6.7 20.8 7.5 20 7.5z"/></svg></div>\ An error occurred while loading the web debug toolbar. <a href="https\u003A\/\/contao5.env\u002Dtest.fr\/_profiler\/' + newToken + '">Open the web profiler.</a>\ </div>\ '; sfwdt.setAttribute('class', 'sf-toolbar sf-error-toolbar'); } }, options ); return this; }, toggle: function(selector, elOn, elOff) { var tmp = elOn.style.display, el = document.getElementById(selector); elOn.style.display = elOff.style.display; elOff.style.display = tmp; if (el) { el.style.display = 'none' === tmp ? 'none' : 'block'; } return this; }, }; })(); } Sfjs.loadToolbar('c0d68d');/*]]>*/</script>\n </body>\n </html>\n \n <!-- TEMPLATE END: templates/client/fe_page.html5 -->\n """ } -action: "delete" } |
Envelope stamps when dispatching | No items |
Envelope stamps after dispatch |
Symfony\Component\Messenger\Stamp\BusNameStamp {#5373 -busName: "messenger.bus.default" } Symfony\Component\Messenger\Stamp\SentStamp {#5405 -senderClass: "Symfony\Component\Messenger\Bridge\Doctrine\Transport\DoctrineTransport" -senderAlias: "contao_prio_low" } Symfony\Component\Messenger\Stamp\TransportMessageIdStamp {#5429 -id: "1201" } |