metalfrom.eu/apps
Nicolas Fryder 3dc483bc4f feat: geocoder Geoapify + fixes crawler + améliorations admin dashboard
Geocoder → Geoapify (bcb790b9007644d1a44ff2391118479c) :
- Remplace Nominatim par Geoapify dans apps/geocoder/src/worker.py
- Délai réduit à 0.22s (5 req/s vs 1 req/s Nominatim) → bien plus rapide
- Même logique de cache geocode_cache, même fallback backoff progressif
- Env vars : GEOAPIFY_API_KEY (obligatoire), GEOCODER_MIN_DELAY/JITTER

Fix crawler incremental_modified (Expecting value: line 1 column 1) :
- ma_http.get_json() retenait sans retry sur JSONDecodeError (corps vide =
  session Chrome morte). Désormais : refresh session + retry, comme pour
  les erreurs 403/429.

Admin dashboard :
- Bands : colonne Lieu, champ recherche lieu séparé (location_q), filtres
  "Géocodé oui/non" (has_lat) et "Lieu vide/renseigné" (has_location)
- Queue : bouton "Annuler runs bloqués >30min" (POST /admin/api/crawl-runs/
  cleanup), auto-refresh 15s, colonne Progression avec durée elapsed pour
  les runs actifs
- Dashboard : toutes les listes pays/genre/statut sans limite (scroll interne)
- Progression live : crawler écrit les stats dans crawl_run toutes les 50
  bands (update_crawl_run_progress), visible dans Queue en temps réel

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 22:44:28 +02:00
..
admin feat: geocoder Geoapify + fixes crawler + améliorations admin dashboard 2026-06-30 22:44:28 +02:00
api feat: geocoder Geoapify + fixes crawler + améliorations admin dashboard 2026-06-30 22:44:28 +02:00
crawler feat: geocoder Geoapify + fixes crawler + améliorations admin dashboard 2026-06-30 22:44:28 +02:00
geocoder feat: geocoder Geoapify + fixes crawler + améliorations admin dashboard 2026-06-30 22:44:28 +02:00
web feat: API_BASE configurable par build arg + DB dev 2026-06-27 14:30:08 +02:00
worker chore: initial commit — snapshot VPS 2026-06-27 2026-06-27 08:53:39 +00:00