# Keller Williams Distinction (`kw_distinction`) *Généré le 2026-08-28 22:22 par `scripts/gen_connector_docs.py` — fichier produit automatiquement, ne pas éditer à la main.* ## Registre (`data/sources.json`) - **Site** : https://www.kwdistinction.com - **Recherche** : https://www.kwdistinction.com/maison-a-vendre-au-quebec/condo-a-vendre-au-quebec/ - **Couverture** : Gatineau / Outaouais - **Type** : franchise - **Statut** : actif > ASP.NET (Olivex/tonikweb) : page resultats rendue serveur, paginee PageID=1..N (~6 cartes/page) — cartes completes (type, prix, adresse, ville/secteur, MLS, cac/sdb, resume, photo). Fiches detail rendues serveur : galerie /_upload/photos/{id}-{n}.jpg, description, tableau Details, proximite. NE PAS utiliser sitemap.xml (URLs anciennes sector--city -> /Pages/Erreur/). ~197 inscriptions dont ~144 avec prix (reste locations/commercial au pi2). 2026-08-23 : cert TLS expire (verify=False en session) et recherche globale /Pages/Listings/Default.aspx en 500 -> repli du connecteur sur les pages courtier (annuaire courtier-immobilier-hull, memes cartes listing_bloc, pagination PageID par courtier). ## Mécanique (introspection du code) - Module : `immoka/connectors/kw_distinction.py` — classe `KwDistinctionConnector` - Délai entre requêtes : 0.5 s ; cache détail BD : oui - Budgets env (enrichissement détail plafonné/exécution) : `IMMOKA_KW_DETAIL_LIMIT` (défaut 400) **En-tête du module :** > Immo-Ka — Agrégateur de maisons à vendre (province de Québec) > Auteur : Simon-Pierre Boucher — contact@spboucher.ai > connectors/kw_distinction.py : Keller Williams Distinction (Gatineau/Outaouais) > Site ASP.NET (plateforme Olivex/tonikweb). La page « Trouver une propriété » > est rendue serveur et paginée par querystring (PageID=1..N, ~6 cartes/page, > total affiché « N résultat(s) ») : cartes complètes — type, prix, adresse, > ville (secteur), MLS, cac/sdb, résumé, photo. Les fiches détail sont aussi > rendues serveur : galerie complète (/_upload/photos/{id}-{n}.jpg), > description, tableau « Détails de la propriété », proximité. > ⚠️ Ne PAS revenir au sitemap.xml : il est figé (anciennes URL > « sector--city » qui redirigent toutes vers /Pages/Erreur/) — c'est ce qui > avait laissé la source à 0 % prix/photos/description. > ⚠️ 2026-08-23 : double panne côté site — (1) cert TLS expiré (Let's Encrypt > non renouvelé) → SSLError sur toute requête directe ; (2) la recherche > globale (/Pages/Listings/Default.aspx) répond 500 → redirect /Pages/500/. > Parades : session en verify=False, et si la recherche donne 0 carte, repli > sur les pages courtier (même markup listing_bloc, module distinct qui > fonctionne) énumérées depuis l'annuaire des courtiers. ## Volumétrie & complétude (BD live) | Indicateur | Valeur | |---|---| | Annonces en base (toutes) | 375 | | Actives | 196 | | Visibles (après dédup) | 196 | | Masquées par la dédup | 0 | | GPS (lat/lng) | 42.9 % | | Photos | 100.0 % | | Prix | 76.5 % | | CAC (chambres) | 100.0 % | | SDB (salles de bains) | 100.0 % | | Année de construction | 72.4 % (dont rôle : 0.0 %) | | Taxes / évaluation municipale | 100.0 % | | Estimation Vrai-Prix (rôle) | 100.0 % | ## Synchronisation - **Dernier sync** : 2026-08-28 16:36 — trouvé 196, +0 / ~0 / -0 — OK - **Erreurs récentes** : 0 sur les 10 derniers syncs Voir aussi les [mécanismes transverses](INDEX.md#mécanismes-transverses-tous-connecteurs) (budgets détail, dédup Centris+adresse, jointure rôle vraiprix.db).