Metal from Europe — carte interactive des groupes de metal européens (frontend statique + API Node.js + PostgreSQL/PostGIS + geocoder)
Find a file
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
apps feat: geocoder Geoapify + fixes crawler + améliorations admin dashboard 2026-06-30 22:44:28 +02:00
infra feat(db): système de migrations SQL + refonte schéma 2026-06-27 15:09:35 +02:00
.gitignore fix: exclure .claude du tracking git 2026-06-27 11:35:14 +02:00
docker-compose.dev.yml feat: geocoder Geoapify + fixes crawler + améliorations admin dashboard 2026-06-30 22:44:28 +02:00
docker-compose.yml feat: geocoder Geoapify + fixes crawler + améliorations admin dashboard 2026-06-30 22:44:28 +02:00
README.md test deploy 4 2026-06-27 14:05:50 +02:00

Stack metalfrom.eu

test 4