SPB Git

spb/lou-ka Public

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

HTML 99.7%
3.0 KB

# gestion_fauvel — Gestion Fauvel

  • site: https://gestionfauvel.com (WordPress + Elementor + JetEngine)
  • méthode: html plat — grille JetEngine de /logements-a-louer/ (1 requête) + fiches détail Elementor (cache BD)
  • annonces: 11 (l'immeuble « Grands-Ducs » marqué COMPLET! est exclu)
  • couverture (sur 11 annonces): prix 91%, adresse 91%, dispo 100%, type 91%, images 100%, ville 100%, description 100% — superficie/GPS jamais publiés
  • fixture: ok (12 requêtes) · test: ok (2 verts)

# Champs extraits

  • Grille .jet-listing-grid__item de la page liste :
    • data-post-id (id de post WordPress) → external_id stable ;
    • data-url de l'overlay JetEngine → URL de la fiche ;
    • en-têtes .elementor-heading-title de la carte : le dernier = titre (« Littera – 4 ½ »), celui qui contient $ = price_label (« à partir de 1475$/mois »), le reste concaténé = availability (« Disponible à partir du 1er juillet 2026 ») ;
    • .jet-listing-dynamic-terms = ville réelle (taxonomie JetEngine) : Drummondville, Saint-Léonard-d'Aston, Notre-Dame-du-Bon-Conseil ;
    • vignette de la carte → image de secours.
  • unit_type = normalize_unit_type(titre), gardé seulement si le résultat est un format d'unité (« Carré Degranpré – Condos locatifs » → type vide).
  • Fiche détail (via self.detail, cache BD, budget 25) :
    • adresse civique = h3 d'en-tête qui matche une regex rue/boul/rang… (« 555, rue des Écoles, app. 105 Drummondville ») ;
    • description = blocs après le h2 « Description » jusqu'au h2 suivant : liste des unités dispo (#315: 3½ type B, 1275$/mois…) + inclusions (câble/internet Cogeco, eau chaude, stationnement, animaux…) — textmine structure tout ça au finalize() ;
    • photos = liens pleine taille du carrousel Elementor (jusqu'à 30).

# Champs indisponibles à la source

  • Superficie, GPS, commodités structurées : jamais publiés (les inclusions restent en texte dans la description).
  • Le « prix » de la carte est celui d'une unité type : plusieurs unités par fiche avec des prix différents (détaillés dans la description).
  • Carré Degranpré (2499) : projet de condos locatifs sans prix ni adresse publiés sur la carte (page de projet).

# Fragilités

  • La classification des en-têtes de carte est positionnelle (titre = dernier en-tête, prix = celui avec $) : un remaniement du gabarit JetEngine casserait le tri — le test de fixture le détecterait.
  • L'exclusion COMPLET!/commercial repose sur des mots-clés dans le titre et la disponibilité.
  • L'adresse vient d'une regex sur les h3 de la fiche : un immeuble sans h3 d'adresse (ex. Carré Degranpré) reste sans adresse (jamais deviné).

# Échantillon

  • 1288 : Littera – 4 ½, 1600$/mois, disponible maintenant, 555 rue des Écoles app. 105, Drummondville, 12 photos.
  • 3082 : 100 Boisbriand – 5 ½, à partir de 1650$/mois, 1er juillet 2026, 100 rue de Boisbriand, Drummondville.
  • 2873 : Le Zéa – 5 ½, 1595$/mois, disponible maintenant, 762 9e rang, Saint-Léonard-d'Aston, 28 photos.