SPB Git

spb/lou-ka Public

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

HTML 99.7%
4.2 KB · 42 lines markdown
Rendered Raw Blame History
1# plan_a — Plan A Immobilier2- site: https://plan-a.ca/plan-a-appartements-et-condos-a-louer/ (fiches /project/<slug>/)3- méthode: html4- annonces: 9 → 9 (granularité = 1 annonce par complexe, prix plancher ; projets Saguenay/Sherbrooke exclus)5- couverture après (sur 9 annonces): prix 100%, adresse 100%, dispo 100%, superficie 0%, commodités 100%6- fixture: ok · test: ok78## Champs extraits9- Cartes-projets : JSON `data-filters-item` (ville, budget-min), adresse, prix "À partir de", types, disponibilité, carrousel d'images (inchangé).10- Fiches projets :11  - **Commodités des unités (nouveau)** : section `.c-feature` ("Comptoir de quartz", "Électroménagers (5) inclus", "Thermopompe murale", "Balcon privé", "Un animal de 10 livres et moins est permis"…).12  - **Services de l'immeuble (nouveau)** : liste à puces sous "SERVICES DANS L'IMMEUBLE" ("Ascenseurs", "Stationnements intérieurs ($)", "Espaces de rangements ($)"…).13  - **Atouts (nouveau)** : titres du carrousel `.c-cell_title h4` ("Centre fitness", "Piscine"…).14  - Types d'unités complets (`.c-info_unit` : 3½/4½/5½), description (og:description), disponibilité "Prochaine disponibilité + x/y unités", quartier (section QUARTIER).15  - **Galerie (nouveau)** : photos wp-content de la fiche ajoutées aux images de la carte (cap 20).16- Dérivés par finalize() : ascenseur, balcon, piscine, gym, rangement, ac (thermopompe), stationnement intérieur/extérieur, lave-vaisselle, entrée laveuse-sécheuse, price_from.1718## Champs indisponibles à la source19- Superficie : non affichée (ni par projet ni par type).20- Prix/dispo par unité : la page publique n'expose que le prix plancher et le compte d'unités disponibles ; pas d'API des unités individuelles (vérifié : pas de wp-json custom, pas d'iframe de disponibilités).21- lat/lng : non exposés (seulement un lien google.com/maps?q=<adresse>).22- pets structuré : seulement en texte libre ("Un animal de 10 livres et moins est permis").2324## Fragilités25- Disponibilité extraite par regex sur le texte aplati ("Prochaine disponibilité … Unités").26- Thème sur mesure (classes c-card/c-feature/c-cell) — refonte graphique = maintenance.27- La liste des sous-titres de carte sert à la fois d'adresse et de prix (ordre positionnel).2829## Améliorations apportées30- **Cache `self.detail(...)`** : les 9 fiches projets ne sont re-téléchargées que si la carte change (clé = sha1 de prix|dispo|types|adresse) ; sync sans changement : 25 s → 2,4 s ; plafond `max_details=20` vraies requêtes (compteur dans fetch_fn).31- Commodités : de 0% à 100% (3 sections extraites), d'où des details riches (avant : quasi vides).32- Types d'unités complets depuis la fiche, galerie enrichie.33- 2026-08-08 — Expansion provinciale (lot 0) : `sherbrooke` ajouté à `ALLOWED_CITIES`. +1 annonce : Complexe du Parc (85 Rue Bowen N, Sherbrooke — 1½ à 4½, à partir de 590 $/mois, 29/196 unités disponibles). Saguenay (District Jonquière, disponible sur le site) reste exclu — prévu au lot Est & Nord du plan d'expansion. 9 → 10 annonces. Fixture réenregistrée, 2 tests verts.3435## Échantillon avant/après36- Avant : `ELORA | 1720 | 3½ | Disponible maintenant (79 / 185 unités) | amenities=[] | details={"price_from": true}`37- Après : `ELORA | 1720 | 3½ | Disponible maintenant (79 / 185 unités) | amenities=["Comptoir de quartz et dosseret de quartz", "Électroménagers (5) inclus dans toutes les unités", …, "Ascenseurs", "Stationnements intérieurs ($)"] | details={"appliances": {"fridge": true}, "ac": true, "elevator": true, "balcony": true, "gym": true, "storage": true, "parking": {"available": true, "type": "intérieur"}, "price_from": true}`3839## Notes de normalisation (génériques)40- "**Un animal de 10 livres et moins est permis**" (singulier "animal") ne matche aucun motif pets (`_PETS_*_RE` n'acceptent que "animaux/chats/chiens") → pets=None alors que la source l'affiche. Ajouter le singulier "animal … permis" profiterait à toutes les sources.41- `unit_type` du schéma est mono-valeur : "3½, 4½, 5½" est réduit à "3½" par normalize_unit_type — cohérent avec le prix plancher, mais l'éventail des types du complexe est perdu (visible seulement dans la fixture/le titre).42