SPB Git

spb/lou-ka Public

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

HTML 99.7%
3.9 KB

# app_urbains — Appartements Urbains

# Champs extraits

  • Menu / page projets : nom du projet + quartier (Montcalm, Limoilou, Ste-Foy, Loretteville, Lévis).
  • Page projet (micro-site WordPress/Oxygen, suivie via redirection 301) :
    • tableau « unités disponibles » : n° d'unité, type (3½…), prix, disponibilité (« Maintenant », « 1er juillet »), superficie (colonne « Superficie (pi²) », nouvelle extraction → texte brut « 915 pi² » dans amenities, finalize() dérive area_sqft) ;
    • adresse civique : en priorité la carte wpgb du projet lui-même (corrige Le Charlie qui héritait de l'adresse du Centre Vidéotron), sinon 1re adresse de la page ;
    • commodités : blocs « avantages » des deux générations de gabarits (.listing-avantages h4 pour Archipel/Quartier Cartier + span.ct-span pour Le Charlie) ;
    • téléphone du projet (lien tel: structuré, décodé) → details.contact.phone ;
    • description (og:description), photos (wp-content/uploads).

# Champs indisponibles à la source

  • Animaux/inclusions par unité : seulement au niveau projet, en texte libre (« Animaux permis-20lbs ») — dérivés par la normalisation centrale.
  • Disponibilité pour L'Archipel : le tableau n'a pas de colonne « Disponibilité » (les unités listées sont implicitement disponibles) — laissé vide, aucune valeur inventée.
  • Superficie du balcon, plan PDF, étage : affichés uniquement dans un visualiseur interactif JS (admin-ajax + nonce), non accessibles statiquement.
  • Le Zircon / Les Ormes / Quartier Cartier : « Aucune unité disponible » actuellement (0 annonce, normal).

# Fragilités

  • Chaque projet redirige (301) vers son propre micro-site (domaines différents) : la structure des tableaux varie (« Disponibilité … Superficie » vs « Type … Superficie »).
  • Sélecteurs Oxygen (c-full-width flex-row, .listing-avantages) propres au gabarit TactikMedia — cassables à la refonte.
  • La page liste imprime des warnings PHP dans le HTML (« Undefined variable $post ») — le parsing des noms de projets doit rester tolérant.
  • Le détail par unité (/unites/?_unite=N) est un viewer JS avec nonce WP : ne pas essayer de le scraper.
  • Le CPT WordPress unites est exposé via /wp-json/ mais sans champs ACF (acf: []) — inutilisable.

# Améliorations apportées

  • Superficie par unité extraite du tableau (0 % → 100 % de couverture area_sqft).
  • Adresse du projet corrigée (carte wpgb du projet prioritaire — Le Charlie passait de « 250 Bd Wilfrid-Hamel » à « 1385 Rue Monseigneur-Plessis »).
  • Commodités désormais extraites sur les micro-sites récents (.listing-avantages h4) : Archipel et autres passent de 0 à ~12 commodités.
  • Téléphone de contact (tel:) ajouté dans details.contact.phone.

# Échantillon avant/après

L'Archipel — unité 120 (1810 $, 4½)

  • avant : area_sqft=None, amenities=[], details={}, address=7070 Bd Guillaume-Couture, Lévis…
  • après : area_sqft=1241, amenities=["Béton pour une insonorisation optimale", "2 ascenseurs", "Chute à déchets", …, "1241 pi²"], details={"inclusions": {"heating": true}, "ac": true, "elevator": true, "balcony": true, "pool": true, "gym": true, "contact": {"phone": "418-717-2105"}}

Le Charlie — unité 504 (1630 $, 3½, dispo Maintenant)

  • avant : area_sqft=None, address=250 Bd Wilfrid-Hamel, Québec, QC G1L 5A7 (adresse du Centre Vidéotron !)
  • après : area_sqft=915, address=1385 Rue Monseigneur-Plessis, Québec, QC, details enrichi de "contact": {"phone": "418-717-2105"}