SPB Git forge

spb/vrai-prix

Public

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

60commits 1branches 0releases
12.3 MBsize
maindefault branch
17 days agolast push
TypeScript 90.2% JavaScript 3.5% Python 3.4% CSS 1.9% HTML 0.6%

feat(doc): page documentation /doc (guide + captures) + lien footer + PDF téléchargeable

Simon-Pierre Boucher committed 1 mo ago (Aug 24, 2026) parent 6200a17

8 changed files +201 −0

added public/doc/img/etape1.png +0 −0

Binary file not shown.

added public/doc/img/etape2.png +0 −0

Binary file not shown.

added public/doc/img/etape3.png +0 −0

Binary file not shown.

added public/doc/img/etape4.png +0 −0

Binary file not shown.

added public/doc/img/etape5.png +0 −0

Binary file not shown.

added public/doc/index.html +198 −0
@@ -0,0 +1,198 @@
1 +<!DOCTYPE html>
2 +<!-- Page /doc de Vrai-Prix — générée depuis le gabarit commun Groupe KA (2026-08-24). -->
3 +<html lang="fr">
4 +<head>
5 +<meta charset="utf-8">
6 +<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
7 +<title>Documentation — Vrai-Prix</title>
8 +<meta name="description" content="Comment fonctionne Vrai-Prix : guide pas à pas, données, architecture.">
9 +<style>
10 + :root{ --ink:#101014; --paper:#faf9f6; --accent:#ff5148; --muted:#6b6b70; --line:#e6e4de; }
11 + *{box-sizing:border-box} html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);
12 + font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;-webkit-text-size-adjust:100%}
13 + .container{max-width:960px;margin:0 auto;padding:0 20px}
14 + header.doc{background:var(--ink);color:var(--paper);padding:20px 0}
15 + header.doc .container{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
16 + header.doc a{color:var(--paper);text-decoration:none}
17 + .wordmark{font-weight:800;font-size:20px;letter-spacing:.02em}
18 + .wordmark .ka{color:var(--accent)}
19 + .btn-pdf{display:inline-block;background:var(--accent);color:var(--ink);font-weight:700;
20 + padding:10px 18px;border-radius:999px;text-decoration:none;font-size:15px}
21 + .hero{padding:48px 0 8px}
22 + .hero h1{font-size:clamp(28px,5vw,44px);line-height:1.1;margin:0 0 12px}
23 + .hero h1 mark{background:var(--accent);color:var(--ink);padding:2px 8px}
24 + .hero p.lead{font-size:18px;color:var(--muted);max-width:640px}
25 + .kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
26 + border-left:3px solid var(--accent);padding-left:10px;margin:40px 0 8px;font-weight:700}
27 + section{padding:8px 0 16px}
28 + h2{font-size:26px;margin:6px 0 12px}
29 + .step{display:grid;grid-template-columns:56px 1fr;gap:16px;margin:26px 0;align-items:start}
30 + .step .num{width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--accent);
31 + display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px}
32 + .step h3{margin:6px 0 6px;font-size:19px}
33 + .step p{margin:0 0 12px;color:#3a3a40}
34 + .shot{border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 8px 30px rgba(16,16,20,.08)}
35 + .shot img{display:block;width:100%;height:auto}
36 + .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:16px 0}
37 + .card{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}
38 + .card b{display:block;margin-bottom:6px}
39 + table{border-collapse:collapse;width:100%;font-size:15px}
40 + th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
41 + th{background:var(--ink);color:var(--paper)}
42 + footer.doc{margin-top:56px;background:var(--ink);color:var(--paper);padding:28px 0;font-size:14px}
43 + footer.doc a{color:var(--accent);text-decoration:none}
44 + @media print{
45 + header.doc .btn-pdf{display:none}
46 + .shot{box-shadow:none;break-inside:avoid}
47 + .step{break-inside:avoid}
48 + a{color:inherit;text-decoration:none}
49 + }
50 + @media(max-width:640px){ .step{grid-template-columns:40px 1fr} .step .num{width:34px;height:34px;font-size:15px} }
51 +</style>
52 +</head>
53 +<body>
54 +<header class="doc">
55 + <div class="container">
56 + <a class="wordmark" href="/">Vrai-<span class="ka">Prix</span></a>
57 + <nav style="display:flex;gap:14px;align-items:center">
58 + <a href="/">← Retour au site</a>
59 + <a class="btn-pdf" href="./vrai-prix-documentation.pdf" download>Télécharger le PDF</a>
60 + </nav>
61 + </div>
62 +</header>
63 +
64 +<div class="container">
65 + <div class="hero">
66 + <p class="kicker">Documentation · mise à jour 2026-08-24</p>
67 + <h1>Comment fonctionne <mark>Vrai-Prix</mark></h1>
68 + <p class="lead">La vraie valeur de votre propriété, sans boîte noire — estimation immobilière transparente pour tout le Québec.</p>
69 + </div>
70 +
71 + <section>
72 + <p class="kicker">Vue d'ensemble</p>
73 + <h2>À quoi sert le site</h2>
74 + <p>Vrai-Prix estime la valeur marchande de n'importe quelle propriété du Québec — unifamiliale, plex, condo,
75 + chalet, terrain — et montre <em>pourquoi</em> : chaque comparable, chaque ajustement en dollars, la pondération
76 + du modèle, la fourchette honnête (P10–P90) et l'indice de confiance (A–D). Pas de score magique ni de boîte
77 + noire : la méthodologie complète (normes IAAO) est publiée intégralement sur le site. Pour les propriétaires,
78 + acheteurs, courtiers et curieux qui veulent une estimation honnête, vérifiable et gratuite, dans les
79 + 1 097 municipalités de la province.</p>
80 + <div class="cards">
81 + <div class="card"><b>3 747 008 propriétés</b>Les 6 millésimes (2021-2026) des rôles d'évaluation foncière
82 + géoréférencés du Québec (MAMH, données ouvertes) — 22 150 285 observations.</div>
83 + <div class="card"><b>745 119 ventes réelles</b>Transactions fusionnées spatialement avec les rôles
84 + (99,88 % d'appariement, distance médiane 0,6 m).</div>
85 + <div class="card"><b>MdAPE 11,0 %</b>Modèle hédonique LightGBM (ratio médian 0,995 en holdout) combiné
86 + à un moteur de comparables ajustés en dollars.</div>
87 + <div class="card"><b>1 097 municipalités</b>Couverture provinciale complète, valeur totale du parc :
88 + 2,01 billions $ — statistiques et palmarès publics.</div>
89 + </div>
90 + </section>
91 +
92 + <section>
93 + <p class="kicker">Guide pas à pas</p>
94 + <h2>Utiliser le site en 5 étapes</h2>
95 +
96 + <div class="step">
97 + <div class="num">1</div>
98 + <div>
99 + <h3>Arriver sur l'accueil</h3>
100 + <p>La page d'accueil annonce la couleur : 3,7 M de propriétés, 745 000 ventes réelles, fourchette honnête
101 + P10–P90, indice de confiance A–D. La barre « Adresse de la propriété » au centre est le point de départ ;
102 + si vous n'avez pas d'adresse, un plan B permet d'estimer manuellement par municipalité et caractéristiques.</p>
103 + <div class="shot"><img src="./img/etape1.png" alt="Étape 1 — accueil de Vrai-Prix"></div>
104 + </div>
105 + </div>
106 +
107 + <div class="step">
108 + <div class="num">2</div>
109 + <div>
110 + <h3>Chercher l'adresse</h3>
111 + <p>Tapez l'adresse dans la barre de recherche : la recherche plein-texte (tolérante aux fautes) fouille les
112 + 3 747 008 unités d'évaluation et propose les correspondances au fil de la frappe. Cliquez sur la bonne
113 + adresse dans la liste.</p>
114 + <div class="shot"><img src="./img/etape2.png" alt="Étape 2 — recherche d'adresse avec suggestions"></div>
115 + </div>
116 + </div>
117 +
118 + <div class="step">
119 + <div class="num">3</div>
120 + <div>
121 + <h3>Lire la fiche d'estimation</h3>
122 + <p>La fiche montre la valeur estimée, la fourchette honnête P10–P90, l'indice de confiance (A–D), l'écart
123 + avec l'évaluation municipale, puis tout le calcul : portrait de la propriété dessiné par les données du
124 + registre, comparables ajustés en dollars, historique 2021→2026. Deux rapports PDF sont téléchargeables :
125 + standard (3 p.) et professionnel format bancaire (6 p.).</p>
126 + <div class="shot"><img src="./img/etape3.png" alt="Étape 3 — fiche d'estimation avec fourchette et indice de confiance"></div>
127 + </div>
128 + </div>
129 +
130 + <div class="step">
131 + <div class="num">4</div>
132 + <div>
133 + <h3>Explorer par la carte</h3>
134 + <p>L'onglet « Carte » ouvre Vrai-Prix Maps : déplacez la carte 3D ou géolocalisez-vous — chaque pastille est
135 + une unité d'évaluation avec sa valeur estimée 2026. Touchez une pastille pour l'aperçu, puis passez à
136 + l'estimation complète.</p>
137 + <div class="shot"><img src="./img/etape4.png" alt="Étape 4 — recherche par carte 3D"></div>
138 + </div>
139 + </div>
140 +
141 + <div class="step">
142 + <div class="num">5</div>
143 + <div>
144 + <h3>Aller plus loin : statistiques, parc, agent Ka</h3>
145 + <p>La page « Statistiques » donne le portrait provincial (valeur du parc, palmarès des 200 municipalités,
146 + rapports PDF). « Parc immobilier » agrège jusqu'à 40 adresses en une évaluation consolidée, et
147 + « Ka · agent IA » répond en langage naturel, branché sur 12 outils serveur (évaluation, comparables,
148 + stats, dossier d'expert).</p>
149 + <div class="shot"><img src="./img/etape5.png" alt="Étape 5 — tableau de bord statistiques"></div>
150 + </div>
151 + </div>
152 + </section>
153 +
154 + <section>
155 + <p class="kicker">Sous le capot</p>
156 + <h2>D'où viennent les données</h2>
157 + <p>Tout part des <b>rôles d'évaluation foncière géoréférencés du Québec</b> (MAMH, données ouvertes) : six
158 + millésimes 2021-2026, soit 22,15 M d'observations sur 3,75 M d'unités d'évaluation. Ces rôles sont fusionnés
159 + spatialement (au mètre près — distance médiane 0,6 m) avec <b>745 119 transactions réelles</b>. Le tout
160 + alimente un <b>modèle hédonique LightGBM</b> (log-prix, 18 variables, quantiles P10/P90) réentraîné par
161 + pipeline externe, et un <b>moteur de comparables</b> qui ajuste chaque vente voisine en dollars (marché,
162 + superficie, âge). L'estimation finale est hybride : 65 % modèle + 35 % comparables, avec indice de confiance
163 + A–D obligatoire. Les salaires du calcul sont montrés en entier : c'est le principe « zéro boîte noire »,
164 + conforme aux normes IAAO documentées dans la méthodologie publique du site.</p>
165 + </section>
166 +
167 + <section>
168 + <p class="kicker">Questions fréquentes</p>
169 + <h2>FAQ</h2>
170 + <div class="cards">
171 + <div class="card"><b>L'estimation remplace-t-elle un évaluateur agréé ?</b>
172 + Non. C'est une estimation statistique à titre indicatif — elle ne remplace pas une évaluation par un
173 + évaluateur agréé (OEAQ). Sa force : la transparence et la fourchette honnête plutôt qu'un chiffre unique.</div>
174 + <div class="card"><b>Mon adresse n'apparaît pas dans la recherche, que faire ?</b>
175 + Utilisez le plan B sans adresse : estimation manuelle par municipalité + caractéristiques (superficie, année,
176 + terrain). La recherche est tolérante aux fautes — essayez aussi une graphie simplifiée.</div>
177 + <div class="card"><b>Que signifie l'indice de confiance A–D ?</b>
178 + Il mesure la fiabilité de l'estimation selon la densité de ventes comparables et la qualité des données
179 + locales : A = très fiable, D = à prendre avec prudence. Il est affiché sur chaque fiche, sans exception.</div>
180 + <div class="card"><b>Est-ce gratuit ? Faut-il un compte ?</b>
181 + L'estimation, la carte, les statistiques et les rapports PDF sont gratuits, sans compte. KA ID (la connexion
182 + unique du Groupe KA) sert seulement aux favoris « Mon univers Ka ».</div>
183 + <div class="card"><b>Le site est-il disponible en anglais ?</b>
184 + Oui, le site est bilingue FR/EN (bouton EN dans l'en-tête), et la méthodologie complète en 7 sections est
185 + publique.</div>
186 + </div>
187 + </section>
188 +</div>
189 +
190 +<footer class="doc">
191 + <div class="container">
192 + <p><b>Vrai-Prix</b> — un service <a href="https://www.groupe-ka.com">Groupe KA</a>.
193 + Écosystème : les 13 plateformes sont liées au pied de chaque site.</p>
194 + <p>© 2026 Groupe KA — Simon-Pierre Boucher · <a href="mailto:contact@spboucher.ai">contact@spboucher.ai</a></p>
195 + </div>
196 +</footer>
197 +</body>
198 +</html>
added public/doc/vrai-prix-documentation.pdf +0 −0

Binary file not shown.

modified src/components/FooterNav.tsx +3 −0
@@ -36,6 +36,9 @@ export default function FooterNav() {
36 36 <Link href="/contact" className={cls}>
37 37 Contact
38 38 </Link>
39 + <a href="/doc/index.html" className={cls}>
40 + Documentation
41 + </a>
39 42 <button onClick={openCookiePrefs} className={`${cls} cursor-pointer`}>
40 43 🍪 {fr ? "Préférences de témoins" : "Cookie preferences"}
41 44 </button>
42 45