# simard — Immeubles Simard - site: https://immeublessimard.com/a-louer/categorie/appartement/ (+ fiches /a-louer/appartement///) - méthode: html - annonces: 5 → 5 - couverture après (sur 5 annonces): prix 40%, adresse 20%, dispo 100%, superficie 20%, commodités 60% - fixture: ok · test: ok ## Champs extraits - Cartes liste : titre, secteur (badge), puces descriptives, photo. - Fiches détail (nouveau, via cache BD self.detail) : - **bloc specs étiqueté** `#infos ul` : « Nombre de pièces : 4½ » → unit_type, « Prix : $1975 » → prix + price_label exacts (fini le scan du body entier), « Superficie : 902 pi2 » → area_sqft via finalize, « Disponibilité : 1 novembre 2026 » → availability propre ; - statut d'entête (« Disponible ») en repli de disponibilité ; - **« Caractéristiques et inclusions »** → amenities réelles (Chauffage inclus, Gym, Interphone, Non-fumeur, Hauteur des plafonds…) au lieu d'un fragment regex « Incluant … » ; - **description complète** (paragraphes sous « Description ») au lieu du og:description ; - **contact structuré** du bloc « Location : » (liens tel:/mailto:) → details.contact (4/5 fiches) ; - galerie complète (variantes redimensionnées dédupliquées). - Adresse : les titres qui SONT une adresse civique (« 1276-24 Chanoine-Morel ») sont repris en adresse ; les autres fiches n'en publient aucune. ## Champs indisponibles à la source - Adresse civique : absente des fiches Trilogia/Arboris/Faubourg (seul le nom de projet + secteur est publié). - lat/lng : aucune coordonnée (le lien Google Maps du header pointe le bureau de l'agence). - Animaux, meublé, étage : jamais mentionnés. - Prix : « Prix sur demande » sur 3 fiches (projets en pré-location Arboris 2027, Trilogia phase 2 2027, Faubourg) — aucun montant à extraire. ## Fragilités - Le champ « Superficie » du site contient parfois un type d'unité (« Superficie : 4 ½ » sur la fiche Faubourg) — géré : ajouté aux commodités seulement si une unité de surface est présente, sinon utilisé en repli de unit_type. - 3 des 5 « annonces » sont des pages de projet (pré-location) plutôt que des unités : peu de champs à extraire, c'est la réalité de la source. - Cache détail calé sur titre+puces de la carte (version v3 dans la clé) : une modification du prix sur la fiche seule (sans changement de carte) ne re-déclenche pas le fetch. ## Améliorations apportées - Prix depuis le champ étiqueté du bloc specs (avant : regex sur tout le body avec neutralisation manuelle du « Stationnement; $90.00 » — conservée en repli seulement, sur la description). - Superficie 0 % → extraite quand publiée (902 pi² Trilogia 402). - Amenities 40 % → 60 % : vraie liste « Caractéristiques et inclusions » (les 2 fiches restantes n'en publient pas). - Contact structuré (details.contact) 0/5 → 4/5. - Description complète (cap 1200) — le téléphone en fin de description est maintenant capté par finalize pour la 5e fiche. - Pages détail via self.detail() (cache BD, plafond max_details=60) au lieu d'un GET par fiche à chaque sync. ## Échantillon avant/après - Trilogia- 402 — avant : prix 1975 (scan body), dispo « Disponibilité : 1 novembre 2026 », superficie NULL, amenities regex « chauffage, climatisation, électricité… » ; après : prix 1975 (« $1975 » étiqueté), superficie 902 pi², amenities réelles (Chauffage inclus, Électricité incluse, Gym, Immeuble sécurisé, Interphone, Non-fumeur…), smoking false, contact 418-948-1224. - Arboris – Grande Allée Ouest — avant : aucun détail ; après : dispo « Automne 2027 », contact structuré (418-527-7700, arboris@immeublessimard.com). - 1276-24 Chanoine-Morel — avant : adresse vide ; après : adresse « 1276-24 Chanoine-Morel » (titre civique), parking intérieur, buanderie, rangement, smoking false.