Aligne l'aide et les libellés de l'interface sur Automation

Les pages /aide, /settings et /logs référeçaient encore Tasker (payant) pour
la détection de présence. Mise à jour de la procédure (Wi-Fi ou géofence +
action Trigger URL POST), des libellés et messages, et du test qui vérifiait
la présence du mot « Tasker ».

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
This commit is contained in:
Jacquin Antoine
2026-07-20 01:04:36 +02:00
parent 0b30dda5e7
commit 843e2061fe
5 changed files with 43 additions and 31 deletions

View File

@ -886,7 +886,7 @@ def settings_regenerate_presence_token(request: Request):
f'<span class="settings-urllabel">Départ</span>' f'<span class="settings-urllabel">Départ</span>'
f'<code class="settings-url">{depart_url}</code>' f'<code class="settings-url">{depart_url}</code>'
f'</div>' f'</div>'
f'<div class="settings-saved">Token régénéré. Mets à jour les URLs dans Tasker.</div>' f'<div class="settings-saved">Token régénéré. Mets à jour les URLs dans Automation.</div>'
f'</div>' f'</div>'
) )

View File

@ -3,7 +3,7 @@
<div class="stats-head"> <div class="stats-head">
<div> <div>
<span class="stats-title">Aide</span> <span class="stats-title">Aide</span>
<div class="stats-meta">Configurer les notifications ntfy et la détection de présence Tasker</div> <div class="stats-meta">Configurer les notifications ntfy et la détection de présence (Automation)</div>
</div> </div>
</div> </div>
@ -73,39 +73,48 @@
</div> </div>
<div class="settings-card"> <div class="settings-card">
<span class="hist-label">2. Détecter la présence (Tasker)</span> <span class="hist-label">2. Détecter la présence (Automation)</span>
<p class="settings-p"> <p class="settings-p">
Créer une automatisation Tasker déclenchée par une géofence autour du bureau : à l'entrée Créer une automatisation <a href="https://f-droid.org/en/packages/com.jens.automation2/" target="_blank" rel="noopener">Automation</a>
de la zone, appeler l'URL "Arrivée" ; à la sortie, l'URL "Départ". (app FOSS, F-Droid) déclenchée par le Wi-Fi du bureau ou par une géofence :
à l'entrée, appeler l'URL « Arrivée » ; à la sortie, l'URL « Départ ».
</p> </p>
<ol class="aide-steps"> <ol class="aide-steps">
<li> <li>
Installe <a href="https://tasker.joaoapps.com/" target="_blank" rel="noopener">Tasker</a> Installe <a href="https://f-droid.org/en/packages/com.jens.automation2/" target="_blank" rel="noopener">Automation</a>
(payant, Play Store). depuis F-Droid (évite la version Play Store, amputée de la localisation).
</li> </li>
<li> <li>
Autorise Tasker à utiliser la localisation en arrière-plan Autorise la <b>localisation en arrière-plan</b> : Réglages → Applications →
(Réglages → Applications → Tasker → Autorisations → Localisation → "Toujours"). Automation → Autorisations → Position → <b>Toujours</b>. Sans ça, Android
Sans ça, Android coupe la géolocalisation quand l'app n'est pas au premier plan. coupe la détection quand l'app n'est pas au premier plan.
</li> </li>
<li> <li>
Crée un profil <b>Entrée bureau</b> : Désactive l'<b>optimisation batterie</b> pour Automation (même menu →
Batterie → « Aucune restriction »).
</li>
<li>
Crée la règle <b>Arrivée bureau</b> — Automation → <b>Rules</b><b>+</b> :
<ul class="aide-substeps"> <ul class="aide-substeps">
<li>Onglet <b>Profiles</b> → bouton <b>+</b><b>Location</b>.</li> <li><b>Trigger</b> : <b>Wifi connection</b> → entre le SSID du Wi-Fi du bureau (méthode recommandée),
<li>Renseigne l'adresse ou les coordonnées du bureau, rayon ~100150 m.</li> <i>ou</i> <b>Location</b> → adresse du bureau, rayon ~100150 m, événement <b>Enter</b> (géofence).</li>
<li>Tâche associée (nouvelle tâche, ex: <code>PointeuseArrivee</code>) :</li> <li><b>Action</b> : <b>Trigger URL</b>, method <code>POST</code>,
<li>Action <b>Net → HTTP Request</b>, méthode <code>GET</code>,
URL = ton lien <b>Arrivée</b> copié depuis <a href="/settings">/settings</a>.</li> URL = ton lien <b>Arrivée</b> copié depuis <a href="/settings">/settings</a>.</li>
</ul> </ul>
</li> </li>
<li> <li>
Crée un profil symétrique <b>Sortie bureau</b> : même géofence, événement <b>Exit</b>, Crée la règle symétrique <b>Sortie bureau</b> : même SSID en sens <b>déconnexion</b>
tâche <code>PointeuseDepart</code> qui appelle ton lien <b>Départ</b>. (ou même géofence, événement <b>Exit</b>), action <b>Trigger URL</b> <code>POST</code>
vers ton lien <b>Départ</b>.
</li> </li>
</ol> </ol>
<p class="settings-hint">
Au bureau, la méthode Wi-Fi est généralement plus réactive et plus économe en
batterie que la géofence GPS.
</p>
<p class="settings-hint"> <p class="settings-hint">
Si tu changes de téléphone ou réinstalles, les tokens restent valides — il suffit de Si tu changes de téléphone ou réinstalles, les tokens restent valides — il suffit de
recharger les profils Tasker et l'abonnement ntfy. recer les règles Automation et l'abonnement ntfy.
</p> </p>
</div> </div>
@ -113,8 +122,8 @@
<span class="hist-label">3. Vérifier</span> <span class="hist-label">3. Vérifier</span>
<ol class="aide-steps"> <ol class="aide-steps">
<li> <li>
Force une entrée/sortie de zone (ou lance la tâche HTTP manuellement dans Tasker via Force une entrée/sortie de zone ou de Wi-Fi (ou, dans Automation, ouvre une règle
le bouton "play"). La réponse doit être <code>{"ok":true}</code>. et utilise le bouton « Test », icône lecture). La réponse doit être <code>{"ok":true}</code>.
</li> </li>
<li> <li>
Va sur <a href="/logs">/logs</a> : tu dois voir une entrée "Présence / arrivée" ou Va sur <a href="/logs">/logs</a> : tu dois voir une entrée "Présence / arrivée" ou
@ -136,8 +145,10 @@
est bien le même côté serveur et côté téléphone (sensible à la casse). est bien le même côté serveur et côté téléphone (sensible à la casse).
</li> </li>
<li> <li>
<b>Pas de déclenchement Tasker</b> : dans Tasker, vérifie que la géofence est bien activée <b>Pas de déclenchement Automation</b> : dans Automation, vérifie que la règle est
(icône rouge) et lance la tâche à la main pour isoler le problème (réseau vs géoloc). bien activée et utilise le bouton « Test » pour isoler le problème (réseau vs
géoloc vs Wi-Fi). Vérifie aussi que l'optimisation batterie est bien désactivée
pour l'app.
</li> </li>
<li> <li>
<b>Logs vides sur /logs</b> : les entrées ne s'écrivent que quand un événement réel se <b>Logs vides sur /logs</b> : les entrées ne s'écrivent que quand un événement réel se

