Skip to content
# gimcote — GIM Côté inc.
- Carte liste (Houzez) : titre, adresse Nominatim (rue + secteur), statut (« Disponible dès maintenant »), type d'unité (titre puis étiquette /label/), prix (virgule = milliers), amenities de la carte, galerie complète (
data-images, URLs pleine taille).
- Fiche détail (nouveau, via
self.detail + cache BD) :
- description complète
#property-description-wrap (1200 c. — inclut le téléphone → details.contact.phone dérivé par finalize) ;
- caractéristiques
#property-features-wrap fusionnées aux amenities de la carte ;
- bloc « Détails » structuré (
strong/span) : Animaux (→ pets : « Chat opéré » → conditions, « Non » → non), Meublé (→ furnished bool), Fumeur (→ details.smoking), Stationnement (→ details.parking.available) ;
- lat/lng depuis le JSON de la carte Houzez (
"lat":"46.81…","lng":"-71.25…") — 85/85.
# Champs indisponibles à la source
- Superficie : quasi jamais publiée (2/85 via mention texte dans la description).
- Date précise de disponibilité : uniquement le statut « Disponible dès maintenant » / « Loué » (les loués sont exclus).
- « Chambre à couchée » / « Salle de bain » / « Étage(s) » exposés mais sans clé canonique
details (Étage(s) ambigu : étage de l'unité vs nombre d'étages — non retenu).
# Fragilités
- Thème Houzez : sélecteurs
#property-detail-wrap li strong/span, data-images — sensibles à un changement de thème.
- lat/lng extraits par regex du JSON embarqué de la carte — fragile si Houzez renomme les clés.
- L'adresse Nominatim est verbeuse ; le découpage par virgules reste heuristique.
# Améliorations apportées
- Ajout des fiches détail avec cache BD (
self.detail, clé = hash de la carte) + budget 150 vraies requêtes (compteur, exception au-delà → pas de cache pollué).
- Description 0 → 85/85 ;
pets 0 → 85/85 ; furnished 0 → 85/85 renseigné (bool) ; details.smoking/parking structurés ; lat/lng 0 → 85/85 ; contact téléphone dérivé.
# Échantillon avant/après
- Avant : « Beau studio 1 1/2, St-Roch, WIFI Libre » — 615 $, dispo now, description vide, pets NULL, details {internet, parking}.
- Après : même annonce — pets=non, furnished=oui, smoking=non, lat/lng 46.8171/-71.2568, description complète, inclusions {heating, electricity, hot_water, internet}.
- Après : « Superbe 4 1/2, rue Pie-X Lévis » — pets=conditions (« Chat opéré »), contact.phone 418-655-8281, lat/lng remplis.
# Lacunes génériques de normalisation observées
_PARKING_EXTRA_RE capture parfois « 0 $ » dans la description → parking.price: 0.0 peu utile.