templates/base.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="fr" data-font="regular"
  3.       style="font-size: 100%;{% if show_screen_loader is defined and show_screen_loader == 1 %}opacity:0;{% endif %}"
  4.       class="{% block html_class %}{% endblock %} {% block html_class_site_variant %}htmlNordInfo{% endblock %}">
  5. <head>
  6.   <meta name="robots" content="follow"/>
  7.   <meta charset="UTF-8">
  8.   {% if app.request.getSchemeAndHttpHost() == "https://services.lenord.fr"
  9.     or app.request.getSchemeAndHttpHost() == "https://lenord.fr"
  10.     or app.request.getSchemeAndHttpHost() == "https://info.lenord.fr" %}
  11.     {% if post is defined and post.slug is defined and (post.slug == "donnees-personnelles" or (post.type is defined and post.type.type is same as('pub'))) %}
  12.       <meta name="robots" content="noindex">
  13.     {% else %}
  14.       <meta name="robots" content="follow"/>
  15.     {% endif %}
  16.   {% else %}
  17.     <meta name="robots" content="noindex"/>
  18.   {% endif %}
  19.   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  20.   <meta name="description" content="{{ meta_description??null }}"/>
  21.   {% if twitter_card is defined %}
  22.     {% for key,value in openGraph %}
  23.       <meta name="{{ "twitter:#{key}" }}" content="{{ value|striptags }}">
  24.     {% endfor %}
  25.   {% endif %}
  26.   {% if openGraph is defined %}
  27.     {% for key,value in openGraph %}
  28.       <meta property="{{ "og:#{key}" }}" content="{{ value|striptags }}">
  29.     {% endfor %}
  30.   {% endif %}
  31.   <title>
  32.     {% block title %}Nord Info
  33.     {% endblock %}
  34.   </title>
  35.   {% block seo %}{% endblock %}
  36.   <script type="application/ld+json">
  37.     {
  38.       "@context": "https://schema.org",
  39.       "@type": "GovernmentOrganization",
  40.       "name": "Département du Nord",
  41.       "address": {
  42.         "@type": "PostalAddress",
  43.         "addressLocality": "Lille, France",
  44.         "postalCode": "59000",
  45.         "streetAddress": "Hôtel du Département - 51, rue Gustave Delory"
  46.       },
  47.       "url": "https://lenord.fr",
  48.       "logo": "https://lenord.fr/img/brandmaster/logo-le-nord.svg"
  49.     }
  50.   </script>
  51.   {% block favicon %}
  52.     <link rel="apple-touch-icon" sizes="192x192" href="{{ asset('img/favicon/favicon_info.png') }}">
  53.     <link rel="apple-touch-icon" sizes="512x512" href="{{ asset('img/favicon/favicon_info.png') }}">
  54.     <link rel="icon" type="image/png" sizes="32x32" href="{{ asset('img/favicon/favicon_info.png') }}">
  55.     <link rel="icon" type="image/png" sizes="16x16" href="{{ asset('img/favicon/favicon_info.png') }}">
  56.     <link rel="manifest" href="{{ asset('img/favicon/nord-info') }}/site.webmanifest">
  57.   {% endblock %}
  58.   <link rel="stylesheet" href="{{ asset('plugins/owlcarousel/owl.carousel.min.css') }}">
  59.   <link rel="stylesheet" href="{{ asset('plugins/owlcarousel/owl.theme.default.min.css') }}">
  60.   {% block stylesheets %}
  61.     {{ encore_entry_link_tags('common') }}
  62.     {{ encore_entry_link_tags('app') }}
  63.   {% endblock %}
  64.   <script src='{{ asset("plugins/jquery/jquery-3.1.0.min.js") }}'></script>
  65.   <script src='{{ asset("plugins/jquery/jquery-migrate-3.0.0.min.js") }}'></script>
  66.   <script src='{{ asset("plugins/jquery-ui/jquery-ui.min.js") }}'></script>
  67.   <link rel="stylesheet" type="text/css"
  68.         href="{{ asset('plugins/datetimepicker/build/jquery.datetimepicker.min.css') }}">
  69.   <script src="{{ asset('plugins/datetimepicker/build/jquery.datetimepicker.full.js') }}"></script>
  70.   <script src="https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js"></script>
  71.   {#  <script src='{{ asset("plugins/tarteaucitron/tarteaucitron.js") }}?v=1.3'></script> #}
  72.   <script src='{{ asset("plugins/swiped-events/dist/swiped-events.min.js") }}'></script>
  73.   <link rel="stylesheet" type="text/css" href='{{ asset("plugins/autoComplete/dist/css/autoComplete.css") }}'>
  74.   <script src="https://unpkg.com/@trevoreyre/autocomplete-js"></script>
  75.   <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css"
  76.         integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay" crossorigin="anonymous">
  77.   {% if app.request.getSchemeAndHttpHost() == "https://services.lenord.fr"
  78.     or app.request.getSchemeAndHttpHost() == "https://lenord.fr"
  79.     or app.request.getSchemeAndHttpHost() == "https://info.lenord.fr" %}
  80.     <!-- Matomo -->
  81.     <script>
  82.       var _paq = window._paq = window._paq || [];
  83.       /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  84.       _paq.push(['trackPageView']);
  85.       _paq.push(['enableLinkTracking']);
  86.       (function () {
  87.         var u = "https://mesure.lenord.fr/";
  88.         _paq.push(['setTrackerUrl', u + 'matomo.php']);
  89.         _paq.push(['setSiteId', '2']);
  90.         var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
  91.         g.async = true;
  92.         g.src = u + 'matomo.js';
  93.         s.parentNode.insertBefore(g, s);
  94.       })();
  95.     </script>
  96.   {% else %}
  97.     <script>
  98.       var _paq = window._paq = window._paq || [];
  99.       /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  100.       _paq.push(['trackPageView']);
  101.       _paq.push(['enableLinkTracking']);
  102.       (function () {
  103.         var u = "https://mesure-preprod.lenord.fr/";
  104.         _paq.push(['setTrackerUrl', u + 'matomo.php']);
  105.         _paq.push(['setSiteId', '3']);
  106.         var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
  107.         g.async = true;
  108.         g.src = u + 'matomo.js';
  109.         s.parentNode.insertBefore(g, s);
  110.       })();
  111.     </script>
  112.     <!-- End Matomo Code -->
  113.   {% endif %}
  114.   {#  <script type="text/javascript"> #}
  115.   {#    tarteaucitron.init({ #}
  116.   {#      "privacyUrl": "", /* Privacy policy url */ #}
  117.   {#      "hashtag": "#tarteaucitron", /* Open the panel with this hashtag */ #}
  118.   {#      "cookieName": "nordinfo", /* Cookie name */ #}
  119.   {#      "orientation": "bottom", /* Banner position (top - bottom) */ #}
  120.   {#      "showAlertSmall": false, /* Show the small banner on bottom right */ #}
  121.   {#      "cookieslist": true, /* Show the cookie list */ #}
  122.   {#      "adblocker": false, /* Show a Warning if an adblocker is detected */ #}
  123.   {#      "AcceptAllCta": true, /* Show the accept all button when highPrivacy on */ #}
  124.   {#      "highPrivacy": true, /* Disable auto consent */ #}
  125.   {#      "handleBrowserDNTRequest": false, /* If Do Not Track == 1, disallow all */ #}
  126.   {#      "removeCredit": true, /* Remove credit link */ #}
  127.   {#      "moreInfoLink": true, /* Show more info link */ #}
  128.   {#      "useExternalCss": false, #}
  129.   {#      /* If false, the tarteaucitron.css file will be loaded */ #}
  130.   {# // "cookieDomain": ".my-multisite-domaine.fr", /* Shared cookie for multisite */ #}
  131.   {#      "readmoreLink": "/cookiespolicy" /* Change the default readmore link */ #}
  132.   {#    }); #}
  133.   {#    tarteaucitron.services.favoriteCookie = { #}
  134.   {#      "key": "favoriteCookie", #}
  135.   {#      "type": "support", #}
  136.   {#      "name": "Favoris", #}
  137.   {#      "needConsent": true, #}
  138.   {#      "cookies": ['favorite'], #}
  139.   {#      "readmoreLink": "/cookies_explanations", // If you want to change readmore link #}
  140.   {#      "js": function () { #}
  141.   {#        "use strict"; #}
  142.   {# // When user allow cookie #}
  143.   {#      }, #}
  144.   {#      "fallback": function () { #}
  145.   {#        "use strict"; #}
  146.   {# // when use deny cookie #}
  147.   {#      } #}
  148.   {#    }; #}
  149.   {#    tarteaucitron.services.preferencesCookie = { #}
  150.   {#      "key": "preferencesCookie", #}
  151.   {#      "type": "support", #}
  152.   {#      "name": "Préférences géographique et thématique", #}
  153.   {#      "needConsent": true, #}
  154.   {#      "cookies": [ #}
  155.   {#        'territories', 'topics' #}
  156.   {#      ], #}
  157.   {#      "readmoreLink": "/cookies_explanations", // If you want to change readmore link #}
  158.   {#      "js": function () { #}
  159.   {#        "use strict"; #}
  160.   {# // When user allow cookie #}
  161.   {#      }, #}
  162.   {#      "fallback": function () { #}
  163.   {#        "use strict"; #}
  164.   {# // when use deny cookie #}
  165.   {#      } #}
  166.   {#    }; #}
  167.   {#    (tarteaucitron.job = tarteaucitron.job || []).push('favoriteCookie'); #}
  168.   {#    (tarteaucitron.job = tarteaucitron.job || []).push('preferencesCookie'); #}
  169.   {#    tarteaucitron.user.gtagUa = ''; // UA-151015779-1 #}
  170.   {#    (tarteaucitron.job = tarteaucitron.job || []).push('gtag');{% if app.request.getSchemeAndHttpHost() == "https://info.lenord.fr" or #}
  171.   {#      app.request.getSchemeAndHttpHost() == "https://lenord.fr" or #}
  172.   {#      app.request.getSchemeAndHttpHost() == "https://services.lenord.fr" %} #}
  173.   {#    tarteaucitron.user.matomoId = 2; #}
  174.   {#    tarteaucitron.user.matomoHost = "https://mesure.lenord.fr/"; // eg: https://stat.mydomain.com/ #}
  175.   {#    (tarteaucitron.job = tarteaucitron.job || []).push('matomo'); #}
  176.   {#    {% elseif app.request.getSchemeAndHttpHost() == "https://nordinfo.spontaneit.fr" %} #}
  177.   {#    tarteaucitron.user.matomoId = 5; #}
  178.   {#    tarteaucitron.user.matomoHost = "https://mesure-preprod.lenord.fr/"; // eg: https://stat.mydomain.com/ #}
  179.   {#    (tarteaucitron.job = tarteaucitron.job || []).push('matomo');{% endif %} #}
  180.   {#  </script> #}
  181.   {#
  182.   {% block google_tag_manager %}
  183.     {% if app.request.getSchemeAndHttpHost() == "https://info.lenord.fr" %}
  184.       <script>
  185.         (function (w, d, s, l, i) {
  186.           w[l] = w[l] || [];
  187.           w[l].push({'gtm.start': new Date().getTime(), event: 'gtm.js'});
  188.           var f = d.getElementsByTagName(s)[0],
  189.             j = d.createElement(s),
  190.             dl = l != 'dataLayer' ? '&l=' + l : '';
  191.           j.async = true;
  192.           j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
  193.           f.parentNode.insertBefore(j, f);
  194.         })(window, document, 'script', 'dataLayer', 'GTM-TL74KSQ');
  195.       </script>
  196.     {% endif %}
  197.   {% endblock %}
  198.   #}
  199.   {% if articleSchema is defined %}
  200.     <script type="application/ld+json">
  201.                 {{ articleSchema|raw }}
  202.             
  203.     
  204.     </script>
  205.   {% endif %}
  206.   <style>
  207.     .message-div.message-div-success-optin {
  208.       background-color: #17323f;
  209.     }
  210.   </style>
  211.   {% if is_pdf == 1 %}
  212.     <style>
  213.       body {
  214.         font-family: Serif, serif;
  215.         font-size: 15pt;
  216.         background: none;
  217.         color: black;
  218.         page-break-before: always;
  219.       }
  220.       #backtotop,
  221.       #confort,
  222.       #sidebar,
  223.       .fermer,
  224.       .menu,
  225.       .contenumodale,
  226.       iframe,
  227.       .c-dialog,
  228.       footer img,
  229.       .menubouton,
  230.       button,
  231.       #header,
  232.       form,
  233.       .sr-only,
  234.       .sr-only-focusable,
  235.       .outils,
  236.       #footer {
  237.         display: none;
  238.       }
  239.       .logo {
  240.         width: 33%;
  241.         margin: 0 33%;
  242.       }
  243.       .sstitre {
  244.         font-size: 25pt;
  245.       }
  246.       .tableau,
  247.       th,
  248.       td {
  249.         border-collapse: collapse;
  250.         border: 2pt solid #000000;
  251.         padding: 10pt;
  252.       }
  253.       .tableau {
  254.         width: 100%;
  255.       }
  256.       caption {
  257.         font-size: 20pt;
  258.         margin-top: 30pt;
  259.         margin-bottom: 10pt;
  260.       }
  261.       a {
  262.         color: black;
  263.         text-decoration: none;
  264.       }
  265.       a:after {
  266.         content: " (" attr(href) ") ";
  267.         text-decoration: underline;
  268.       }
  269.       a[href^="tel:"]:after {
  270.         content: none;
  271.       }
  272.       a[href^="mailto:"]:after {
  273.         content: none;
  274.       }
  275.       .Accordeon-panel[hidden] {
  276.         display: block;
  277.       }
  278.       h3 button {
  279.         border: none;
  280.         font-size: 19pt;
  281.         font-weight: bold;
  282.         font-family: Serif;
  283.         text-align: left;
  284.       }
  285.       .bloclogos img {
  286.         max-width: 200px
  287.       }
  288.     </style>
  289.   {% endif %}
  290. </head>
  291. <body
  292.   class="{% block body_class %}{% endblock %} {% if is_pdf == 1 %}is_pdf{% endif %} {% block body_class_site_variant %}bodyNordInfo{% endblock %}"
  293.   data-user-logged="{% if app.user is not null %}1{% else %}0{% endif %}"
  294.   data-user-dark-mode="{% if app.user is not null %}{{ app.user.darkMode }}{% endif %}"
  295.   data-user-font-size="{% if app.user is not null %}{{ app.user.fontSize }}{% endif %}"
  296.   data-user-font-family="{% if app.user is not null %}{{ app.user.fontFamily }}{% endif %}">
  297. {% set current_path = app.request.get('_route') %}
  298. {% set trans_day_hash = {
  299.   "Monday": "Lundi",
  300.   "Tuesday": "Mardi",
  301.   "Wednesday": "Mercredi",
  302.   "Thursday": "Jeudi",
  303.   "Friday": "Vendredi",
  304.   "Saturday": "Samedi",
  305.   "Sunday": "Dimanche"
  306. } %}
  307. {% set trans_month_hash = {
  308.   "January": "janvier",
  309.   "February": "février",
  310.   "March": "mars",
  311.   "April": "avril",
  312.   "May": "mai",
  313.   "June": "juin",
  314.   "July": "juillet",
  315.   "August": "août",
  316.   "September": "septembre",
  317.   "October": "octobre",
  318.   "November": "novembre",
  319.   "December": "décembre",
  320. } %}
  321. {% block google_tag_manager_body %}{% endblock %}
  322. {% if is_pdf != 1 %}
  323.   {% if show_screen_loader is defined and show_screen_loader == 1 %}
  324.     <div class="pageLoader" id="pageLoader">
  325.       <div class="__logo-middle-wrapper">
  326.         <img src="{{ asset('img/logos/logo-nord-info.svg') }}" alt="Nord Info, le département est là"
  327.              class="__logo-middle">
  328.         <div class="__spinner">
  329.           <p class="loader">Chargement en cours</p>
  330.         </div>
  331.       </div>
  332.       <img src="{{ asset('img/logos/logo-splash-screen-bottom.png') }}" alt="Nord Info, le département est là"
  333.            class="__logo-bottom">
  334.     </div>
  335.   {% endif %}
  336. {% endif %}
  337. {% block header %}
  338.   {% if is_pdf != 1 %}
  339.     <p class="d-print-block d-none" style="text-align:center;">{{ app.request.uri }}</p>
  340.     {% block header_logo_print %}
  341.       <div style="text-align:center;" class="d-print-block d-none">
  342.         <img src="https://spontaneit1.fra1.digitaloceanspaces.com/info-lenord/images/logos/logo-nord-info.png"
  343.              style="width:190px;height:75px;display:inline-block;" alt="">
  344.       </div>
  345.     {% endblock %}
  346.     <header role="banner" class="headerMain {% block header_main_css_class %}--nordInfo{% endblock %}">
  347.       <div class="accessibleLinksMobile">
  348.         <p>Aller</p>
  349.         <ul>
  350.           <li>
  351.             <a href="#" data-toggle-navbar="#collapseHeaderMain">
  352.               <span>au menu</span>
  353.             </a>
  354.           </li>
  355.           <li>
  356.             <a href="#" data-focus-search-mobile>
  357.               <span>à la recherche</span>
  358.             </a>
  359.           </li>
  360.           <li>
  361.             <a href="#mainContent" data-focus-content>
  362.               <span>au contenu</span>
  363.             </a>
  364.           </li>
  365.         </ul>
  366.       </div>
  367.       <button class="btnOpenMenuMobile --floating"
  368.               id="btnOpenMenuMobile"
  369.               data-toggle-navbar="#collapseHeaderMain"
  370.               tabindex="-1"
  371.               data-aria-hidden-by-modal
  372.               aria-controls="collapseHeaderMain">
  373.                         <span class="__inner">
  374.                             <span class="__icon">
  375.                                 {{ source('svg/icons/icon-menu-lines.svg') }}
  376.                             </span>
  377.                             <span class="__text">MENU</span>
  378.                         </span>
  379.       </button>
  380.       <div class="navMainContainer" id="collapseHeaderMain">
  381.         <button class="__btnClose" data-toggle-navbar="#collapseHeaderMain" role="button" aria-expanded="false"
  382.                 aria-controls="collapseHeaderMain" data-tabindex-mobile="2">
  383.           <span class="sr-only">Fermer le menu</span>
  384.           <svg aria-hidden="true" focusable="false" data-name="Calque 1"
  385.                xmlns="http://www.w3.org/2000/svg" viewbox="0 0 121.6 121.6">
  386.             <g id="add">
  387.               <path id="add-2" class="cls-1" d="M55.6,0V55.6H0V66H55.6v55.6H66V66h55.6V55.6H66V0Z"/>
  388.             </g>
  389.           </svg>
  390.           <span class="sr-only">Fermer</span>
  391.         </button>
  392.         <div class="__inner">
  393.           <div class="container">
  394.             <div class="__topBar">
  395.               <nav class="__col _anchors">
  396.                 <p class="colorBlueLight">Aller : &nbsp;</p>
  397.                 <ul class="__list">
  398.                   <li>
  399.                     <a href="#" data-focus-menu>
  400.                       <span>au menu</span>
  401.                     </a>
  402.                   </li>
  403.                   <li>
  404.                     <a href="#" data-focus-search>
  405.                       <span>à la recherche</span>
  406.                     </a>
  407.                   </li>
  408.                   <li>
  409.                     <a href="#mainContent" data-focus-content>
  410.                       <span>au contenu</span>
  411.                     </a>
  412.                   </li>
  413.                 </ul>
  414.               </nav>
  415.               <div class="__col _fontSizes">
  416.                 <ul class="__list _fontSizes">
  417.                   <li>
  418.                     <button data-font-size="increase" title="A+ Agrandir le texte de 15%" data-tabindex-mobile="8">
  419.                       <span>A+</span>
  420.                     </button>
  421.                   </li>
  422.                   <li>
  423.                     <button data-font-size="decrease" title="A- Diminuer le texte de 15%" data-tabindex-mobile="8">
  424.                       <span>A-</span>
  425.                     </button>
  426.                   </li>
  427.                 </ul>
  428.               </div>
  429.               <div class="__col _dyslexia">
  430.                 <button data-font-toggle="dyslexia" data-tabindex-mobile="8">
  431.                   <span>Dyslexie</span>
  432.                 </button>
  433.               </div>
  434.               {% block header_col_dynamic %}
  435.                 <nav class="__col _glossaire">
  436.                   <a href="/glossaire" class="{% if app.request.pathinfo == '/glossaire' %}active{% endif %}">
  437.                     <span>Glossaire</span>
  438.                   </a>
  439.                 </nav>
  440.                 <div class="__col _nightMode">
  441.                   <button data-darkmode data-tabindex-mobile="11"
  442.                           data-user-logged="{% if app.user is not null %}1{% else %}0{% endif %}">
  443.                     <span>Mode nuit</span>
  444.                   </button>
  445.                 </div>
  446.               {% endblock %}
  447.               <nav class="__col _login">
  448.                 <ul class="__listLogin">
  449.                   {% block header_col_login %}
  450.                     {% if app.user is not null %}
  451.                       {% if app.user.role == 'public' %}
  452.                         <li>
  453.                           <a href="{{ path('app_logout') }}" class="linkLogin _logout">
  454.                             <div class="__inner">
  455.                               {{ source('svg/user-solid.svg') }}
  456.                               <span>Me déconnecter</span>
  457.                             </div>
  458.                           </a>
  459.                         </li>
  460.                       {% endif %}
  461.                       {% if app.user.role == 'admin' or app.user.role == 'superadmin' or app.user.role == 'redacteur' or app.user.role == 'agent' or app.user.role == 'lecteur' or app.user.role == 'vip' or app.user.role == 'presse' %}
  462.                         <li>
  463.                           <a href="{{ path('app_logout') }}" class="linkLogin _logout _agent">
  464.                             <div class="__inner">
  465.                               {{ source('svg/lock.svg') }}
  466.                               <span>Me déconnecter</span>
  467.                             </div>
  468.                           </a>
  469.                         </li>
  470.                       {% endif %}
  471.                     {% else %}
  472.                       <li>
  473.                         <a href="{{ path('app_login') }}" class="linkLogin">
  474.                           <div class="__inner">
  475.                             {{ source('svg/user-solid.svg') }}
  476.                             <span>Me connecter</span>
  477.                           </div>
  478.                         </a>
  479.                       </li>
  480.                     {% endif %}
  481.                   {% endblock %}
  482.                 </ul>
  483.               </nav>
  484.             </div>
  485.             <div class="__mainBar">
  486.               <div class="__col _colLogo">
  487.                 {% block header_logo %}
  488.                   <a href="{{ path('info') }}" data-tabindex-mobile="1" title="Aller à l'accueil du site Nord Info">
  489.                     <img src="{{ asset('img/logos/logo-nord-info.svg') }}"
  490.                          alt="Nord Info (retour à la page d'accueil)">
  491.                   </a>
  492.                 {% endblock %}
  493.               </div>
  494.               <div class="__col _colSearch" role="search">
  495.                 {% block header_form_search %}
  496.                   <form action="{{ path('search_words') }}" method="GET" class="formSearchMain _header form">
  497.                     <label for="inputSearch" hidden>Je recherche</label>
  498.                     <div class="__input-wrapper">
  499.                       <input required name="search" title="Je recherche" type="text" id="inputSearch"
  500.                              data-tabindex-mobile="5" placeholder="Je recherche" class="form-control __input-search">
  501.                       <button type="submit" class="__btn-search" data-tabindex-mobile="6">
  502.                         <img src="{{ asset('img/brandmaster/icon-search-nord-info.svg') }}" alt="" aria-hidden="true">
  503.                         <span class="sr-only">Recherche</span>
  504.                       </button>
  505.                     </div>
  506.                   </form>
  507.                 {% endblock %}
  508.               </div>
  509.               <div class="__col _colUser">
  510.                 {% block header_dropdown_user_menu %}
  511.                   <div class="dropdown dropdownUserMenuHeader" id="dropdownUserMenu">
  512.                     <button class="toggleUserMenu" role="button" id="dropdownMenuButton" data-toggle="dropdown"
  513.                             aria-haspopup="true" aria-expanded="false">
  514.                                                     <span class="__name">
  515.                                                         <span class="__left">
  516.                                                             <span>Menu</span>
  517.                                                         </span>
  518.                                                         <span class="__right">
  519.                                                             <svg aria-hidden="true" focusable="false" id="Layer_1"
  520.                                    data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 19.6 7.3">
  521.                                                                 <g id="Ligne_22" data-name="Ligne 22">
  522.                                                                     <rect y="6.3" width="19.6" height="1"/>
  523.                                                                 </g>
  524.                                                                 <g id="Ligne_23" data-name="Ligne 23">
  525.                                                                     <rect y="3.2" width="19.6" height="1"/>
  526.                                                                 </g>
  527.                                                                 <g id="Ligne_24" data-name="Ligne 24">
  528.                                                                     <rect width="19.6" height="1"/>
  529.                                                                 </g>
  530.                                                             </svg>
  531.                                                         </span>
  532.                                                     </span>
  533.                     </button>
  534.                     <div class="dropdown-menu dropdown-menu-right" aria-label="Menu" role="navigation">
  535.                       <ul>
  536.                         <li class="_user {% if app.user is null %}d-lg-none{% endif %}" role="menuitem">
  537.                           {% if app.user is not null %}
  538.                             <a href="{{ path('mon_compte') }}"
  539.                                class="link-profile" {% if app.request.pathinfo == '/mon-compte' %} aria-current="true" {% endif %}>
  540.                               {% if app.user.firstName is defined and app.user.firstName|length > 0 %}
  541.                                 <span>{{ app.user.firstName|capitalize }}</span>
  542.                               {% endif %}
  543.                               {% if app.user.lastName is defined and app.user.lastName|length > 0 %}
  544.                                 <span>{{ app.user.lastName|capitalize }}</span>
  545.                               {% endif %}
  546.                               {% if app.user.role != 'public' %}
  547.                                 <div class="__user-type _agent">
  548.                                   {{ source('svg/lock.svg') }}
  549.                                   <span class="colorGreenLight font-weight-bold">
  550.                                                                                 {% if app.user.role == 'vip' %}Premium
  551.                                         {% else %}
  552.                                           {{ app.user.role|capitalize }}
  553.                                         {% endif %}
  554.                                                                             </span>
  555.                                 </div>
  556.                               {% endif %}
  557.                             </a>
  558.                             <a href="{{ path('app_logout') }}" class="linkLogin" data-tabindex-mobile="3">
  559.                               <div class="__inner">
  560.                                 <span>Me déconnecter</span>
  561.                               </div>
  562.                             </a>
  563.                           {% else %}
  564.                             <a href="{{ path('app_login') }}" class="linkLogin"
  565.                                data-tabindex-mobile="3" {% if app.request.pathinfo == '/connexion' %} aria-current="true" {% endif %}>
  566.                               <div class="__inner">
  567.                                 {{ source('svg/user-solid.svg') }}
  568.                                 <span>Me connecter</span>
  569.                               </div>
  570.                             </a>
  571.                           {% endif %}
  572.                         </li>
  573.                         {% if menusprofile|default %}
  574.                           {% for menu in menusprofile %}
  575.                             {% if menu.url is not null %}
  576.                               <li role="menuitem">
  577.                                 <a
  578.                                   class="dropdown-item {% if menu.libelle == 'Proposer un évènement' %}_proposer{% endif %} {% if menu.url == app.request.pathinfo %}active{% endif %}"
  579.                                   href="{% if menu.url is not null %}{{ menu.url }}{% else %}#{% endif %}" {% if menu.url == app.request.pathinfo %} aria-current="true" {% endif %}
  580.                                   data-tabindex-mobile="3">
  581.                                   <span>{{ menu.libelle }}</span>
  582.                                 </a>
  583.                               </li>
  584.                             {% endif %}
  585.                           {% endfor %}
  586.                         {% endif %}
  587.                         <li class="d-lg-none" role="menuitem">
  588.                           <a class="dropdown-item {% if app.request.pathinfo == '/glossaire' %}active{% endif %}"
  589.                              href="{{ path('nordinfo_glossaire') }}" data-tabindex-mobile="4">
  590.                             <span>Glossaire</span>
  591.                           </a>
  592.                         </li>
  593.                         <li class="d-lg-none" role="menuitem">
  594.                           <a
  595.                             class="dropdown-item {% if app.request.pathinfo == '/pages-legales/mentions-legales' %}active{% endif %}"
  596.                             href="{{ path('post_detail', {slug: 'mentions-legales'}) }}" data-tabindex-mobile="4">
  597.                             <span>Mentions légales</span>
  598.                           </a>
  599.                         </li>
  600.                       </ul>
  601.                     </div>
  602.                   </div>
  603.                 {% endblock %}
  604.               </div>
  605.               {% block header_col_extra_items %}{% endblock %}
  606.             </div>
  607.           </div>
  608.         </div>
  609.       </div>
  610.       <div class="navMainBackgroundOverlay" id="collapseHeaderMainOverlay"
  611.            data-toggle-navbar="#collapseHeaderMain"></div>
  612.       {% block header_logo_mobile %}
  613.         <div class="__containerLogoMobile">
  614.           <a href="{{ path('info') }}" title="Aller à l'accueil du site Nord Info">
  615.             <h1>
  616.               <img src="{{ asset('img/logos/logo-nord-info.svg') }}" alt="Nord Info (retour à la page d'accueil)">
  617.             </h1>
  618.           </a>
  619.           {{ include('Nordinfo/Main/parts/menu_button.html.twig') }}
  620.         </div>
  621.       {% endblock %}
  622.       {% block header_nav %}
  623.         <div class="navHeaderWrapperOuter">
  624.           <div class="navHeaderWrapper" id="navHeaderWrapper">
  625.             <nav class="__inner" aria-label="principale" role="navigation">
  626.               <ul class="nav justify-content-center navHeader">
  627.                 <li class="nav-item {% if current_path == 'actus' %}active{% endif %}">
  628.                   <a class="nav-link"
  629.                      href="{{ path('actus') }}" {% if current_path == 'actus' %} aria-current="true" {% endif %}
  630.                      data-focus-menu-target>
  631.                     {% if menusTop[0]|default %}
  632.                       <span>{{ menusTop[0].libelle }}</span>
  633.                     {% endif %}
  634.                   </a>
  635.                 </li>
  636.                 <li class="nav-item {% if current_path == 'info' %}active{% endif %}">
  637.                   <a class="nav-link"
  638.                      href="{{ path('info') }}" {% if current_path == 'info' %} aria-current="true" {% endif %}>
  639.                     {% if menusTop[1]|default %}
  640.                       <span>{{ menusTop[1].libelle }}</span>
  641.                     {% endif %}
  642.                   </a>
  643.                 </li>
  644.                 <li class="nav-item {% if current_path == 'agenda' %}active{% endif %}">
  645.                   <a class="nav-link"
  646.                      href="{{ path('agenda') }}" {% if current_path == 'agenda' %} aria-current="true" {% endif %}>
  647.                     {% if menusTop[3]|default %}
  648.                       <span>{{ menusTop[3].libelle }}</span>
  649.                     {% endif %}
  650.                   </a>
  651.                 </li>
  652.                 <li class="nav-item {% if current_path == 'videos' %}active js-item-video-active{% endif %}">
  653.                   <a class="nav-link"
  654.                      href="{{ path('videos') }}" {% if current_path == 'videos' %} aria-current="true" {% endif %}>
  655.                     {% if menusTop[4]|default %}
  656.                       <span>{{ menusTop[4].libelle }}</span>
  657.                     {% endif %}
  658.                   </a>
  659.                 </li>
  660.               </ul>
  661.             </nav>
  662.           </div>
  663.         </div>
  664.       {% endblock %}
  665.       {% block header_epingles %}{% endblock %}
  666.       {% block header_breadcrumb %}{% endblock %}
  667.     </header>
  668.   {% else %}
  669.     <p style="text-align:center;">{{ app.request.uri }}</p>
  670.     {% block header_logo_pdf %}
  671.       <div style="text-align:center;">
  672.         <img src="https://spontaneit1.fra1.digitaloceanspaces.com/info-lenord/images/logos/logo-nord-info.png"
  673.              style="width:190px;height:75px;display:inline-block;" alt="">
  674.       </div>
  675.     {% endblock %}
  676.     {% block header_breadcrumb_pdf %}{% endblock %}
  677.   {% endif %}
  678. {% endblock %}
  679. {% block body %}{% endblock %}
  680. {% block footer %}
  681.   {% if is_pdf != 1 %}
  682.     <footer class="d-print-none" role="contentinfo">
  683.       {% block footer_top %}
  684.         {# {% include 'Nordinfo/Main/parts/our-websites.html.twig' %} #}
  685.       {% endblock %}
  686.       <div class="footer --leNord" data-aria-hidden-by-modal>
  687.         <div class="__top">
  688.           <div class="container">
  689.             <div class="__inner">
  690.               <div class="__col">
  691.                 <a href="https://lenord.fr" title="Aller à l'accueil du site du Nord, le Département est là">
  692.                   {{ source('svg/footer_logo.svg') }}
  693.                 </a>
  694.               </div>
  695.               <div class="__col">
  696.                 <address>
  697.                   {{ footer.adresse|raw }}
  698.                 </address>
  699.               </div>
  700.               <div class="__col">
  701.                 <ul class="listButtons">
  702.                   <li>
  703.                     <a href="{{ path('signaler') }}">
  704.                       <div class="__inner">
  705.                         <span class="__icon">{{ source('svg/icons/icon-envelope.svg') }}</span>
  706.                         <span class="__text">Formulaire de contact</span>
  707.                       </div>
  708.                     </a>
  709.                   </li>
  710.                   <li>
  711.                     <a href="tel:{{ footer.telephoneUrl }}">
  712.                       <div class="__inner">
  713.                         <span class="__icon">{{ source('svg/icons/icon-telephone.svg') }}</span>
  714.                         <span class="__text">{{ footer.telephone|raw }}</span>
  715.                       </div>
  716.                     </a>
  717.                   </li>
  718.                   <li>
  719.                     <a href="{{ footer.lienAcceo }}" class="--icon-external"
  720.                        title="Sourd ou malentendant ? - Aller sur la page du Département du Nord sur Acceo (site externe)">
  721.                       <div class="__inner">
  722.                         <span class="__icon">{{ source('svg/icons/icon-ear.svg') }}</span>
  723.                         <span class="__text">
  724.                                                             <span class="__inner">Sourd ou malentendant ?</span>
  725.                                                             <span class="__icon">{{ source('svg/icons/icon-external.svg') }}</span>
  726.                                                         </span>
  727.                       </div>
  728.                     </a>
  729.                   </li>
  730.                 </ul>
  731.               </div>
  732.             </div>
  733.             <div class="containerListIconsSocial">
  734.               {{ footer.reseauxSociaux|raw }}
  735.             </div>
  736.           </div>
  737.         </div>
  738.         <div class="__bottom">
  739.           <div class="container">
  740.             <ul>
  741.               <li><a href="{{ path('infolettre') }}"><span>Infolettre</span></a></li>
  742.               <li><a href="{{ path('post_detail', {slug: 'cgu'}) }}"><span>Conditions générales</span></a></li>
  743.               <li><a href="{{ path('post_detail', {slug: 'mentions-legales-nordinfo'}) }}"><span>Mentions légales</span></a>
  744.               </li>
  745.               <li><a href="{{ path('post_detail', {slug: 'accessibilite-nordinfo'}) }}"><span>Accessibilité : Partiellement conforme</span></a>
  746.               </li>
  747.               <li><a href="{{ path('sitemap') }}"><span>Plan du site</span></a></li>
  748.             </ul>
  749.           </div>
  750.           <a target="_blank" href="#0" class="buttonBtt cd-top js-cd-top no-print no-pdf no-external-icon"
  751.              data-toggle="tooltip" data-placement="top" title="retour en haut de page">
  752.             <svg aria-hidden="true" focusable="false" data-name="Calque 1" id="Calque_1"
  753.                  viewbox="0 0 283.5 283.5" xmlns="http://www.w3.org/2000/svg">
  754.               <defs></defs>
  755.               <title>Retour en haut de page</title>
  756.               <g data-name="Chevron horizontal" id="Chevron_horizontal">
  757.                 <path class=""
  758.                       d="M7.09,190.21l125.1-126.6a13.4,13.4,0,0,1,18.9-.2l.2.2,125.1,126.6a19.92,19.92,0,0,1,0,27.9,19.4,19.4,0,0,1-27.4.2l-.2-.2-107-108.3-107,108.3a19.4,19.4,0,0,1-27.4.2l-.2-.2a19.83,19.83,0,0,1-.1-27.9"
  759.                       id="Chevron"></path>
  760.               </g>
  761.             </svg>
  762.             <span class="sr-only">Retour en haut de page</span>
  763.           </a>
  764.         </div>
  765.       </div>
  766.     </footer>
  767.   {% endif %}
  768. {% endblock %}
  769. {% if is_pdf != 1 %}
  770.   <div class="pswp no-print no-pdf" tabindex="-1" role="dialog" aria-hidden="true" aria-modal="true">
  771.     <div class="pswp__bg"></div>
  772.     <div class="pswp__scroll-wrap">
  773.       <div class="pswp__container">
  774.         <div class="pswp__item"></div>
  775.         <div class="pswp__item"></div>
  776.         <div class="pswp__item"></div>
  777.       </div>
  778.       <div class="pswp__ui pswp__ui--hidden">
  779.         <div class="pswp__top-bar">
  780.           <div class="pswp__counter"></div>
  781.           <button class="close pswp__button pswp__button--close" title="Fermer (Esc)" id="btnClosePw">
  782.             <svg aria-hidden="true" focusable="false" data-name="Calque 1"
  783.                  xmlns="http://www.w3.org/2000/svg" viewbox="0 0 121.6 121.6">
  784.               <title>Fermer</title>
  785.               <g id="add">
  786.                 <path id="add-2" class="cls-1" d="M55.6,0V55.6H0V66H55.6v55.6H66V66h55.6V55.6H66V0Z"></path>
  787.               </g>
  788.             </svg>
  789.           </button>
  790.           <button class="pswp__button pswp__button--share" title="Share"></button>
  791.           <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>
  792.           <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>
  793.           <div class="pswp__preloader">
  794.             <div class="pswp__preloader__icn">
  795.               <div class="pswp__preloader__cut">
  796.                 <div class="pswp__preloader__donut"></div>
  797.               </div>
  798.             </div>
  799.           </div>
  800.         </div>
  801.         <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
  802.           <div class="pswp__share-tooltip"></div>
  803.         </div>
  804.         <button class="pswp__button pswp__button--arrow--left _arrow _left" title="Précédent">
  805.                             <span class="__icon pswp__button--arrow--left">
  806.                                 <svg aria-hidden="true" focusable="false" data-name="Calque 1"
  807.                      xmlns="http://www.w3.org/2000/svg" viewbox="0 0 283.5 283.5">
  808.                                     <defs>
  809.                                         <style>
  810.                                             .fill-white {
  811.                         fill: #fff;
  812.                       }
  813.                                         </style>
  814.                                     </defs>
  815.                                     <title>chevron</title>
  816.                                     <g id="Chevron_horizontal" data-name="Chevron horizontal">
  817.                                         <path id="Chevron" class="fill-white"
  818.                           d="M7.09,190.21l125.1-126.6a13.4,13.4,0,0,1,18.9-.2l.2.2,125.1,126.6a19.92,19.92,0,0,1,0,27.9,19.4,19.4,0,0,1-27.4.2l-.2-.2-107-108.3-107,108.3a19.4,19.4,0,0,1-27.4.2l-.2-.2a19.83,19.83,0,0,1-.1-27.9"/>
  819.                                     </g>
  820.                                 </svg>
  821.                             </span>
  822.         </button>
  823.         <button class="pswp__button pswp__button--arrow--right _arrow _right" title="Suivant">
  824.                             <span class="__icon pswp__button--arrow--right">
  825.                                 <svg aria-hidden="true" focusable="false" data-name="Calque 1"
  826.                      xmlns="http://www.w3.org/2000/svg" viewbox="0 0 283.5 283.5">
  827.                                     <defs>
  828.                                         <style>
  829.                                             .fill-white {
  830.                         fill: #fff;
  831.                       }
  832.                                         </style>
  833.                                     </defs>
  834.                                     <title>chevron</title>
  835.                                     <g id="Chevron_horizontal" data-name="Chevron horizontal">
  836.                                         <path id="Chevron" class="fill-white"
  837.                           d="M7.09,190.21l125.1-126.6a13.4,13.4,0,0,1,18.9-.2l.2.2,125.1,126.6a19.92,19.92,0,0,1,0,27.9,19.4,19.4,0,0,1-27.4.2l-.2-.2-107-108.3-107,108.3a19.4,19.4,0,0,1-27.4.2l-.2-.2a19.83,19.83,0,0,1-.1-27.9"/>
  838.                                     </g>
  839.                                 </svg>
  840.                             </span>
  841.         </button>
  842.         <div class="pswp__caption">
  843.           <div class="pswp__caption__center"></div>
  844.         </div>
  845.       </div>
  846.     </div>
  847.   </div>
  848.   {% block javascripts %}
  849.   {{ encore_entry_script_tags('app') }}
  850.   {{ encore_entry_script_tags('common') }}
  851. {% if false %}
  852.   <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAa9CMvJhPqpCxLMbefCmtlRVRrnuqxZ0o&callback=initMap"
  853.           async defer></script>
  854. {% endif %}
  855.   <script type="text/javascript" src='{{ asset("plugins/autoComplete/dist/js/autoComplete.js") }}'></script>
  856.   <script type="text/javascript"
  857.           src='{{ asset("plugins/bootstrap-show-password/dist/bootstrap-show-password.min.js") }}'></script>
  858.   <script src="{{ asset('plugins/masonryjs/masonry.pkgd.min.js') }}"></script>
  859.   <script src="{{ asset('plugins/owlcarousel/owl.carousel.min.js') }}"></script>
  860.   <script>
  861.     /**
  862.      * CAROUSEL - NOS SITES
  863.      */
  864.     $(document).ready(function () {
  865.       let $owlCarousel = $('.owl-carousel');
  866.       if ($owlCarousel.length) {
  867.         $owlCarousel.owlCarousel({
  868.           nav: true,
  869.           navRewind: true,
  870.           margin: 32,
  871.           stageElement: 'ul',
  872.           itemElement: 'li',
  873.           responsive: {
  874.             0: {
  875.               items: 1,
  876.               stagePadding: 80
  877.             },
  878.             400: {
  879.               items: 1,
  880.               stagePadding: 100
  881.             },
  882.             500: {
  883.               items: 1,
  884.               stagePadding: 120
  885.             },
  886.             600: {
  887.               items: 2,
  888.               stagePadding: 0
  889.             },
  890.             900: {
  891.               items: 3,
  892.               stagePadding: 0
  893.             },
  894.             1100: {
  895.               items: 4,
  896.               stagePadding: 0
  897.             },
  898.             1300: {
  899.               items: 5,
  900.               stagePadding: 0
  901.             }
  902.           },
  903.           onInitialized: function () {
  904.             const btnPrev = document.querySelector('.owl-carousel .owl-prev');
  905.             const btnNext = document.querySelector('.owl-carousel .owl-next');
  906.             btnPrev.setAttribute('aria-label', 'Précédent');
  907.             btnNext.setAttribute('aria-label', 'Suivant');
  908.             btnPrev.setAttribute('aria-hidden', 'true');
  909.             btnNext.setAttribute('aria-hidden', 'true');
  910.             btnPrev.setAttribute('tabindex', '-1');
  911.             btnNext.setAttribute('tabindex', '-1');
  912.             btnPrev.removeAttribute('role');
  913.             btnNext.removeAttribute('role');
  914.             const btnPrevSpan = document.querySelector('.owl-carousel .owl-prev span');
  915.             const btnNextSpan = document.querySelector('.owl-carousel .owl-next span');
  916.             btnPrevSpan.removeAttribute('aria-label');
  917.             btnNextSpan.removeAttribute('aria-label');
  918.             const itemsContainer = document.querySelector('.owl-carousel .owl-stage');
  919.             itemsContainer.setAttribute('id', 'owlStage');
  920.             btnPrev.setAttribute('aria-controls', 'owlStage');
  921.             btnNext.setAttribute('aria-controls', 'owlStage');
  922.             const listItems = document.querySelectorAll('.owl-carousel .owl-stage li');
  923.             for (let i = 0; i < listItems.length; i++) {
  924.               listItems[i].setAttribute('aria-roledescription', 'diapositive');
  925.               listItems[i].setAttribute('role', 'group');
  926.               listItems[i].setAttribute('aria-label', i + 1 + ' sur ' + listItems.length);
  927.             }
  928.           }
  929.         });
  930.       }
  931.     });
  932.   </script>
  933.   {% endblock %}
  934.   <script>
  935.     $(document).ready(function () {
  936.       var clipboard = new ClipboardJS('.share');
  937.       var alertBtnClose = document.getElementById('alertCopiedToClipboardClose');
  938.       var alert = document.getElementById('alertCopiedToClipboard');
  939.       var btnCopyToClipboard = document.querySelector('[data-clipboard-text]');
  940.       clipboard.on('success', function (e) {
  941.         if (document.body.contains(alert)) {
  942.           alert.querySelector('p').innerText = 'Lien ajouté a votre presse-papier';
  943.           $(alert)[0].style.display = 'block';
  944.           setTimeout(function () {
  945.             $(alert).animate({opacity: 1, height: 100});
  946.           }, 200);
  947.         }
  948.         e.clearSelection();
  949.       });
  950.       clipboard.on('error', function (e) {
  951.       });
  952.       if (document.body.contains(alertBtnClose)) {
  953.         alertBtnClose.addEventListener('click', function (ev) {
  954.           ev.preventDefault();
  955.           $(alert).animate({opacity: 0, height: 0});
  956.           btnCopyToClipboard.focus();
  957.           setTimeout(function () {
  958.             $(alert)[0].style.display = 'none';
  959.             alert.querySelector('p').innerText = '';
  960.           }, 500);
  961.         });
  962.       }
  963.     });
  964.   </script>
  965. {% endif %}
  966. {% block include_js %}{% endblock %}
  967. </body>
  968. </html>