Envoie les emails via un relais SMTP configurable plutôt qu'en direct-to-MX

Ajoute le bloc "smtp" (host, port, identifiants, TLS) dans config.json,
plus fiable et plus simple à opérer qu'une livraison directe au MX du
destinataire. data/config.json n'est plus versionné (secrets), remplacé
par data/config.example.json.
This commit is contained in:
Antoine
2026-07-17 21:46:52 +02:00
parent 1d9380736e
commit e6a523f76f
10 changed files with 297 additions and 64 deletions

View File

@ -11,22 +11,46 @@
<div class="login-error">{{ error }}</div>
{% endif %}
{% if step == "email" %}
<form method="post" action="/login" class="login-form">
<label class="login-label" for="username">Identifiant</label>
<label class="login-label" for="email">Adresse email</label>
<input
id="username"
id="email"
class="login-input"
type="text"
name="username"
autocomplete="username"
type="email"
name="email"
value="{{ email }}"
autocomplete="email"
autofocus
placeholder="prenom.nom"
pattern="[a-zA-Z0-9_\-]{1,32}"
placeholder="prenom.nom@domaine.fr"
required
>
<p class="login-hint">Lettres, chiffres, tirets — 1 à 32 caractères.</p>
<button class="login-btn" type="submit">Entrer</button>
<button class="login-btn" type="submit">Continuer</button>
</form>
{% elif step == "password" %}
<form method="post" action="/login/password" class="login-form">
<input type="hidden" name="email" value="{{ email }}">
<label class="login-label">{{ email }}</label>
<input
id="password"
class="login-input"
type="password"
name="password"
autocomplete="current-password"
autofocus
placeholder="Mot de passe"
required
>
<button class="login-btn" type="submit">Se connecter</button>
</form>
{% elif step == "sent" %}
<p class="login-hint">
Un email a été envoyé à <b>{{ email }}</b> avec un lien pour définir ton mot de passe.
Le lien est valable 24h.
</p>
{% endif %}
</div>
</div>