Skip to content
# simard — Immeubles Simard
- 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.