Lou·Ka — tous les logements à louer du Québec, un seul endroit.
HTML 98.9%
Python 0.6%
-
Fri, Sep 4, 2026 1
-
feat(fiche): refonte premium mobile-first de la fiche logement (2026-09-04)
…
Frontend (frontend/src/fiche/, nouvelle arborescence) : héro prix → adresse → résumé → galerie → actions ; Lou-Ka Score (60 % KA Score emplacement + 40 % prix vs juste valeur, partiel si une composante manque) ; « En bref » déterministe (prix, accessibilité, air, inondation, coûts, TAL, chaleur, baisse de prix) ; navigation sticky par sections (scroll-spy) ; Prix et marché (juste valeur + histogramme) ; Le logement (grille icône/valeur) ; description tronquée + texte original ; inclusions dédoublonnées FR/EN ; grande carte 3D Ka Maps avec filtres de lieux (transport, épiceries, pharmacies, commerces, écoles, parcs, essence) ; À proximité / Transport en carrousels + bottom sheet ; Quartier en KPI compacts + accessibilité en lignes ; KA Scores compacts ; Registre des loyers orienté décision (jauge p10–p90, médianes par chambres, 3 comparables + sheet filtrable) ; coût réel + Hydro ; risque d'inondation (statut clair, juridique en accordéon) ; qualité de l'air en tuiles ; essence (3 stats, 3 stations, sheet) ; Dossier de l'immeuble en accordéons (historique, passeport, gestionnaire, TAL, hiver) ; Sources et méthodologie + fin de fiche. Primitives : SectionCard, Accordion, BottomSheet (modale ≥ 900 px), StatTile, StatusBadge, Skeleton, états vides/erreur, toast. Données : useFicheData (groupe critique au montage, groupe différé à l'approche de la carte). Tokens --lk-* scopés (.lk-fiche) : fond #F7F7F5, cartes blanches bord 1 px, ombres légères, rayons 10/14/18/22, orange réservé CTA/prix/score. Desktop ≥ 1024 : aside sticky (prix, CTA, score, constats, Demander à Ka). CTA sticky compact affiché seulement après le héro ; bouton « ✦ Demander à Ka » discret branché sur le widget KA Agent existant (contexte de la fiche transmis). Header compact sur la fiche (56 px, ticker masqué, favoris + partage, connexion en icône sur mobile). Aucun `order` CSS ; scrollIntoView banni de la barre de sections (faisait ouvrir la page à 434 px). Anciennes classes .fiche/.f-* intactes pour la fiche court terme. 16 anciens composants de fiche supprimés (remplacés). check-order.mjs mis à jour + shots.mjs / interactions.mjs. Backend (additif, rétrocompatible) : poi.py conserve lat/lng des POI (carte) ; gaz.py expose lat/lng des stations ; /api/gaz et /api/rdl acceptent `limit` (sheets « Voir les N »). vite.config : proxy /api paramétrable (LOUKA_API). Validé : tsc + vite build, check-order OK (scrollY 0, ordre croissant, sans overflow 375→1440), captures Playwright 6 largeurs, sheets/carte/Ka/404, fiche sans KA Score. node_modules frontend réinstallés (typescript/esbuild tronqués par ka2 le 2026-08-31 pour ENOSPC).
-
-
Wed, Aug 19, 2026 1
-
fix(fiche): ordre des sections = ordre du DOM sur tous les breakpoints
…
Sur mobile, PriceAnalysis (.f-fairvalue), la carte (.f-carte) et les KA Scores (.f-kascores) n avaient pas de règle order: et retombaient à order:0 — ils s affichaient AVANT la galerie, le prix et l adresse. - Listing.tsx : DOM restructuré en ordre logique unique (galerie → prix/ adresse/PDF → description → inclusions → détails pratiques → analyse de prix → carte 3D → KA Scores → quartier → à proximité) - styles.css : suppression de tous les order:/display:contents — mobile empile les colonnes en flux naturel, desktop garde la grid 2 colonnes - scripts/check-order.mjs : validation Playwright (iPhone + desktop) de l ordre visuel, du scroll initial et de l absence d order CSS Validé Chromium + WebKit (iPhone 14) et desktop 1440px sur 2 fiches. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-