SPB Git

spb/lou-ka Public

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

HTML 99.7%
3.7 KB

# leclif — Le Clif (condos locatifs, Charlesbourg)

  • site: https://leclif.ca/
  • méthode: html (mono-page : 151 overlays d'unités, script jQuery marque les louées)
  • annonces: 9 → 9
  • couverture après (sur 9 annonces): prix 100%, adresse 100%, dispo 100%, superficie 100%, commodités 100%
  • fixture: ok · test: ok (2 passed)

# Champs extraits

  • Par unité (overlay) : numéro, prix « À partir de NNN (incluant électros) $ / mois », disponibilité (« Disponibilité : octobre »), type (5½…), modèle, superficie → area_sqft structuré (champ étiqueté « Superficie : », distinct de « Terrasse : »), terrasse (description), aperçu du plan (jpg) + plan PDF.
  • Immeuble (nouveau) : liste des avantages ul.liste-icones → 15 commodités réelles (eau chaude fournie, internet inclus, air climatisé inclus, piscine extérieure chauffée, gym tout équipé, salle commune, golf virtuel, terrasse sur le toit, rangements vélos $, stationnements int/ext $, borne électrique $, feux de camp…).
  • pets="conditions" structuré (nouveau) : l'item « Chiens et chats acceptés » porte une infobulle détaillant les conditions (chiens selon étage/poids <50 lb, deux chats max) → libellé « (sous conditions) » + champ pets explicite.
  • lat/lng (nouveau) : extraits du lien Google Maps de la page (!3d46.8934679!4d-71.2986717).
  • Adresse complétée du code postal G1G 0L1 (affiché sur la page).

# Champs indisponibles à la source

  • Meublé : non mentionné.
  • Étage de l'unité : non affiché (déductible du numéro mais ce serait une inférence — non faite).
  • Chauffage inclus/exclu : jamais énoncé explicitement (voir lacune générique ci-dessous).

# Fragilités

  • Les unités louées sont détectées via le script inline jQuery('.unite-N').addClass('non-dispo') — fragile si le thème change.
  • Les électroménagers sont « moyennant des frais mensuels » au niveau immeuble mais « incluant électros » dans le prix de certaines unités : ambigu à la source.
  • L'infobulle animaux est le seul endroit où les conditions apparaissent (sélecteur .is-description).

# Améliorations apportées

  • Bug corrigé : area_sqft prenait la superficie de la terrasse (min des superficies de la description : 176 pi² < 1156 pi²). Champ « Superficie : » désormais parsé en structuré → 100 % correct.
  • Commodités : de 0 (amenities=[] sur 9/9) à 15 items réels → details passe de {balcony, price_from} à {inclusions{hot_water,internet}, appliances, ac, pool, gym, storage, parking{type,included:false}, pets}.
  • pets="conditions" structuré (avant : None).
  • lat/lng de l'immeuble (avant : géocodage).
  • Code postal ajouté à l'adresse.

# Échantillon avant/après

Le Clif — Unité 115 (5½) (2366 $, octobre)

  • avant : area_sqft=176 (terrasse !), pets=None, amenities=[], details={"balcony":true,"price_from":true}, lat/lng absents
  • après : area_sqft=1156, pets=conditions, amenities=15 items, details={"inclusions":{"hot_water":true,"internet":true,…},"ac":true,"pool":true,"gym":true,"storage":true,"parking":{"available":true,"type":"intérieur et extérieur","included":false},"pets":"conditions","price_from":true}, lat=46.8934679/lng=-71.2986717

# Lacunes génériques de normalisation détectées

  • « Piscine extérieure chauffée » déclenche inclusions.heating=true (motif chauffe[e]? trop large — même famille que le faux négatif « stationnement non chauffé » vu sur laberge). Le motif chauffage devrait ignorer piscine/stationnement/garage chauffés.
  • « Cinq électroménagers (moyennant des frais mensuels) » n'est pas neutralisé par _NEUTRAL_RE (qui couvre « sur demande / en option / $ ») → appliances.fridge=true dérivé alors que c'est une option payante.