SPB Git

spb/vrai-prix

Public

Vrai-Prix — l'évaluation du vrai prix des propriétés résidentielles au Québec.

History of scripts Clear filter
page 1
  1. Tue, Oct 20, 2026 1

    1. feat(ventes): registre des ventes récentes (flux Journal de Québec / Journal de Montréal, api.qub.ca)
      …
      - page /ventes : tuiles (30 j, 90 j, médiane, dernière capture), médianes par type,
        filtres GET municipalité / type / prix / période (sans JS requis), tableau
        date · adresse (→ /estimation) · municipalité (→ /municipalite) · type · prix ·
        rôle · écart vs rôle, pagination ; JSON-LD Dataset + fil d'Ariane
      - API /api/ventes (mêmes filtres, Cache-Control 5 min)
      - page municipalité : section « Dernières ventes à … » (12 dernières, n et
        médiane 12 mois, lien vers le registre filtré)
      - navigation : entrée « Ventes » (header + menu mobile), pied de page, bouton
        « Toutes les ventes récentes » sous le flux de l'accueil, onglet Marché actif,
        sitemap
      - lib/ventes.ts + index idx_tx_city_date (city NOCASE, date DESC, amount DESC)
      - connecteur ingest-jdm.mjs : jeton externe QUB_TOKEN / --token (court-circuite
        le login Scrapfly) ; scripts/qub-token-safari.sh (laptop, Safari piloté par
        AppleScript + cliclick, ~/.config/vrai-prix/qub.env) et ingest-via-safari.sh
      
      Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
      Simon-Pierre Boucher · 3 files +94 −5
  2. Tue, Sep 8, 2026 1

    1. Méthode du coût + propriétés à vendre (portage uqo-eval → Vrai-Prix)
      …
      Deux nouveaux univers, portés du fork UQO Éval (commits 8fa85f6, 726b80b,
      1779481, 08b3a13) et rebrandés Vrai-Prix :
      
      • /cout — méthode du coût « ultra avancée » : base data/cost.db (184 articles,
        99 assemblages, 16 localisations ; 4 967 observations, 2 895 grilles APCHQ
        2023→2026, 1 084 points StatCan 18-10-0289), moteur déterministe
        (RCN → dépréciation âge-vie / composantes → terrain → indication, fourchette
        P10-P90, confiance A-D décomposée), atelier propriété / construction,
        catalogue d'assemblages, console admin (jeton COST_ADMIN_TOKEN), connecteurs
        Firecrawl (APCHQ, CCQ, StatCan, Canac, BMR, Patrick Morin, imports
        Altus/RSMeans) + planificateur `npm run cost:sync`, PDF « Rapport — Méthode
        du coût » (mot-symbole Vrai-Prix, palette rouge/bordeaux), 9 outils Ka
        (cout_*), lien « Voir la méthode du coût » sur chaque rapport de valeur.
      
      • /a-vendre — toutes les propriétés réellement à vendre au Québec (copie
        Immo-Ka data/immoka.db, ~71 600 annonces vivantes) : recherche FTS +
        filtres, fiche complète (galerie, prix, caractéristiques, historique de prix,
        mesure Vrai-Prix vs prix demandé, duel des méthodes, portrait au rôle,
        voisines), atelier « mon évaluation » (bassin de ventes réelles + annonces,
        comparables, grille d'ajustements en $, réconciliation, confrontation ;
        localStorage), analyse IA du bâtiment (Sonnet 5, photos + description →
        composantes → moteur déterministe du coût, overrides, JSON technique,
        similaires techniques). Table vp_eval (ex-uqo_eval) produite par
        scripts/eval-immoka.ts (shards) + build-marche-stats.mjs.
      
      • /stats/marche + teaser /stats — la mesure à l'épreuve du marché, lue à chaud
        depuis data/marche-stats.json (src/lib/marche-stats.ts) avec repli sur
        l'instantané versionné src/data/marche-stats.json.
      
      • scripts/immoka-sync.sh — rafraîchissement nocturne : .backup Immo-Ka sur
        M4M64b (SSH LAN, clé gardien), rsync delta, ré-évaluation en shards,
        vp_eval + agrégats, index/FTS, bascule atomique, pm2 restart.
      
      • Intégration : nav header/tabbar/footer/sitemap, accueil (2 cartes),
        méthodologie (sections 08 Méthode du coût et 09 Marché), confidentialité
        (analyse IA à la demande, photos publiques, rétention 30 j), prompt système
        de Ka. Rebranding complet : aucune mention UQO / IMM1003 / IMM1033 /
        « laboratoire pédagogique » ; « mode étudiant » → « mode exercice ».
      
      • Dépôt : .gitignore `data/` → `/data/` (src/data/*.json désormais versionné :
        stats.json, stats-v2.json, marche-stats.json) + `tmp/` ; devDep tsx ;
        scripts cost:sync / immoka:sync ; docs/cost-*.md portés.
      
      Tests : 69 vitest (moteur, connecteurs hors ligne, IA hors ligne), tsc propre,
      next build OK.
      
      Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
      Simon-Pierre Boucher · 5 files +764
  3. Sat, Aug 22, 2026 2

    1. Ré-estimation hédonique sur le nœud : terrain/autre + recalibrage P10/P90
      …
      scripts/hedonic-retrain.py (sklearn HGB ≈ LightGBM, log-prix, encodages
      locaux par voisinage, pondération de récence) — bench équitable sur les
      ventes jamais vues par le build laptop (> 2026-07-27, n=4849) :
      
      - unifamilial : laptop meilleur (10,3 % vs 13 % MdAPE) → conservé ;
      - terrain 62→36 %, autre 79→52 % → challenger appliqué sur ces 926k unités ;
      - P10/P90 laptop recalibrés (couverture 18,5/16,8 % → 10,1/9,8 %) ;
      - clamp p10 ≤ est ≤ p90 (38 826 violations du build laptop → 0).
      
      Sauvegarde intégrale dans units_est_prev (rollback documenté §10).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +360
    2. Connecteur incrémental « nouvelles ventes » (JdM/api.qub.ca)
      …
      Ajoute les ventes récentes directement dans data/vraiprix.db sur le nœud,
      sans reconstruire la base (le pipeline batch reste sur le laptop).
      
      - scripts/qub-token.mjs : Bearer QUB via login Scrapfly (connect.qub.ca,
        Akamai + reCAPTCHA v3, réessais sur sessions neuves) puis /api/checklogin.
      - scripts/ingest-jdm.mjs : balayage des 1478 secteurs /v1/locations/all →
        /v1/map (quadtree si plafond), mapping vers schéma transactions, spatial-
        join units (id_provinc/valeur_role), INSERT OR IGNORE (dédup par id).
      - Planifié quotidiennement via pm2 (vrai-prix-ingest, cron 08:00).
      - Gap 2026-07-27 → 2026-08-12 comblé province-wide (+4189 ventes, match 100%).
      - Doc : PIPELINE-DONNEES.md section 9.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 2 files +429
  4. Wed, Aug 19, 2026 1

  5. Thu, Aug 13, 2026 1

    1. README ultra-détaillé — captures d'écran, visite guidée, badges enrichis
      …
      10 captures Playwright prises en prod (docs/screenshots/, desktop @1600px
      + mobile @780px, régénérables via scripts/screenshots.mjs) : accueil,
      fiche+portrait, Vrai-Prix Maps, Ka, stats, page municipalité,
      méthodologie, mobile. Nouveau README : sommaire, visite guidée en
      galerie, sections Ka (12 outils), SEO programmatique (3,76 M d'URLs,
      sitemaps), structure du projet, endpoints complets (nearby/ka/auth),
      variables d'environnement, badges municipalités/URLs/Tailwind/SQLite/iOS.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +52
Menu

Theme