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
64 lines
3.0 KiB
HTML
64 lines
3.0 KiB
HTML
{% extends "base.html" %}
|
|
{% block titre %}Mes voyages{% endblock %}
|
|
{% block contenu %}
|
|
{% if not site_existe %}
|
|
<div class="encart">
|
|
<p><strong>Ce dossier n'est pas encore un site RTG.</strong> Il n'y a pas de <code>site.toml</code> dans <code>{{ racine }}</code>.</p>
|
|
<p><button class="principal" hx-post="{{ base }}/site/creer">Créer le site dans ce dossier</button></p>
|
|
<p class="aide">Pour un autre dossier, relancez avec <code>rtg interface --racine CHEMIN</code>.</p>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="entete-page">
|
|
<h1>Mes voyages <span class="compte">{{ nb }}</span></h1>
|
|
<div class="actions">
|
|
<a class="bouton principal" href="{{ base }}/nouveau">+ Nouveau voyage</a>
|
|
<form hx-post="{{ base }}/tache/lancer" hx-target="#tache-zone">
|
|
<input type="hidden" name="quoi" value="accueil">
|
|
<button title="index.html, pages des rubriques et carte globale">Refaire l'accueil</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<div id="tache-zone"></div>
|
|
|
|
{% for g, liste in groupes %}
|
|
<section>
|
|
<h2>{{ g }} <span class="compte">{{ liste|length }}</span></h2>
|
|
<table class="voyages">
|
|
<thead><tr><th>Voyage</th><th>Dates</th><th class="num">Jours</th><th>Vidéos web</th><th>Photos web</th><th>Pages</th><th></th></tr></thead>
|
|
<tbody>
|
|
{% for v in liste %}
|
|
<tr>
|
|
<td><a href="{{ base }}/voyage?v={{ v.chemin|url }}"><strong>{{ v.titre }}</strong></a>
|
|
{% if v.moto %}<div class="discret">{{ v.moto }}</div>{% endif %}</td>
|
|
<td>{{ periode(v.debut, v.fin) }}</td>
|
|
<td class="num">{{ v.jours or "—" }}</td>
|
|
<td>
|
|
{% if v.videos_sources %}
|
|
<span class="pastille {{ 'ok' if v.videos_faites == v.videos_sources else 'attention' }}">{{ v.videos_faites }}/{{ v.videos_sources }}</span>
|
|
{% elif v.videos_web %}
|
|
<span class="pastille neutre" title="Les rushs ne sont pas accessibles (disque débranché ?)">{{ v.videos_web }} · sources absentes</span>
|
|
{% else %}<span class="discret">—</span>{% endif %}
|
|
</td>
|
|
<td>
|
|
{% if v.photos %}
|
|
<span class="pastille {{ 'ok' if v.photos_web >= v.photos else 'attention' }}">{{ v.photos_web }}/{{ v.photos }}</span>
|
|
{% else %}<span class="discret">—</span>{% endif %}
|
|
</td>
|
|
<td>
|
|
{% if not v.genere %}<span class="pastille neutre">jamais générées</span>
|
|
{% elif v.pages_a_jour %}<span class="pastille ok">à jour</span>
|
|
{% else %}<span class="pastille attention">à refaire</span>{% endif %}
|
|
{% if v.a_verifier %}<span class="pastille attention" title="{{ v.a_verifier|join('\n') }}">⚠️ {{ v.a_verifier|length }}</span>{% endif %}
|
|
</td>
|
|
<td class="droite">{% if v.genere %}<a href="{{ base }}/site/{{ v.chemin }}/index.html" target="_blank">Voir ↗</a>{% endif %}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</section>
|
|
{% else %}
|
|
<p class="vide">Aucun voyage pour l'instant. Commencez par « Nouveau voyage ».</p>
|
|
{% endfor %}
|
|
{% endblock %}
|