SPB Git

spb/lou-ka Public

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

HTML 99.7%
3.1 KB

# lachance — Les Entreprises Lachance

  • site: https://lachance.qc.ca/logements-a-louer (Craft CMS + SEOmatic)
  • méthode: sitemap sectionnel forRentBuildingEntry (découverte) + HTML statique
  • annonces: 82 (78 pages immeuble parcourues ; unités « Loué » exclues)
  • couverture (sur 82 annonces): prix 100%, dispo 100%, superficie 100%, type 100%, images 100%, description 100% (via cache cumulatif), ville 100%
  • fixture: ok (119 requêtes) · test: ok (2 verts)

# Découverte

  • robots.txt : seul /cpresources, /vendor, /.env, /cache bloqués — pages louage permises (meta robots all). Vérifié avant construction.
  • Le sitemap sitemaps-1-section-forRentBuildingEntry-1-sitemap.xml liste les 78 pages immeuble (les <loc> PDF de fiches sont ignorés). Chaque page immeuble affiche TOUTES ses unités en cartes a.card-for-rent — y compris les « Loué » (sautées) et les libérations futures (gardées, avec date).

# Champs extraits

  • prix : h4 de la carte ; les promos affichent le prix régulier barré (text-decoration-line-through) + le prix courant en rouge — on prend le prix courant, price_label garde le texte affiché (« 1 025$ 940$ »).
  • availability : bandeau .available-notice (« Dès maintenant », « 1 septembre 2026 », « 18 décembre 2026 » pour les libérations futures).
  • address/city/sector : h3 de la carte « 1331, rue Quatre-Saisons, Sherbrooke (Fleurimont) » ; dernière portion = ville (secteur) — les numéros d'unité résiduels (« #105 Sherbrooke », « Orford #1300 ») sont nettoyés ; « East-Angus » -> « East Angus ». Villes réelles : Sherbrooke (57), East Angus (13), Orford (5), Waterville (4), Magog (3).
  • area_sqft / chambres / sdb : pied de carte, identifiés par la classe de l'icône SVG (building = pi², bed, bath) — chambres/sdb en commodités.
  • unit_type : bandeau h3.size-title de la carte (« 4 ½ », « Studio »).
  • étage : libellé structuré « Étage: … » de la carte -> commodités.
  • description : fiche unité, bloc .text-editor (inclusions, animaux — « Pas de chien / Bienvenue à votre chat » —, stationnements… le textmine central en tire les champs dérivés).
  • images : carte (1 photo) puis fiche unité img.img-swiper (galerie complète, chemin /a-louer/, jusqu'à 30).

# Fiches détail

  • via self.detail() (cache BD), clé = sha1(prix|dispo|type) ; budget max_details = 40 vraies requêtes par synchronisation : la couverture des descriptions se complète en 2-3 syncs puis reste servie par le cache.

# Champs indisponibles à la source

  • Animaux/meublé structurés : seulement en texte libre dans la description.
  • lat/lng : aucune coordonnée embarquée (géocodeur central sur l'adresse).

# Fragilités

  • ~79 requêtes de liste par sync (1 par immeuble) — ~2 min avec politesse 0,6 s.
  • Le slug du sitemap change si l'immeuble est renommé (external_id = slug d'unité, stable tant que l'URL l'est ; Craft ajoute des suffixes « -2 » aux doublons).
  • Les prix promo dépendent des classes utilitaires Bootstrap du thème (text-decoration-line-through).