SPB Git

spb/lou-ka Public

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

HTML 99.7%
3.5 KB · 36 lines markdown
Rendered Raw Blame History
1# hazelview — Hazelview Properties (ex-Timbercreek)2- site: https://www.hazelviewproperties.com/ (API RentSync/LiftSystem https://lift-api.rentsync.com/v2, client_id 497)3- méthode: json-api + pages immeuble html (JSON embarqué)4- annonces: 6 → 65- couverture après (sur 6 annonces): prix 100%, adresse 100%, dispo 100%, superficie 83%, commodités 100%6- fixture: ok · test: ok78## Champs extraits9- API `/v2/search` (par ville QC × nombre de chambres) : nom, adresse + code postal, loyer min/max, stats superficie, nb d'unités dispo, description (overview), lat/lng, statut de disponibilité.10- Nouveaux champs structurés de l'API : **pets** (`pet_friendly` bool → oui/non), **contact de location** (`contact.phone`/`email` par immeuble → `details.contact`, relais de tracking leadmanaging exclus), **area_sqft** (stats `square_feet.min` du type quand > 0).11- Page immeuble du site (nouveau, via `self.detail` + cache BD, 1 requête par immeuble) — JSON complet embarqué dans `data-locations` du widget carte :12  - **commodités réelles** (liste `Amenities`, 30/immeuble : Air conditioner, Elevators, Laundry facilities, No smoking allowed… → inclusions/`smoking` dérivés par finalize) — avant : `details.features` de l'API, vide (amenities 0/6) ;13  - **galerie photos** (13-15 images par immeuble au lieu d'une seule) ;14  - **animaux détaillés** (`pets_small_dogs`/`pets_large_dogs`/`pets_cats`/`pets_not_allowed` → oui/non/**conditions** si certains types refusés) ;15  - **suites du type demandé** : superficie par unité (`sq_ft`, min des unités disponibles), date de disponibilité précise si toutes publiées, meublé si toutes les unités le sont.1617## Champs indisponibles à la source18- Superficie : 1 immeuble (1405 Bishop) ne publie aucun `sq_ft` (ni stats ni suites).19- Dates précises : `availability_date` des suites presque toujours « 0000-00-00 » (= disponible maintenant) ; le libellé « Available Now » reste la source.20- `Utilities` (inclusions) : null sur les immeubles QC actuels.2122## Fragilités23- Jeton public `auth_token` embarqué dans le JS du site : peut tourner.24- Le portefeuille QC ne compte plus qu'une ville active (Montréal, 3 immeubles) — les autres villes du mapping (`Verdun`, `Longueuil`…) n'ont plus de propriétés actives.25- Le JSON `data-locations` est un attribut HTML du widget carte : un refactor du site le déplacerait ; l'API `/v2` n'expose pas d'endpoint par propriété (404).26- Contenu du site partiellement en anglais (amenities, « Available Now ») — normalize gère les deux langues.2728## Améliorations apportées29- Enrichissement par page immeuble avec **cache BD** (`self.detail`, clé = pid|dispo|adresse, mémo en mémoire pour ne fetcher qu'une fois par immeuble malgré plusieurs annonces par type d'unité) + budget 150 vraies requêtes.30- Commodités 0/6 → 6/6 (30 items réels), images 1 → 13-15, pets 4/6 → 6/6 (dont « conditions » granulaire), contact par immeuble, superficie par suite (Tour Sherbrooke Studio : 670 → 350 pi², superficie réelle de l'unité disponible), `smoking` dérivé (« No smoking allowed »).3132## Échantillon avant/après33- Avant : « 1405 Bishop — Studio » — 1425 $, amenities [], 1 image, pets NULL, details {price_from}.34- Après : même annonce — pets=conditions (petits chiens + chats oui, grands chiens non), 14 images, 30 amenities, contact 438-700-8567 / 1405bishop@hazelview.com, smoking=false, elevator/laundry dérivés.35- Après : « 4545 Walkley — 5½ » — area_sqft 1200 (suite disponible), gym/balcony/storage/parking dérivés, contact complet.36