SPB Git

spb/lou-ka Public

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

HTML 99.7%
4.3 KB · 75 lines markdown
Rendered Raw Blame History
1# lokalia — Espaces Lokalia2- site: https://www.espaceslokalia.ca (AJAX `get_immeubles_map_data` + pages /immeuble/*)3- méthode: json-api + html4- annonces: 119 → 1275- couverture après (sur 127 annonces): prix 80%, adresse 100%, dispo 0%, superficie 0%, commodités 100%6- fixture: ok · test: ok78## Champs extraits9- AJAX WordPress (POST admin-ajax, région par région) : URL de chaque immeuble,10  ville par défaut, et désormais LAT/LNG STRUCTURÉS de la carte -> `lat`/`lng`11  sur 127/127 annonces (nouveau).12- Page immeuble :13  - adresse STRUCTURÉE : lien Google Maps sous le H1 (`.category-wrapper14    a.description`) — corrige les 6 adresses manquantes (regex de repli15    élargie : « 71 Rte 132, Delson » passait entre les mailles) -> 100 % ;16  - commodités : inclusions (icônes `div.icon-box[title]`) + accordéons17    « Équipements & sécurité » et « Aires communes » (items `<li>` :18    ascenseur, borne de recharge, chute à déchets, rangement ($),19    stationnement intérieur ($), terrasse au toit…) — nouveau ;20  - description : paragraphes réels de la fiche + « 151 unités • 5 étages » +21    promotion (« Jusqu'à 3 mois gratuits* + 500 $ de rabais… ») préfixée22    « Promotion : » (au lieu du seul og:description) ;23  - téléphone du bureau de location (lien `tel:`) -> `details.contact.phone` ;24  - grille « Prix et types d'unités » (.square-box) : les VARIANTES de types25    (« 4 1/2 + DEN », « 3 1/2 (électricité et garage non inclus) ») ont26    désormais leur propre annonce au lieu d'être avalées par la déduplication27    sur le type normalisé (+12 annonces, souvent avec un prix distinct) ;28  - photos (uploads WP, icônes filtrées), comme avant.2930## Champs indisponibles à la source31- DISPONIBILITÉ : jamais publiée (CTA « Inscription - Liste d'attente ») -> 0 %.32- SUPERFICIE : jamais publiée (ni grille, ni plans téléchargeables) -> 0 %.33- 25 annonces sans prix : immeubles « Projet à venir » ou types en liste34  d'attente sans prix affiché (rien d'inventé).35- Animaux, meublé : non exposés.3637## Fragilités38- Schéma d'external_id conservé (slug immeuble + type normalisé « -4.5 ») ;39  les variantes reçoivent un suffixe du libellé brut (« -4-1-2-den ») —40  additif, les ids existants ne bougent pas. NOTE : 4 ids historiques41  (« -6.5 », « -5 1/5 », « -Chambre », « -MDV ») ont été retirés/renommés par42  le sync : dérive PRÉEXISTANTE due à l'évolution de `normalize_unit_type`43  (les ids dépendent de la normalisation au moment de la création), pas au44  nouveau schéma.45- Le nom court de l'immeuble vient du H1 (« … - Le Dézie ») : certaines pages46  (Châteauguay) n'ont pas de nom après le tiret -> titre générique.47- L'endpoint AJAX est non documenté : s'il disparaît, tout le connecteur tombe48  (le test fixture le détecterait).4950## Améliorations apportées51- lat/lng (127/127), adresse 95 % -> 100 %, commodités enrichies (équipements52  + aires communes en plus des inclusions), description réelle + promotions,53  `details.contact.phone`, +12 annonces (variantes de types non dédupliquées54  à tort), regex d'adresse de repli élargie (« rte »).5556## Échantillon avant/après57- Avant : `Le Dézie — 4½ | 1749$ à partir de | pas de lat/lng | amenities =58  5 inclusions | desc = og:description | pas de contact | « 4 1/2 + DEN »59  (2295$) absent`60- Après : `Le Dézie — 4 1/2 | 1749$ à partir de | lat 46.8055 / lng -71.1833 |61  amenities = inclusions + ascenseur, borne de recharge, caméras, chute à62  déchets, rangement ($), stationnement intérieur ($), terrasses | desc =63  Promotion : Jusqu'à 3 mois gratuits… — Au cœur du Vieux-Lévis… — 151 unités64  • 5 étages | contact 866-411-0949 | + annonce « Le Dézie — 4 1/2 + DEN »65  (2295$)`6667## Lacunes génériques de normalisation (à traiter dans normalize.py, pas ici)68- « Espace de rangement ($) » / « Stationnement intérieur ($) » (payants)69  donnent `storage: true` / parking sans nuance « en option ».70- « Appareil de climatisation (Sans utilisation) » est classé `ac: true`71  la parenthèse restrictive n'est pas comprise.72- « 3 1/2 (électricité et garage non inclus) » : le « non inclus » de la73  parenthèse du TITRE n'influence pas `inclusions.electricity` (ici sans effet74  car l'immeuble ne liste pas l'électricité, mais motif à surveiller).75