SPB Git

spb/lou-ka

Public

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

page 1
  1. Wed, Aug 26, 2026 1

  2. Tue, Aug 25, 2026 21

    1. Simon-Pierre Boucher · 2 files
    2. Court terme : hotellerie du Quebec en reservation directe (1 922 fiches)
      …
      - sithotels : repertoire officiel SIT Quebec (ministere du Tourisme/CITQ),
        1 542 fiches squelettes geolocalisees avec no CITQ ; saute les hotels
        couverts par un connecteur moteur (fiche riche prioritaire)
      - mews : 110 hotels via l'API bookingEngine (session signee md5, Origin
        obligatoire), prix frais a chaque sync, photos, repli geoloc SIT
      - reservit : 235 hotels via l'API du front Angular ; sessions proxy a IP
        collante par hotel (le direct est banni du noeud et l'IP tournante
        declenche le filtre de securite Reservit)
      - scripts/detect_hotel_engines.py + data/hotels_engines.json : table
        hotel -> moteur de resa (1 174 sites sondes : 278 reservit, 121 mews)
      - schema : types Hotel et Motel ; Sources : categorie Hotellerie ;
        fiche CT : CTA « Reserver en direct a l'hotel » pour la categorie hotels
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher · 10 files +19,523 −330
    3. Simon-Pierre Boucher · 1 file +246
    4. Fiche logement : refonte editoriale v2 — icones contextuelles, sections sans boites
      …
      - Nouveau composant AmenityIco (~34 pictos maison, trait 1.8) : chaque
        inclusion/caracteristique est appariee par mots-cles (accents neutralises)
        a SON icone — lave-vaisselle, chauffage, balcon, stationnement, animaux,
        piscine, foyer… — fini le meme ✓ repete dix fois
      - Inclusions : grille en filets (tuile icone 32px accent-soft, libelle,
        ✓ discret a droite pour le confirme ; neutre pour les mentions libres)
      - Chips cles du hero : hairline + icone contextuelle (3½ → porte, dispo →
        calendrier, pi² → regle…) au lieu d aplats marine
      - Colonne editoriale (gauche) de-boxee : description, inclusions, details
        pratiques respirent sans carte — les modules de donnees (droite) restent
        en cartes ; titres avec tiret accent net (sans bordure/ombre heritees)
      - Details pratiques : rangees en filets, cles en micro-mono, fini les tuiles
      - Prix 38-54px, ancres en onglets textes, en-bref en filet accent,
        galerie au cadre allege (hairline, rayon 10)
      - Mobile : le CTA sticky prend le bas d ecran, la tabbar s efface sur la
        fiche (body:has(.cta-sticky)) — plus de chevauchement
      Simon-Pierre Boucher · 3 files +192 −4
    5. Desktop : grille uniforme + header sans debordement
      …
      - Grille editoriale : suppression du grand format 7n+1 (annonces de tailles
        inegales jugees etranges) — 3 colonnes uniformes, le style editorial
        (fiches sans boite, image dominante, stagger) est conserve
      - Header : nav sans retour de ligne (Court terme tenait sur 2 lignes),
        burger des 960px, badge Groupe KA masque sous 1140px (debordement de 6px
        du bouton Connexion autour de 1100px) — verifie par mesure Playwright de
        1440 a 900px : plus aucun element coupe a droite
      Simon-Pierre Boucher · 1 file +12 −6
    6. Court terme : DA editoriale v2 (meme langage que l accueil)
      …
      - Hero typo geant Trouvez votre prochaine escapade. avec surlignage orange
        irregulier ; benefits-cards et stat-chips remplacees par la ligne LIVE
        (hebergements indexes en count-up, regions, derniere synchro reelle des
        connecteurs ct qui tictaque, prix moyen/nuit)
      - Recherche au coeur : grand champ Ou voulez-vous vous evader ? souligne,
        criteres Region/Type/Prix par nuit en filets, Tous les criteres avec badge
      - Barre de resultats sticky N hebergements · Liste|Carte · Filtres (mobile),
        FAB supprime ; resume des criteres actifs sous la recherche sur mobile
      - Grille magazine grid-edito (grand format 16/9 toutes les 7 fiches) et
        transitions de vue ; reutilise integralement la couche CSS v2 de l accueil
      - Hooks useCountUp/useAgo factorises dans src/live.ts (partages Home/CT)
      Simon-Pierre Boucher · 3 files +137 −119
    7. Refonte editoriale v2 de l accueil — direction artistique premium
      …
      Moins de boites, plus de typographie : le contenu structure la page.
      
      - Hero : composition typographique geante (clamp 44-88px), surlignage orange
        irregulier en trait SVG sous chez-vous., plus de gros boutons rectangulaires
      - Donnees vivantes : ligne mono LIVE avec compteur anime (count-up 0,9s),
        derniere synchro reelle qui tictaque a la seconde (max last_sync des
        connecteurs), sources et loyer moyen — separes par filets, zero chip
      - Recherche au coeur : grand champ Ou voulez-vous habiter ? souligne 2px
        (focus accent), criteres inline Ville/Quartier/Loyer separes par filets
        verticaux, bouton texte Tous les criteres avec badge — la boite filterbar
        disparait de l accueil
      - Barre de resultats sticky : N logements · Liste|Carte (onglets textes a
        soulignement anime scaleX) · Filtres (mobile) — remplace le FAB flottant
      - Fiches editoriales : plus de carte-boite — l image domine (radius 10,
        zoom 1,025 au survol), prix 22px niveau 1, adresse niveau 2, quartier/ville
        en mono uppercase niveau 3, source en micro-mono niveau 4
      - Grille a rythme magazine : 3 colonnes, 1 grand format panoramique 16/9
        toutes les 7 fiches, apparition en decale par colonne, align-items start
      - Pagination nue : chiffres sans boites, page courante soulignee accent
      - Nav mobile : tabbar flottante detachee des bords (radius 18, blur, ombre
        portee), etat actif = trait accent sous l icone ; widget KA Agent remonte
      - Primitives locales v2 : rayons 0/6/10/18, durees 150/240/350ms, hairlines
      - Feuille mobile : resume des criteres actifs sous la recherche (remplace le
        FAB), poignee, application sticky
      - Classes partagees avec CourtTerme (.hero, .filterbar, .stat-chip…)
        intactes : la refonte vit dans de nouvelles classes + une couche finale
      Simon-Pierre Boucher · 2 files +439 −131
    8. Accueil : pastilles actives — neutraliser l uppercase herite de la page Sources
      …
      La regle .pill de la page Sources (10.5px, uppercase) venait apres celle de
      l accueil et fuyait sur les pastilles de filtres actifs ; text-transform et
      letter-spacing sont desormais explicites sur .pills .pill.
      Simon-Pierre Boucher · 1 file +1
    9. Accueil : refonte majeure du rendu — CTA hero, filtres et boutons peaufines
      …
      - Hero : halo d accent + trame de points decorative, rangee CTA (Explorer /
        Voir la carte) avec ombres decalees accent, stat-chips interactives
        (tabular-nums, survol), avantages en mini-cartes bordees encre
      - Filterbar : cadre 2px + rayon 16, recherche 52px focus accent (ombre 3x3),
        selects survolables, bouton Plus de filtres avec icone, badge compteur et
        chevron anime, panneau avance en pointille avec easing
      - Segments : etat actif encre + souligne accent interieur ; pastilles actives
        avec animation d apparition et survol danger (intention de retrait)
      - Chips 42px avec icones alignees ; bascule Liste/Carte etat actif encre
      - Mobile : poignee de sheet, bouton Voir les resultats sticky en bas de la
        feuille, FAB avec badge compteur
      Simon-Pierre Boucher · 2 files +161 −56
    10. Court terme : upgrade majeur — 21 nouveaux connecteurs, 12 enrichis, fiches améliorées
      …
      - 21 nouveaux connecteurs (chaleto, hébergement-charlevoix, chaletsalpins,
        memoria, pourvoiries FPQ, campingquebec, hebergia, rezerve, accestremblant,
        chaletsdanslenord, alouerauxiles, rvmt, boraboreal, homminichalets…)
      - enrichissement des existants : airbnb (desc/capacité/commodités via PDP),
        booking/vrbo/expedia (Apollo SSR, bug slug vrbo corrigé), sepaq (desc+géo),
        tremblantliving (prix API Streamline), qldc/kijiji/parcscanada/bonjourquebec/
        gitespassant ; sinistar : prix vérifiés inaccessibles (documenté)
      - fiches CT : /api/ct/listings/{uid}/context (analyse prix/nuit par segment,
        histogramme, centile) + badge marché + hébergements similaires à proximité
      - registre sources_ct.json : 52 sources (7 mortes retirées, 21 ajoutées)
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher · 41 files +5,841 −109
    11. Court terme : retrait des 7 connecteurs squelettes jamais productifs (sources mortes ou hors Québec)
      …
      Suppression des stubs disabled=True et de leurs entrées dans sources_ct.json,
      verdicts revérifiés en live le 2026-08-25 :
      - chaletsquebec : domaine sans DNS (SERVFAIL)
      - locationschalets : 301 → km42.ca (1 exploitant, 2 chalets, 0 prix)
      - hebergementquebec : 302 → citq.qc.ca (aucun répertoire scrapable)
      - chaletsdirect : chalets de ski européens, zéro inventaire QC
      - blueground : aucun marché québécois (sitemap = tor seul, page Montréal 404)
      - tripadvisor : produit locations fermé nov. 2024 (VacationRentals-g155033 → 301 Hotels, confirmé Scrapfly)
      - sonder : liquidation nov. 2025, sonder.com = affilié Booking (403 même via Scrapfly ASP)
      
      Aucune rangée de ces sources dans les bases ; registre auto-découvrant intact (22 connecteurs actifs).
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher · 8 files −196
    12. Nav v2 correctif : le ✕ de fermeture vit DANS le panneau (fixe, toujours visible)
      …
      Le ✕ était le burger du header ; si le header n'est pas épinglé (bas de page),
      il défilait hors écran alors que le panneau fixed restait affiché — impossible
      de fermer sans Escape. Ajout d'un .mm-close position:fixed en haut à droite du
      panneau et burger masqué à l'ouverture (une seule commande de fermeture).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 2 files +13 −2
    13. Nav mobile v2 : le dropdown 480px devient un panneau plein écran fixed
      …
      Standard KA 2026-08-25 : .mobile-menu passe de position:absolute top:100%
      (max-height 480px) à position:fixed inset:0 — menu visible peu importe la
      position de scroll. Rang du header (marque + burger→✕) maintenu au-dessus du
      panneau, verrou de scroll CSS pur via html:has(.mobile-menu.open).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +13 −10
    14. Overpass : miroirs de repli maps.mail.ru et openstreetmap.fr (poi, env, commerces)
      …
      Panne simultanée de kumi.systems (502) et overpass-api.de (connexion refusée)
      le 2026-08-25 : POI et tuiles environnement bloqués. Ajout de deux miroirs
      vérifiés couvrant le Québec ; overpass.osm.ch écarté (extrait suisse
      uniquement). environment.py hérite de la liste de poi.py.
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher · 2 files +7 −1
    15. managers: tolérer `type` en liste dans les fiches SerpApi (multi-catégories)
      …
      Le champ `type` des local_results Google Maps arrive maintenant parfois en
      liste, ce qui cassait la résolution (`TypeError` dans _score_candidate et le
      tri des candidats). Normalisé en chaîne dès la réception des candidats.
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +4
    16. Campagne connecteurs province 2026-08-24 : 149 nouveaux connecteurs (+3 685 annonces)
      …
      Création massive issue de la recherche province (reports/expansion/
      recherche-province-2026-08-24.md), en 17 lots parallèles :
      - 149 connecteurs actifs (Building Stack, RentCafe/Yardi, Rentsync/
        LiftSystem, Planpoint, Livya, silo.immo, Webflow, Wix SSR, WordPress
        admin-ajax/wp-json/SSR, PDF+pdfplumber, OCR tesseract, Google Sheets CSV)
      - helpers partagés _planpoint.py et _livya.py
      - 9 sources documentées non connectables (doublons Cogir, vitrines sans
        inventaire, OMHQ annuaire, Skyline 0 propriété QC)
      - registre data/sources.json : 281 → 439 sources
      - fix groupe_mathieu : découverte via /condos-locatifs/ (le méga-menu Jet
        n'est servi que par certaines variantes de cache Elementor)
      - pdfplumber ajouté aux dépendances ; doc régénérée (367 fiches)
      
      Syncs initiaux : 3 685 annonces ajoutées.
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher · 678 files +37,920 −1,538
    17. Recherche connecteurs province (2026-08-24) : 111 nouveaux sites vérifiés + 61 écarts doc→connecteurs
      …
      7 recherches parallèles (~330 requêtes Serper/Tavily, validation curl/Scrapfly).
      Top cibles : Mostra/Cogir, Résidences Cogir (RPA), Chartwell, Summit (LiftSystem),
      NexLiving (RentCafe), Trouve-Ton-Appart (229 fiches), Morguard, Org. Dupuis (Building Stack).
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +93
  3. Mon, Aug 24, 2026 18

    1. Simon-Pierre Boucher · 1 file +10
    2. Stats : panneaux « enrichissements de la fiche » (KA Scores, juste valeur, historique des prix, court terme, gestionnaires, annuaire déménageurs)
      …
      - louka/statsfiche.py : 7 panneaux calculés sur les données réelles des fiches
        (couverture des enrichissements + couches branchées, KA Scores par pilier et
        par ville, verdicts de juste valeur + écarts, baisses/hausses de loyer +
        événements de vie, court terme CITQ/notes/prix par région, réputation des
        gestionnaires — masqué tant que <10 fiches notées, annuaire déménageurs)
      - statsdash.py : fusion statsfiche.panels() + statsextra.panels()
      - rendu 100 % générique par le kit stats existant (aucun changement frontend)
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 2 files +485 −2
    3. Annuaire des déménageurs du Québec : page /demenageurs (565 entreprises, 17 régions)
      …
      - data/demenageurs.json : dataset canonique (balayage Google Places via Serper,
        188 villes, dédoublonnage CID/téléphone) — partagé avec Immo-Ka
      - louka/demenageurs.py : API /api/demenageurs (filtres région + texte)
      - frontend : page Demenageurs.tsx (recherche, filtre par région, tel:/site web),
        liens nav + menu mobile + prefooter
      - seo.py : SSR /demenageurs (liste complète par région, JSON-LD MovingCompany
        ItemList) + entrée sitemap-pages
      - scripts/build_demenageurs.py : régénération du dataset
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 7 files +9,093
    4. feat(fiche): dossier d'intelligence locative — passe sharp desktop/mobile + PDF complet
      …
      CSS : pastilles de statut affûtées, score hiver et note Google en tuiles
      à ombre dure, timeline encre, media queries 640px (tableau coût réel,
      dates empilées, barres d'avis compactes). PDF fiche : cinq nouvelles
      sections fidèles au web — coût réel ligne par ligne (statuts étiquetés),
      historique Lou-Ka + vies antérieures, passeport de l'immeuble (tuiles
      KPI, rotation, pression), gestionnaire (note Google, distribution des
      avis, plaintes, confiance d'association), score hiver.
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher · 2 files +375 −9
    5. feat(fiche): styles du dossier d'intelligence locative — coût réel, historique, immeuble, gestionnaire, hiver
      …
      Complète les snapshots ka2 (backend 8efd8cb + composants 0ee1a2d) : pastilles
      de statut de donnée (observé/estimé/inconnu), tableau du coût réel, timeline
      Lou-Ka, distribution des avis Google, score hiver.
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +166
    6. Simon-Pierre Boucher · 7 files +670
    7. Simon-Pierre Boucher · 12 files +1,697 −1
    8. feat(pdf): fiche PDF complète — analyse de prix, registre, TAL, environnement, KA Scores
      …
      Le PDF de fiche reflète désormais tout le contenu de la fiche web :
      analyse de prix Lou-Ka (juste valeur, verdict, histogramme), registre
      des loyers (KPI + tableau), historique TAL, inondation, qualité de
      l'air, électricité, commerces/transport, essence, KA Scores et
      quartier, avec pagination dynamique multi-pages. Les photos sont
      redimensionnées (max 1200 px, JPEG q82) : le PDF passe de 30 Mo à
      ~400 Ko sur une annonce enrichie.
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +468 −39
    9. feat(design): passe « éditorial sharp » sur la fiche — cartes, KPI, tableaux, pastilles
      …
      Blocs de la fiche transformés en cartes encre (bordure 1,5 px + ombre décalée
      douce), titres de section à marqueur accent + filet, tuiles KPI blanches à
      ombre dure, tableaux zébrés avec survol accent, barres de proximité/crime/air
      en dégradé, pastilles d'état unifiées (mono, point, liseré), décisions TAL en
      mini-cartes. Vérifié Playwright desktop 1440 + mobile 390 (overflow 0,
      check-order OK).
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +111
    10. feat(tal): historique du Tribunal administratif du logement par adresse
      …
      Décisions publiques du TAL (diffusées par SOQUIJ) croisées avec l'adresse
      de chaque annonce : recherche « no civique + rue » via Scrapfly (le site
      exige rendu JS + IP résidentielle ; pas de phrases entre guillemets),
      puis vérification de l'adresse exacte dans le texte intégral et
      classification (non-paiement, résiliation, expulsion, reprise/éviction,
      insalubrité…, demande du locateur vs du locataire, verdict). Cache par
      adresse dans data/tal.db, backfill borné dans la boucle watch + file
      prioritaire alimentée par les fiches consultées (/api/tal), bloc
      « Historique au TAL » sur la fiche (aucun nom de partie affiché —
      référence neutre + lien SOQUIJ).
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher · 9 files +616
    11. Simon-Pierre Boucher · 1 file +123 −38
    12. feat(doc): page documentation /doc (guide + captures) + lien footer + PDF téléchargeable
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 8 files +171 −1
    13. Simon-Pierre Boucher · 3 files +90 −191
    14. Simon-Pierre Boucher · 1 file +16 −7
Menu

Theme