SPB Git forge

spb/lou-ka

Public

Lou·Ka — tous les logements à louer du Québec, un seul endroit.

232commits 1branches 0releases
172.9 MBsize
maindefault branch
2 days agolast push
HTML 98.9% Python 0.6%

History of louka/quality.py · clear filter

  1. Thu, Aug 27, 2026 2

    1. pause(ontario): expansion ON suspendue temporairement — rien d'effacé
      …
      - .env : LOUKA_ONTARIO=1 commenté (les 56 connecteurs gatés sortent du registre)
      - sources.json : 65 sources ON -> status pause + note_pause
      - quality.evaluate : quarantaine pause-ontario (published=0) pour province=ON
        tant que le flag n'est pas reposé ; province ajoutée au backfill et à
        l'évaluation à l'ingestion (db.py)
      - docs/ONTARIO-PAUSE.md : quoi/pourquoi/comment réactiver
      
      5 851 annonces ON conservées en base, dépubliées. QC intact (62 412 publiées).
      Simon-Pierre Boucher committed 28 days ago · 1 file +9 −1
    2. feat(ontario): 20 nouveaux connecteurs ON + socle province, tout gaté LOUKA_ONTARIO=1 (zéro impact prod QC)
      …
      Socle : Listing.province + bbox coordonnées ON (schema.py), migration
      province TEXT DEFAULT 'QC' (db.py), géocodage ON via Nominatim sans repli
      Adresses Québec (geocode.py), townhouse/bungalow résidentiels (quality.py).
      
      Nouveaux connecteurs (disabled hors gate) : liftsystem.py (13 clients
      dynamiques lift_* via data/liftsystem_clients.json — Greenwin, Park,
      Williams & McDaniel, Briarlane, DMS, Signet, Shelter, York, Terracorp,
      RentSarnia, First North, TVM, Urbandale ; 922 propriétés résidentielles),
      rentcafe.py (4 clients rc_* via data/rentcafe_clients.json — Effort Trust,
      Osgoode ON, GWLRA, O'Shanter ; Scrapfly ASP), homestead.py + skyline.py
      (passerelle publique website-gateway.rentsync.com), killam.py (blob
      #available_prop RentCafe).
      
      Connecteurs QC élargis sous gate (uids QC vérifiés identiques hors gate) :
      capreit +189, boardwalk +74, minto +81, hazelview +14, interrent +83,
      morguard +258, akelius +95, metcap +60, realstar +12, cogir +38,
      centurion +52 annonces ON potentielles.
      
      sources.json : +19 entrées ON (status inactif) + skyline recyclé.
      Registre : 365 connecteurs sans gate (inchangé), 385 avec LOUKA_ONTARIO=1.
      Potentiel à l'activation : ~1 200-1 600 annonces ON (~30 sources).
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 29 days ago · 1 file +4 −2
  2. Fri, Aug 21, 2026 1

    1. quality: porte de pertinence — quarantaine des stationnements, garages, locaux commerciaux et locations à la nuit
      …
      Certaines sources mêlent aux logements des cases de stationnement (~200 $),
      garages/entreposage, locaux commerciaux/bureaux, objets divers et tarifs à la
      nuit. relevance_reason() les détecte (titre + description + seuils de prix,
      sans faux positif sur les logements « avec stationnement inclus ») et evaluate()
      les met en quarantaine (published=0). Backfill appliqué : 78 annonces retirées.
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +101 −1
  3. Tue, Aug 18, 2026 1

    1. Qualité des données + solidité mobile + framework de juste valeur (fair value)
      …
      Mission 1 — enrichissement des connecteurs et qualité :
      - quality.py : score de complétude 0-100 + seuil de publication (quarantaine
        des annonces sans prix plausible / localisation / contenu exploitable)
      - imgcheck.py : audit des images (liens morts 404/410, minuscules, placeholders
        multi-adresses, doublons) -> galeries nettoyées images_ok, cache image_checks,
        politesse 3 requêtes/hôte, écriture hors transaction réseau
      - 26 connecteurs enrichis (galeries complètes, descriptions, prix, adresses) :
        kangalou, royal_lepage, medway, remax_quebec, groupe_maurice, mellem, sutton,
        lespac, heafey, kijiji, fb_marketplace, zumper, equinoxe_batimo, logis_experts,
        quartier_sila, msi, summum, quartier_plus, urban_services, cosoltec, garic,
        lakle, matinale, huma, jutras, groupe_theoret, ferrovia
      - normalize : clean_city/clean_sector (rues et entités HTML retirées des menus),
        kijiji : adresses françaises « 89, rue X » correctement découpées
      - geocode : virgule après le n° civique corrigée (lot AQ), base en WAL
      - dedup : une annonce en quarantaine ne masque jamais un doublon publié
      
      Mission 2 — mobile :
      - /api/img : miniatures WebP servies à la taille de l écran (cache disque)
      - SmartImg : miniature -> original -> visuel de secours Lou-Ka (jamais d icône cassée)
      - lightbox tactile : balayage scroll-snap + pincement + double-tape
      - bannière témoins : ne recouvre plus le bouton Filtres (--consent-h)
      - cibles tactiles >= 44 px (pointer: coarse) ; KA Agent plein écran à l ouverture
      - stats : complétude moyenne, quarantaine par source
      
      Mission 3 — juste valeur locative (fairvalue.py, fv-logement-1.0) :
      - 3 niveaux : segments médians (repli en échelle) + coefficients de
        caractéristiques appris et centrés + comparables kNN géographiques (médiane
        pondérée) ; couloir de sécurité, fourchette, indice de confiance
      - prudence : pas de verdict si confiance faible, prix « à partir de »,
        prix non mensuel, écart hors plausible ; chambres/coloc = segment dédié
      - pastilles sous/dans/au-dessus du marché (cartes + fiche), bloc Analyse de
        prix avec histogramme, filtre « Sous le marché » + tri, page /juste-valeur
      - API : champs fv_* + deal/sort, /api/fairvalue/{uid} ; stats + PDF ;
        historisation fv_segments ; tests synthétiques ; docs/FAIRVALUE*.md
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +167