feat(settings): card SMTP visible dans /settings (host/port/user/pass/from/tls + pct_recipient)

La section SMTP etait declaree dans SECTIONS dict + SECTION_ACCESS mais le template
settings.html n'iterait pas dynamiquement les sections — chaque section a sa card.
Ajoute une card SMTP entre Teams et Splunk avec tous les champs + hint Office 365.
This commit is contained in:
Pierre & Lumière 2026-05-07 21:53:34 +02:00
parent d32a04c9ca
commit ce1365e706

View File

@ -662,6 +662,57 @@
</div> </div>
{% endif %} {% endif %}
<!-- SMTP (envoi de mails — prévenance PCT, etc.) -->
{% if visible.smtp %}
<div class="card overflow-hidden">
{{ section_header("smtp", "SMTP — Envoi de mails (Office 365)", "Mail", "badge-blue") }}
<div x-show="open === 'smtp'" class="border-t border-cyber-border p-4">
<form method="POST" action="/settings/smtp" class="space-y-3">
<div class="grid grid-cols-2 gap-3">
<div>
<label class="text-xs text-gray-500">Serveur SMTP</label>
<input type="text" name="smtp_host" value="{{ vals.smtp_host }}" placeholder="smtp.office365.com" class="w-full font-mono text-xs" {% if not editable.smtp %}disabled{% endif %}>
</div>
<div>
<label class="text-xs text-gray-500">Port</label>
<input type="text" name="smtp_port" value="{{ vals.smtp_port }}" placeholder="587" class="w-full font-mono text-xs" {% if not editable.smtp %}disabled{% endif %}>
</div>
</div>
<div class="grid grid-cols-2 gap-3">
<div>
<label class="text-xs text-gray-500">User SMTP (vide si relay anonyme)</label>
<input type="text" name="smtp_user" value="{{ vals.smtp_user }}" placeholder="patchcenter@sanef.com" class="w-full" {% if not editable.smtp %}disabled{% endif %}>
</div>
<div>
<label class="text-xs text-gray-500">Password / App Password</label>
<input type="password" name="smtp_pass" value="{{ vals.smtp_pass }}" placeholder="(app password Office 365)" class="w-full" {% if not editable.smtp %}disabled{% endif %}>
</div>
</div>
<div class="grid grid-cols-2 gap-3">
<div>
<label class="text-xs text-gray-500">Adresse expéditeur (From)</label>
<input type="text" name="smtp_from" value="{{ vals.smtp_from }}" placeholder="patchcenter@sanef.com" class="w-full" {% if not editable.smtp %}disabled{% endif %}>
</div>
<div>
<label class="text-xs text-gray-500">STARTTLS / TLS (true / false)</label>
<input type="text" name="smtp_use_tls" value="{{ vals.smtp_use_tls }}" placeholder="true" class="w-full font-mono text-xs" {% if not editable.smtp %}disabled{% endif %}>
</div>
</div>
<div>
<label class="text-xs text-gray-500">Destinataire prévenance PCT</label>
<input type="text" name="smtp_pct_recipient" value="{{ vals.smtp_pct_recipient }}" placeholder="PCT.reims@sanef.com" class="w-full" {% if not editable.smtp %}disabled{% endif %}>
</div>
<p class="text-xs text-gray-600">
Configuration utilisée pour les mails de prévenance PCT (et signature future).
Pour O365 : <code>smtp.office365.com</code> port <code>587</code> + STARTTLS,
user = compte Entra avec SMTP submission activé, password = App Password ou Basic SMTP Auth (selon politique tenant).
</p>
{% if editable.smtp %}<button type="submit" class="btn-primary px-4 py-2 text-sm">Sauvegarder</button>{% endif %}
</form>
</div>
</div>
{% endif %}
<!-- Splunk Remote Log --> <!-- Splunk Remote Log -->
{% if visible.splunk %} {% if visible.splunk %}
<div class="card overflow-hidden"> <div class="card overflow-hidden">