Vrai-Prix
La valeur réelle de chaque propriété
Vrai-Prix estime la valeur marchande de n'importe quelle propriété du Québec — unifamiliale, plex, condo, chalet, terrain — et montre pourquoi : chaque comparable, chaque ajustement en dollars, la pondération du modèle, la fourchette (P10–P90) et l'indice de confiance (A–D). Le différenciateur est la transparence totale : pas de score magique, pas de boîte noire. La méthodologie complète (normes IAAO) est publiée intégralement sur le site.
Sous le capot : les 6 millésimes (2021-2026) des rôles d'évaluation foncière géoréférencés du Québec (MAMH, données ouvertes) — 3 747 008 propriétés, soit 22 150 285 observations — fusionnés spatialement avec 745 119 transactions réelles (99,88 % d'appariement, distance médiane 0,6 m), alimentant un modèle hédonique LightGBM (MdAPE 11,0 %, ratio médian 0,995 en holdout) et un moteur de comparables ajustés. Pour qui ? Propriétaires, acheteurs, courtiers et curieux qui veulent une estimation honnête et vérifiable, gratuite, sur les 1 097 municipalités de la province.
Visite guidée
![]() Accueil — recherche d'adresse (desktop) |
![]() Accueil — mobile |
![]() Fiche d'estimation — fourchette P10–P90 + indice de confiance |
![]() Portrait de la propriété — façade SVG + historique 2021→2026 |
![]() Fiche d'estimation — mobile |
![]() Vrai-Prix Maps — recherche par carte 3D (Mapbox GL) |
![]() Page municipalité — agrégats et palmarès locaux |
![]() Statistiques provinciales — tableau de bord /stats |
![]() Méthodologie publique — 7 sections, normes IAAO |
![]() Ka · agent IA — 12 outils serveur (Claude, streaming SSE) |
Guide pas à pas (« Utiliser le site en 5 étapes », depuis /doc)
![]() Étape 1 — Arriver sur l'accueil |
![]() Étape 2 — Chercher l'adresse |
![]() Étape 3 — Lire la fiche d'estimation |
![]() Étape 4 — Explorer par la carte |
![]() Étape 5 — Aller plus loin : statistiques, parc, agent Ka |
|
Fonctionnalités
- Estimation par adresse — recherche plein-texte (SQLite FTS5) parmi 3 747 008 unités d'évaluation, tolérante aux fautes ; plan B sans adresse : estimation manuelle par municipalité + caractéristiques.
- Estimation hybride — 65 % modèle hédonique LightGBM + 35 % comparables ajustés (marché, superficie, âge), fourchette P10–P90 par régression quantile, indice de confiance A–D obligatoire.
- Portrait de la propriété — façade SVG dessinée par les données du registre, terrain à l'échelle, composition de la valeur ; historique 2021→2026 (six millésimes, badges YoY).
- Vrai-Prix Maps — recherche par carte 3D (Mapbox GL via le framework partagé
@groupe-ka/ka-maps), grappes de valeurs estimées pilotées par le viewport ; plan des comparables « arpenteur » en SVG pur. - Ka · agent IA — agent conversationnel (Claude, SDK Anthropic, streaming SSE) branché sur 12 outils serveur : évaluation, comparables, stats, dossier d'expert, parc immobilier.
- Rapports PDF 100 % vectoriels (pdfkit) — standard (3 p.), professionnel bancaire (6 p.), parc consolidé, statistique provincial.
- Parc immobilier — évaluation multi-adresses agrégée (jusqu'à 40 propriétés).
- Statistiques provinciales — valeur totale du parc (2,01 billions $), palmarès des 200 municipalités, tableau de bord
/stats+ rapports PDF v3. - SEO programmatique — 3,76 M d'URLs indexables : 1 097 pages municipalités + ~5 900 pages municipalité × type + 3,75 M fiches d'estimation SSR avec métadonnées uniques, JSON-LD, sitemaps générés à la volée.
- KA ID — connexion unique du Groupe KA (SSO signé via le hub groupe-ka.com, sans base d'utilisateurs) + favoris « Mon univers Ka ».
- Bilingue FR/EN, méthodologie publique (7 sections, IAAO), conformité Loi 25, app compagnon iOS SwiftUI (dépôt séparé).
Architecture
Rôles d'évaluation MAMH 2021-2026 (6 millésimes × ~3,7 M unités)
│ fusion spatiale XY (EPSG:32198) — kNN k=25 ≤200 m
▼
745 119 transactions enrichies ──▶ modèle hédonique LightGBM (log-prix,
18 variables + quantiles P10/P90)
▼
Application Next.js 16 (App Router) — SQLite better-sqlite3 (units + FTS5
+ transactions + indice de marché) · moteur de comparables (src/lib/engine.ts)
· Ka Maps (Mapbox GL) · agent Ka (Claude + 12 outils) · rapports pdfkit
· SSO KA ID · SEO programmatique- Frontend / API : Next.js 16, TypeScript strict, Tailwind CSS 4 — tout est servi par une seule app (pages SSR + routes
/api/*). - Base de données : SQLite (
data/vraiprix.db, ~1,5 Go, non versionnée) — 3,75 M unités, FTS5, index spatiaux, mode WAL. - Modèle : pipeline externe LightGBM / scikit-learn (réentraînement :
scripts/hedonic-retrain.py), estimations pré-calculées injectées dans la base. - Tests : Vitest (moteur d'estimation) + Playwright (captures :
scripts/screenshots.mjs).
API — endpoints principaux
| Endpoint | Rôle |
|---|---|
GET /api/search |
recherche plein-texte d'adresses (FTS5, tolérante aux fautes) |
GET /api/estimate |
estimation hybride d'une unité (modèle + comparables, P10–P90, confiance A–D) |
GET /api/nearby |
unités voisines / grappes pour la carte |
POST /api/ka |
agent Ka (Claude, streaming SSE, 12 outils serveur) |
POST /api/portfolio |
évaluation de parc immobilier multi-adresses (≤ 40) |
GET /api/report · /api/report/pro · /api/report/portfolio · /api/report/stats |
rapports PDF vectoriels (standard, bancaire, parc, provincial) |
GET /api/stats · /api/stats/catalog · /api/stats/dashboard · /api/stats/report(/custom) |
statistiques provinciales + kit de rapports v3 |
/api/auth/ka/* · /api/auth/me · /api/auth/logout |
SSO KA ID (hub groupe-ka.com) |
GET /api/favorites · POST /api/favorites/toggle |
favoris « Mon univers Ka » |
POST /api/lead |
prise de contact / lead |
Données & sources
| Source | Contenu | Volume | Mise à jour |
|---|---|---|---|
| MAMH — rôles d'évaluation foncière géoréférencés (données ouvertes) | 6 millésimes 2021-2026, caractéristiques complètes des unités | 3 747 008 propriétés · 22 150 285 observations | à chaque millésime annuel (réingestion scripts/) |
| Transactions réelles (fusion spatiale XY, EPSG:32198) | prix de vente appariés aux unités (99,88 %, distance médiane 0,6 m) | 745 119 transactions | lors du réentraînement du modèle |
| Modèle hédonique LightGBM | log-prix, 18 variables, quantiles P10/P90 — MdAPE 11,0 %, ratio médian 0,995 | estimations pré-calculées sur ~3,75 M unités | réentraînement scripts/hedonic-retrain.py (hors ligne) |
Contrairement aux apps à connecteurs du Groupe KA, Vrai-Prix ne dépend d'aucune synchronisation horaire : la base est pré-calculée et versionnée par millésime — l'app sert les estimations en lecture seule.
Structure du repo
| Répertoire | Rôle |
|---|---|
src/app/ |
pages App Router (accueil, estimation/[id], municipalite/[slug]/[type], carte, ka, parc, stats, favoris, sitemaps/robots) + routes /api/* |
src/components/ |
SearchBox, ResultView, MetricViz, RadarMap, KaCarte, KaChat, StatsView… |
src/lib/ |
moteur de comparables (engine.ts), accès DB, agrégats municipalités, agent Ka, SSO KA ID, générateurs PDF |
data/ |
base SQLite vraiprix.db (non versionnée) |
scripts/ |
réentraînement hédonique, build des stats, ingestion, captures Playwright |
docs/ |
pipeline de données, notes Ka Maps, captures d'écran |
public/ |
assets statiques (favicons, OG, polices) + guide /doc (page, images, PDF) |
ios/ |
ressources de l'app compagnon iOS (SwiftUI) |
assets/ |
matériel graphique du projet |
Développement (remote-first)
⚠️ La source de vérité est le repo git sur le nœud M3U96a (~/apps/vrai-prix) — on n'édite jamais les copies laptop. Toute modification se fait sur le nœud via SSH : édition, build, redémarrage, puis commit + push depuis le nœud.
- Remote
origin= spbgit (git perso, https://git.spboucher.ai) — sur M3U96a, l'origin est le chemin local/Users/simon-pierreboucher/srv/git/vrai-prix.git(bare repo) ; - remote secondaire
github→ github.com/spboucher-ai/vrai-prix.
ssh M3U96a
cd ~/apps/vrai-prix
npm install # au besoin
npm run test # Vitest — moteur d'estimation
npm run dev # développement
npm run build # build de production
pm2 restart vrai-prix # après changement
git add <fichiers> && git commit -m "…" && git push origin mainConfiguration notable (sans secrets)
| Variable | Rôle |
|---|---|
VRAIPRIX_DB |
chemin de la base SQLite (data/vraiprix.db) |
NEXT_PUBLIC_SITE_URL |
URL canonique du site (SEO, sitemaps) |
ANTHROPIC_API_KEY |
agent Ka (Claude) |
NEXT_PUBLIC_MAPBOX_TOKEN |
carte 3D Vrai-Prix Maps |
KA_SSO_SECRET · KA_AUTH_SECRET · KA_HUB_URL · KA_BASE_URL |
SSO KA ID (hub groupe-ka.com) |
Déploiement
| Nœud | M3U96a (Mac Studio M3 Ultra, cluster MacLustr) — ~/apps/vrai-prix |
| Port | 8090 |
| Domaine | www.vrai-prix.com via tunnel ngrok |
| Processus PM2 | Rôle |
|---|---|
vrai-prix |
l'app Next.js (next start -H 0.0.0.0 -p 8090) — pages SSR + API |
vrai-prix-ngrok |
tunnel ngrok vers www.vrai-prix.com |
# sur M3U96a, après un changement :
cd ~/apps/vrai-prix && npm run build && pm2 restart vrai-prix
pm2 logs vrai-prix --lines 30Documentation
- Guide utilisateur en ligne : www.vrai-prix.com/doc/index.html — à quoi sert le site, utilisation en 5 étapes, provenance des données, FAQ.
- Guide PDF téléchargeable : vrai-prix-documentation.pdf.
- Méthodologie complète (normes IAAO, 7 sections) : publiée sur le site.
- Docs internes :
docs/(pipeline de données, notes Ka Maps, captures).
Écosystème Groupe KA
| Site | Univers |
|---|---|
| groupe-ka.com | portail |
| lou-ka.com | logements à louer |
| immo-ka.com | propriétés à vendre |
| vrai-prix.com | estimation immobilière |
| auto-ka.com | véhicules |
| fabri-ka.com | produits québécois |
| food-ka.com | épicerie / alimentation |
| resto-ka.com | restaurants |
| sorti-ka.com | sorties et événements |
| job-ka.com | emplois |
| crea-ka.com | créateurs |
| trouve-ka.com | petites annonces |
| api-ka.com | API de données |
Contact
Simon-Pierre Boucher — fondateur, Groupe KA 📧 contact@spboucher.ai
© Groupe KA — Simon-Pierre Boucher · contact@spboucher.ai
Ce dépôt vit sur spbgit (git perso — https://git.spboucher.ai). Estimations statistiques à titre indicatif — elles ne remplacent pas une évaluation par un évaluateur agréé (OEAQ).















