Vrai-Prix — l'évaluation du vrai prix des propriétés résidentielles au Québec.
-
Tue, Oct 20, 2026 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>
-
-
Tue, Sep 8, 2026 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>
-
-
Tue, Aug 25, 2026 2
-
Barre de navigation mobile commune Groupe KA (KA Tabbar v1)
…
Pilule flottante fixe en bas (standard ka-ui/nav, variante Next.js) : Estimer · Marché · Ventes · Méthode, accent rouge signature, bilingue fr/en, safe-area iOS. Estimer mène immédiatement à la recherche d adresse (focus du champ héros, id vp-adresse) ; Ventes ancre le flux des dernières ventes réelles de l accueil (id ventes). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
refonte v2 « terminal éditorial » : hero encre pleine largeur, recherche centrale CTA rouge, graphique marché multi-séries interactif (palette CVD validée), flux de ventes prix-d'abord, rapport de valeur recomposé (grands chiffres, sections à filets), méthodologie article + chaîne de calcul, header compact, zéro ombre décalée/carte superflue
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Sat, Aug 22, 2026 1
-
Upgrade majeur apparence + information : contexte marché, fourchette visuelle, accueil enrichi
…
- Fiche estimation : barre de fourchette P10-P90 (marqueurs estimation + rôle), faits rapides ($/m², type, année, superficies), section « Le marché autour de cette propriété » (courbe d'indice base 100 + tendances 12 mois/2021, ventes réelles du secteur avec rayon adaptatif, position percentile dans la municipalité), comparables enrichis ($/m², superficie, année) - Moteur : MarketContext (estimator) — stats secteur depuis les candidats déjà chargés, percentile municipal (db), aussi servi par /api/estimate (manuel) - Accueil : pouls du marché (indice par type + variations), dernières ventes réelles captées (lien vers l'estimation), bande « comment ça marche », compteur ventes/30 j — page en ISR 1 h - DB : index idx_tx_date sur transactions(date) - MetricViz : RangeBar, MarketIndexChart, PercentileBar, IndexSpark Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Thu, Aug 13, 2026 2
-
SEO programmatique — pages municipalités, sitemaps 3,7 M de fiches, métadonnées
…
- Fondations : metadataBase, gabarit de titres, og/twitter, canonical par page, JSON-LD Organization+WebSite (layout), title/description uniques sur toutes les pages statiques (pages clientes scindées en wrapper serveur + *Client.tsx). - /estimation/[id] : generateMetadata (adresse, estimation, fourchette), JSON-LD SingleFamilyResidence/Residence/Place + BreadcrumbList, estimation dédupliquée via React cache(). - Pages programmatiques : /municipalites (index A-Z), /municipalite/[slug] (~1 097) et /municipalite/[slug]/[type] (~5 900) — stats agrégées (médiane, totaux, croissance 2021-2026), liens HTML vers les fiches, municipalités voisines (lib/municipalites.ts, cache mémoire). - Sitemaps : /sitemap-index.xml (à soumettre dans GSC) → /sitemap.xml (7 043 pages) + /estimation/sitemap/0-83.xml (45 000 fiches chacun, plages de rowid). robots.ts (disallow /api/, /compte). - noindex : /compte, /estimation/manuelle (espace d'URL paramétrique). - Accueil : section « Explorer par municipalité » (maillage indexable). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
SSO « Se connecter avec KA ID » via le hub groupe-ka.com
…
Routes /api/auth/ka/{login,callback} + /api/auth/{me,logout}, session cookie signée (ka-auth.ts, node:crypto pur), profil hub (hub-profile.ts, cache 60 s), page /compte carte de membre, AccountButton au header. (Déployé le 2026-08-13 ; l'intégration au layout arrive avec le commit SEO.) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-