SPB Git

spb/lou-ka Public

Lou·Ka — tous les logements à louer du Québec, un seul endroit.

HTML 99.7%
2.6 KB

# ferrovia — Ferrovia (ferroviamirabel.com)

  • site: https://www.ferroviamirabel.com (WordPress + wpDataTables rendues côté serveur ; projet de condos locatifs neufs à Mirabel, secteur Saint-Janvier, 4 phases)
  • méthode: html — 3 requêtes par sync (pages « Disponibilités » phases 1, 3 et 4 ; la phase 2 est « à venir », sans page)
  • annonces: 23 (phase 3 ×1 « ÉTÉ 2026 », phase 4 ×22 « Automne 2026 » ; les lignes « Loué » — la quasi-totalité des phases 1 et 3 — sont filtrées)
  • couverture (sur 23): type 100 %, superficie 100 %, dispo 100 %, ville/secteur 100 %, étage/modèle 100 %, plan PDF ~87 % — prix 0 % : la colonne PRIX existe mais est vide sur le site (jamais inventé)
  • fixture: ok (3 requêtes) · test: ok (2 verts) · sync: 23 ajoutées

# Champs extraits

  • <table.wpDataTable> de chaque page phase, colonnes repérées par leur en-tête (wdt_ID, UNITÉ, MODÈLE, ÉTAGE, PIÈCES, SUPERFICIE p.c., SALLE D'EAU SUPP., DISPONIBILITÉ, PRIX, STATUT, PLAN) :
    • STATUT ≠ « Disponible » → ligne ignorée (Loué) ;
    • external_id = phase<N>-<unité> (ex. phase4-101) ;
    • PIÈCES (« 4 1/2 ») → unit_type (fullmatch, lignes non résidentielles ignorées) ; SUPERFICIE → area_sqft ; DISPONIBILITÉ (« Automne 2026 ») → availability ; MODÈLE/ÉTAGE → details ; lien PDF de la colonne PLAN → details.plan_pdf ; « SALLE D'EAU SUPP. = OUI » → commodité.
  • Note du site reprise fidèlement : « les logements sont non-fumeurs et les animaux ne sont pas admis » → pets="non", details.smoking=false, et phrase en description.
  • Ville/secteur : Mirabel / Saint-Janvier (énoncé en tête de chaque page ; aucune adresse civique publiée sur les pages disponibilités).

# Champs indisponibles à la source

  • Prix (colonne vide à ce jour — le connecteur les remontera dès qu'ils seront saisis), adresse civique, photos par unité (la page « photos des unités » est générique, non associée), GPS.

# Fragilités

  • wpDataTables sert ici le HTML complet dans la page ; si le site passait au chargement AJAX (option du plugin), la table serait vide (test fixture).
  • Les en-têtes de colonnes sont mappés par mot-clé : un renommage majeur (« PIÈCES » → autre) casserait proprement.
  • Livraisons « Automne 2026 » : parse_availability_date ne sait pas convertir une saison — availability_date restera nulle, le texte brut est conservé.

# Échantillon

  • phase4-101 : 4½ modèle F, 1er étage, 1200 pi², salle d'eau supp., dispo Automne 2026, plan PDF.
  • phase3-603 : 3½ modèle E', 6e étage, 950 pi², dispo ÉTÉ 2026.