Immo-Ka — Rapport final : enrichissement des connecteurs + solidité mobile
Date : 2026-08-19 · périmètre : www.immo-ka.com (M4M64a:8096)
1. Enrichissement des connecteurs (Mission 1)
Avant / après (annonces publiées)
| Indicateur | Avant (2026-08-18) | Après (2026-08-19) |
|---|---|---|
| Description exploitable (≥ 80 car.) | 82,5 % | 99,3 % |
| Annonces à ≤ 1 image | 12 084 (17,6 %) | 2 128 (3,2 %) |
| Annonces sans aucune image | 331 | 202 (repli élégant par type affiché) |
| Images par annonce (moyenne) | 22,9 | 26,8 |
| Chambres renseignées | 73,6 % | 77,3 % |
| Superficie renseignée | 35,6 % | 40,5 % |
| GPS | 94,2 % | 95,1 % (restant = adresses vagues LesPAC/DuProprio + biens hors Québec, jamais de coordonnées inventées) |
| Score de complétude moyen | — | 86,5 / 100 |
| Annonces visibles | 68 475 (dont ~12 000 quasi vides) | 65 475 (toutes riches ; les doublons MLS inter-bannières sont maintenant correctement fusionnés/masqués : 51 364) |
Connecteurs enrichis (fiche détail complète : galerie entière en meilleure résolution, description longue, taxes/évaluations, pièces, courtier + téléphone, GPS, visites virtuelles)
- Famille source.immo (~20 sources : Century 21 ×2, Vendirect, Domicilia, CIEMCQ, The Agency, Via ×4, 12 agences indépendantes) : 1 → ~28-31 images, villes résolues, taxes, étiquettes de pièces.
- Realtor.ca (API PropertyDetails via Scrapfly, FR), Ubee (API Listing, ~130 codes traduits), Charisma, AvecUnCourtier/CIO (bannière réelle), eXp (GPS exact, pièces), Publimaison (GPS via /carte, galeries tous types), LogisQuébec (galeries dépolluées des « propriétés similaires »), Barnes (106 fiches mortes purgées, galeries par préfixe MLS), GLMC, Guide Habitation, BHHS, Imcha, Agence Image, Immeubles Contact, KW Urbain (details réparés + type), et KW Prestige / KW Distinction ressuscités (sitemaps figés → énumérations internes ; 0 → ~1 000 annonces complètes).
- Cache BD
detail_cache: 103 981 fiches détail mémorisées — seules les fiches nouvelles/modifiées sont relues à chaque cycle.
Contrôle qualité (immoka/quality.py — nouveau)
- Score de complétude 0-100 par annonce ; seuil de publication : prix plausible + ville + type de bien + contenu exploitable → sinon quarantaine (14 920 visibles-éligibles, motifs affichés dans les Stats), re-testée à chaque cycle.
- Cohérences immobilières : bornes de prix vente (20 k–80 M$) et location (300–25 k$/mois, détection loyer vs vente), superficies plausibles, année valide, pièces/chambres, GPS borné Québec.
- Champs dérivés : prix au pi² et m², type de transaction ; types de bien promus depuis les fiches Centris (Sotheby's 863 récupérées) et re-normalisés (bi-génération, X logements, ventes d'entreprise…).
- Golden record : la dédup par adresse fusionne les champs manquants du doublon masqué dans la fiche conservée (description, galerie plus riche, GPS en paire, téléphone).
- Archivage : vendues/louées/retirées désactivées (18 611 archivées au total) ; statut « Vendu » explicite = quarantaine immédiate.
Images (immoka/imgaudit.py — nouveau)
- Nettoyage au
finalize: placeholders des portails, doublons multi-tailles (les handlers dynamiques .axd/.ashx gardent leur querystring d'identité). - Audit réseau budgété des couvertures avec cache 30 j : 257 913 URLs vérifiées, dimensions décodées des en-têtes (JPEG/PNG/WebP/GIF), 241 images mortes confirmées (404/410) retirées, minuscules éliminées, couverture valide promue en tête. Verdict « morte » sur preuve seulement : les 403/429 (rate-limit/anti-hotlink CDN, gotcha DuProprio) ne retirent jamais rien — le repli
onErrordu frontend couvre le reste. - Annonce sans image valide → image de secours élégante par type de bien aux couleurs Immo-Ka (jamais d'icône cassée).
2. Mobile + validation du rendu (Mission 2)
- Carte Ka Maps (framework partagé Groupe Ka, le même que Lou-Ka) : fond Mapbox Standard 3D, pastilles de prix GPU, clusters avec prix moyen, « Rechercher dans cette zone », bascule 2D/3D, aperçu au toucher, caméra dans l'URL, synchronisation liste ↔ carte ; fiche : mini-carte 3D avec bâtiment de l'annonce surligné. Ancienne carte MapLibre maison retirée.
- Stats alignées Lou-Ka : 15 KPI (dont prix médian/pi², jours sur le marché, baisses de prix, qualité, quarantaine, sous le marché), donut juste-valeur, 6 tables. Section « Qualité des données » (complétude, quarantaine, anomalies par connecteur).
- Fiche mobile : galerie scroll-snap + lightbox pincement/balayage/légendes de pièces, CTA collant, bulle KA Agent dégagée ; cartes de liste avec miniature légère (
cover_thumb) et repli par type. - Bug de prod corrigé : les liens directs/Google vers une fiche (301 vers l'URL slug) tombaient sur la page 404 React — route
/propriete/:uid/:slugajoutée. - Validation (
scripts/valider_rendu.py, rejouable) : matrice 7 largeurs (360/390/414/paysage 844/768/1024/1440) × 11 pages (accueil, carte, sans-résultat, agences, stats, contact, 5 fiches cas-limites : 1 photo, très photographiée, description longue, prix élevé, sans superficie) → 77/77 OK : 0 débordement horizontal, 0 image cassée, cibles tactiles ≥ 44 px (les 2 « erreurs JS » des fiches = télémétrie Mapbox bloquée, sans effet). Vérifié aussi en Safari iOS réel (simulateur iPhone 17 Pro : accueil, fiche, carte, stats). Captures :docs/screenshots/validation-2026-08-19/(+ rapport md/json).
3. Suivi
- Le cycle horaire (
immo-ka-sync) entretient tout : enrichissement (budgets par connecteur), géocodage, Vrai-Prix, audit d'images (2 000/cycle), dédup, qualité. - Restant connu : ~2 100 annonces à 1 image = petites annonces à photo unique (Kijiji/LesPAC) + fantômes LogisQuébec (HTTP 410) ; « Propriétés résidentielles » (libellé Realtor) à raffiner ; KW Urbain sort de quarantaine au prochain cycle.