SPB Git

spb/lou-ka Public

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

HTML 99.7%
4.1 KB · 45 lines markdown
Rendered Raw Blame History
1# brivia_1sp — 1 Square Phillips (Groupe Brivia)2- site: https://www.1squarephillips.ca/locatif (+ /galerie + API AJAX /2022/php/ajax_load_plans_*.php)3- méthode: html + json-api (POST AJAX des plans, phase=rental)4- annonces: 3 → 3 (une par typologie, uid stables : 1sp-studio / 1sp-1-chambre / 1sp-2-chambres)5- couverture après (sur 3 annonces): prix 100%, adresse 100%, dispo 100%, superficie 67% (studio : aucune unité dispo), commodités 100%6- fixture: ok · test: ok (42 requêtes rejouées, POST inclus)78## Champs extraits9- title, unit_type, price/price_label (« à partir de X $/mois ») : cartes typologie `ul.grid3cols` de /locatif10- availability : NOUVEAU — nombre réel d'unités disponibles (« 10 unités disponibles ») compté via l'API AJAX des plans (unités `onsale` de chaque étage, phase rental) ; texte générique conservé si aucune unité11- area_sqft : NOUVEAU — superficie structurée (pi²) de la plus petite unité disponible de la typologie (cohérent avec le prix « à partir de »), lue dans `ajax_load_plans_unit.php`12- description : intro « tout inclus » + NOUVEAU liste des unités disponibles avec superficie et balcon (ex. « unité 709 (637 pi² + balcon 97 pi²) »)13- amenities : NOUVEAU — vraies caractéristiques de l'immeuble scrapées de la section `.features` (parc canin, débarcadère, hammam, piscine/sauna, salles cardio/musculation/yoga, cotravail, cinéma, stationnement souterrain…) + inclusions de l'intro ; l'ancienne liste codée en dur ne sert plus que de repli14- details.contact : NOUVEAU — téléphone et courriel structurés (liens `tel:` / `mailto:` du pied de page)15- address : NOUVEAU — code postal ajouté (1205, rue du Square-Phillips, Montréal, QC H3B 3C9)16- images : perspectives + galerie + NOUVEAU plans PNG des unités disponibles1718## Champs indisponibles à la source19- Prix par unité (uniquement « à partir de » par typologie)20- Date de disponibilité par unité (statut disponible/loué seulement)21- Politique animaux explicite (le « parc canin » suggère pet-friendly mais rien d'affirmé — non inventé), meublé, étage de chaque annonce (typologie multi-étages)2223## Fragilités24- L'inventaire passe par des POST `ajax_load_*.php` non documentés (thème maison) : ~21 requêtes/sync (sélecteur + 20 étages) + 1 fiche par nouvelle unité (cache BD `self.detail`, clé fixe car les fiches plan sont immuables) — plafond 150 fiches25- Le statut « onsale » est porté par une classe CSS dans du SVG (`class="unit onsale"`) — regex fragile si le générateur SVG change26- Les 3 cartes typologie de /locatif restent la source des prix : si la mise en page `ul.grid3cols` change, les annonces disparaissent27- La détection `onsale` est indépendante du paramètre `type` envoyé à l'API (vérifié) ; seule la légende en dépend2829## Améliorations apportées30- Découverte et exploitation de l'API AJAX des plans (inventaire unité par unité) : disponibilités réelles comptées, superficies structurées, plans en images31- Amenities réelles scrapées au lieu d'une liste codée en dur32- Contact structuré (tel:/mailto:), adresse avec code postal33- POST throttlé (`_post_json`) réutilisant la session (fixtures rejouables), cache BD des fiches unité3435## Échantillon avant/après36**1 Chambre locatif** — avant :37`2040.0 | 3½ | Disponible (tour locative en location) | now | area=∅ | pets=∅ | {"inclusions": {...}, "appliances": {"fridge": true}, "ac": true, "balcony": true, "pool": true, "gym": true, "parking": {...}, "price_from": true}`38après :39`2040.0 | 3½ | 10 unités disponibles | now | area=598.0 | pets=∅ | {"inclusions": {heating, electricity, hot_water, internet}, "appliances": {"fridge": true}, "ac": true, "elevator": true, "balcony": true, "pool": true, "gym": true, "price_from": true, "contact": {"phone": "514-617-9999", "email": "location@1squarephillips.ca"}}` + description listant les 10 unités avec pi²4041**2 Chambres locatif** — avant :42`2750.0 | 4½ | Disponible (tour locative en location) | now | area=∅ | pets=∅ | {...}`43après :44`2750.0 | 4½ | 9 unités disponibles | now | area=853.0 | pets=∅ | {... , "contact": {...}}` + unités listées (ex. unité 310 (1405 pi²))45