Serveur web local sans dépendance nouvelle (http.server, Jinja2, htmx et Leaflet fournis). Écrans : Mes voyages, nouveau voyage, un voyage (journées avec carte, rattachement des traces sans heures à un jour avec suggestion d'après les photos, sources avec choix de dossier, infos et récit, génération avec avancement et arrêt), réglages du site et vérification des outils. Chaîne : jours imposés ([dates_traces] dans voyage.toml), arrêt propre de la compression, suivi des étapes, état structuré (site.tableau_etat), titre du voyage repris de voyage.toml sur l'accueil. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mf2kATMtqVABHSYdxJMnim
32 lines
1.5 KiB
HTML
32 lines
1.5 KiB
HTML
<div id="sources" class="sources">
|
|
{% for cle, s in sources.items() %}
|
|
<div class="bloc-source">
|
|
<h3>{{ s.libelle }}</h3>
|
|
<ul>
|
|
{% for l in s.lignes %}
|
|
<li class="{{ '' if l.existe else 'manque' }}">
|
|
<code title="{{ l.absolu }}">{{ l.source }}</code>
|
|
{% if l.existe %}<span class="pastille {{ 'ok' if l.nb else 'neutre' }}">{{ l.nb }} fichier{{ 's' if l.nb > 1 }}</span>
|
|
{% elif l.lien_casse %}<span class="pastille attention">disque débranché ?</span>
|
|
{% else %}<span class="pastille attention">introuvable</span>{% endif %}
|
|
<button class="petit" hx-post="/voyage/sources" hx-target="#sources" hx-swap="outerHTML"
|
|
hx-vals='{{ {"v": v.chemin, "cle": cle, "action": "retirer", "chemin": l.source}|tojson }}'>Retirer</button>
|
|
</li>
|
|
{% else %}
|
|
<li class="vide">Aucune source</li>
|
|
{% endfor %}
|
|
</ul>
|
|
<div class="ajout">
|
|
<button hx-get="/dossiers?cle={{ cle }}&v={{ v.chemin|url }}" hx-target="#fenetre">Choisir un dossier…</button>
|
|
<form hx-post="/voyage/sources" hx-target="#sources" hx-swap="outerHTML" class="en-ligne">
|
|
<input type="hidden" name="v" value="{{ v.chemin }}">
|
|
<input type="hidden" name="cle" value="{{ cle }}">
|
|
<input type="hidden" name="action" value="ajouter">
|
|
<input name="chemin" placeholder="ou collez un chemin (dossier ou fichier)">
|
|
<button>Ajouter</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|