SPB Git

spb/lou-ka Public

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

HTML 99.7%
3.5 KB

# cosoltec — Cosoltec (Evado, Le Monroe, Natür)

  • site: https://www.cosoltec.com/fr (constructeur-gestionnaire ; vitrines locatives evado.ca, lemonroe.ca, naturcondos.ca)
  • méthode: API JSON Planpoint — le widget des 3 vitrines charge app.planpoint.io/api/{groups,projects}/find (POST namespace+hostName, 3 requêtes/sync, robots Planpoint : Allow /)
  • annonces: 51 unités « Available » (Evado I+II Sainte-Thérèse : 41, Natür Saint-Jérôme : 9, Le Monroe Blainville : 1)
  • couverture (sur 51 annonces): prix 82% (les 9 unités Natür n'ont aucun prix publié), superficie 100%, type 100% (chambres → 3½/4½/5½/Studio), adresse 100%, ville 100%, dispo 100%, images 100% (photos + plan), sdb/étage 100% — description/GPS complets jamais publiés
  • fixture: ok (3 requêtes) · test: ok (2 verts)

# Champs extraits

  • cosoltec.com est une vitrine SvelteKit sans annonces ; sa page « Espaces disponibles » renvoie aux sites projets, qui affichent tous leurs unités via l'iframe Planpoint :
  • Par unité (JSON structuré) : _id Planpoint (ObjectId) = external_id stable ; price (loyer mensuel numérique → price + price_label « 1800 $ /mois » ; vide si absent, jamais inventé) ; squareFeet → area_sqft ; bedrooms (« Studio », « 1 bedroom »…) → unit_type via normalize_unit_type ; availability brut (« Available ») ; furnished (booléen de la plateforme) ; bathrooms + nom d'étage → details ; photos + plan (images, layoutGallery).
  • Par projet : adresse civique (« 350 Place Fabien-Drapeau, Sainte-Thérèse… ») → address + ville réelle ; repli ville documentée par vitrine (Le Monroe 1 a une adresse vide chez Planpoint → Blainville, confirmé par cosoltec.com et lemonroe.ca).
  • Filtre strict : seules les unités availability == "Available" (Sold/Leased/Reserved/Future sautées). projectType = "Rental" pour les 3 vitrines (Natür est bien locatif malgré son nom « Condos »).
  • URL d'annonce = page plans de la vitrine (Planpoint n'expose pas de page publique par unité).

# Champs indisponibles à la source

  • Prix des 9 unités Natür : price: null chez Planpoint (la vitrine affiche « Réservez » sans prix) → price_label vide.
  • Description par unité, date précise de disponibilité, animaux : jamais publiés dans le JSON.
  • GPS : lat présent mais lon null chez Planpoint → non utilisé (le géocodeur prendra le relais sur l'adresse civique).

# Fragilités

  • API non documentée (celle du widget) : un changement de schéma ou l'ajout d'une authentification casserait le connecteur ; le POST passe par la session du connecteur (record/replay des fixtures ok).
  • Le statut « Available » est celui de la plateforme de mise en marché : quelques unités « Reserved » pourraient revenir disponibles sans transition visible ici.
  • Si Cosoltec ajoute une vitrine locative (ex. Astra Valleyfield, actuellement sans widget locatif), il faudra l'ajouter à _SITES.

# Échantillon

  • 67a7bcc4008d9b0c6f1e1d35 : Evado — Unité 204, Sainte-Thérèse, 3½, 1800 $/mois, 693 pi², photos + plan.
  • 689f78502ad58db540a18f88 : Evado 2 — Unité 104, Sainte-Thérèse, 3½, 1665 $/mois, 628 pi².
  • 644af0f53e62620016106c7e : Natur Condos — Unité 105-1, Saint-Jérôme, 4½, 1078 pi², prix non publié.