Loading module/Application/config/others/authentification.config.php +1 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ return [ 'template_map' => [ 'unicaen-authentification/auth/login' => __DIR__ . '/../../view/application/unicaen-authentification/auth/login.phtml', 'unicaen-authentification/auth/login-tabs' => __DIR__ . '/../../view/application/unicaen-authentification/auth/login-tabs.phtml', 'unicaen-authentification/auth/request-password-reset-form' => __DIR__ . '/../../view/application/unicaen-authentification/auth/request-password-reset-form.phtml', ], 'template_path_stack' => [ __DIR__ . '/../view', Loading module/Application/src/Application/View/Renderer/PhpRenderer.php +3 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,8 @@ namespace Application\View\Renderer; use Application\View\Helper\Etat\EtatViewHelper; use Depot\View\Helper\Url\UrlDepotHelper; use Doctorant\Entity\Db\MissionEnseignement; use Doctorant\View\Helper\MissionEnseignementViewHelper; use Fichier\Entity\Db\Fichier; use Fichier\View\Helper\Fichier\FichierViewHelper; use Laminas\Form\ElementInterface; Loading Loading @@ -167,6 +169,7 @@ use UnicaenIdref\View\Helper\IdrefLinkViewHelper; * @method StructureViewHelper structure(Structure|Etablissement|EcoleDoctorale|UniteRecherche $structure, bool $afficherLibelle = true, bool $sansOmbre = false, $options = []) * @method FichierViewHelper fichier(Fichier $object, string $urlTelechargementFichier, string $urlSuppressionFichier, bool $canGererFichier, string $libelleOptionnel = "", bool $voirHistoInfo = true, bool $canVoirSuppression = true, bool $isTargetBlank = false, array $options = []) * @method EtatViewHelper etatHelper(mixed $etat = null, int|null $resultat = null, string|null $resultatString = "", $options = []) * @method MissionEnseignementViewHelper missionEnseignement(MissionEnseignement $missionEnseignement, These $these, $options = []) * * @method IdrefLinkViewHelper idrefLink(string $ppn) * Loading module/Application/view/application/index/index.phtml +2 −40 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ echo $this->messenger() // ->addMessagesFromFlashMessengerWithNoNamespace() // remplacé par $this->alertes()->addAlertesFromFlashMessenger() ->addMessagesFromFlashMessengerWithNamespace('UnicaenAuth/*'); ?> <div class="row"> <div class="row" id="page-accueil"> <div class="col-12 col-md-2"> <?php echo $this->partial('application/index/partial/informations', ['informations' => $informations]) ?> Loading Loading @@ -97,41 +97,3 @@ echo $this->messenger() </div> </div> No newline at end of file <style> .row{ font-size: 0.8rem; } #content.jumbotron { border-radius: 1rem; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1); padding: 2rem; margin: 2rem auto; } /* Paragraphe lead */ #content .lead { font-size: 1rem; color: #444; } /* Texte de connexion/déconnexion */ #content .text-danger strong { font-size: 1rem; } /* Bouton de connexion */ #content .btn-success { padding: 0.75rem 1.5rem; font-size: 1rem; border-radius: 0.5rem; box-shadow: 0 4px 12px rgba(0, 128, 0, 0.2); transition: background-color 0.3s ease, transform 0.2s ease; } #content .btn-success:hover { background-color: #218838; transform: translateY(-2px); } </style> module/Application/view/application/unicaen-authentification/auth/login.phtml +2 −115 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ $this->headTitle("Connexion") ?> <link href="vendor/fontawesome-free-5.12.0-web/all.css" rel="stylesheet"> <link href="public/unicaen/app/vendor/fontawesome-free-5.12.0-web/css/all.min.css" rel="stylesheet"> </head> <div class="container py-5"> <div class="container py-5" id="page-connexion"> <div class="text-center mb-4"> <h2><i class="fas fa-sign-in-alt"></i> Connexion</h2> <!-- <p class="lead">Doctorants : connectez-vous avec votre <strong>compte numérique universitaire</strong> ou un <strong>compte local</strong> si vous en avez déjà créé un.</p>--> Loading @@ -47,116 +47,3 @@ $this->headTitle("Connexion") ?> <small class="text-muted">Besoin d’aide ? Consultez notre <a href="/faq">FAQ</a>.</small> </div> </div> No newline at end of file <style> :root { --brand-primary-dark: #003366; --text-muted: #666; } .container{ font-size:1rem; } h2 { font-size: 2rem; } .btn-primary { font-size: 1rem; } /* Onglets */ .nav-pills .nav-link{ color: var(--secondary-color); border: 2px solid transparent; border-radius: 2rem; padding: 0.75rem 1.5rem; background-color: rgba(0, 64, 128, 0.05); /* très léger fond bleu */ transition: background-color 0.3s, border-color 0.3s; } /* Onglet actif */ .nav-pills .nav-link.active { background-color: var(--secondary-color); color: #fff; border: 1px solid var(--secondary-color); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); } .nav-pills .nav-link.active:hover { background-color: var(--secondary-color); } .nav-pills .nav-link { background-color: rgba(0, 64, 128, 0.05); } .nav-pills .nav-link:hover { background-color: rgba(0, 64, 128, 0.1); } .tab-content { border-left: none !important; } .tab-pane .card-body { background-color: rgba(0, 64, 128, 0.05); border-radius: 1rem; padding: 2rem; transition: background-color 0.3s ease; } /* Zone d'inscription mise en valeur */ #div-connexion { margin-top: 1.5rem; padding: 1rem; text-align: center; background-color: #fff; border: 1px solid var(--secondary-color); border-radius: 0.5rem; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05); } #div-connexion a { color: var(--secondary-color); font-weight: 600; text-decoration: underline; transition: color 0.3s ease; } #div-connexion a:hover { color: var(--primary-color); } /* Pied de page discret */ .text-muted, .text-muted a { color: var(--text-muted) !important; } .text-muted a { text-decoration: underline; } /* Mettre en valeur la description de connexion */ .connect-description { background-color: #fff; border-left: 4px solid var(--primary-color); padding: 1.25rem 1rem; margin-bottom: 1.5rem; border-radius: 0.5rem; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); font-size: 1rem; line-height: 1.5; width:fit-content; } .connect-description p { margin-bottom: 0.75rem; color: #333; } .connect-description strong { color: #004080; } </style> No newline at end of file module/Application/view/application/unicaen-authentification/auth/request-password-reset-form.phtml 0 → 100644 +55 −0 Original line number Diff line number Diff line <?php use Laminas\Form\Form; /** * @var bool $enabled * @var Form $form * @var string $title * @var string $redirect */ ?> <div class="container mt-4" id="page-gestion-creation-compte"> <h1 class="page-header password-reset-title mb-4"> <span class="fas fa-user-lock"></span> Demande de changement de mot de passe </h1> <a href="<?= $this->url('zfcuser/login') ?>" class="btn btn-primary mb-3"> <i class="icon icon-retour"></i> Retourner à la page de connexion </a> <div class="card register-card shadow-sm border-0 mb-4"> <div class="card-body"> <p class="mb-3 register-infos"> Cette page permet d'initier le changement du mot de passe associé à votre compte local de connexion à l'application.<br> <strong>NB :</strong> Cela n'est possible que pour les utilisateurs se connectant avec leur adresse électronique.<br> </p> <div class="col-sm-4"> <?php echo $this->form()->openTag($form) ?> <p class="password-reset-email"> <?php $email = $form->get($name = 'email')->setAttributes(['id' => $name, 'class' => 'form-control']); echo $this->formLabel($email); echo $this->formInput($email); echo $this->formElementErrors($email, ['class' => 'text-danger']); ?> <span class="text-muted">Un lien à cliquer vous sera envoyé à cette adresse électronique.</span> </p> <?php echo $this->formInput($form->get('csrf')); ?> <p class="password-reset-submit"> <?php echo $this->formButton($form->get('submit')->setAttribute('class', 'btn btn-primary')) ?> </p> <?php echo $this->form()->closeTag() ?> </div> </div> </div> </div> No newline at end of file Loading
module/Application/config/others/authentification.config.php +1 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ return [ 'template_map' => [ 'unicaen-authentification/auth/login' => __DIR__ . '/../../view/application/unicaen-authentification/auth/login.phtml', 'unicaen-authentification/auth/login-tabs' => __DIR__ . '/../../view/application/unicaen-authentification/auth/login-tabs.phtml', 'unicaen-authentification/auth/request-password-reset-form' => __DIR__ . '/../../view/application/unicaen-authentification/auth/request-password-reset-form.phtml', ], 'template_path_stack' => [ __DIR__ . '/../view', Loading
module/Application/src/Application/View/Renderer/PhpRenderer.php +3 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,8 @@ namespace Application\View\Renderer; use Application\View\Helper\Etat\EtatViewHelper; use Depot\View\Helper\Url\UrlDepotHelper; use Doctorant\Entity\Db\MissionEnseignement; use Doctorant\View\Helper\MissionEnseignementViewHelper; use Fichier\Entity\Db\Fichier; use Fichier\View\Helper\Fichier\FichierViewHelper; use Laminas\Form\ElementInterface; Loading Loading @@ -167,6 +169,7 @@ use UnicaenIdref\View\Helper\IdrefLinkViewHelper; * @method StructureViewHelper structure(Structure|Etablissement|EcoleDoctorale|UniteRecherche $structure, bool $afficherLibelle = true, bool $sansOmbre = false, $options = []) * @method FichierViewHelper fichier(Fichier $object, string $urlTelechargementFichier, string $urlSuppressionFichier, bool $canGererFichier, string $libelleOptionnel = "", bool $voirHistoInfo = true, bool $canVoirSuppression = true, bool $isTargetBlank = false, array $options = []) * @method EtatViewHelper etatHelper(mixed $etat = null, int|null $resultat = null, string|null $resultatString = "", $options = []) * @method MissionEnseignementViewHelper missionEnseignement(MissionEnseignement $missionEnseignement, These $these, $options = []) * * @method IdrefLinkViewHelper idrefLink(string $ppn) * Loading
module/Application/view/application/index/index.phtml +2 −40 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ echo $this->messenger() // ->addMessagesFromFlashMessengerWithNoNamespace() // remplacé par $this->alertes()->addAlertesFromFlashMessenger() ->addMessagesFromFlashMessengerWithNamespace('UnicaenAuth/*'); ?> <div class="row"> <div class="row" id="page-accueil"> <div class="col-12 col-md-2"> <?php echo $this->partial('application/index/partial/informations', ['informations' => $informations]) ?> Loading Loading @@ -97,41 +97,3 @@ echo $this->messenger() </div> </div> No newline at end of file <style> .row{ font-size: 0.8rem; } #content.jumbotron { border-radius: 1rem; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1); padding: 2rem; margin: 2rem auto; } /* Paragraphe lead */ #content .lead { font-size: 1rem; color: #444; } /* Texte de connexion/déconnexion */ #content .text-danger strong { font-size: 1rem; } /* Bouton de connexion */ #content .btn-success { padding: 0.75rem 1.5rem; font-size: 1rem; border-radius: 0.5rem; box-shadow: 0 4px 12px rgba(0, 128, 0, 0.2); transition: background-color 0.3s ease, transform 0.2s ease; } #content .btn-success:hover { background-color: #218838; transform: translateY(-2px); } </style>
module/Application/view/application/unicaen-authentification/auth/login.phtml +2 −115 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ $this->headTitle("Connexion") ?> <link href="vendor/fontawesome-free-5.12.0-web/all.css" rel="stylesheet"> <link href="public/unicaen/app/vendor/fontawesome-free-5.12.0-web/css/all.min.css" rel="stylesheet"> </head> <div class="container py-5"> <div class="container py-5" id="page-connexion"> <div class="text-center mb-4"> <h2><i class="fas fa-sign-in-alt"></i> Connexion</h2> <!-- <p class="lead">Doctorants : connectez-vous avec votre <strong>compte numérique universitaire</strong> ou un <strong>compte local</strong> si vous en avez déjà créé un.</p>--> Loading @@ -47,116 +47,3 @@ $this->headTitle("Connexion") ?> <small class="text-muted">Besoin d’aide ? Consultez notre <a href="/faq">FAQ</a>.</small> </div> </div> No newline at end of file <style> :root { --brand-primary-dark: #003366; --text-muted: #666; } .container{ font-size:1rem; } h2 { font-size: 2rem; } .btn-primary { font-size: 1rem; } /* Onglets */ .nav-pills .nav-link{ color: var(--secondary-color); border: 2px solid transparent; border-radius: 2rem; padding: 0.75rem 1.5rem; background-color: rgba(0, 64, 128, 0.05); /* très léger fond bleu */ transition: background-color 0.3s, border-color 0.3s; } /* Onglet actif */ .nav-pills .nav-link.active { background-color: var(--secondary-color); color: #fff; border: 1px solid var(--secondary-color); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); } .nav-pills .nav-link.active:hover { background-color: var(--secondary-color); } .nav-pills .nav-link { background-color: rgba(0, 64, 128, 0.05); } .nav-pills .nav-link:hover { background-color: rgba(0, 64, 128, 0.1); } .tab-content { border-left: none !important; } .tab-pane .card-body { background-color: rgba(0, 64, 128, 0.05); border-radius: 1rem; padding: 2rem; transition: background-color 0.3s ease; } /* Zone d'inscription mise en valeur */ #div-connexion { margin-top: 1.5rem; padding: 1rem; text-align: center; background-color: #fff; border: 1px solid var(--secondary-color); border-radius: 0.5rem; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05); } #div-connexion a { color: var(--secondary-color); font-weight: 600; text-decoration: underline; transition: color 0.3s ease; } #div-connexion a:hover { color: var(--primary-color); } /* Pied de page discret */ .text-muted, .text-muted a { color: var(--text-muted) !important; } .text-muted a { text-decoration: underline; } /* Mettre en valeur la description de connexion */ .connect-description { background-color: #fff; border-left: 4px solid var(--primary-color); padding: 1.25rem 1rem; margin-bottom: 1.5rem; border-radius: 0.5rem; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); font-size: 1rem; line-height: 1.5; width:fit-content; } .connect-description p { margin-bottom: 0.75rem; color: #333; } .connect-description strong { color: #004080; } </style> No newline at end of file
module/Application/view/application/unicaen-authentification/auth/request-password-reset-form.phtml 0 → 100644 +55 −0 Original line number Diff line number Diff line <?php use Laminas\Form\Form; /** * @var bool $enabled * @var Form $form * @var string $title * @var string $redirect */ ?> <div class="container mt-4" id="page-gestion-creation-compte"> <h1 class="page-header password-reset-title mb-4"> <span class="fas fa-user-lock"></span> Demande de changement de mot de passe </h1> <a href="<?= $this->url('zfcuser/login') ?>" class="btn btn-primary mb-3"> <i class="icon icon-retour"></i> Retourner à la page de connexion </a> <div class="card register-card shadow-sm border-0 mb-4"> <div class="card-body"> <p class="mb-3 register-infos"> Cette page permet d'initier le changement du mot de passe associé à votre compte local de connexion à l'application.<br> <strong>NB :</strong> Cela n'est possible que pour les utilisateurs se connectant avec leur adresse électronique.<br> </p> <div class="col-sm-4"> <?php echo $this->form()->openTag($form) ?> <p class="password-reset-email"> <?php $email = $form->get($name = 'email')->setAttributes(['id' => $name, 'class' => 'form-control']); echo $this->formLabel($email); echo $this->formInput($email); echo $this->formElementErrors($email, ['class' => 'text-danger']); ?> <span class="text-muted">Un lien à cliquer vous sera envoyé à cette adresse électronique.</span> </p> <?php echo $this->formInput($form->get('csrf')); ?> <p class="password-reset-submit"> <?php echo $this->formButton($form->get('submit')->setAttribute('class', 'btn btn-primary')) ?> </p> <?php echo $this->form()->closeTag() ?> </div> </div> </div> </div> No newline at end of file