39 lines
2.1 KiB
HTML
39 lines
2.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<script>try{var t=localStorage.getItem("kanbante-theme");document.documentElement.setAttribute("data-theme",t==="light"?"light":"dark");}catch(e){document.documentElement.setAttribute("data-theme","dark");}</script>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="csrf-token" content="{{ csrf_token }}">
|
|
<title>Connexion — Kanbante</title>
|
|
<link rel="stylesheet" href="/static/css/style.css">
|
|
</head>
|
|
<body class="login-body">
|
|
<main class="login-wrap">
|
|
<section class="login-card">
|
|
<div class="login-brand">
|
|
<span class="login-mark" aria-hidden="true"><svg viewBox="0 0 24 24" fill="#fff" aria-hidden="true" style="width:20px;height:20px;display:block"><rect x="3" y="4" width="5" height="16" rx="1"/><rect x="9.5" y="4" width="5" height="10" rx="1"/><rect x="16" y="4" width="5" height="13" rx="1"/></svg></span>
|
|
<h1>Kanbante</h1>
|
|
<p class="login-sub">Pilotage de projets, adossé à votre Gitea</p>
|
|
</div>
|
|
{% if error %}
|
|
<p class="login-error" role="alert">{{ error }}</p>
|
|
{% endif %}
|
|
<form method="post" action="/login" class="login-form">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token }}">
|
|
<input type="hidden" name="next" value="{{ next }}">
|
|
<label>Nom d'utilisateur
|
|
<input type="text" name="username" autocomplete="username" required autofocus>
|
|
</label>
|
|
<label>Mot de passe
|
|
<input type="password" name="password" autocomplete="current-password" required>
|
|
</label>
|
|
<button type="submit" class="login-submit">Se connecter</button>
|
|
</form>
|
|
<a class="login-sso" href="{{ sso_authorize_url }}">Se connecter avec ObsiGate (SSO)</a>
|
|
<p class="login-foot">Accès restreint — session de {{ 7 }} jours, déconnexion depuis le menu latéral.</p>
|
|
</section>
|
|
</main>
|
|
</body>
|
|
</html>
|