Files
pointeuse-optimisator/docs/notifications.md
Jacquin Antoine 0b30dda5e7 Remplace Tasker par Automation (FOSS) dans la doc de rappels
La section Android de docs/notifications.md pointait vers Tasker (payant).
Elle décrit désormais Automation (app FOSS sur F-Droid), avec deux méthodes
de déclenchement — Wi-Fi du bureau (recommandée) et géofence — et l'action
HTTP POST vers les URLs de présence existantes.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-07-20 01:04:30 +02:00

5.4 KiB
Raw Blame History

Rappels de pointage

L'app peut te relancer automatiquement si tu es détecté présent au bureau sans avoir pointé le matin, ou parti sans avoir pointé la sortie. Ça repose sur deux briques :

  • Réception des notifs : ntfy, un service gratuit de notifications push par topic.
  • Détection de présence : ton appareil (téléphone ou laptop) appelle une URL de l'app quand il entre/sort du bureau. L'app fait le reste (vérifie toutes les 5 min, 7h20h en semaine, si un pointage manque).

Avant de commencer : va sur /settings, choisis un nom de topic ntfy secret (ex: prenom-pointeuse-a1b2, pas devinable), enregistre-le. La page affiche ensuite tes deux URLs personnelles Arrivée et Départ — elles contiennent un token secret, ne les partage pas.


Android

1. Recevoir les notifs

  1. Installe l'app ntfy depuis le Play Store.
  2. Bouton + → entre le nom de topic choisi sur /settings → valide. Laisse le serveur par défaut (ntfy.sh).

2. Détecter la présence (Automation)

On utilise Automation (app FOSS, sur F-Droid). Elle sait déclencher une requête HTTP POST selon ta position géographique ou selon le Wi-Fi auquel tu es connecté — pas besoin de plugin ni d'app payante.

  1. Installe Automation depuis F-Droid (évite la version Play Store, amputée de la localisation et des appels/SMS).
  2. Autorise la localisation en arrière-plan : Réglages → Applications → Automation → Autorisations → Position → Toujours. Sans ça, Android coupe la détection quand l'app n'est pas au premier plan.
  3. Désactive l'optimisation batterie pour Automation (même menu → Batterie → « Aucune restriction »), sinon Android finit par tuer le service.

Deux méthodes possibles — la A (Wi-Fi) est plus réactive et plus économe en batterie au bureau.

Méthode A — déclenchement par Wi-Fi (recommandé)

Idéal si le bureau a un Wi-Fi d'entreprise. Le déclenchement se fait sur le SSID, même si tu n'es pas identifié sur le réseau.

Règle « Arrivée » — Automation → Rules+ :

  • Trigger : Wifi connection → entre le SSID exact du Wi-Fi du bureau.
  • Action : Trigger URL → Method POST, URL = ton lien Arrivée (copié depuis /settings).

Règle « Départ », symétrique :

  • Trigger : Wifi connection → même SSID, sens déconnexion.
  • Action : Trigger URL POST → URL Départ.

Méthode B — déclenchement par géofence (si pas de Wi-Fi d'entreprise)

Règle « Arrivée » :

  • Trigger : Location → place le marqueur sur l'adresse du bureau, rayon ~100150 m, événement Enter.
  • Action : Trigger URL POST → URL Arrivée.

Règle « Départ », symétrique :

  • Trigger : Location → même zone, événement Exit.
  • Action : Trigger URL POST → URL Départ.

La géofence Android s'appuie sur le Wi-Fi/Bluetooth alentour même sans GPS, mais la réactivité varie. Au bureau, la méthode Wi-Fi est presque toujours plus fiable.

3. Vérifier

  • Dans Automation, ouvre une règle et utilise le bouton Test (icône lecture) : la réponse doit être {"ok":true}.
  • Force une entrée/sortie réelle (zone ou Wi-Fi) et vérifie la même chose.
  • Simule une journée sans pointage matin pendant que tu es marqué « présent » : une notif ntfy doit arriver dans les 5 minutes.

Ubuntu (laptop)

1. Recevoir les notifs

Le plus simple est le client CLI officiel, qui affiche une notif desktop native (notify-send) à chaque message reçu sur ton topic.

# via le script d'install officiel
curl -sSL https://archive.ntfy.sh/gpg.key | sudo tee /etc/apt/keyrings/ntfy.asc
echo "deb [signed-by=/etc/apt/keyrings/ntfy.asc] https://archive.ntfy.sh/deb stable main" \
  | sudo tee /etc/apt/sources.list.d/ntfy.list
sudo apt update && sudo apt install ntfy

Lance un abonnement persistant (à mettre dans un service systemd user, voir plus bas, ou simplement dans un terminal/tmux) :

ntfy subscribe --output=notify-send TON_TOPIC

2. Détecter la présence (hook réseau NetworkManager)

Objectif : appeler l'URL "Arrivée" dès que le laptop se connecte au Wi-Fi du bureau, et l'URL "Départ" dès qu'il s'en déconnecte.

Crée /etc/NetworkManager/dispatcher.d/99-pointeuse :

#!/bin/bash
# $1 = nom de l'interface, $2 = événement (up/down/...)
BUREAU_SSID="NomDuWifiBureau"
URL_ARRIVEE="https://ton-serveur/presence/TON_TOKEN/arrivee"
URL_DEPART="https://ton-serveur/presence/TON_TOKEN/depart"

current_ssid=$(nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2)

case "$2" in
  up)
    [ "$current_ssid" = "$BUREAU_SSID" ] && curl -fsS -X POST "$URL_ARRIVEE"
    ;;
  down)
    [ "$current_ssid" != "$BUREAU_SSID" ] && curl -fsS -X POST "$URL_DEPART"
    ;;
esac
sudo chmod +x /etc/NetworkManager/dispatcher.d/99-pointeuse

Le script tourne automatiquement à chaque changement de connexion réseau — pas besoin de cron ni de service à part.

3. Vérifier

# teste le script à la main
sudo /etc/NetworkManager/dispatcher.d/99-pointeuse wlp0s20f3 up

La réponse doit être {"ok":true}. Reconnecte-toi ensuite au vrai Wi-Fi du bureau pour valider le déclenchement automatique.