Skip to content
# promenade_des_forts — Promenade des Forts (Groupe immobilier Brochu)
- site: https://www.promenadedesforts.com (/projets/phase-1/ et /projets/phase-2/ → pages d'étages → fiches d'unités)
- méthode: html (WordPress rendu serveur ; statut par classe
disponible/loue sur les liens du plan SVG de chaque étage)
- annonces: 2 (2 phases x 6 étages ; le taux d'occupation est élevé — les unités louées sont exclues à la source)
- couverture (sur 2 annonces): prix 100%, adresse 100%, dispo 100%, superficie 100%, commodités 100%, images 100% (GPS non publié)
- fixture: ok (16 requêtes) · test: ok
- Fiche d'unité : numéro et étage (URL + en-têtes), modèle (« Phase 2 - Modèle 9 »), grandeur (« 4 ½ », « 4 ½ Bureau » → 4½), superficie totale (« 960 pi² » → area_sqft), prix avec date (« disponible 1er septembre 2026 à 1485 $ » → price 1485 + availability_date 2026-09-01 via finalize), spécifications (stationnement intérieur inclus, ascenseur, eau chaude fournie, air climatisé, îlot central…) → inclusions/ac/elevator/parking dérivés.
- availability : le libellé de prix complet quand il contient la date (« disponible 1er juillet 2026 à 1945 $ »), sinon le statut de la fiche — la date passée devient correctement « now ».
- address : « 6275 et 6375, Boulevard Étienne-Dallaire, Levis » (pied de page, présent sur chaque fiche).
- details.contact : téléphone (581-748-6123) + courriel (info@promenadedesforts.com) des liens tel:/mailto:.
- images : plan de l'unité (colonne de droite de la fiche) ; fiche PDF du modèle dans la description.
- external_id :
phase-N-unite-NNN (slug d'URL de la source, stable).
- Double garde-fou : une unité marquée « disponible » sur le plan d'étage mais « Loué » sur sa fiche est rejetée (span.disponible exigé sur la fiche).
# Champs indisponibles à la source
- lat/lng : non publiés (le géocodeur prend le relais sur l'adresse civique).
- Animaux, meublé : non publiés.
- Répartition 6275 vs 6375 par phase : le site n'associe pas un numéro civique à chaque phase — l'adresse double du pied de page est conservée telle quelle.
# Fragilités
- ⚠️ Le site renvoie 403 sans User-Agent navigateur — le UA par défaut de BaseConnector (Chrome/126 + LouKaBot) passe.
- Le statut repose sur les classes
disponible/loue des <a> du plan SVG : un changement de gabarit WordPress casserait la détection.
- ~15 requêtes par sync (2 pages de phases + 12 étages + fiches des unités libres) ; pas de cache détail — avec si peu d'unités libres, les fiches sont revisitées à chaque sync pour capter les changements de prix/date.
- Les étages sont découverts dynamiquement depuis les pages de phases (plafond max_floor_pages=20) : une phase 3 future serait couverte si elle suit le même schéma d'URL.
# Échantillon
- Phase 1 — unité 607 (5½, étage 6) : « disponible 1er juillet 2026 à 1945 $ » → 1945 $, date passée → now, 1233 pi².
- Phase 2 — unité 101 (4½, étage 1) : « disponible 1er septembre 2026 à 1485 $ » → 1485 $, 2026-09-01, 960 pi², modèle 9, 5 spécifications, plan JPG + PDF.