# desmarais — Immeubles Desmarais (Outaouais : Gatineau, Hull, Aylmer, Buckingham) - site: https://www.immeublesdesmarais.ca/logements - méthode: html rendu côté serveur (PHP custom, ISO-8859-1) + fiches détail via `self.detail()` (cache BD) - annonces: 14 (2 pages, pagination `?entity=logements&page=N`) - couverture (sur 14 annonces): prix 100 %, adresse civique 100 %, chambres 100 %, superficie 100 %, dispo 100 %, description 100 %, images 100 % - fixture: ok (31 requêtes) · test: ok (2 verts) ## Champs extraits - **Cartes de la liste** (`div.infoLogement`) : titre (nom d'immeuble ou adresse), secteur « Hull (Québec) J8X 4G9 », nombre de chambres (`bach` = garçonnière → Studio), superficie (pi²), type d'immeuble (Appartement/Condo/Maison → `details.building_type`), prix « À partir de 1 710,00$ / mois » (borne basse, `price_from` posé par la normalisation). - **Adresse civique + lien canonique** : le script de la carte Google (`showAddress(map, '', '…/logements//…')`) publie l'adresse complète avec code postal et l'URL stable de chaque fiche — croisé par id numérique. - `external_id` **stable** = id numérique interne (`/logements/9/…`, `details.php?id=9`). - **Ville/secteur** : le site classe par secteurs Gatineau/Hull/Aylmer/Buckingham → ville = Gatineau, secteur = le libellé source (vide pour « Gatineau »). - **Fiche détail** (cache BD, plafond `max_details=20`) : « Date de disponibilité : août 2026 » → ISO/now par la normalisation, description complète (promotions, inclusions, animaux — exploitée par textmine) et galerie `/upload/logements//NN.jpg` (plafond 20 images). - Les locaux commerciaux vivent sous l'entité distincte `/locaux` : jamais ramassés ; garde-fou supplémentaire sur `building_type` commercial. ## Champs indisponibles à la source - lat/lng : la carte géocode côté client (adresses seulement dans le HTML) → géocodeur Lou-Ka via l'adresse. - Salles de bain, meublé, animaux : pas de champ structuré (textmine les déduit de la description). - Commodités structurées : tout est en prose dans la description. ## Fragilités - **Encodage ISO-8859-1** (meta charset) : `resp.encoding = "iso-8859-1"` forcé, sinon mojibake. - Fins de ligne CR brutes dans le HTML : parsing via BeautifulSoup, aucun traitement par ligne. - L'adresse `showAddress` mélange parfois ville/code postal (« 215 Rue de Canadel Gatineau, Québec J8T 8C3, J8T 8C3 ») : seule la partie civique est conservée, la ville normalisée est réattachée. - Pas de robots.txt (404) : politesse par défaut (1 s). ## Échantillon - `desmarais:9 | Le St-Laurent (100-110 Dollard-des-Ormeaux) | Gatineau / Hull | 4½ | À partir de 1 710,00$ / mois → 1 710 $ | août 2026 → now | 1 050 pi² | 20 photos | 110 Dollard-des-Ormeaux, Gatineau` - `desmarais:13 | 9 Étienne-Brûlé | Gatineau / Hull | Studio (bach) | 925 $ | 500 pi²` - `desmarais:17 | Cité des Jeunes (3 1/2) | Gatineau / Hull | 3½ | 1 050 $ | octobre 2026 → 2026-10-01 | 294 boul. de la cité des jeunes`