SPB Git

spb/lou-ka Public

Lou·Ka — tous les logements à louer du Québec, un seul endroit.

HTML 99.7%
3.1 KB

# niddamour — Nid d'Amour / Karen Cadet inc.

# Champs extraits

  • Liste API (inchangé) : statut AVAILABLE + for_rent + RESIDENTIAL, prix rent structuré, chambres -> type d'unité, ville/quartier via dictionnaire (« Montréal (Le Plateau-Mont-Royal) »), filtre régions CMM, lat/lng structurés.
  • Fiche API (désormais via self.detail, cache BD) :
    • adresse civique + app. + code postal (nouveau : postal_code) ;
    • description + addendum HTML (DÉTAILS / SERVICES À PROXIMITÉ, balises retirées) + nombre de sdb -> description enrichie (nouveau) ;
    • champ structuré inclusions -> amenities brutes (lignes) + details.inclusions{…: true} ;
    • champ structuré exclusions -> details.inclusions{…: false} explicites (nouveau — « Électricité, chauffage et eau chaude » exclus ne deviennent plus positifs même si l'addendum les mentionne) ;
    • étage de l'unité principale (units[].level) -> details.floor (nouveau).

# Champs indisponibles à la source

  • Superficie : dimension toujours vide (building/land/units) — seule la description la mentionne parfois (4/14 dérivées par la normalisation).
  • Date de disponibilité précise (seulement le statut AVAILABLE -> « Disponible »), animaux, fumeur ; attributes et rooms vides chez ce compte.
  • 4/14 annonces sans texte inclusions à la source -> amenities vides.

# Fragilités

  • Dépend de la config publique source.immo lue sur la page d'accueil (config_path) : si le site WordPress change, plus de clés API.
  • API non documentée (entêtes x-si-*) ; le format des dictionnaires (city/region/subcategory) peut évoluer.
  • L'URL publique /propriete// est une route Angular (404 serveur) — inchangée pour garder les uid stables.

# Améliorations apportées

  • Fiches détaillées via self.detail(...) (cache BD, clé = hash JSON de l'item de liste) + plafond de 150 vraies requêtes/sync (avant : 40 fetchs directs à chaque sync).
  • Adresse avec code postal ; description enrichie (addendum + sdb) ; details.inclusions structurés avec négatifs (exclusions) ; details.floor.

# Échantillon avant/après

  • Avant : « 5453 Rue Saint-Urbain » — 2500 $, 5½, details {"inclusions": {"internet": true}, "appliances": {"fridge": true}} (électricité/chauffage/eau chaude exclus non signalés), pas d'étage, adresse sans code postal.
  • Après : « 5453 Rue Saint-Urbain, H2T 2W8 » — details {"inclusions": {"internet": true, "electricity": false, "heating": false, "hot_water": false}, "appliances": {"fridge": true}, "laundry": true, "storage": true, "floor": 1}, description enrichie (détails de l'appartement, services à proximité, 2 sdb).

# Lacunes génériques de normalisation observées

  • Aucune nouvelle propre à cette source (les champs exclusions sont traités structurellement dans le connecteur, comme prévu par l'architecture).