Skip to content
# 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).
- 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).