docs: README ultra détaillé + visite guidée en 10 captures
11 changed files +40 −9
modified
README.md
+40 −9
@@ -45,7 +45,9 @@ | ||
| 45 | 45 | |
| 46 | 46 | Chercher un appartement au Québec, c'est ouvrir des dizaines de sites différents — chacun avec sa navigation, ses filtres, son format. **Lou·Ka retourne le problème** : un **connecteur dédié par gestionnaire immobilier** visite chaque site, **normalise chaque annonce** vers un schéma unique et **détecte les changements en continu** (synchronisation périodique + hash de contenu → ajouts, mises à jour et retraits automatiques ; une annonce disparue répond `410 Gone`). Chaque fiche renvoie vers l'annonce originale du gestionnaire via une passerelle de sortie transparente (`/passerelle/{uid}`). |
| 47 | 47 | |
| 48 | −Pour qui ? Les locataires qui cherchent (recherche filtrée, carte 3D, fiches complètes), les curieux du marché (observatoire des loyers, rapports PDF) et les gestionnaires (pages réclamables). **En chiffres (au 2026-08-24)** : 45 762 annonces actives publiées, 281 sources recensées, 250 connecteurs (221 location long terme + 29 court terme), 1 233 villes, 11 régions, 97,4 % des annonces géolocalisées, loyer médian 1 700 $ — plus **41 460 séjours court terme** (chalets, Airbnb…) dans la section `/court-terme`. | |
| 48 | +Pour qui ? Les locataires qui cherchent (recherche filtrée, carte 3D, fiches complètes), les curieux du marché (observatoire des loyers, rapports PDF) et les gestionnaires (pages réclamables). **En chiffres (au 2026-08-28)** : 47 827 annonces actives publiées, 302 sources actives (503 recensées dans le registre), 431 connecteurs (384 location long terme + 47 court terme), plus de 1 200 villes, 11 régions, KA Scores calculés sur 96,1 % du parc, loyer moyen 1 811 $ — plus **52 440 séjours court terme** (chalets, hôtels, Airbnb…) dans la section `/court-terme` (47 sources actives, 36 régions). | |
| 49 | + | |
| 50 | +**Identité** : accent orange `#ff6a00`, logo « porte » (la porte d'entrée du prochain chez-soi), signature « **Un service Groupe KA** » au pied de chaque page — design system partagé `ka-ui` (tokens, accents et footer centralisés via `ecosystem.json`). | |
| 49 | 51 | |
| 50 | 52 | ## Visite guidée |
| 51 | 53 | |
@@ -87,6 +89,33 @@ Pour qui ? Les locataires qui cherchent (recherche filtrée, carte 3D, fiches co | ||
| 87 | 89 | </tr> |
| 88 | 90 | </table> |
| 89 | 91 | |
| 92 | +### Le site page par page (2026-08-28) | |
| 93 | + | |
| 94 | +*Dix captures pleine page (desktop) qui parcourent le site publié — de l'accueil aux pages légales, en passant par les pages SEO et le registre des sources. Fichiers dans [`docs/screenshots/`](docs/screenshots/).* | |
| 95 | + | |
| 96 | +<table> | |
| 97 | + <tr> | |
| 98 | + <td align="center"><img src="docs/screenshots/01-accueil.jpg" width="420" alt="Accueil — lou-ka.com"><br><sub><b>Accueil</b> (<code>/</code>) — héro typographique, recherche soulignée, compteurs live du parc (annonces, sources, villes) et entrées rapides vers les grandes villes</sub></td> | |
| 99 | + <td align="center"><img src="docs/screenshots/02-villes.jpg" width="420" alt="Répertoire des villes"><br><sub><b>Répertoire des villes</b> (<code>/villes</code>) — l'index SEO complet : chaque ville du Québec couverte, avec son compte d'annonces, menant aux pages <code>/ville/{slug}</code></sub></td> | |
| 100 | + </tr> | |
| 101 | + <tr> | |
| 102 | + <td align="center"><img src="docs/screenshots/03-court-terme.jpg" width="420" alt="Location court terme"><br><sub><b>Location court terme</b> (<code>/court-terme</code>) — la section séjours (chalets, hôtels, Airbnb, Vrbo, SÉPAQ…) : 52 440 fiches, 47 sources, 36 régions, DA éditoriale alignée sur l'accueil</sub></td> | |
| 103 | + <td align="center"><img src="docs/screenshots/04-stats.jpg" width="420" alt="Observatoire des loyers"><br><sub><b>Observatoire du marché</b> (<code>/stats</code>) — KPI temps réel, loyers médians par région/ville/taille, panneaux territoire et rapports PDF téléchargeables</sub></td> | |
| 104 | + </tr> | |
| 105 | + <tr> | |
| 106 | + <td align="center"><img src="docs/screenshots/05-sources.jpg" width="420" alt="Registre des sources"><br><sub><b>Registre des sources</b> (<code>/sources</code>) — la transparence du pipeline : chaque gestionnaire connecté, son statut et sa dernière synchronisation</sub></td> | |
| 107 | + <td align="center"><img src="docs/screenshots/06-demenageurs.jpg" width="420" alt="Annuaire des déménageurs"><br><sub><b>Annuaire des déménageurs</b> (<code>/demenageurs</code>) — 565 entreprises de déménagement du Québec, annuaire partagé avec Immo·Ka</sub></td> | |
| 108 | + </tr> | |
| 109 | + <tr> | |
| 110 | + <td align="center"><img src="docs/screenshots/07-confidentialite.jpg" width="420" alt="Politique de confidentialité"><br><sub><b>Politique de confidentialité</b> (<code>/confidentialite</code>) — données collectées, cookies, comptes KA ID : la page légale en français clair</sub></td> | |
| 111 | + <td align="center"><img src="docs/screenshots/08-conditions.jpg" width="420" alt="Conditions d'utilisation"><br><sub><b>Conditions d'utilisation</b> (<code>/conditions</code>) — rôle d'agrégateur indépendant, passerelle de sortie vers les annonces originales, limites de responsabilité</sub></td> | |
| 112 | + </tr> | |
| 113 | + <tr> | |
| 114 | + <td align="center"><img src="docs/screenshots/09-g-aalto.jpg" width="420" alt="Page gestionnaire Aalto"><br><sub><b>Page gestionnaire</b> (<code>/g/aalto</code>) — la vitrine réclamable d'un gestionnaire immobilier : ses annonces actives, ses statistiques et le lien vers son site</sub></td> | |
| 115 | + <td align="center"><img src="docs/screenshots/10-ville-montreal.jpg" width="420" alt="Page ville Montréal"><br><sub><b>Page ville</b> (<code>/ville/montreal</code>) — page SEO en SSR léger : loyers médians locaux, filtres par type (3½, 4½…) et annonces de la ville</sub></td> | |
| 116 | + </tr> | |
| 117 | +</table> | |
| 118 | + | |
| 90 | 119 | ### Nouveautés front-end (2026-08-25) |
| 91 | 120 | |
| 92 | 121 | - **Refonte éditoriale v2** — accueil et fiche logement en DA premium « sans boîtes » : héro typographique géant, compteurs live en phrase, recherche soulignée, grille magazine, sections à filets et icônes contextuelles. |
@@ -117,12 +146,12 @@ Pour qui ? Les locataires qui cherchent (recherche filtrée, carte 3D, fiches co | ||
| 117 | 146 | - **Recherche filtrée** — ville, quartier, type (3½, 4½…), loyer min/max, animaux, meublé, superficie, texte libre. |
| 118 | 147 | - **Vue carte 3D** — Lou-Ka Maps (framework `@groupe-ka/ka-maps`, moteur Mapbox GL JS) : clusters par prix moyen, « Rechercher dans cette zone », bascule 3D/2D, synchro liste ↔ carte. |
| 119 | 148 | - **Fiches complètes** — toutes les photos, digest structuré de la description (text mining regex FR, aucun LLM), badge marché, historique de prix (`price_log`), fiche PDF avec QR code. |
| 120 | −- **Couches de données de quartier** — recensement 2021, registre des loyers (57 433 déclarations géocodées), inondation (BDZI), criminalité (SPVM, 12 mois par catégorie), qualité de l'air (RSQAQ/PST), prix de l'essence, commerces et transport en commun (métro/REM aux couleurs officielles), estimation Hydro-Québec live, **KA Scores** (95,5 % du parc couvert au 2026-08-24). | |
| 121 | −- **Location court terme** — section isolée `/court-terme` (sous-système `louka/shortterm/`, API `/api/ct/*`) : chalets, Airbnb (quadrillage carte quadtree limité à la frontière du Québec), Vrbo, Booking… 41 460 séjours, 22 sources actives sur 38 recensées, 27 régions (au 2026-08-24) ; SEO complet (JSON-LD `VacationRental`, sitemaps `sitemap-ct-N.xml`). | |
| 149 | +- **Couches de données de quartier** — recensement 2021, registre des loyers (57 433 déclarations géocodées), inondation (BDZI), criminalité (SPVM, 12 mois par catégorie), qualité de l'air (RSQAQ/PST), prix de l'essence, commerces et transport en commun (métro/REM aux couleurs officielles), estimation Hydro-Québec live, **KA Scores** (96,1 % du parc couvert au 2026-08-28). | |
| 150 | +- **Location court terme** — section isolée `/court-terme` (sous-système `louka/shortterm/`, API `/api/ct/*`) : chalets, Airbnb (quadrillage carte quadtree limité à la frontière du Québec), Vrbo, Booking… 52 440 séjours, 47 sources actives, 36 régions (au 2026-08-28) ; SEO complet (JSON-LD `VacationRental`, sitemaps `sitemap-ct-N.xml`). | |
| 122 | 151 | - **Pages villes SEO** — `/villes`, `/ville/{slug}`, `/ville/{slug}/{type}` en SSR léger, sitemaps dynamiques (chunks de 10 000), JSON-LD (`RealEstateListing` + `Offer` CAD), vrais `404`/`410`. |
| 123 | 152 | - **Observatoire du marché** — KPI temps réel, loyers médians par région/ville/taille, panneaux territoire (registre des loyers, population, essence), rapport de marché PDF multi-pages (`/api/stats/rapport.pdf`) et rapports PDF personnalisés (catalogue + `ReportBuilder`). |
| 124 | −- **Registre des sources** — chaque gestionnaire, son statut, sa dernière synchro ; toute source non connectable est documentée avec sa raison dans `data/sources.json` (281 entrées recensées). | |
| 125 | −- **Qualité éditoriale** — porte de pertinence (quarantaine des stationnements, garages, locaux commerciaux, locations à la nuit) : 59 668 annonces publiées / 1 175 en quarantaine, complétude moyenne 91,4 % (au 2026-08-24). | |
| 153 | +- **Registre des sources** — chaque gestionnaire, son statut, sa dernière synchro ; toute source non connectable est documentée avec sa raison dans `data/sources.json` (503 entrées recensées). | |
| 154 | +- **Qualité éditoriale** — porte de pertinence (quarantaine des stationnements, garages, locaux commerciaux, locations à la nuit) : 62 171 annonces publiées / 6 754 en quarantaine, complétude moyenne 90,5 % (au 2026-08-28). | |
| 126 | 155 | - **Comptes & SSO KA** — « Se connecter avec KA » via le hub groupe-ka.com (JWT HS256, `ka_id` émis par le hub) + Google OAuth direct ; favoris synchronisés vers « Mon univers Ka » ; pages gestionnaires réclamables (`/g/{source_id}`). |
| 127 | 156 | - **Widget KA Agent** — bulle de chat IA du Groupe KA intégrée au site (déplaçable, position mémorisée). |
| 128 | 157 | - **PWA installable** + app iOS SwiftUI 100 % native (dépôt séparé `lou-ka-ios` sur spbgit). |
@@ -166,7 +195,7 @@ Pipeline : **connecteurs → normalisation → déduplication → SQLite → API | ||
| 166 | 195 | |
| 167 | 196 | - **Backend Python 3.14 / FastAPI / Uvicorn** (`louka/web.py`) : API JSON + service du build Vite + SSR SEO (`louka/seo.py`). |
| 168 | 197 | - **SQLite (WAL)** (`louka/db.py`) : migrations auto, upsert par hash de contenu, anti-dérive ; bases annexes dans `data/` (quartier, air, gaz, hydro, commerces, inondation…). |
| 169 | −- **250 connecteurs** auto-découverts : 221 long terme (`louka/connectors/`) + 29 court terme (`louka/shortterm/connectors/`), extraction directe / Firecrawl / Scrapfly / Bright Data / acteurs Apify maison selon la source. | |
| 198 | +- **431 connecteurs** auto-découverts : 384 long terme (`louka/connectors/`) + 47 court terme (`louka/shortterm/connectors/`), extraction directe / Scrapfly / Bright Data / acteurs Apify maison selon la source (les 6 connecteurs à rendu JS ont migré de Firecrawl vers Scrapfly le 2026-08-27). | |
| 170 | 199 | - **Enrichissement** : géocodage (Nominatim + Adresses Québec), POI OSM, stats de quartier, KA Scores, estimation Hydro-Québec. |
| 171 | 200 | - **Frontend React 18 + Vite + TypeScript** (`frontend/`), cartographie `@groupe-ka/ka-maps` (Mapbox GL). |
| 172 | 201 | - **CLI `run.py`** : `sync` · `watch` · `sync-ct` · `watch-ct` · `serve` · `geocode` · `quality` · `imgaudit` · `fairvalue` · `poi` · `quartier` · `kascores` · `rdl` · `air-refresh` · `gaz-refresh` · `hydro-precompute` · `record` (fixtures HTTP pour tests hors-ligne). |
@@ -231,10 +260,10 @@ Aucun secret dans le repo — tout passe par l'environnement du nœud. Noms atte | ||
| 231 | 260 | lou-ka/ |
| 232 | 261 | ├── run.py # point d'entrée CLI (sync / watch / sync-ct / watch-ct / serve / geocode / poi / quartier / record) |
| 233 | 262 | ├── louka/ # paquet backend : web, seo, db, ingest, normalize, textmine, auth, kascores… |
| 234 | −│ ├── connectors/ # 221 connecteurs long terme auto-découverts | |
| 235 | −│ └── shortterm/ # sous-système court terme isolé (db, ingest, web + 29 connecteurs) | |
| 263 | +│ ├── connectors/ # 384 connecteurs long terme auto-découverts | |
| 264 | +│ └── shortterm/ # sous-système court terme isolé (db, ingest, web + 47 connecteurs) | |
| 236 | 265 | ├── frontend/ # React 18 + Vite + TypeScript (pages, composants, kamaps/) + public/doc/ (guide) |
| 237 | −├── data/ # sources.json (registre, 281 entrées) + bases SQLite de prod (gitignorées) | |
| 266 | +├── data/ # sources.json (registre, 503 entrées) + bases SQLite de prod (gitignorées) | |
| 238 | 267 | ├── scripts/ # build recensement/contexte/environnement, docs connecteurs, screenshots, check-order |
| 239 | 268 | ├── tests/ # pytest + fixtures HTTP rejouables hors-ligne |
| 240 | 269 | ├── actors/ # acteurs Apify d'appoint (ka-fb-marketplace, ka-apartments-com…) |
@@ -255,6 +284,8 @@ Repère des jalons (128 commits depuis la naissance) : | ||
| 255 | 284 | | 2026-08-22→23 | section « Location court terme » : sous-système isolé, Airbnb en quadrillage carte, 38 sources recensées, SEO complet (`38b708b`, `5c571bc`, `63456a0`) | |
| 256 | 285 | | 2026-08-23 | couches de quartier : registre des loyers (57 433 déclarations), inondation BDZI, criminalité SPVM, air, essence, commerces/transport, estimation Hydro-Québec live + rapports PDF personnalisés (`604455e` → `4d17c17`, `834c92c`) | |
| 257 | 286 | | 2026-08-24 | page documentation `/doc` + guide PDF + README v2/v3 (`963ba8f`, `4fa8714`) | |
| 287 | +| 2026-08-27 | expansion Ontario suspendue (rien d'effacé, voir `docs/ONTARIO-PAUSE.md`) + migration Firecrawl → Scrapfly des 6 connecteurs à rendu JS (`54f25fd`, `a4ef788`) | | |
| 288 | +| 2026-08-28 | visite guidée « page par page » : 10 captures pleine page du site publié dans `docs/screenshots/` | | |
| 258 | 289 | |
| 259 | 290 | ## Documentation |
| 260 | 291 | |
added
docs/screenshots/01-accueil.jpg
+0 −0
Binary file not shown.
added
docs/screenshots/02-villes.jpg
+0 −0
Binary file not shown.
added
docs/screenshots/03-court-terme.jpg
+0 −0
Binary file not shown.
added
docs/screenshots/04-stats.jpg
+0 −0
Binary file not shown.
added
docs/screenshots/05-sources.jpg
+0 −0
Binary file not shown.
added
docs/screenshots/06-demenageurs.jpg
+0 −0
Binary file not shown.
added
docs/screenshots/07-confidentialite.jpg
+0 −0
Binary file not shown.
added
docs/screenshots/08-conditions.jpg
+0 −0
Binary file not shown.
added
docs/screenshots/09-g-aalto.jpg
+0 −0
Binary file not shown.
added
docs/screenshots/10-ville-montreal.jpg
+0 −0
Binary file not shown.