templates/template.html.twig line 1

Open in your IDE?
  1. {% extends 'Default/parameters.html.twig' %}
  2. {% block html %}
  3.     <!doctype html>
  4.     <html lang='{{ app.request.locale ?? "fr" }}' class='{{desktop("adapt")}}'>
  5.     <head>
  6.         <title>{{t}}</title>
  7.         <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
  8.         <meta name='description' content='{{d}}' />
  9.         <meta name='viewport' content='width=device-width, user-scalable=no, initial-scale=1' />
  10.         <meta property='fb:app_id' content='798097520521275' />
  11.         <meta property='og:url' content='{{app.request.uri}}' />
  12.         <meta property='og:type' content='article' />
  13.         <meta property='og:title' content='{{t}}' data-dynamic='true' />
  14.         <meta property='og:description' content='{{d}}' data-dynamic='true' />
  15.         <meta property='og:image' content='{{w}}{{thumb}}?v=001' data-dynamic='true' />
  16.         <meta property='og:image:width' content='{{thumbnailSize.width}}' data-dynamic='true'>
  17.         <meta property='og:image:height' content='{{thumbnailSize.height}}' data-dynamic='true'>
  18.         <meta property='og:locale' content='fr_FR' />
  19.         <meta property='og:site_name' content='{{sitename}}' />
  20.         <meta property='twitter:url' content='{{app.request.uri}}' />
  21.         <meta property='twitter:card' content='summary' />
  22.         <meta property='twitter:title' content='{{t}}' />
  23.         <meta property='twitter:description' content='{{d}}' />
  24.         <meta property='twitter:image' content='{{w}}{{thumb}}' />
  25.         <link rel="icon" href="{{asset('images/favicon.ico')}}">
  26.         <link type='text/css' rel='stylesheet' href='{{asset("css/os-style.css")}}' />
  27.         <link type='text/css' rel='stylesheet' href='{{asset("css/style.css")~"?V1"}}' />
  28.         <link type='text/css' rel='stylesheet' href='{{asset("css/os-anim.css")}}' />
  29.         <link type='text/css' rel='stylesheet' href='{{asset("css/jobs.css")}}' />
  30.         <script src="https://kit.fontawesome.com/5c0ab7f24a.js" crossorigin="anonymous"></script>
  31.         <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css"/>
  32.         {% block css %}{% endblock %}
  33.     </head>
  34.     <body>
  35.     {% block container %}
  36.         <div id='container' class='container relative w100 hoverflow'>
  37.             {% set platforms = [
  38.                 {icon:"home", "label":(isMobile() ? "" : "home"|trans), link: static.PrincipalWebsiteLink, active:false},
  39.                 {icon:"user-tie", "label":(isMobile() ? "" : "recruitment"|trans), link: path('home'), active:true},
  40.                 {icon:"briefcase", "label":(isMobile() ? "" : "provider space"|trans), link: static.ProviderWebsiteLink, active:false},
  41.             ] %}
  42.             <header id='header' class='fixed shadow left top w100 hheight transition-alt visible {{desktop("")}} {{mobile("")}}'>
  43.                 {% block header %}
  44.                     <div class="flex col h100">
  45.                         <nav class="bg-success gpadding flex row space {{desktop('gpadding')}} {{mobile('hz-20-in')}}">
  46.                             <ul class="list flex row p-alt white">
  47.                                 {% for o in platforms %}
  48.                                     <li class="{{desktop('right-30')}}">
  49.                                         <a class="iflex row middle upper {{ desktop("vt-15-in")}}{{ mobile("vt-10-in")}} {{ desktop(o.active ? 'bg-white success hz-20-in bold' : "medium hz-20-in")}}{{ mobile(o.active ? 'bg-white success hz-15-in' : "hz-15-in")}}" href="{{o.link}}">
  50.                                             <i class="fa fa-{{o.icon}} {{desktop('right-8')}}"></i>
  51.                                             {{ o.label }}
  52.                                         </a>
  53.                                     </li>
  54.                                 {% endfor %}
  55.                             </ul>
  56.                             <div class="h100 flex row middle">
  57.                                 <ul class="list flex row p-alt white">
  58.                                     {% if role.isConnected %}
  59.                                         {% if isDesktop() %}
  60.                                             <li class="{{desktop('left-30')}}">
  61.                                                 <a href="{{ path('applicant-profile') }}" class="{{ desktop("iflex") }}{{ mobile("flex") }} row middle">
  62.                                                     <i class="fa fa-account right-8"></i>
  63.                                                     {{ app.user.email }}
  64.                                                 </a>
  65.                                             </li>
  66.                                         {% endif %}
  67.                                     {% else %}
  68.                                         {% if isDesktop() %}
  69.                                             <li>
  70.                                                 <a data-target="#login-box" class="os-click {{ desktop("iflex") }}{{ mobile("flex") }} row middle medium">
  71.                                                     <i class="fa fa-user-tie right-8 {{ mobile("top-2") }}"></i>
  72.                                                     {{ "sign in"|trans }}
  73.                                                 </a>
  74.                                             </li>
  75.                                         {% endif %}
  76.                                         <li class="{{desktop('left-30')}}">
  77.                                             <a href="{{ path('applicant_register') }}" class="{{ desktop("iflex") }}{{ mobile("flex") }} row middle medium">
  78.                                                 <i class="fa fa-lock right-8"></i>
  79.                                                 {{ "sign up"|trans }}
  80.                                             </a>
  81.                                         </li>
  82.                                     {% endif %}
  83.                                 </ul>
  84.                                 <span class="{{ desktop("left-30")}}{{ mobile("left-15")}} white">
  85.                                     {% include '_locale_switcher.html.twig' %}
  86.                                 </span>
  87.                             </div>
  88.                         </nav>
  89.                         <div class='w100 bg-white h100 relative flex row space gpadding {{desktop("")}} {{mobile("")}}'>
  90.                             <a class="relative iflex row {{desktop(" vt-20-in")}} {{mobile("vt-10-in")}}" href="{{path('home')}}">
  91.                                 <figure id='logo' href='{{path("home")}}' class='relative'>
  92.                                     <img src="{{asset(os_param('logo'))}}" class='{{desktop('block')}} {{mobile('h100 absolute')}}'  style="{{desktop('height: 3.71643469vw')}}">
  93.                                 </figure>
  94.                             </a>
  95.                             {% block menu %}
  96.                                 <div class="flex row middle center {{desktop('')}}">
  97.                                     <menu id='menu' class='fill transition-alt {{desktop("h100")}} {{mobile("bg-success fixed top left htop w100 anim-display anim-from-right")}}'>
  98.                                         {{render(controller('App\\Controller\\DefaultController::menu',{activeMenu:(menu is defined ? menu)}))}}
  99.                                     </menu>
  100.                                 </div>
  101.                             {% endblock %}
  102.                             <div class="relative flex row">
  103.                                 {% if role.connected %}
  104.                                     <div class="relative">
  105.                                         <div data-target="#actions-box" class="pointer os-click adapt left-30 flex row middle h100" title="{{ "Mon profil"|trans }}">
  106.                                             <span class="vt-4-in left-15-in right-25-in {{ isDesktop() ? "bg-warning white" : "bg-gray black-alt" }} {{ desktop("shadow-alt-2") }}" style="transform: translateX(var(--15px))">{{ app.user.fName }}</span>
  107.                                             <figure class="icon {{ desktop("big")}} circle relative hoverflow shadow-alt-2 bg-warning">
  108.                                                 <div class="fill flex col middle center">
  109.                                                     <i class="fa h3 fa-user adapt white"></i>
  110.                                                 </div>
  111.                                             </figure>
  112.                                         </div>
  113.                                         <div id='actions-box' class='anim-display anim-show absolute {{ desktop("right-20") }} right ytop-100 adapt'>
  114.                                             <div class='nowrap {{desktop("padding-40")}} {{mobile("padding-20 border border-success")}} bg-white black-alt shadow-alt radius-5 flex col p adapt'>
  115.                                                 <a href='{{ path('applicant-profile') }}' class='relative adapt bottom-10'><i class='far fa-user success right-10 adapt'></i><span> {{ "Mon profil"|trans }} </span></a>
  116.                                                 <a href='{{ path('job-application') }}' class='relative adapt bottom-10'><i class='far fa-file success right-10 adapt'></i><span> {{ "Mes candidatures"|trans }} </span></a>
  117.                                                 <span class="block top-1-in vt-8 bg-gray-alt"></span>
  118.                                                 <a href='{{ path('applicant-diplomas-and-formations') }}' class='relative adapt bottom-10'><i class='far fa-file-pdf success right-10 adapt'></i><span> {{ "Mes diplômes et formations"|trans }} </span></a>
  119.                                                 <a href='{{ path('applicant-experiences') }}' class='relative adapt bottom-10'><i class='far fa-file-pdf success right-10 adapt'></i><span> {{ "Mes expériences professionnelles"|trans }} </span></a>
  120.                                                 <span class="block top-1-in vt-8 bg-gray-alt"></span>
  121.                                                 <a href='{{ path('applicant-parameters') }}' class='relative adapt bottom-10'><i class='fa fa-cog success right-10 adapt'></i><span> {{ "Mes paramètres"|trans }} </span></a>
  122.                                                 <a href='{{ path('applicant-update-profile') }}' class='relative adapt bottom-10'><i class='fa fa-pen success right-10 adapt'></i><span> {{ "Modifier mon profil"|trans }}</span></a>
  123.                                                 <span class="block top-1-in vt-8 bg-gray-alt"></span>
  124.                                                 <a href='{{ path('applicant-profile-activities') }}' class='relative adapt bottom-10'><i class='fa fa-list success right-10 adapt'></i><span> {{ "Mes actions"|trans }}</span></a>
  125.                                                 <a href='{{ path('applicant-update-profile-password') }}' class='relative adapt bottom-10'><i class='fa fa-unlock-alt success right-10 adapt'></i><span> {{ "Modifier mon mot de passe"|trans }}</span></a>
  126.                                                 <a href='{{path("applicant_logout")}}' class='relative '><i class='fa fa-sign-out-alt gray-alt right-10 adapt'></i> {{ "Se déconnecter"|trans }}</a>
  127.                                             </div>
  128.                                         </div>
  129.                                     </div>
  130.                                 {% else %}
  131.                                     <div class="flex row middle center">
  132.                                         <a data-target="#login-box" class="os-click flex row middle {{desktop('white bg-warning medium radius-5 vt-10-in hz-20-in')}}{{mobile('border border-1x border-success radius-3 vt-3-in hz-7-in p-alt')}}">
  133.                                             <i class="fa fa-user adapt {{ mobile("success") }}"></i>
  134.                                             <span class="{{ desktop("left-10")}}{{ mobile("left-8 success medium")}} nowrap">{{ static.MenuAccountButtonText }}</span>
  135.                                         </a>
  136.                                     </div>
  137.                                 {% endif %}
  138.                             </div>
  139.                         </div>
  140.                     </div>
  141.                 {% endblock header %}
  142.             </header>
  143.             {% block banner %}
  144.                 <div id='' class='relative w100 htop-in {{desktop("flex row")}} {{mobile("")}}'>
  145.                     <div id='' class='banner relative w100 {{desktop("")}} {{mobile("")}}'>
  146.                         <figure class="fill relative hoverflow">
  147.                             <img src="{{b}}" class="cover">
  148.                         </figure>
  149.                         <div class="absolute fill top left gpadding gradient-banner">
  150.                             {% block titlebox %}
  151.                                 <div class="fill relative flex col middle">
  152.                                     <h1 class="white">{{title is defined and title ? (title|raw) : "Espace recrutement"}}</h1>
  153.                                 </div>
  154.                             {% endblock %}
  155.                         </div>
  156.                     </div>
  157.                 </div>
  158.             {% endblock banner %}
  159.             {% block body %}
  160.                 <div id='content' class='bg-white content relative'>
  161.                     {% block content %}
  162.                     {% endblock content %}
  163.                 </div>
  164.             {% endblock body %}
  165.             {% if isMobile() and not home and noShare is not defined %}
  166.                 <div class='flex row middle space  bg-gray sharing-box gpadding {{desktop('vt-40-in')}} {{mobile('vt-20-in')}}'>
  167.                     <h2 class='h6 success-alt upper vt-8-in font-alt bold'>{{ "Partager cette page"|trans }}</h2>
  168.                     <div class='flex row middle success-alt'>
  169.                         {% set link = app.request.uri %}
  170.                         {% if title is not defined %}{% set title = "Site web du "~sitename %} {% endif %}
  171.                         {% set class = "iflex col middle center h2 "~ desktop('left-20')~ mobile('left-8') %}
  172.                         <a class='{{class}}' title='Partager via WhatsApp' target='_blank' href='whatsapp://send?text={{title}} => {{link}}'><i class='transition fab fa-whatsapp'></i></a>
  173.                         <a class='{{class}}' title='Partager sur Facebook' target='_blank' href='https://www.facebook.com/sharer/sharer.php?u={{link}}&t={{title}}'><i class='transition fab fa-facebook-square'></i></a>
  174.                         <a class='{{class}}' title='Partager sur Twitter' target='_blank' href='https://twitter.com/intent/tweet?text={{title}}&url={{link}}'><i class='transition fab fa-twitter'></i></a>
  175.                         <a class='{{class}}' title='Envoyer par mail' target='_blank' href='mailto:?subject={{title}}&amp;body=Je vous invite à lire cette page :  {{link}}.'><i class='transition fa fa-envelope'></i></a>
  176.                         <a class='{{class}}' title='Partager sur LinkedIn' target='_blank' href='https://www.linkedin.com/shareArticle?mini=true&url={{link}}&title={{title}}'><i class='transition fab fa-linkedin'></i></a>
  177.                     </div>
  178.                 </div>
  179.             {% endif %}
  180.             {% block footer %}
  181.                 {{ include('footer.html.twig') }}
  182.                 {#
  183.                 <footer id="footer" class="bg-success relative gpadding flex col center {{desktop('vt-60-in op-40')}} {{mobile(' text-center vt-40-in')}}">
  184.                     <figure class="relative hoverflow {{desktop('gheight gwidth')}} {{mobile('icon medium')}}">
  185.                         <img src="{{l}}" class="block contain">
  186.                     </figure>
  187.                     <div class="relative flex row center text-center {{desktop('gpadding top-20')}}{{mobile('')}}">
  188.                         <p class="white">
  189.                             © Copyright {{"now"|date('Y')}}
  190.                             <br>{{sitename}}
  191.                         </p>
  192.                     </div>
  193.                 </footer>
  194.                 #}
  195.             {% endblock footer %}
  196.         </div>
  197.     {% endblock container %}
  198.     <div id='searchBox' class='anim-display anim-show vfill fixed top left'>
  199.         <i class="block bg-success transparent fill absolute top left"></i>
  200.         <div class='hpadding fill flex row center middle'>
  201.             <div class='relative shadow {{desktop("half_80 vt-80-in hz-80-in")}} {{mobile("vt-20-in hz-20-in")}} bg-white'>
  202.                 <div class='absolute top right bg-error padding-10'>
  203.                     <span data-target='#searchBox' class='block icon close contain filter-white os-click'></span>
  204.                 </div>
  205.                 <div class='w100 flex col around'>
  206.                     <div class='flex col middle top-20'>
  207.                         <h2 class='h3 success'>Faire une recherche</h2>
  208.                         <p class='h6 upper text-left top-20 bottom-20'>Produits, services, actualités, etc.</p>
  209.                         <div class='flex row'>
  210.                             <div class='bg-gray w100'>
  211.                                 <input id='searchInput' data-action='#' type='search' class='os-search block nobg border border-gray noradius h4 black vt-20-in {{desktop("hz-40-in")}} {{mobile("hz-20-in")}} block w100' placeholder='Saisissez votre recherche ici'>
  212.                             </div>
  213.                             <div class='relative flex col middle center {{desktop("")}} {{mobile("")}} vt-10-in hz-20-in bg-success'>
  214.                                 <span class='block icon small search contain filter-white os-search-btn pointer' data-target='#searchInput'></span>
  215.                             </div>
  216.                         </div>
  217.                     </div>
  218.                 </div>
  219.             </div>
  220.         </div>
  221.     </div>
  222.     <div id='login-box' class='anim-display anim-show vfill fixed top left'>
  223.         <i class="block bg-success transparent fill absolute top left"></i>
  224.         <div class='hpadding fill flex row center middle'>
  225.             <div class='relative shadow {{desktop("half_80 vt-80-in hz-80-in")}} {{mobile("vt-20-in hz-20-in")}} bg-white'>
  226.                 <div class='absolute top right bg-error padding-10'>
  227.                     <span data-target='#login-box' class='block icon close contain filter-white os-click'></span>
  228.                 </div>
  229.                 <div class='w100 flex col around'>
  230.                     <div class='flex col middle top-20'>
  231.                         {{ include('security/_applicant_login_form.html.twig') }}
  232.                     </div>
  233.                 </div>
  234.             </div>
  235.         </div>
  236.     </div>
  237.     {% set notices = app.session.flashBag.get('notice') %}
  238.     {% if notices|length %}
  239.         <div class='popup show gpadding flex col middle center'>
  240.             <span class='icon contain close os-close filter-white absolute top right'></span>
  241.             {% for notice in notices %}
  242.                 <div class='flex row middle center relative bg-white hz-40-in vt-20-in '>
  243.                     <div class='flex row  success text-left'>
  244.                         <i class='fa fa-thumbs-up fa-3x top-5 right-20'></i>
  245.                         <p class='h4  black'>{{notice|raw}}</p>
  246.                     </div>
  247.                 </div>
  248.             {% endfor %}
  249.         </div>
  250.     {% endif %}
  251.     {% set errors = app.session.flashBag.get('error') %}
  252.     {% if errors|length %}
  253.         <div class='popup show gpadding flex col middle center'>
  254.             <span class='icon contain close os-close filter-white absolute top right'></span>
  255.             {% for error in errors %}
  256.                 <div class='flex row middle center relative bg-white hz-40-in vt-20-in '>
  257.                     <div class='flex row  error text-left'>
  258.                         <i class='fa fa-thumbs-down fa-3x top-5 right-20'></i>
  259.                         <p class='h4 black'>{{error|raw}}</p>
  260.                     </div>
  261.                 </div>
  262.             {% endfor %}
  263.         </div>
  264.     {% endif %}
  265.     {% if not app.request.cookies.get('cookiesChecked') %}
  266.         {{render(controller('App\\Controller\\CookiesController::index'))}}
  267.         {% if os_param('GA') and app.request.schemeAndHttpHost() != 'http://localhost' %}
  268.             {% set code = os_param('GA') %}
  269.             <script async src="https://www.googletagmanager.com/gtag/js?id={{code}}"></script>
  270.             <script>
  271.                 window.dataLayer = window.dataLayer || [];
  272.                 function gtag(){dataLayer.push(arguments);}
  273.                 gtag('js', new Date());
  274.                 gtag('config', '{{code}}');
  275.             </script>
  276.         {% endif %}
  277.     {% endif %}
  278.     <script src='{{asset("js/jquery-3.6.0.min.js")}}'></script>
  279.     <script src='{{asset("js/os-script.js")}}?v=004'></script>
  280.     <script src='{{asset("js/script.js")}}?v=004'></script>
  281.     <script src='{{asset("js/cookies.js")}}?v=004'></script>
  282.     <script>
  283.         $(document).on('click','.os-click',function(e){
  284.             const loginForm = $(".loginForm");
  285.             const targetPath = $(this).attr('data-target-path');
  286.             if(targetPath && loginForm){
  287.                 const formTarget = $('<input type="hidden" class="_target_path" name="_target_path" value="' + targetPath + '"/>');
  288.                 loginForm.append(formTarget);
  289.             }else if(loginForm.find('input._target_path')){
  290.                 loginForm.find('input._target_path').remove();
  291.             }
  292.         });
  293.     </script>
  294.     {% block js %}
  295.     {% endblock %}
  296.     </body>
  297.     </html>
  298. {% endblock %}
  299. {#
  300. https://nsia.olasoft.net/css/os-style.css
  301. https://nsia.olasoft.net/js/os-script.js
  302. #}