# 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 `` 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`).