SPB Git

spb/lou-ka Public

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

HTML 99.7%
3.4 KB

# evoludev — Groupe Evoludev

  • site: https://location.groupeevoludev.com (portail locatif maison, Laravel)
  • méthode: html plat — page d'accueil (60 immeubles) + pages projet des immeubles « Disponible » (cache BD, budget 45 ; 41 requêtes au premier sync, quasi 0 ensuite)
  • annonces: 125 unités disponibles, réparties sur 40 immeubles et 14 villes
  • couverture (sur 125 annonces): prix 99% (1 unité affichée « 0 $ »), adresse 100%, dispo 100%, type 100%, ville 100%, superficie 100%, GPS 100%, animaux 100%, images 100% (plan + façade), description 100%
  • fixture: ok (41 requêtes) · test: ok (2 verts)

# Champs extraits

  • Accueil : cartes projet div.headerImage[onclick] (dédupliquées par slug, versions mobile/desktop en double) → nom, adresse civique + ville (BuildingItem__address, 2 lignes), étiquette availabilityTag (Disponible / Complet / Livraison… / mois à venir), prix « à partir de ».
  • Pages projet — seulement les immeubles étiquetés « Disponible » (40/60) :
    • tableau desktop .ApartmentTable tr : « 101 | 4 1/2 » → no d'unité + unit_type ; colonnes prix (« 1415 $ / m » → price_label/parse_price), statut (Disponible/Louée), date (availability, texte source : « Dès maintenant », « septembre 2026 »…), chambres/salles de bain (details), superficie « 867 pi² » (area_sqft) ;
    • bouton « Plan » data-target="#apartmentPlanModal_<id>"id d'appartement de la plateforme = external_id stable (repli slug-numéro) + image du plan ;
    • JSON-LD ApartmentComplex : description de l'immeuble, lat/lng, petsAllowed (« Sous certaines conditions » → pets="conditions"), amenityFeature (commodités), photo de façade.
  • Seules les unités au statut « Disponible » sont retenues (Louée/Réservée sautées) ; immeubles Complet / à livrer ignorés (aucune unité offerte).
  • Prix placebo « 0 $ / m » ou « N.D. $ / m » → price_label vidé (aucun prix publié), jamais de valeur inventée.
  • Villes réelles (14) : Saint-Charles-Borromée, Saint-Paul, Berthierville, Crabtree, Saint-Sulpice, Sainte-Julienne, Saint-Félix-de-Valois, Saint-Jacques, Saint-Lin, Joliette, Sainte-Sophie, Rawdon, Laval, Charlemagne (chevauchement Grand Montréal — la source reste classée Lanaudière, son cœur de parc).

# Champs indisponibles à la source

  • Pas de page par unité (URL = page projet) ni de photos intérieures par unité (plan d'étage seulement).
  • Meublé : jamais indiqué.

# Fragilités

  • 40 pages projet au premier sync : le cache BD (clé = étiquette + prix + nom de la carte) évite de les revisiter tant que la carte ne change pas ; budget max_details=45 en garde-fou.
  • La description JSON-LD est celle de l'immeuble, partagée par toutes ses unités (pas de description par unité chez la source).
  • Le tableau desktop et le carrousel mobile dupliquent les unités : dédup par nom d'unité au parsing.
  • Étiquette carte incohérente possible (ex. immeuble « Livraison Juillet 2026 » avec unités « Dès maintenant ») : on suit l'étiquette de la carte, donc ces unités n'apparaissent qu'une fois l'immeuble « Disponible ».

# Échantillon

  • 135 : Le Mills I — Unité 13, Crabtree, 5½, 1625 $/mois, dès maintenant, 1274 pi², animaux sous conditions, plan + façade.
  • 438 : Le Gaspard I — Unité 14, Crabtree, 3½, 1270 $/mois, 774 pi².
  • 157 : Le Saint-Paul I — Unité 3, Saint-Paul, 3½, 1200 $/mois, septembre 2026, 785 pi².