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/statsdash.py · clear filter

  1. Mon, Aug 24, 2026 2

    1. Stats : panneaux « enrichissements de la fiche » (KA Scores, juste valeur, historique des prix, court terme, gestionnaires, annuaire déménageurs)
      …
      - louka/statsfiche.py : 7 panneaux calculés sur les données réelles des fiches
        (couverture des enrichissements + couches branchées, KA Scores par pilier et
        par ville, verdicts de juste valeur + écarts, baisses/hausses de loyer +
        événements de vie, court terme CITQ/notes/prix par région, réputation des
        gestionnaires — masqué tant que <10 fiches notées, annuaire déménageurs)
      - statsdash.py : fusion statsfiche.panels() + statsextra.panels()
      - rendu 100 % générique par le kit stats existant (aucun changement frontend)
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +2 −2
    2. Stats : panneaux territoire (registre des loyers, population, essence)
      …
      - louka/statsextra.py : 3 panneaux calculés sur nos jeux ouverts (cache 30 min)
        · Registre des loyers : 57 k loyers déclarés — KPI, médiane par nb chambres,
          histogramme, top 15 villes
        · Population & territoire : recensement des aires de diffusion couvertes
          (population, revenu médian, % locataires, âge, défavorisation) via
          listings.dauid
        · Prix de l essence : ~2450 stations gazquebec.ca — médianes régulier/super/
          diesel, barres et tableau par région
      - dashboard : clé panels ; Stats.tsx : rendu groupé et titré réutilisant le kit
        (KpiCard/Donut/BarChart/Histogram/DataTable)
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +7
  2. Wed, Aug 19, 2026 1

    1. Stats v2 : dashboard ultra complet + 5 rapports PDF (module Groupe KA v2)
      …
      - louka/statsdash.py : jauges de couverture (geo/prix/photos/publiees/completude),
        sparklines KPI, serie des retraits + loyer moyen d entree (area), multi-courbes
        loyer median par taille, barres empilees par source, distribution des loyers,
        heatmap horaire 7x24, calendrier 26 semaines, tables loyers par taille et
        baisses de loyer, records enrichis (villes chere/abordable, hausse, heure de
        pointe) - donnees reelles seulement, cache 5 min conserve
      - louka/kapdf.py + frontend/src/ka/stats/* : module canonique v2 (5 modes PDF)
      - /api/stats/report : mode=complet|synthese|tendances|repartitions|donnees,
        filename(mode) ; inconnu -> complet (retrocompatible v1)
      - pages/Stats.tsx : rendu des nouvelles sections dans l ordre du SPEC v2 +
        PdfButton menu 5 rapports
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +408 −50
  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 +56 −1
  4. Mon, Aug 17, 2026 1

    1. Page /stats refaite en tableau de bord analytique + rapport PDF Groupe-KA
      …
      - louka/statsdash.py : GET /api/stats/dashboard (contrat ka-stats SPEC.md) —
        KPI avec deltas vs période précédente, séries actives/nouvelles par jour
        (reconstruites de first_seen/last_seen), répartitions taille/source, top
        villes, heatmap, tableaux villes & gestionnaires, records auto-générés ;
        requêtes SQL agrégées + cache mémoire 5 min par période.
      - louka/kapdf.py (moteur PDF commun fpdf2) + GET /api/stats/report :
        rapport estampillé Groupe-KA (couverture Lou·Ka, sommaire, graphiques
        vectoriels, tableaux zébrés, records, page contact), modes complet/synthèse,
        nom de fichier normalisé groupe-ka_lou-ka_stats_<periode>_<date>.pdf.
      - frontend : pages/Stats.tsx réécrite sur le kit ka/stats/kacharts.tsx
        (KpiCard, PeriodSelector, LineChart N-1, Donut, BarChart, CalendarHeatmap,
        DataTable, RecordCard, PdfButton, Fraicheur) — responsive 360/768/1440,
        états vides propres quand la donnée n existe pas.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +381