Skip to content
# summum — Gestion immobilière Summum
- site: https://location.summumpm.com (portail hébergé Building Stack)
- méthode: json-api —
var units = [...] de /Listing/Listings + pages immeuble /b/ (patron identique au volet BuildingStack d'edifia.py)
- annonces: 93 (39 immeubles)
- couverture (sur 93 annonces): prix 100%, adresse 100%, GPS 100%, dispo 100%, ville 100%, type 100%, images 100%, contact 100% — superficie 13% et commodités 13% (rarement saisies à la source)
- fixture: ok (40 requêtes) · test: ok (2 verts)
- villes : Montréal (77, dont Lachine), Saint-Jérôme (4), Blainville (3), Granby (3), Longueuil (3), Laval, Saint-Calixte — la cible Laurentides (Saint-Jérôme) + tout le reste du portail
- /Listing/Listings : JSON complet par unité (aucun scraping de mise en page) :
- ApartmentId → external_id (identifiant Building Stack, STABLE) ;
- prix exact (Price + PriceFormatted → price_label) ;
- adresse complète structurée (Address.Full avec code postal) + LAT/LNG ;
- chambres/salles de bain (details.bedrooms/bathrooms) → typologie dérivée
(0 chambre = Studio, n chambres = (n+2)½ — même convention qu'edifia.py) ;
- superficie (Area pi², seulement quand > 0 à la source : 12/93) ;
- contact de location (nom, téléphone formaté, courriel →
details.contact) ;
- photo de l'unité (PreviewUrl wfiles.buildingstack.com) ;
- URL fiche : /b//<unité>.
- Page immeuble /b/ (1 requête par immeuble via self.detail — clé de
cache = hash des unités/prix de l'immeuble, plafond 45/sync) :
- date de disponibilité PAR UNITÉ (« Disponible dès maintenant! » /
« déc. 01, 2026 » → « Libre déc. 01, 2026 », normalisée en ISO par
finalize()) ;
- commodités de l'immeuble (.facilities : buanderie, métro à proximité…) ;
- photos additionnelles de l'immeuble.
- ville : Address.City du JSON ; canonicalisation factuelle « Montreal » →
« Montréal » (les deux graphies coexistent à la source) ; « Lachine »
conservé tel quel (champ ville de la source).
# Champs indisponibles à la source
- Superficie : Area = 0 pour 81/93 unités (non saisie par le gestionnaire).
- Commodités : la section facilities n'est remplie que pour ~1/3 des
immeubles (12 annonces en héritent).
- Animaux, meublé, étage : non exposés par le portail.
# Fragilités
- Chevauchement Grand Montréal assumé (77 annonces à Montréal) : le
périmètre de la mission visait Saint-Jérôme, mais le portail est global —
chaque annonce porte sa vraie ville, aucun doublon avec un connecteur
existant (source distincte).
- La typologie (n+2)½ est une DÉRIVATION du nombre de chambres (le portail
n'a pas de champ typologie) : un vrai 2½ d'une chambre serait affiché 3½ ;
convention identique à edifia.py pour rester cohérent dans la base.
- Si Building Stack renomme PublicListBuildingName, les pages immeuble
seront re-visitées (cache invalidé) — sans casser les annonces.
# Échantillon
- 287081 : 2560 Rachel — Unité 2, Studio, 970 $, 200 pi², Montréal,
GPS 45.5376/-73.5627, dispo maintenant, contact Zachary Pilon.
- 410484 : 1150 Bélanger - Tour Andrea — Unité 402, 4½, 1575 $,
libre août 16 2026.
- Types : Studio ×34 (725–2295 $), 3½ ×28 (790–1450 $), 4½ ×27, 5½ ×4.