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 {#6083 -document: Contao\CoreBundle\Search\Document {#6082 -originalDocument: null -jsonLds: null -uri: Nyholm\Psr7\Uri {#6084 -scheme: "https" -userInfo: "" -host: "www.essensei.fr" -port: null -path: "/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk9LUiIsIlBcdTAwZTlkYWdvZ2llIiwiUHJvZHVpdCIsInJvYWRtYXAgbmFycmF0aXZlIiwiTWFuYWdlciJd" -query: "page_n199=2" -fragment: "" } -statusCode: 200 -headers: [ "cache-control" => [ "private, s-maxage=3600" ] "date" => [ "Fri, 16 Jan 2026 20:43:09 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.164,contao.db.tl_module.160,contao.db.tl_module.233,contao.db.tl_module.188,contao.db.tl_module.234,contao.db.tl_module.235,contao.db.tl_module.263,contao.db.tl_page.226,contao.db.tl_page.306,contao.db.tl_page.322,contao.db.tl_page.310,contao.db.tl_page.312,contao.db.tl_page.311,contao.db.tl_page.315,contao.db.tl_page.307,contao.db.tl_page.297,contao.db.tl_page.318,contao.db.tl_page.319,contao.db.tl_page.317,contao.db.tl_page.290,contao.db.tl_module.190,contao.db.tl_module.236,contao.db.tl_module.161,contao.db.tl_module.165,contao.db.tl_module.162,contao.db.tl_module.240,contao.db.tl_module.163,contao.db.tl_module.168,contao.db.tl_article.501,contao.db.tl_content.6016,contao.db.tl_content.5551,contao.db.tl_content.6017,contao.db.tl_content.6038,contao.db.tl_content.6018,contao.db.tl_article.507,contao.db.tl_content.6185,contao.db.tl_content.6183,contao.db.tl_news_archive.6,contao.db.tl_news.76,contao.db.tl_module.261,contao.db.tl_content.6184,contao.db.tl_module.169,contao.db.tl_article.506,contao.db.tl_content.6174,contao.db.tl_content.6176,contao.db.tl_module.191,contao.db.tl_content.6177,contao.db.tl_article.442,contao.db.tl_content.6110,contao.db.tl_content.5946,contao.db.tl_content.5752,contao.db.tl_module.247,contao.db.tl_content.6111,contao.db.tl_article.515,contao.db.tl_content.6307,contao.db.tl_article.408,contao.db.tl_content.5996,contao.db.tl_content.5594,contao.db.tl_news.66,contao.db.tl_module.199,contao.db.tl_content.5997,contao.db.tl_module.186,contao.db.tl_module.239,contao.db.tl_module.185,contao.db.tl_module.242,contao.db.tl_module.182,contao.db.tl_page.225,oveleon.cookiebar.1" ] "x-frame-options" => [ "SAMEORIGIN" ] "x-xss-protection" => [ "1; mode=block" ] "x-debug-token" => [ "78f596" ] "x-debug-token-link" => [ "https://www.essensei.fr/_profiler/78f596" ] "x-robots-tag" => [ "noindex" ] "age" => [ "0" ] "contao-private-response-reason" => [ "response-cookies (contao_frontend_deauth_profile_token, contao_frontend_auth_profile_token)" ] "set-cookie" => [ "contao_frontend_deauth_profile_token=78f596; path=/; httponly; samesite=lax" "contao_frontend_auth_profile_token=deleted; expires=Thu, 16 Jan 2025 20:43:08 GMT; Max-Age=0; path=/; httponly" ] ] -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>Nos publications</title>\n <base href="https://www.essensei.fr/">\n \n <meta name="robots" content="noindex,nofollow">\n <meta name="description" content="Notre engagement ne s’arrête pas aux missions chez nos clients. À travers nos publications, nous partageons nos convictions sur les outils et les méthodes agiles pour rendre les idées plus claires et les approches adaptables à chaque contexte.">\n <meta name="generator" content="Contao Open Source CMS">\n \n <link rel="canonical" href="https://www.essensei.fr/publications">\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=e03c59c9"><link rel="stylesheet" href="/assets/contao/css/layout.min.css?v=e03c59c9"><link rel="stylesheet" href="/bundles/contaothemesnetfontawesomeinserttag/css/all.min.css?v=cf52dd22"><link rel="stylesheet" href="/bundles/contaocookiebar/styles/cookiebar_simple.css?v=140a8ec0"><link rel="stylesheet" href="/assets/colorbox/css/colorbox.min.css?v=83af8d5b"><link rel="stylesheet" href="/assets/tablesorter/css/tablesorter.min.css?v=54af7ed9"><link rel="stylesheet" href="/files/client/css/client.css?v=61dbe1b8"><link rel="stylesheet" href="/files/client/css/fixes.css?v=553d7381"> <script src="/assets/jquery/js/jquery.min.js?v=2e868dd8"></script><script src="/files/oneo/js/modernizr.min.js?v=d182cd88"></script>\n \t<!-- Start of HubSpot Embed Code -->\n \t<script>\n \t\tvar _hsq = window._hsq = window._hsq || [];\n \t\t_hsq.push(['setContentType', 'standard-page']);\n \t</script>\n \t<script type="text/javascript" id="hs-script-loader" async defer src="//js-eu1.hs-scripts.com/146564187.js"></script>\n \t<!-- End of HubSpot Embed Code -->\n \t<!-- 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" ><link type="application/rss+xml" rel="alternate" href="https://www.essensei.fr/publication-rss.xml" title="RSS"><meta prefix="og: http://ogp.me/ns#" property="og:title" content="Nos publications">\n <meta prefix="og: http://ogp.me/ns#" property="og:type" content="website" />\n <meta prefix="og: http://ogp.me/ns#" property="og:image" content="https://www.essensei.fr/files/images/common/share.jpg">\n <meta prefix="og: http://ogp.me/ns#" property="og:image:type" content="image/jpeg">\n <meta prefix="og: http://ogp.me/ns#" property="og:image:width" content="1200">\n <meta prefix="og: http://ogp.me/ns#" property="og:image:height" content="627">\n <meta prefix="og: http://ogp.me/ns#" property="og:url" content="https://www.essensei.fr/publications">\n <meta prefix="og: http://ogp.me/ns#" property="og:site_name" content="Essensei">\n \n \t\t<script src="https://cdn.jsdelivr.net/npm/sienna-accessibility@latest/dist/sienna-accessibility.umd.js" defer></script>\n \t<script src="https://unpkg.com/web-vitals@5.1.0/dist/web-vitals.iife.js" defer></script> \n \n <script src="bundles/contaocookiebar/scripts/cookiebar.min.js?v=140a8ec0"></script>\n </head>\n <body id="top" class="sidebar-right level-2 page-297">\n \n \t\n \t<div class="page">\n \t\t\t\t\t<header class="page-header">\n \t\t\t\t\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="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="832" height="144" alt="Essensei">\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: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n \n <a href="/contact" title="Contacter notre équipe d'experts" class="page-contact hs-cta-trigger-button hs-cta-trigger-button-273522371778" itemprop="url">\n <span itemprop="name">Prise de rendez-vous</span>\n </a>\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_navigation.html5 -->\n \n <!-- indexer::stop -->\n <nav class="mod_navigation main-navigation block">\n \n \n <a href="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk9LUiIsIlBcdTAwZTlkYWdvZ2llIiwiUHJvZHVpdCIsInJvYWRtYXAgbmFycmF0aXZlIiwiTWFuYWdlciJd?page_n199=2#skipNavigation190" class="invisible">Aller au contenu</a>\n \n \n <!-- TEMPLATE START: templates/client/nav_custom_sub_nolink.html5 -->\n \n <ul class="level_1">\n \n <li class="home tagline-no-border">\n <a\n href="/"\n title="Conseil & formation agile pour les entreprises"\n class="home tagline-no-border" >\n Accueil </a>\n \n \n \n \n <li class="">\n <a\n href="/expertises"\n title="L'agilité au service de vos ambitions"\n >\n Expertises </a>\n \n \n \n \n <li class="page-roadmap-narrative">\n <a\n href="/roadmap-narrative"\n title="Roadmap Narrative : racontez la progression de vos utilisateurs"\n class="page-roadmap-narrative" >\n Roadmap Narrative </a>\n \n \n \n \n <li class="submenu">\n <a\n href="/formations"\n title="Formations méthodes & certifications agiles | Scrum, SAFe, …"\n class="submenu" aria-haspopup="true" >\n Formations </a>\n \n <!-- TEMPLATE START: templates/client/nav_custom_sub_nolink.html5 -->\n \n <ul class="level_2">\n \n <li class="">\n <a\n href="https://www.essensei.fr/formations#parcours-produit"\n title="Parcours Produit"\n >\n Parcours Produit </a>\n \n \n \n \n <li class="">\n <a\n href="https://www.essensei.fr/formations#parcours-manager"\n title="Parcours Manager"\n >\n Parcours Manager </a>\n \n \n \n \n <li class="">\n <a\n href="https://www.essensei.fr/formations#parcours-agile-a-l-echelle"\n title="Parcours Agile à l'échelle"\n >\n Parcours Agile à l'échelle </a>\n \n \n \n \n <li class="">\n <a\n href="https://www.essensei.fr/formations#parcours-delivery"\n title="Parcours Delivery"\n >\n Parcours Delivery </a>\n \n \n \n </ul>\n \n <!-- TEMPLATE END: templates/client/nav_custom_sub_nolink.html5 -->\n \n \n \n \n <li class="submenu trail nolink">\n <strong>\n Ressources </strong>\n \n <!-- TEMPLATE START: templates/client/nav_custom_sub_nolink.html5 -->\n \n <ul class="level_2">\n \n <li class="trail sibling">\n <a\n href="/publications"\n title="Nos publications"\n class="trail sibling" >\n Publications </a>\n \n \n \n \n <li class="sibling">\n <a\n href="/ressources/a-telecharger"\n title="Nos ressources téléchargeables"\n class="sibling" >\n À télécharger </a>\n \n \n \n \n <li class="sibling">\n <a\n href="/ressources/conferences"\n title="Conférences"\n class="sibling" >\n Conférences </a>\n \n \n \n </ul>\n \n <!-- TEMPLATE END: templates/client/nav_custom_sub_nolink.html5 -->\n \n \n \n \n <li class="">\n <a\n href="/equipe"\n title="Des experts unis par la passion du métier"\n >\n Equipe </a>\n \n \n \n </ul>\n \n <!-- TEMPLATE END: templates/client/nav_custom_sub_nolink.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: vendor/contao/core-bundle/contao/templates/modules/mod_navigation.html5 -->\n \n <!-- indexer::stop -->\n <nav class="mod_navigation main-navigation block">\n \n \n <a href="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk9LUiIsIlBcdTAwZTlkYWdvZ2llIiwiUHJvZHVpdCIsInJvYWRtYXAgbmFycmF0aXZlIiwiTWFuYWdlciJd?page_n199=2#skipNavigation190" class="invisible">Aller au contenu</a>\n \n \n <!-- TEMPLATE START: templates/client/nav_custom_sub_nolink.html5 -->\n \n <ul class="level_1">\n \n <li class="home tagline-no-border">\n <a\n href="/"\n title="Conseil & formation agile pour les entreprises"\n class="home tagline-no-border" >\n Accueil </a>\n \n \n \n \n <li class="">\n <a\n href="/expertises"\n title="L'agilité au service de vos ambitions"\n >\n Expertises </a>\n \n \n \n \n <li class="page-roadmap-narrative">\n <a\n href="/roadmap-narrative"\n title="Roadmap Narrative : racontez la progression de vos utilisateurs"\n class="page-roadmap-narrative" >\n Roadmap Narrative </a>\n \n \n \n \n <li class="submenu">\n <a\n href="/formations"\n title="Formations méthodes & certifications agiles | Scrum, SAFe, …"\n class="submenu" aria-haspopup="true" >\n Formations </a>\n \n <!-- TEMPLATE START: templates/client/nav_custom_sub_nolink.html5 -->\n \n <ul class="level_2">\n \n <li class="">\n <a\n href="https://www.essensei.fr/formations#parcours-produit"\n title="Parcours Produit"\n >\n Parcours Produit </a>\n \n \n \n \n <li class="">\n <a\n href="https://www.essensei.fr/formations#parcours-manager"\n title="Parcours Manager"\n >\n Parcours Manager </a>\n \n \n \n \n <li class="">\n <a\n href="https://www.essensei.fr/formations#parcours-agile-a-l-echelle"\n title="Parcours Agile à l'échelle"\n >\n Parcours Agile à l'échelle </a>\n \n \n \n \n <li class="">\n <a\n href="https://www.essensei.fr/formations#parcours-delivery"\n title="Parcours Delivery"\n >\n Parcours Delivery </a>\n \n \n \n </ul>\n \n <!-- TEMPLATE END: templates/client/nav_custom_sub_nolink.html5 -->\n \n \n \n \n <li class="submenu trail nolink">\n <strong>\n Ressources </strong>\n \n <!-- TEMPLATE START: templates/client/nav_custom_sub_nolink.html5 -->\n \n <ul class="level_2">\n \n <li class="trail sibling">\n <a\n href="/publications"\n title="Nos publications"\n class="trail sibling" >\n Publications </a>\n \n \n \n \n <li class="sibling">\n <a\n href="/ressources/a-telecharger"\n title="Nos ressources téléchargeables"\n class="sibling" >\n À télécharger </a>\n \n \n \n \n <li class="sibling">\n <a\n href="/ressources/conferences"\n title="Conférences"\n class="sibling" >\n Conférences </a>\n \n \n \n </ul>\n \n <!-- TEMPLATE END: templates/client/nav_custom_sub_nolink.html5 -->\n \n \n \n \n <li class="">\n <a\n href="/equipe"\n title="Des experts unis par la passion du métier"\n >\n Equipe </a>\n \n \n \n </ul>\n \n <!-- TEMPLATE END: templates/client/nav_custom_sub_nolink.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="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk9LUiIsIlBcdTAwZTlkYWdvZ2llIiwiUHJvZHVpdCIsInJvYWRtYXAgbmFycmF0aXZlIiwiTWFuYWdlciJd?page_n199=2#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="/gestion-du-handicap">Gestion du handicap</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: 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: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n \n \n <div id="article-501" class="mod_article block">\n \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 -background-color-1 -color-inverted " >\r\n \r\n \t\t\t\t<div class="centered-wrapper-background" style="background-image: url("/assets/images/x/pexels-photo-2abz18x7j07bsbw.jpg");background-size: cover;filter:grayscale(1) contrast(1) ;-webkit-filter:grayscale(1) contrast(1) ;-ms-filter:grayscale(1) contrast(1) ;-o-filter:grayscale(1) contrast(1) ;-khtml-filter:grayscale(1) contrast(1) ;opacity: .15;" data-image-url="/assets/images/x/pexels-photo-2abz18x7j07bsbw.jpg"></div>\r\n \t\t\t<div class="centered-wrapper-inner insidePadding insidePadding-150px25px" style="padding:150px 25px;">\r\n \n <!-- TEMPLATE END: templates/client/rsce_client_centered_wrapper_start.html5 -->\n \n <!-- TEMPLATE START: templates/client/rsce_client_headline_box_custom.html5 -->\n \n <div class="headline-box -align-center ce_rsce_client_headline_box_custom ">\n \t\t\t\t<h1\t\t\tclass="headline "\n \t\t\t>\n \t\tNos publications</h1>\n \t\t\t</div>\n \n <!-- TEMPLATE END: templates/client/rsce_client_headline_box_custom.html5 -->\n \n \n \n <div class="tagline-description content-text"> \n \n \n \n <div class="rte">\n <p style="text-align: center;"><span class="text-intro">Tout savoir sur l'agilité en entreprise.</span></p>\n <p style="text-align: center;">Vous retrouverez ici l'ensemble des publications essensei. De la stratégie produit jusqu'à la réalisation opérationnelle en passant par le design organisationnelle et la transformation d'entreprise. Notre équipe de coachs agile vous livrent leurs expertises, savoir-faire, opinions et bonnes pratiques éprouvées sur le terrain.</p>\n </div>\n \n </div>\n \n \n \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 </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-507" class="mod_article overflow-visible block">\n \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 outsideMargin outsideMargin--150px25px25px" style="margin: -150px 25px 25px;" >\r\n \r\n \t\t\t\t<div class="centered-wrapper-inner insidePadding insidePadding-25px" style="padding:25px;">\r\n \n <!-- TEMPLATE END: templates/client/rsce_client_centered_wrapper_start.html5 -->\n \n <!-- TEMPLATE START: templates/client/mod_newslist.html5 -->\n \n <!-- indexer::stop -->\n <div class="mod_newslist news-image-teaser publication-star block">\n \n \n \n \n <!-- TEMPLATE START: templates/client/news_boxed_item.html5 -->\n <article class="news-boxed-item featured">\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/h/photo-couverture-roadmap-mphfpjgc0at92px.jpg" width="613" height="438" alt="Photo représentant des managers produits lors d'une revue de roadmap dans un contexte tendu">\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="/publication/le-paradoxe-de-la-roadmap-produit-entre-strategie-et-realite-operationnelle" title="Lire la publication Le paradoxe de la roadmap produit : entre stratégie et réalité opérationnelle">Lire la publication</a></div>\n \t\t\t\t\t</div>\n \t\t\n \t<div class="news-bottom">\n \t\t<div class="news-content">\n \t\t\t\t\t\t<h2 class="news-boxed-title">\n \t\t\t\t\t\t\t\t\t<a title="Le paradoxe de la roadmap produit : entre stratégie et réalité opérationnelle" href="/publication/le-paradoxe-de-la-roadmap-produit-entre-strategie-et-realite-operationnelle">\n \t\t\t\t\t\t\t\t\tLe paradoxe de la roadmap produit : entre stratégie et réalité opérationnelle\t\t\t\t\t\t\t\t\t</a>\n \t\t\t\t\t\t\t</h2>\n \n \t\t\t<div class="news-boxed-item-teaser">\n \t\t\t\t<p><strong>Et si le vrai problème des roadmaps produits n’était pas leur contenu, mais leur nature même ?</strong> Tiraillées entre impératifs stratégiques et contraintes capacitaires, elles deviennent le terrain d’une lutte stérile entre vision long terme et réalité du delivery. Pour sortir de cette impasse, il faut repenser non seulement ce que l’on planifie, mais comment et pourquoi on le planifie.</p>\t\t\t</div>\n \t\t\t\n \t\t\t\t\t</div>\n \t\t\t\t\t<div class="tags">\n \t\t\t\t\t\t\t\t\t<span class="tag-wrapper">\n \t\t\t\t\t\t<a href="/publications/tag/Produit" class="tag_produit" rel="nofollow">Produit</a>\t\t\t\t\t</span>\n \t\t\t\t\t\t\t\t\t<span class="tag-wrapper">\n \t\t\t\t\t\t<a href="/publications/tag/WyJTdHJhdFx1MDBlOWdpZSJd" class="tag_stratégie" rel="nofollow">Stratégie</a>\t\t\t\t\t</span>\n \t\t\t\t\t\t\t</div>\n \t\t\t</div>\n \t</article>\n \n <!-- TEMPLATE END: templates/client/news_boxed_item.html5 -->\n \n \n </div>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: templates/client/mod_newslist.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 </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_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-515" class="mod_article block">\n \n \n <!-- TEMPLATE START: templates/client/rsce_client_hubspot.html5 -->\n \n <!-- indexer::stop -->\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: templates/client/rsce_client_hubspot.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="reader" class="mod_article overflow-visible block">\n \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 " >\r\n \r\n \t\t\t\t<div class="centered-wrapper-inner insidePadding insidePadding-25px" style="padding:25px;">\r\n \n <!-- TEMPLATE END: templates/client/rsce_client_centered_wrapper_start.html5 -->\n \n <!-- TEMPLATE START: templates/client/mod_newslist.html5 -->\n \n <!-- indexer::stop -->\n <div class="mod_newslist news-image-teaser news-list block">\n \n \n \n \n <!-- TEMPLATE START: templates/client/news_boxed_list_item.html5 -->\n <article class="news-boxed-item ">\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/3/timon-studler-abgavhjxwdq-unsplash-2hysr8f9bhvfa7f.jpg" width="700" height="350" alt="Photo : un ensemble de personne se croisant devant un immeuble d'entreprise">\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="/publication/agile-scale-l-essentiel" title="Lire la publication Agile@scale : l'essentiel">Lire la publication</a></div>\n \t\t\t\t\t</div>\n \t\t<div class="news-bottom">\n \t\t<div class="news-content">\n \t\t\t\t\t\t<h2 class="news-boxed-title">\n \t\t\t\t\t\t\t\t\t<a title="Agile@scale : l'essentiel" href="/publication/agile-scale-l-essentiel">\n \t\t\t\t\t\t\t\t\tAgile@scale : l'essentiel\t\t\t\t\t\t\t\t\t</a>\n \t\t\t\t\t\t\t</h2>\n \n \t\t\t<div class="news-boxed-item-teaser">\n \t\t\t\t<p>Aujourd’hui, une part importante des transformations Agile se concentre presque exclusivement sur la mise en place d’un modèle Agile à l’échelle utilisant souvent un framework spécifique. Ces frameworks, qui ont acquis une certaine maturité et apportent beaucoup, sont malheureusement souvent dévoyés et utilisés en dehors de leur but premier. Je vous propose ici de prendre quelques minutes pour en entrevoir l'essentiel : 4 principes fondateurs sous-tendus par 4 piliers majeurs.</p>\t\t\t</div>\n \n \t\t\t\n \t\t\t\t\t</div>\n \t\t\t\t\t<div class="tags">\n \t\t\t\t\t\t\t\t\t<span class="tag-wrapper">\n \t\t\t\t\t\t<a href="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSJd" class="tag_agilité-à-léchelle" rel="nofollow">Agilité à l'échelle</a>\t\t\t\t\t</span>\n \t\t\t\t\t\t\t</div>\n \t\t\t</div>\n \t</article>\n \n <!-- TEMPLATE END: templates/client/news_boxed_list_item.html5 -->\n \n <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/pagination/pagination.html5 -->\n \n <!-- indexer::stop -->\n <nav class="pagination block" aria-label="Pagination">\n \n <p>Page 2 de 2</p>\n \n <ul>\n \n <li class="previous"><a href="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk9LUiIsIlBcdTAwZTlkYWdvZ2llIiwiUHJvZHVpdCIsInJvYWRtYXAgbmFycmF0aXZlIiwiTWFuYWdlciJd" class="previous" title="Aller à la page 1">Précédente</a></li>\n \n <li><a href="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk9LUiIsIlBcdTAwZTlkYWdvZ2llIiwiUHJvZHVpdCIsInJvYWRtYXAgbmFycmF0aXZlIiwiTWFuYWdlciJd" class="link" title="Aller à la page 1">1</a></li>\n <li><strong class="active">2</strong></li>\n \n \n </ul>\n \n </nav>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/pagination/pagination.html5 -->\n \n \n </div>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: templates/client/mod_newslist.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 </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-506" class="mod_article mb-0 block">\n \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 " >\r\n \r\n \t\t\t\t<div class="centered-wrapper-inner insidePadding insidePadding-50px00" style="padding:50px 0 0;">\r\n \n <!-- TEMPLATE END: templates/client/rsce_client_centered_wrapper_start.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"><i class='fa fa-magnifying-glass'></i> Lancer ma recherche</a>\n \t<form action="/recherche" method="get">\n \t\t<label for="oneo-nav-search-191">Saisissez les mots clés</label>\n \t\t<input id="oneo-nav-search-191" type="search" name="keywords">\n \t\t<button type="submit"><i class='fa fa-magnifying-glass'></i> Lancer ma 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_centered_wrapper_stop.html5 -->\n </div>\n </div>\n \n <!-- TEMPLATE END: templates/client/rsce_client_centered_wrapper_stop.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-442" class="mod_article sticky-top block">\n \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 " >\r\n \r\n \t\t\t\t<div class="centered-wrapper-inner insidePadding insidePadding-0050px" style="padding:0 0 50px;">\r\n \n <!-- TEMPLATE END: templates/client/rsce_client_centered_wrapper_start.html5 -->\n \n \n \n <div class="content-text"> \n \n \n \n <div class="rte">\n <p style="margin-top: 0;">Filtrer par tags <small style="line-height: 1.2; display: inline-block;">Cliquez sur un tag pour l'ajouter au filtre et afficher les publications associées</small></p>\n </div>\n \n </div>\n \n \n \n \n <!-- TEMPLATE START: templates/client/mod_news_tag_cloud.html5 -->\n \n <!-- indexer::stop -->\n <div class="mod_news_tag_cloud block">\n \n \n \n <ul>\n <li class="active">\n \n <a href="/publications/tag/WyJDb25mXHUwMGU5cmVuY2UiLCJNYW5hZ2VyIiwiT0tSIiwiUFx1MDBlOWRhZ29naWUiLCJQcm9kdWl0Iiwicm9hZG1hcCBuYXJyYXRpdmUiXQ==#reader" class="tag_agilité-à-léchelle active" rel="noindex nofollow">\n <strong class="tag_agilité-à-léchelle active">\n \n Agilité à l'échelle<span class="count">3</span>\n \n </strong>\n </a>\n \n </li>\n <li class="active">\n \n <a href="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIk1hbmFnZXIiLCJPS1IiLCJQXHUwMGU5ZGFnb2dpZSIsIlByb2R1aXQiLCJyb2FkbWFwIG5hcnJhdGl2ZSJd#reader" class="tag_conférence active" rel="noindex nofollow">\n <strong class="tag_conférence active">\n \n Conférence<span class="count">1</span>\n \n </strong>\n </a>\n \n </li>\n <li>\n \n <a href="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk1hbmFnZXIiLCJPS1IiLCJQXHUwMGU5ZGFnb2dpZSIsIlByb2R1aXQiLCJyb2FkbWFwIG5hcnJhdGl2ZSIsIkZvcm1hdGlvbiJd#reader" class="tag_formation" rel="noindex nofollow">\n \n Formation<span class="count">2</span>\n \n </a>\n \n </li>\n <li class="active">\n \n <a href="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk9LUiIsIlBcdTAwZTlkYWdvZ2llIiwiUHJvZHVpdCIsInJvYWRtYXAgbmFycmF0aXZlIl0=#reader" class="tag_manager active" rel="noindex nofollow">\n <strong class="tag_manager active">\n \n Manager<span class="count">1</span>\n \n </strong>\n </a>\n \n </li>\n <li class="active">\n \n <a href="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk1hbmFnZXIiLCJQXHUwMGU5ZGFnb2dpZSIsIlByb2R1aXQiLCJyb2FkbWFwIG5hcnJhdGl2ZSJd#reader" class="tag_okr active" rel="noindex nofollow">\n <strong class="tag_okr active">\n \n OKR<span class="count">2</span>\n \n </strong>\n </a>\n \n </li>\n <li class="active">\n \n <a href="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk1hbmFnZXIiLCJPS1IiLCJQcm9kdWl0Iiwicm9hZG1hcCBuYXJyYXRpdmUiXQ==#reader" class="tag_pédagogie active" rel="noindex nofollow">\n <strong class="tag_pédagogie active">\n \n Pédagogie<span class="count">1</span>\n \n </strong>\n </a>\n \n </li>\n <li>\n \n <a href="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk1hbmFnZXIiLCJPS1IiLCJQXHUwMGU5ZGFnb2dpZSIsIlByb2R1aXQiLCJyb2FkbWFwIG5hcnJhdGl2ZSIsIlByb2R1Y3QgT3duZXIiXQ==#reader" class="tag_product-owner" rel="noindex nofollow">\n \n Product Owner<span class="count">2</span>\n \n </a>\n \n </li>\n <li class="active">\n \n <a href="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk1hbmFnZXIiLCJPS1IiLCJQXHUwMGU5ZGFnb2dpZSIsInJvYWRtYXAgbmFycmF0aXZlIl0=#reader" class="tag_produit active" rel="noindex nofollow">\n <strong class="tag_produit active">\n \n Produit<span class="count">6</span>\n \n </strong>\n </a>\n \n </li>\n <li class="active">\n \n <a href="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk1hbmFnZXIiLCJPS1IiLCJQXHUwMGU5ZGFnb2dpZSIsIlByb2R1aXQiXQ==#reader" class="tag_roadmap-narrative active" rel="noindex nofollow">\n <strong class="tag_roadmap-narrative active">\n \n roadmap narrative<span class="count">1</span>\n \n </strong>\n </a>\n \n </li>\n <li>\n \n <a href="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk1hbmFnZXIiLCJPS1IiLCJQXHUwMGU5ZGFnb2dpZSIsIlByb2R1aXQiLCJyb2FkbWFwIG5hcnJhdGl2ZSIsIlN0cmF0XHUwMGU5Z2llIl0=#reader" class="tag_stratégie" rel="noindex nofollow">\n \n Stratégie<span class="count">2</span>\n \n </a>\n \n </li>\n <li>\n \n <a href="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk1hbmFnZXIiLCJPS1IiLCJQXHUwMGU5ZGFnb2dpZSIsIlByb2R1aXQiLCJyb2FkbWFwIG5hcnJhdGl2ZSIsIlRyYW5zZm9ybWF0aW9uIl0=#reader" class="tag_transformation" rel="noindex nofollow">\n \n Transformation<span class="count">2</span>\n \n </a>\n \n </li>\n </ul>\n \n <a class="reset" href="/publications#reader">\n <span>Réinitialiser</span>\n </a>\n \n \n </div>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: templates/client/mod_news_tag_cloud.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 </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="publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk9LUiIsIlBcdTAwZTlkYWdvZ2llIiwiUHJvZHVpdCIsInJvYWRtYXAgbmFycmF0aXZlIiwiTWFuYWdlciJd?page_n199=2#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="https://www.linkedin.com/company/essensei" data-icon="" style="color: #fff; background-color: #0a66c2" 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</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="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk9LUiIsIlBcdTAwZTlkYWdvZ2llIiwiUHJvZHVpdCIsInJvYWRtYXAgbmFycmF0aXZlIiwiTWFuYWdlciJd?page_n199=2#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"><a href="/" class="home tagline-no-border">Accueil</a></li>\n <li><a href="/expertises">Expertises</a></li>\n <li class="page-roadmap-narrative"><a href="/roadmap-narrative" class="page-roadmap-narrative">Roadmap Narrative</a></li>\n <li><a href="/formations">Formations</a></li>\n <li class="trail nolink"><a href="/ressources" class="trail nolink">Ressources</a></li>\n <li><a href="/equipe">Equipe</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="/publications/tag/WyJBZ2lsaXRcdTAwZTkgXHUwMGUwIGwmIzM5O1x1MDBlOWNoZWxsZSIsIkNvbmZcdTAwZTlyZW5jZSIsIk9LUiIsIlBcdTAwZTlkYWdvZ2llIiwiUHJvZHVpdCIsInJvYWRtYXAgbmFycmF0aXZlIiwiTWFuYWdlciJd?page_n199=2#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">Mentions légales</a></li>\n <li class="ccb-trigger ccb-prefill"><a href="/mentions-legales" class="ccb-trigger ccb-prefill">Paramètres de confidentialité</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 2026. Essensei. 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="Logo BioWeb.fr"></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\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=b45a08b4"></script><script src="/files/client/js/shared.js?v=b45a08b4"></script> <script type="application/ld+json">\n {\n "@context": "https:\/\/schema.org",\n "@graph": [\n {\n "@type": "WebPage"\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": "Nos publications"\n }\n ]\n }\n </script>\n \n <!-- TEMPLATE START: vendor/oveleon/contao-cookiebar/contao/templates/cookiebar/cookiebar_simple.html5 -->\n <!-- indexer::stop -->\n <div class="contao-cookiebar cc-wrap cookiebar_simple cc-bottom cc-right" role="complementary" aria-describedby="cookiebar-desc" data-nosnippet>\n <div class="cc-inner" aria-live="assertive" role="alert">\n <div id="cookiebar-desc" class="cc-head">\n <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. Remarque : Vous pouvez utiliser cette case pour toute information et choisir s'il doit être possible de l'afficher à nouveau ou non.</p> </div>\n <div class="cc-footer highlight">\n <button class="cc-btn cc-focus success" data-accept-all>Tout accepter</button>\n <button class="cc-btn cc-focus deny" data-deny-all>Tout refuser</button>\n <button class="cc-btn cc-focus info" data-toggle-group aria-expanded="false" data-ft-opener aria-controls="cg">Paramètres de confidentialité</button>\n <div id="cg" class="cc-groups toggle-group">\n <div class="cc-group">\n <input type="checkbox" name="group[]" id="g1" value="1" data-toggle-cookies disabled checked>\n <label for="g1" class="group">Essential</label>\n <div class="cc-cookies">\n <p>Ceci est le texte essentiel</p> <div class="cc-cookie">\n <input type="checkbox" name="cookie[]" id="c2" value="2" disabled checked>\n <label for="c2" class="cookie">Contao HTTPS CSRF Token</label>\n <p>Protects against cross-site request forgery attacks.</p> <div class="cc-cookie-info">\n <div><span>Durée de conservation:</span> This cookie will only remain for the current browser session.</div>\n </div>\n </div>\n <div class="cc-cookie">\n <input type="checkbox" name="cookie[]" id="c3" value="3" disabled checked>\n <label for="c3" class="cookie">PHP SESSION ID</label>\n <p>Saves the current PHP session.</p> <div class="cc-cookie-info">\n <div><span>Durée de conservation:</span> This cookie will only remain for the current browser session.</div>\n </div>\n </div>\n </div>\n </div>\n <div class="cc-group">\n <input type="checkbox" name="group[]" id="g2" value="2" data-toggle-cookies>\n <label for="g2" class="group">Analytics</label>\n <div class="cc-cookies">\n <div class="cc-cookie">\n <input type="checkbox" name="cookie[]" id="c4" value="4">\n <label for="c4" class="cookie">Google Analytics</label>\n <p>Cookie de Google pour l'analyse du site Web. Génère des données statistiques sur la façon dont le visiteur utilise le site Web.</p> <button class="cc-detail-btn-details cc-focus" data-toggle-group aria-expanded="false" aria-controls="cc4">\n <span>Afficher plus de détails<span class="cc-invisible"> for Google Analytics</span></span>\n <span>Masquer plus de détails<span class="cc-invisible"> for Google Analytics</span></span>\n </button>\n <div id="cc4" class="cc-cookie-desc toggle-group" style="display: none">\n <p>Fournisseur : Google Ireland Ltd., Gordon House, Barrow Street, Dublin 4, Irlande<br>Durée de stockage : Vous pouvez en savoir plus sur la durée de stockage du cookie ici <a href="https://policies.google.com/privacy." target="_blank" rel="noopener">https://policies.google.com/privacy.</a></p> </div>\n </div>\n </div>\n </div>\n <button class="cc-btn cc-focus save" data-save>Sauvegarder la sélection</button>\n </div>\n </div>\n <div class="cc-info">\n <a href="https://www.essensei.fr/mentions-legales">Mentions légales</a>\n </div>\n </div>\n </div>\n <!-- indexer::continue -->\n \n <!-- TEMPLATE END: vendor/oveleon/contao-cookiebar/contao/templates/cookiebar/cookiebar_simple.html5 -->\n <script>var cookiebar = new ContaoCookiebar({configId:1,pageId:225,hideOnInit:0,blocking:0,focusTrap:1,version:5,lifetime:63072000,consentLog:0,token:'ccb_contao_token',doNotTrack:0,currentPageId:297,excludedPageIds:null,cookies:{"4":{"id":4,"type":"script","checked":true,"token":["_ga"],"resources":[{"src":"https:\/\/www.googletagmanager.com\/gtag\/js?id=G-4QSPQ0KZCR","flags":["async"],"mode":1}],"priority":0,"scripts":[{"script":"window.addEventListener('load', function() {\n if (!window.webVitals) {\n console.error('Web Vitals non charg\u00e9');\n return;\n }\n\n window.dataLayer = window.dataLayer || [];\n function gtag(){ dataLayer.push(arguments); }\n gtag('js', new Date());\n gtag('config', 'G-4QSPQ0KZCR', {\n anonymize_ip: true,\n allow_ad_personalization_signals: false\n });\n\n function sendToGA(metric) {\n gtag('event', metric.name, {\n event_category: 'Web Vitals',\n value: Math.round(metric.name === 'CLS' ? metric.delta * 1000 : metric.delta),\n event_label: metric.id, \n non_interaction: true\n });\n }\n\n ['onCLS','onFID','onLCP','onINP','onTTFB'].forEach(fn => {\n if (typeof webVitals[fn] === 'function') {\n webVitals[fn](sendToGA);\n } else {\n console.warn(fn + ' non disponible');\n }\n });\n});","position":1,"mode":1}]}},configs:[],disableTracking:0,texts:{acceptAndDisplay:'tl_cookiebar.acceptAndDisplayLabel'}});</script>\n \n <div id="sfwdt78f596" class="sf-toolbar sf-display-none" role="region" aria-label="Symfony Web Debug Toolbar"> <!-- START of Symfony Web Debug Toolbar --><div id="sfMiniToolbar-78f596" class="sf-minitoolbar" data-no-turbolink data-turbo="false"> <button type="button" title="Show Symfony toolbar" id="sfToolbarMiniToggler-78f596" accesskey="D" aria-expanded="false" aria-controls="sfToolbarMainContent-78f596"> <svg xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Symfony" 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-78f596" class="sf-toolbar-clearer"></div><div id="sfToolbarMainContent-78f596" 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://www.essensei.fr/_profiler/78f596?panel=request"> <div class="sf-toolbar-icon"> <svg xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Symfony" 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-78f596"></span> </div> <div class="sf-toolbar-info-piece"> <b> <button class="sf-cancel-button" type="button" id="sfLoadCancel-78f596" title="Cancel loading">Cancel</button> </b> </div> </div></div> <button class="hide-button" type="button" id="sfToolbarHideButton-78f596" title="Close Toolbar" accesskey="D" aria-expanded="true" aria-controls="sfToolbarMainContent-78f596"> <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><link rel="stylesheet" nonce="da1f8c29b520b6bac8cb79ece82d82c6" href="https://www.essensei.fr/_wdt/styles" /><script nonce="b4b3a5aeba0dee4dc330b46d68350ffc">/*<![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\/\/www.essensei.fr')) { path = url.slice(23); } 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) { return document.getElementById('sfwdt' + token); }, 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\/\/www.essensei.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\/\/www.essensei.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('78f596');/*]]>*/</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 {#6123 -busName: "messenger.bus.default" } Symfony\Component\Messenger\Stamp\SentStamp {#6153 -senderClass: "Symfony\Component\Messenger\Bridge\Doctrine\Transport\DoctrineTransport" -senderAlias: "contao_prio_low" } Symfony\Component\Messenger\Stamp\TransportMessageIdStamp {#6160 -id: "130256" } |