View File

@ -4,7 +4,7 @@
<div> <div>
<span class="stats-title">Journaux</span> <span class="stats-title">Journaux</span>
<div class="stats-meta"> <div class="stats-meta">
Notifications ntfy et détections de présence (Tasker) — {{ current_user }} Notifications ntfy et détections de présence (Automation) — {{ current_user }}
</div> </div>
</div> </div>
</div> </div>

View File

@ -126,13 +126,14 @@
</div> </div>
<div class="settings-card"> <div class="settings-card">
<span class="hist-label">Détection de présence (Tasker) <a href="/aide" class="settings-help-link">Aide</a></span> <span class="hist-label">Détection de présence (Automation) <a href="/aide" class="settings-help-link">Aide</a></span>
<p class="settings-p"> <p class="settings-p">
Crée une automatisation Tasker déclenchée par une géofence autour du bureau : à l'<b>entrée</b> de la Crée une automatisation <a href="https://f-droid.org/en/packages/com.jens.automation2/" target="_blank" rel="noopener">Automation</a>
zone, appelle l'URL "arrivée" ; à la <b>sortie</b>, l'URL "départ". Tant que tu es détecté présent sans déclenchée par le Wi-Fi du bureau (ou une géofence) : à la <b>connexion</b>/entrée, appelle l'URL « arrivée » ;
avoir pointé l'entrée du matin, ou parti sans avoir pointé la sortie, tu reçois un rappel toutes les à la <b>déconnexion</b>/sortie, l'URL « départ ». Tant que tu es détecté présent sans
5 minutes, dans la plage horaire réglée ci-dessus (jours ouvrés). Étapes détaillées sur la page avoir pointé l'entrée du matin, ou parti sans avoir pointé la sortie, tu reçois un rappel
<a href="/aide">Aide</a>. selon l'intervalle réglé ci-dessus, dans la plage horaire configurée (jours ouvrés).
Étapes détaillées sur la page <a href="/aide">Aide</a>.
</p> </p>
<div id="presence-urls"> <div id="presence-urls">
<div class="settings-urlrow"> <div class="settings-urlrow">

View File

@ -45,7 +45,7 @@ def test_logs_page_empty_for_new_user():
def test_logs_page_shows_entries_after_presence(): def test_logs_page_shows_entries_after_presence():
token = models.load_notif_config("alice")["token"] token = models.load_notif_config("alice")["token"]
# Simule une arrivée Tasker # Simule une arrivée Automation
client.post(f"/presence/{token}/arrivee") client.post(f"/presence/{token}/arrivee")
# Simule un départ # Simule un départ
client.post(f"/presence/{token}/depart") client.post(f"/presence/{token}/depart")
@ -86,7 +86,7 @@ def test_aide_page_content():
r = client.get("/aide", cookies=COOKIES) r = client.get("/aide", cookies=COOKIES)
assert r.status_code == 200 assert r.status_code == 200
# Vérifie la présence des sections clés # Vérifie la présence des sections clés
for needle in ["ntfy", "Tasker", "Aide", "topic", "géofence", "/logs"]: for needle in ["ntfy", "Automation", "Aide", "topic", "géofence", "/logs"]:
assert needle in r.text, f"missing {needle!r}" assert needle in r.text, f"missing {needle!r}"