SPB Git forge

spb/immo-ka

Public

Immo-Ka — agrégateur des propriétés à vendre au Québec (73 connecteurs, ~40 000 annonces, React+FastAPI)

112commits 1branches 0releases
125.4 MBsize
maindefault branch
13 days agolast push
Python 47.5% HTML 27.9% TypeScript 15.5% CSS 7.2% JavaScript 2%

History of immoka/geocode.py · clear filter

  1. Thu, Aug 27, 2026 1

    1. feat(ontario v1): connecteur générique RealtyPress — 13 sites d'agences ON (CREA DDF)
      …
      - connectors/realtypress.py : archive /listing/page/N/?posts_per_page=100,
        cookie disclaimer=accepted (mur CREA), 2 variantes de thème (ville avec/sans
        <strong>, ft²), fiches DDF (MLS®, tableaux, GPS JSON-LD, photos ddfcdn),
        external_id ddf<id> + infixe _ag_ → dédup inter-sites par external_id
      - data/ontario_agencies.json : registre 13 sites (Ottawa, KW, Kingston,
        Grey-Bruce, Collingwood, PEC, Pembroke, Huron-Perth, Thunder Bay, Sault,
        North Bay) ; sources.json : 13 entrées rp_ag_*
      - pipeline Ontario-aware : schema.finalize bbox 41.6–63/-95.5–-56,
        normalize._TYPE_MAP mots-clés anglais (detached, semi-detached, row house,
        multi-family, mobile home, farm, retail…), geocode _BBOX_KA + fallback
        Nominatim « city, Ontario, Canada » + run_batch exclut region='Ontario'
        (Adresses Québec ne couvre pas l'ON ; le DDF fournit lat/lng)
      
      Testé : cbnorthbay ingéré (503 fiches, 150 enrichies publiées score 94,
      stubs en quarantaine jusqu'à enrichissement), labrosse/sutton spot-checkés,
      API /api/listings?region=Ontario OK, parc QC intact (94 528 publiées).
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +34 −26
  2. Tue, Aug 25, 2026 1

    1. Géocodage rigoureux : validation par références de ville (grappes + Nominatim)
      …
      Corrige la classe de bug « rue homonyme d'une autre ville » (4671 rue des
      Perdrix, Jonquière/Lac-Kénogami affichée à Saint-Augustin, ~180 km) :
      
      - chaque résultat de géocodage doit être à <= 40 km d'une référence de la
        ville annoncée : grappes de fiches déjà géocodées (une par municipalité
        HOMONYME — deux L'Ange-Gardien, deux Saint-Donat…) + point Nominatim de la
        ville (cache geocode_cache, clé « ville:… », colonne muni ajoutée)
      - resolve() : si la ville annoncée est un secteur inconnu d'Adresses Québec
        (« Jonquière (Lac-Kénogami) »), retry AQ avec la municipalité officielle
        (« Saguenay ») dérivée de Nominatim, puis variantes Nominatim structurées
      - run_batch : validation par références + rattrapage resolve() individuel des
        échecs du lot (RESCUE_MAX/passe, file auto-drainante)
      - run_audit (CLI geocode-audit [budget] [dry]) : détecte les fiches actives
        aux coordonnées incohérentes avec leur ville et les remet en file de
        géocodage ; intégré au cycle watch (budget Nominatim 50/passe)
      - garde d'ingestion : lat/lng fournis par un connecteur (ex. JSON-LD
        DuProprio erroné) rejetés s'ils contredisent la ville (cache seulement)
      
      Audit initial : 110 574 fiches vérifiées, 3 incohérentes corrigées et
      re-géocodées correctement (les municipalités homonymes ne sont pas flaguées).
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +289 −25
  3. Wed, Aug 12, 2026 2

    1. Simon-Pierre Boucher committed 1 mo ago · 1 file +133 −13
    2. feat: thème rouge, sous-agences, quartier StatCan, estimation Vrai-Prix, géocodage
      …
      - Palette rouge (distincte de Lou-Ka), pagination 12/page, page Sources par sous-agence
      - 74 connecteurs (DuProprio, Via Capitale portail, Royal LePage par bureau, C21 sous-agences…)
      - Bloc quartier (recensement 2021, crime, chaleur, proximité — données StatCan/INSPQ)
      - Estimation Vrai-Prix par fiche (valeur + fourchette + confiance + lien analyse)
      - Géocodage Adresses Québec + Nominatim ; dédup pré-calculée (perf) ; SQLite WAL
      
      Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +262