SPB Git

spb/lou-ka Public

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

HTML 99.7%
5.2 KB

# cogir — Cogir Immobilier (cogir.net)

  • site: https://www.cogir.net/gestion-immeubles-residentiels.html (+ ~100 fiches immeuble)
  • méthode: html (rendu serveur, liste + fiches immeuble)
  • annonces: 270 → 283 (une par modèle offert ; +modèles autrefois écrasés par collision d'uid, +penthouses ; −modèles « Pas disponible »/« Liste d'attente »)
  • couverture après (sur 283 annonces): prix 97%, adresse 100%, dispo 97%, superficie 0% (non publiée), commodités 56% (beaucoup d'immeubles sans section Services), contact 94%
  • fixture: ok · test: ok (104 requêtes rejouées)

# Champs extraits

  • Liste : liens des immeubles par ville (slugs immeuble-residentiel-<ville>/<id>-…), filtrés Québec/Lévis + Grand Montréal
  • Fiche immeuble : nom (h1), adresse (p.adresse, désormais dédupliquée : « …, Québec, QC, Québec, Québec G1M 0E6 » → sans doublons), description (+ NOUVEAU section « Promotion » en tête quand présente), services de l'immeuble (ul), photos DATA/PHOTO
  • Tableau #tableModele (NOUVEAU parsing par classes de colonnes colType/colModele/colPrix au lieu d'un balayage positionnel) : type, nom du modèle (« 1 chambre + bureau », intégré au titre), prix « à partir de »
  • availability : NOUVEAU — « Disponible » pour les modèles offerts (tableau « Modèles disponibles ») ; les modèles marqués « Pas disponible » ou « Liste d'attente » sont EXCLUS (avant : listés avec prix comme s'ils étaient offerts)
  • details.contact : NOUVEAU — téléphone et courriel de l'immeuble (liens tel:/mailto: de « Personne(s) à contacter », en excluant le pied de page corporatif info@cogir.net / 1-866 ; les mailto « %20… » sont décodés)
  • Penthouses : NOUVEAU — lignes « Penthouse » du tableau désormais admises

# Champs indisponibles à la source

  • Superficies (aucun pi² sur les fiches), dates précises de disponibilité (juste offert / pas disponible / liste d'attente)
  • Animaux, meublé, étage ; inventaire unité par unité (une annonce = un modèle)
  • GPS (la carte est chargée en JS sans coordonnées lisibles dans le HTML)

# Fragilités

  • CORRIGÉ mais à surveiller : deux modèles du même type (ex. « 3 1/2 » et « 3 1/2 + den ») produisaient le même external_id → une annonce en écrasait une autre (288 trouvées / 270 stockées). Le premier modèle garde l'uid historique {id}-{type} ; les suivants reçoivent {id}-{type}-{slug modèle}. Si l'ORDRE des lignes du tableau change chez Cogir, l'uid de base peut « glisser » d'un modèle à l'autre (prix mis à jour, pas de doublon)
  • ~100 fiches immeuble re-crawlées à chaque sync (~90 s à 0,6 s/req). Le cache self.detail() est INAPPLICABLE proprement : la page liste ne porte ni prix ni modèles (seulement nom/adresse/photo), donc aucune clé de contenu ne peut détecter un changement de prix — un cache figerait les loyers. Pas de visites additionnelles ajoutées par cette passe
  • Sélecteurs dépendants du gabarit maison (p.adresse, #tableModele, h2 littéraux « Description », « Services dans l'immeuble », « Promotion »)
  • Certains immeubles mettent « À partir de » dans la colonne Modèle (géré) ; colonnes parfois vides
  • L'exclusion aînés/étudiantes repose sur une regex sur le nom/description — un changement de vocabulaire (« résidence services ») passerait au travers

# Améliorations apportées

  • Exclusion des modèles « Pas disponible » / « Liste d'attente » (annonces fantômes avant)
  • availability = « Disponible » sur les modèles offerts (avant : 100 % des annonces sans disponibilité)
  • Fin des collisions d'uid : 13 modèles ré-apparus (dont « + den », 2e modèles) + penthouses admis
  • Titre enrichi du nom de modèle ; prix du BON modèle sur l'uid historique (avant : le dernier modèle du tableau écrasait le premier)
  • Adresse dédupliquée ; promotion en tête de description ; contact structuré par immeuble (94 % des annonces)
  • 2026-08-08 — Expansion provinciale (lot 0) : slugs Outaouais ajoutés à _GM_SLUGS (gatineau, hull, aylmer → ville « Gatineau », secteur Hull/Aylmer le cas échéant). +7 annonces Gatineau : Le Vibe (6 modèles 3½–5½, 1 544 $–2 750 $) et Bloome Appartements (fiche immeuble, tableau de modèles vide actuellement). Les slugs ottawa restent exclus (Ontario). 283 → 290 annonces. Fixture réenregistrée, 2 tests verts.

# Échantillon avant/après

L'Aventura Condos Locatifs — 3½ (uid cogir:2677-3) — avant : 1789.0 | 3½ | (dispo vide) | ∅ | area=∅ | pets=∅ | {"ac": true, "balcony": true, "pool": true, "gym": true, "parking": {…}, "price_from": true} | 1769 Rue Careau, Québec, QC, Québec, Québec G1M 0E6 (titre sans modèle ; le prix affiché était celui du « 3 1/2 + den » qui écrasait le « 3 1/2 ») après : 1496.0 | 3½ | Disponible | now | area=∅ | pets=∅ | {…, "contact": {"phone": "418-254-2588", "email": "infolaventura@cogir.net"}} | 1769 Rue Careau, Québec, QC, Québec G1M 0E6 — titre « — 3½ (1 chambre) » ; le « + den » est maintenant sa propre annonce (cogir:2677-3-1-chambre-bureau, 1789 $)

L'Aventura — 5½ — avant : listé à 2659 $ alors que la fiche indique « Pas disponible » après : retiré (désactivé après le délai de grâce)