site.toml [administration] adresse : l'accueil affiche un bouton « Connexion » vers l'interface. Celle-ci peut tourner derrière le serveur web du site (rtg interface --proxy --prefixe /admin) : adresses préfixées, mot de passe obligatoire, visiteur identifié par X-Forwarded-For, cookie Secure limité au préfixe quand le site est en HTTPS. Exemples nginx et Apache dans le README. Le bouton Arrêter ne remplace plus le bloc de la tâche en même temps que la relève. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mf2kATMtqVABHSYdxJMnim
25 lines
1.3 KiB
HTML
25 lines
1.3 KiB
HTML
{% if message %}<div class="erreur">{{ message }}</div>{% endif %}
|
|
{% if tache %}
|
|
<div class="tache {{ 'en-cours' if tache.en_cours else ('ok' if tache.ok else 'echec') }}"
|
|
{% if tache.en_cours %}hx-get="{{ base }}/tache/fragment{{ '?complet=1' if complet }}" hx-trigger="every 1s" hx-swap="outerHTML"{% endif %}>
|
|
<div class="tache-tete">
|
|
<strong>{{ tache.libelle }}</strong>
|
|
<span class="etape">{{ "⏳ " if tache.en_cours }}{{ tache.etape }}{% if tache.etape_voyage %} — {{ tache.etape_voyage }}{% endif %}</span>
|
|
<span class="discret">{{ tache.duree }}</span>
|
|
{% if tache.en_cours %}
|
|
<button class="danger petit" hx-post="{{ base }}/tache/arreter" hx-swap="none">Arrêter</button>
|
|
{% endif %}
|
|
</div>
|
|
{% if tache.video and tache.video.rang %}
|
|
{% set i, n = tache.video.rang %}
|
|
<div class="video-cours">
|
|
<div>🎬 Vidéo {{ i }}/{{ n }} · <code>{{ tache.video.nom }}</code> · {{ tache.video.pct|int }} %</div>
|
|
<progress max="100" value="{{ tache.video.pct }}"></progress>
|
|
<progress class="global" max="{{ n }}" value="{{ i - 1 + tache.video.pct / 100 }}" title="Ensemble des vidéos"></progress>
|
|
</div>
|
|
{% endif %}
|
|
{% set lignes = tache.lignes|list %}
|
|
<pre class="journal">{{ lignes[-(1000 if complet else 30):]|join("\n") }}</pre>
|
|
</div>
|
|
{% endif %}
|