<!DOCTYPE html><html lang="fr" class="h-100"><head><meta charset="UTF-8" /><title>{% block title %}ComPass{% endblock %}</title>{# Run `composer require symfony/webpack-encore-bundle` to start using Symfony UX #}{% if app.session.get('parametre') is not null %}<link rel="icon" href="{{ app.session.get('parametre').url }}/favicon.ico?" />{% endif %}{% block stylesheets %}{{ encore_entry_link_tags('app') }}{% endblock %}{% block javascripts %}{{ encore_entry_script_tags('app') }}{% endblock %}</head>{% if app.session.get('parametre') is not null %}{% set parametre = app.session.get('parametre') %}{% set darken = "color-mix(in srgb," ~ parametre.colorprimary ~ ", black 20%)" %}{% set darkenDarken = "color-mix(in srgb," ~ parametre.colorprimary ~ ", black 40%)" %}{% set lighten = "color-mix(in srgb," ~ parametre.colorprimary ~ ", white 20%)" %}{% set lightenLighten = "color-mix(in srgb," ~ parametre.colorprimary ~ ", white 40%)" %}{% set darkenSecondary = "color-mix(in srgb," ~ parametre.colorsecondary ~ ", black 20%)" %}{% set darkenDarkenSecondary = "color-mix(in srgb," ~ parametre.colorsecondary ~ ", black 40%)" %}{% set lightenSecondary = "color-mix(in srgb," ~ parametre.colorsecondary ~ ", white 20%)" %}{% set lightenLightenSecondary = "color-mix(in srgb," ~ parametre.colorsecondary ~ ", white 40%)" %}<style>/* ------- H -------- */h1 {color: {{ parametre.colorprimary }};}h2 {color: {{ parametre.colorsecondary }};}/* ------- Loader -------- */#loader:before {border-top-color: {{ parametre.colorsecondary }};}#loader:after {border-top-color: {{ parametre.colorprimary }};}/* ------- Placeholder Image -------- */.placeholderLink:hover {color: {{ parametre.colorprimary }} !important;}/* ------- NavBarre -------- */.nav-link-menu:hover {background-color: {{ parametre.colorprimary }};}.btn-nav-active {background-color: {{ parametre.colorprimary }};}/* ------- ProgressBar -------- */.progress,.progress-stacked {background-color: {{ parametre.colorprimary }};}.progress-bar {background-color: {{ parametre.colorprimary }};}/* ------- Background -------- */.bg-primary {background-color: {{ parametre.colorprimary }} !important;}.bg-secondary {background-color: {{ parametre.colorsecondary }} !important;}/* ------- Text -------- */.text-primary {color: {{ parametre.colorprimary }} !important;}.text-secondary {color: {{ parametre.colorsecondary }} !important;}/* ------- DataTable -------- */.active>.page-link {background-color: {{ parametre.colorprimary }};border-color: {{ darken }};}.page-link {color: {{ parametre.colorprimary }};}.page-link:hover {color: {{ darken }};}/* ------- Bootstrap -------- */.dropdown-item:active {background-color: {{ parametre.colorprimary }};border-color: {{ parametre.colorprimary }};}.form-check-input:checked {background-color: {{ parametre.colorprimary }};border-color: {{ parametre.colorprimary }};}/* ------- Buttons -------- */.btn-primary {color: #FFFFFF;background-color: {{ parametre.colorprimary }};border-color: {{ darken }};}.btn-primary:hover {color: #FFFFFF;background-color: {{ darken }};border-color: {{ darkenDarken }};}.btn-primary.disabled,.btn-primary:disabled {color: #FFFFFF;background-color: {{ parametre.colorprimary }};border-color: {{ darken }};}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle {color: #FFFFFF;background-color: {{ darken }};border-color: {{ darkenDarken }};}.btn-outline-primary {color: {{ parametre.colorprimary }};background-color: transparent;background-image: none;border-color: {{ parametre.colorprimary }};}.btn-outline-primary:hover {color: #FFFFFF;background-color: {{ darken }};border-color: {{ parametre.colorprimary }};}.btn-outline-primary.disabled,.btn-outline-primary:disabled {color: {{ parametre.colorprimary }};background-color: transparent}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle {color: #FFFFFF;background-color: {{ darken }};border-color: {{ parametre.colorprimary }};}.btn-secondary {color: #FFFFFF;background-color: {{ parametre.colorsecondary }};border-color: {{ darkenSecondary }};}.btn-secondary:hover {color: #FFFFFF;background-color: {{ darkenSecondary }};border-color: {{ darkenDarkenSecondary }};}.btn-secondary.disabled,.btn-secondary:disabled {color: #FFFFFF;background-color: {{ parametre.colorsecondary }};border-color: {{ darkenSecondary }};}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle {color: #FFFFFF;background-color: {{ darkenSecondary }};border-color: {{ darkenDarkenSecondary }};}.btn-outline-secondary {color: {{ parametre.colorsecondary }};background-color: transparent;background-image: none;border-color: {{ parametre.colorsecondary }};}.btn-outline-secondary:hover {color: #FFFFFF;background-color: {{ darkenSecondary }};border-color: {{ parametre.colorsecondary }};}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled {color: {{ parametre.colorsecondary }};background-color: transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle {color: #FFFFFF;background-color: {{ darkenSecondary }};border-color: {{ parametre.colorsecondary }};}</style>{% endif %}{% if app.user %}{% if app.session.get('vueAdministrateur') %}{% set vueEspace = 'Administrateur' %}{% else %}{% if app.session.get('typeUtilisateur') == 'Administrateur' %}{% set vueEspace = 'Enseignant' %}{% else %}{% set vueEspace = app.session.get('typeUtilisateur') %}{% endif %}{% endif %}{% endif %}<body class="text-center d-flex flex-column h-100"><header style="z-index: 4;"><nav class="navbar sticky-top navbar-expand-lg bg-light shadow"><div class="container-fluid">{% if app.user %}{% set path = path('app_eclac_secure-index') %}{% else %}{% set path = path('app_public_index') %}{% endif %}<a class="navbar-brand" href="{{ path }}"><div class="flex row col-md-6"><div class="col-md-4 mx-auto my-auto ms-0 p-0">{% set parametreLogo = NULL %}{% if app.session.get('parametre') is not null %}{% set parametreLogo = app.session.get('parametre').logonavbarre %}{% endif %}<img src="{{ asset('build/images/' ~ parametreLogo) }}" alt="Logo" style="max-height: 65px;" class="mx-2"/></div></div></a>{% if eleve is defined %}<h1>{{ eleve.nomeleve }} {{ eleve.prenomeleve }} - <u>{{ 'espace_eleve'|trans({}, 'libelles')|capitalize|raw }}</u></h1>{% else %}<h1>{% if enseignant is defined %}{{ enseignant.nomenseignant }} {{ enseignant.prenomenseignant }} -{% endif %}{% if vueEspace is defined %}{% set transVueEspace = 'espace_' ~ vueEspace|lower %}<u>{{ transVueEspace|trans({}, 'libelles')|capitalize|raw }}</u>{% endif %}</h1>{% endif %}<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div class="collapse navbar-collapse" id="navbarNav"><ul class="navbar-nav me-auto mb-2 mb-lg-0">{% if contents is defined %}{% for content in contents %}<li class="col-md-4 nav-item m-1 rounded-3 shadow"><a class="{{ content.class }} btn btn-default300 btn-nav" aria-current="{{ content.current }}" href="{{ content.href }}">{{ content.nom|raw }}</a></li>{% endfor %}{% endif %}</ul>{% if app.session.get('modeMaintenance') == true and app.session.get('droitadmin') == true %}<span class="text-danger fs-3 me-1">{{ 'mode_maintenance_actif'|trans({}, 'libelles')|capitalize|raw }}</span> <i class="bi bi-exclamation-triangle-fill text-danger fs-2 me-5" data-toggle="tooltip" title="{{ 'mode_maintenance_actif'|trans({}, 'libelles')|capitalize|raw }}"></i>{% endif %}{# Drop down #}<ul class="navbar-nav d-flex flex-row"><li class="nav-item dropdown nav-item mx-auto">{% if app.session.get('utilisateurconnecte') %}{% if app.session.get('vueAdministrateur') %}{% set vueEspace = 'Administrateur' %}{% else %}{% if app.session.get('typeUtilisateur') == 'Administrateur' %}{% set vueEspace = 'Enseignant' %}{% else %}{% set vueEspace = app.session.get('typeUtilisateur') %}{% endif %}{% endif %}<a class="nav-link dropdown-toggle show" href="" data-bs-toggle="dropdown" aria-expanded="true">{{ app.session.get('utilisateur') }} <i class="bi bi-person-fill"></i></a><ul class="dropdown-menu hide" data-bs-popper="static">{% if app.session.get('typeUtilisateur') == 'Élève' %}<li><a class="dropdown-item" href="{{ path('app_ecleleve_index') }}">{{ 'mon_espace'|trans({}, 'libelles')|capitalize|raw }}</a></li>{% else %}<li><a class="dropdown-item" href="{{ path('app_eclenseignant_index') }}">{{ 'mon_espace'|trans({}, 'libelles')|capitalize|raw }}</a></li>{% if app.session.get('droitadmin') == true %}{% if app.session.get('vueAdministrateur') %}<li><a class="dropdown-item" href="{{ path('app_eclac_choix-espace') }}" data-turbo="false">{{ 'view.administrator.disabled'|trans({}, 'messages')|capitalize|raw }}</a></li><li><a class="dropdown-item" href="{{ path('app_eclac_parametre') }}" data-turbo="false">{{ 'parametres'|trans({}, 'libelles')|capitalize|raw }}</a></li>{% else %}<li><a class="dropdown-item" href="{{ path('app_eclac_choix-espace') }}" data-turbo="false">{{ 'view.administrator.enabled'|trans({}, 'messages')|capitalize|raw }}</a></li>{% endif %}{% if auth_method == "locale" %}<li><a class="dropdown-item" href="{{ path('app_public_logout') }}" data-turbo="false">{{ 'logout'|trans({}, 'libelles')|capitalize|raw }}</a></li>{% endif %}{% else %}{% set test = app.session.get('typeUtilisateur') %}{{ test }}{% endif %}{% endif %}</ul>{% else %}<a class="col-md-12 mx-auto btn btn-text text-dark" href="{{ path('app_eclac_choix-espace') }}" data-turbo="false"><i class="bi bi-person-fill"></i> {{ 'se_connecter'|trans({}, 'libelles')|capitalize|raw }}</a>{% endif %}</li></ul></div></div></nav></header>{# Nav barres #}{% if app.session.get('afficheNavbarre') != false and (app.session.get('modeMaintenance') == false or app.session.get('droitadmin') == true) %}<div class="container-fluid col-md-12 p-0 m-0" style="z-index: 1;">{% set vueEspace = '' %}{% if app.user %}{% if app.session.get('vueAdministrateur') %}{% set vueEspace = 'Administrateur' %}{% else %}{% if app.session.get('typeUtilisateur') == 'Administrateur' %}{% set vueEspace = 'Enseignant' %}{% else %}{% set vueEspace = app.session.get('typeUtilisateur') %}{% endif %}{% endif %}{% endif %}{% if eleve is defined and eleve is not null %}<nav class="navbar navbar-expand-lg bg-light shadow"><div class="col-md-2 mx-auto my-1"><a class="btn btn-primary col-md-12 mx-auto" href="{{ path('app_ecleleve_index') }}"><i class="bi bi-person-vcard-fill"></i> {{ 'synthese'|trans({}, 'libelles')|capitalize|raw }}</a></div><div class="col-md-2 mx-auto my-1"><a class="btn btn-primary col-md-12 mx-auto" href="{{ path('app_ecleleve_note') }}"><i class="bi bi-star-fill"></i> {{ 'notes'|trans({}, 'libelles')|capitalize|raw }}</a></div><div class="col-md-2 mx-auto my-1"><a class="btn btn-primary col-md-12 mx-auto" href="{{ path('app_ecleleve_prochaines-evaluations') }}"><i class="bi bi-clock"></i> {{ 'evaluations'|trans({}, 'libelles')|capitalize|raw }} {{ 'a_venir'|trans({}, 'libelles')|lower|raw }}</a></div><div class="col-md-2 mx-auto my-1"><a class="btn btn-primary col-md-12 mx-auto" href="{{ path('app_ecleleve_cours') }}" data-turbo="false"><i class="bi bi-list-ul"></i> {{ 'cours'|trans({}, 'libelles')|capitalize|raw }}</a></div>{% set classDiplome = "disabled" %}{% set chemin = "" %}{% set nomDiplome = "" %}{% if diplome is defined and diplome is not null %}{% if diplome.generer and diplome.disponible %}{% set classDiplome = "" %}{% set chemin = diplome.chemintemp %}{% set nomDiplome = diplome.numerodiplome %}{% endif %}{% endif %}<div class="col-md-2 mx-auto my-1"><a class="btn-warning btn btn-primary col-md-12 mx-auto {{ classDiplome }}" href="{{ chemin }}" data-turbo="false" data-toggle="tooltip" title="{{ 'telecharger'|trans({}, 'libelles')|capitalize|raw }} {{ 'certificat'|trans({}, 'libelles')|lower|raw }}" download="{{nomDiplome}}.pdf"><i class="bi bi-download"></i> {{ 'certificat'|trans({}, 'libelles')|capitalize|raw }}</a></div></nav>{% if vueEspace == 'Enseignant' %}<nav class="navbar navbar-expand-lg bg-light"><div class="col-md-2 mx-auto my-1"><a class="btn btn-primary col-md-12 mx-auto btn-warning" href="{{ path('app_eclenseignant_index') }}" data-turbo="false"><i class="bi bi-person-fill"></i> {{ 'retour'|trans({}, 'libelles')|capitalize|raw }} {{ 'espace_enseignant'|trans({}, 'libelles')|lower|raw }}</a></div></nav>{% endif %}{% if vueEspace == 'Administrateur' %}<nav class="navbar navbar-expand-lg bg-light"><div class="col-md-2 mx-auto my-1"><a class="btn-warning btn btn-primary col-md-12 mx-auto" href="{{ path('app_ecladmin_eleves') }}" data-turbo="false"><i class="bi bi-people-fill"></i> {{ 'retour'|trans({}, 'libelles')|capitalize|raw }} {{ 'espace_enseignant'|trans({}, 'libelles')|lower|raw }}</a></div></nav>{% endif %}{% else %}{% if vueEspace == 'Enseignant' or vueEspace == 'Administrateur' %}<nav class="navbar navbar-expand-lg bg-light"><div class="col-md-2 mx-auto my-1 p-1"><a class="btn btn-primary col-md-12 mx-auto" href="{{ path('app_eclenseignant_mescours') }}" data-turbo="false"><i class="bi bi-list-ul"></i> {{ 'mes_cours'|trans({}, 'libelles')|capitalize|raw }}</a></div><div class="col-md-2 mx-auto my-1 p-1"><a class="btn btn-primary col-md-12 mx-auto" href="{{ path('app_eclenseignant_lescours') }}" data-turbo="false"><i class="bi bi-list-ul"></i> {{ 'cours'|trans({}, 'libelles')|capitalize|raw }}</a></div><div class="col-md-2 mx-auto my-1 p-1"><a class="btn btn-primary col-md-12 mx-auto" href="{{ path('app_eclenseignant_note') }}"><i class="bi bi-star-fill"></i> {{ 'notes'|trans({}, 'libelles')|capitalize|raw }}</a></div><div class="col-md-2 mx-auto my-1 p-1">{% if app.session.get('jeanneDupont') %}<a class="btn btn btn-secondary col-md-12 mx-auto" href="{{ path('app_eclenseignant_switchdemo') }}"><i class="bi bi-person-fill"></i> Jeanne DUPONT</a>{% else %}<div data-toggle="tooltip" title="{{ 'eleve_non_disponible'|trans({}, 'libelles')|capitalize|raw }}"><button class="btn btn btn-secondary col-md-12 mx-auto" disabled><i class="bi bi-person-fill"></i> Jeanne DUPONT</button></div>{% endif %}</div>{% if app.session.get('vueAdministrateur') %}<div class="col-md-2 mx-auto my-1 p-1">{% if app.session.get('jeanDupont') %}<a class="btn btn btn-secondary col-md-12 mx-auto" href="{{ path('app_eclenseignant_switchdemofinale') }}"><i class="bi bi-person-fill"></i> Jean DUPONT</a>{% else %}<div data-toggle="tooltip" title="{{ 'eleve_non_disponible'|trans({}, 'libelles')|capitalize|raw }}"><button class="btn btn btn-secondary col-md-12 mx-auto" disabled><i class="bi bi-person-fill"></i> Jean DUPONT</button></div>{% endif %}</div>{% endif %}</nav>{% if app.session.get('vueAdministrateur') %}<nav class="navbar navbar-expand-lg bg-light"><div class="col-md-2 mx-auto my-1 p-1"><a class="btn btn-primary col-md-12 mx-auto" href="{{ path('app_ecladmin_eleves') }}" data-turbo="false"><i class="bi bi-people-fill"></i> {{ 'eleves'|trans({}, 'libelles')|capitalize|raw }}</a></div><div class="col-md-2 mx-auto my-1 p-1"><a class="btn btn-primary col-md-12 mx-auto" href="{{ path('app_ecladmin_enseignants') }}" data-turbo="false"><i class="bi bi-people-fill"></i> {{ 'enseignants'|trans({}, 'libelles')|capitalize|raw }}</a></div><div class="col-md-2 mx-auto my-1 p-21"><a class="btn btn-primary col-md-12 mx-auto" href="{{ path('app_eclenseignant_notifenseignantcourscours') }}"><i class="bi bi-send-fill"></i> {{ 'notifications'|trans({}, 'libelles')|capitalize|raw }}</a></div><div class="col-md-2 mx-auto my-1 p-1"><a class="btn btn-primary col-md-12 mx-auto" href="{{ path('app_ecladmin_certificat-competence') }}"><i class="bi bi-award-fill"></i> {{ 'certificats'|trans({}, 'libelles')|capitalize|raw }}</a></div><div class="col-md-2 mx-auto my-1 p-1"><a class="btn btn-primary position-relative col-md-12 mx-auto" data-turbo="false" href="{{ path('app_import_gestion') }}"><i class="bi bi-database-fill-gear"></i> {{ 'imports'|trans({}, 'libelles')|capitalize|raw }}{% if app.session.get('importEnErreur') == true %}<span class="position-absolute top-0 start-100 translate-middle badge rounded-pill"><i data-toggle="tooltip" title="{{ 'imports_en_erreur'|trans({}, 'libelles')|capitalize|raw }}" class="bi bi-exclamation-circle-fill text-danger fs-4 ms-1"></i></span>{% endif %}</a></div></nav>{% endif %}{% endif %}{% endif %}</div>{% endif %}<main class="mb-5">{% block body %}{% endblock %}</main><!-- Footer --><footer class="footer mt-auto bg-light text-center shadow-lg" style="z-index: -5;"><div class="pb-0 pt-4 bg-light" style="z-index : -5;">{% set parametreContact = NULL %}{% if app.session.get('parametre') is not null %}{% set parametreContact = app.session.get('parametre').contactfooter %}{% endif %}<p class="text-center text-muted">{{ 'contact'|trans({}, 'libelles')|capitalize|raw }} : {{ parametreContact }}</p><img src="{{ asset('build/images/Logo-ComPass-min.webp') }}" alt="Logo" style="max-height: 35px;" class="mt-2 mb-3"/><p class="text-center text-muted">ComPass - {{ parametre.versionapp }}</p></div></footer><div id="toast-container" class="toast-container position-fixed bottom-0 end-0 p-3" style="z-index: 4;">{% for flash in app.flashes('success') %}{{ include('_toast.html.twig', { context: 'success', title: 'succes'|trans({}, 'libelles')|capitalize|raw, body: flash }) }}{% endfor %}{% for flash in app.flashes('error') %}{{ include('_toast.html.twig', { context: 'danger', title: 'erreur'|trans({}, 'libelles')|capitalize|raw, body: flash }) }}{% endfor %}{% for flash in app.flashes('warning') %}{{ include('_toast.html.twig', { context: 'warning', title: 'attention'|trans({}, 'libelles')|capitalize|raw, body: flash }) }}{% endfor %}</div></body></html>