Surveille trouverunlogement.lescrous.fr et envoie une notification push (via ntfy.sh) dès qu'un nouveau logement apparaît dans la zone de Rouen pour l'année 2026-2027.
Deux modes d'exécution :
- Local (Windows) :
python crous_watch.pyboucle toutes les 5 minutes (config dans.env, voir.env.example). Lancement auto possible vialancer_surveillance.bat+ Planificateur de tâches. - GitHub Actions (recommandé) : le workflow
.github/workflows/surveillance.ymlexécute un cycle toutes les ~5 minutes, 24h/24, PC éteint. C'est le mode décrit ci-dessous.
-
Créer un compte GitHub si besoin, puis un dépôt public (par ex.
crous-rouen). Public = minutes d'Actions illimitées et gratuites ; en privé, le quota gratuit (2000 min/mois) serait dépassé à ce rythme. Rien de sensible n'est publié : le topic ntfy reste dans les secrets. -
Pousser ces fichiers dans le dépôt :
crous_watch.py,.github/workflows/surveillance.yml,.gitignore,README.md,.env.example(PAS le.env: il est ignoré par git). -
Ajouter le secret : sur GitHub → Settings → Secrets and variables → Actions → New repository secret :
- Nom :
NTFY_TOPIC - Valeur : ton topic ntfy (celui du
.envlocal)
- Nom :
-
Vérifier : onglet Actions → workflow « Surveillance CROUS » → Run workflow pour lancer un premier cycle à la main. Le premier run enregistre l'existant sans notifier (juste une notif de confirmation) et committe
logements_vus.json— c'est ainsi que l'état est conservé entre deux cycles.
- Délai réel : GitHub exécute les crons « au mieux » ; un cycle toutes les 5 min planifiées prend souvent 5 à 15 min réelles. Suffisant en pratique, mais pas garanti à la minute près.
- Repos inactifs : GitHub désactive les workflows planifiés après 60 jours sans activité sur le dépôt (un email prévient ; il suffit de cliquer « Enable » pour réactiver). Les commits d'état comptent comme de l'activité.
- Changement de phase : l'ID de la phase en cours (
SEARCH_ID, 47 = « Phase complémentaire 2026-2027 », jusqu'au 02/11/2026) est défini dans le workflow. La liste à jour des phases est publique : https://trouverunlogement.lescrous.fr/api/fr/tools. En cas d'ID périmé (erreurs 4xx répétées), une notification « vérifie l'ID de l'endpoint » est envoyée automatiquement. - Ne pas faire tourner les deux modes en même temps (local + Actions) avec le même topic, sinon notifications en double.