SPB Git forge

spb/fabri-ka

Public

Agrégateur de produits québécois — www.fabri-ka.com

217commits 1branches 0releases
66.1 MBsize
maindefault branch
7 h agolast push
Python 38.4% HTML 30.3% TypeScript 17.2% CSS 11% JavaScript 3.2%

page 6

  1. Mon, Aug 17, 2026 9

    1. Simon-Pierre Boucher committed 1 mo ago · 2 files +91 −150
    2. Ajout du fichier statique ka-agent.js (widget KA Agent)
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +233
    3. Câblage du widget KA Agent (bulle de chat Groupe KA)
      …
      Ajout des balises window.KA_AGENT={site:"fabri-ka"} et /ka-agent.js
      en fin de <body> de frontend/index.html — propagées au gabarit SSR
      de seo.py via dist/index.html (aucun doublon).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +2
    4. Footer/contact : Job-Ka rejoint l écosystème (ecosystem.json 13 sites)
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +175 −24
    5. kapdf : pas d en-tête/pied sur la couverture (correctif moteur commun)
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +2 −2
    6. Page /stats refaite : tableau de bord analytique ka-stats + rapport PDF Groupe-KA
      …
      - fabrika/statsdash.py : GET /api/stats/dashboard?period=… (contrat SPEC ka-stats) —
        KPI avec deltas reconstruits via first_seen, séries quotidiennes (nouveautés/jour,
        cumul), donut plateformes, top catégories, fourchettes de prix, géo par région,
        heatmap 26 semaines, tables (top boutiques, catégories), records ; cache 5 min.
      - fabrika/kapdf.py + GET /api/stats/report?period=&mode= : PDF GroupeKAReport
        (fpdf2, graphiques vectoriels), wordmark Fabri·Ka, accent #c4532e, modes
        complet/synthese, filename kapdf.filename.
      - frontend : /stats réécrite sur le kit ka/stats/kacharts.tsx (PdfButton, KPI,
        PeriodSelector avec plage personnalisée, LineChart/Donut/BarChart/Heatmap,
        DataTable, RecordCard, Fraicheur) — mobile 360/768/1440 sans débordement.
      - garde-fou : prix aberrants (> 500 000 $) exclus des moyennes et du record.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 7 files +2,144 −785
    7. En-tête tablette réparé, titre + OG/twitter, icônes et og.png servis à la racine
      …
      - Header : plus aucun chevauchement 768–1439 px (marque/nav en flex:none,
        nav compacte et recherche masquée 768–1023, recherche dès 1024, badge
        Groupe KA dès 1280, « Créer un compte » dès 1360) ; débordement
        horizontal de +139 px à 768 px ramené à 0 (validé 360/768/1024/1280/1440).
      - Titre SSR de l accueil suffixé « · Un service Groupe KA ».
      - ka-assets/ -> frontend/public/ (og.png, favicon.svg, apple-touch-icon.png) ;
        liens icônes + og:image absolu 1200x630 + twitter:card/image dans
        index.html et le head SSR (seo.py, sans doublons de balises).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 6 files +59 −8
    8. Harmonisation Groupe KA (ka-ui) : tokens, badge, KaFooter, page /contact, SSO
      …
      - Vendorisation ka-ui (frontend/src/ka/) : tokens.css importé AVANT le CSS
        local ; :root réduit à l'accent TERRACOTTA (+ alias --lime/--lime-soft,
        --accent-dark → --accent-deep) et aux variables métier, socle dédupliqué,
        couleurs en dur remplacées par les tokens.
      - Header : badge « Un service Groupe KA » (GroupeKaBadge) à côté du logo ;
        bouton « Se connecter avec KA » + lien « Créer un compte » (hub /connexion).
      - Footer : remplacé par KaFooter (siteId fabri-ka) — contacts, sites de
        l'écosystème, mentions légales du hub ; dégagement de la barre mobile.
      - Page /contact : route SPA (ecosystem.json — 3 courriels + rôles,
        avertissement, lien hub, sites) + rendu serveur SEO (seo.py) + sitemap.
      - SEO : title « Fabri-Ka — Un service Groupe KA » (index.html).
      - SSO KA ID : FABRIKA_BASE_URL par défaut → https://www.fabri-ka.com
        (auth.py) — le redirect_uri vers le hub n'est plus localhost.
      - Tactile ≥ 44 px (bouton connexion, avatar) ; resolveJsonModule (tsconfig).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 12 files +796 −236
    9. État du nœud — captures README (boutique-medusa, stats) + fabrika/requirements.txt
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 4 files +6
  2. Sun, Aug 16, 2026 2

    1. Captures README refaites en données de prod (nouveau thème, 291 299 produits)
      …
      Prises via tunnel SSH vers M4M64a:8097 — thème famille KA + compteurs réels.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 8 files
    2. Thème famille KA « éditorial sharp » (aligné sur Food-Ka / Lou-Ka)
      …
      - Typo : Space Grotesk (display) + Inter (texte) + JetBrains Mono (prix,
        micro-étiquettes) — remplace Fraunces/Outfit
      - Signature famille : bordures encre, ombres décalées (boutons, cartes,
        recherche), chip « ·Ka » rotée dans le logo, grain de fond, kickers mono
      - Palette Fabri-Ka conservée (papier crème, terracotta, pin) + miel #F2CF63
        en surlignage ; footer pin profond ; nav pilule à état actif pin/miel
      - Couche d'override en fin de styles.css (jetons partagés --line,
        --shadow-off, --highlight — mêmes rôles que Food-Ka/Lou-Ka)
      - Captures d'écran README refaites avec le nouveau thème
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 13 files +260 −13
  3. Thu, Aug 13, 2026 1

    1. SEO complet (SSR + sitemaps + 301/410) · KA ID SSO + favoris hub · README refait
      …
      - fabrika/seo.py : rendu serveur sur toutes les routes — title/meta/canonical/
        hreflang fr-CA/OG/JSON-LD (Product, Offer, OnlineStore, BreadcrumbList,
        WebSite+SearchAction) + contenu HTML complet dans #root (hydraté par React)
      - Pages programmatiques /categorie/<slug>, /region/<slug> et combos (~350 pages)
        avec H1, stats (prix moyen/médian), grille produits, pagination, maillage
      - URLs produits slugées /produits/<slug>-<uid> (301 depuis l'ancien format),
        produits retirés → 410 Gone, uid inconnu → 404 (fini le soft-404)
      - robots.txt + sitemap.xml (index → pages/boutiques/produits-1..8, 40k/chunk,
        lastmod réel, cache 1h) ; GZip ; Cache-Control immutable sur /assets
      - Frontend : routes programmatiques miroirs (Catalog à dimensions verrouillées),
        liens slugés partout, setPageMeta (title/desc/canonical en navigation SPA)
      - fabrika/auth.py : « Se connecter avec KA ID » (SSO Groupe KA, JWT HS256 stdlib)
      - fabrika/hubfav.py + favorites.tsx : favoris « Mon univers Ka » poussés au hub
        central (HMAC signé), page /profil (hubprofile.py)
      - README ultra-détaillé : badges, nouvelles captures d'écran (desktop + mobile),
        section SEO/SSR, écosystème Groupe KA, structure du projet, API complète
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 29 files +3,015 −75
  4. Wed, Aug 12, 2026 5

    1. 7e connecteur : générique (sitemap → JSON-LD/microdata/OG)
      …
      - Nouveau connecteur universel pour les plateformes à rendu serveur non
        couvertes : PrestaShop, Lightspeed, Snipcart, Magento, BigCommerce et sites
        custom — lit le sitemap, repère les pages produit, extrait le balisage
        schema.org Product / microdata itemprop=price / Open Graph product, avec
        Scrapfly en secours anti-bot
      - Détection (scripts/reprobe_generic.py) : 67 boutiques éligibles marquées
        __generic__ ; le connecteur a aspiré 9 409 produits depuis 59 d'entre elles
      - Prod : 291 031 produits / 1 263 boutiques / 17 régions
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 6 files +570 −236
    2. Rapport de marché PDF (téléchargeable) + page stats détaillée
      …
      - Générateur PDF reportlab : page couverture pleine page aux couleurs de la
        marque, KPIs, histogramme des prix, tableaux catégories/régions/plateformes,
        origine A–E, top boutiques, méthodologie — endpoint /api/report.pdf (cache)
      - Bouton 'Télécharger le rapport PDF' sur la page /stats (en-tête + pied)
      - Page /stats enrichie : rail Nouveautés, disponibilité, complétude des données,
        mini-barres dans le tableau catégories, % dans l'histogramme
      - Nettoyage : 51 prix corrompus (parsing) purgés → prix moyen 327k$ → 293,73$
      - Caps défensifs sur les moyennes/max de prix (<= 500 000 $)
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 9 files +1,013 −8
    3. Enrichissement + pages boutiques landing + page statistiques
      …
      - 281 000+ produits, 1 204 boutiques actives (Bijoux Medusa incluse : 3 823
        produits ; catégorie bijoux 10 410 → 31 673)
      - Enrichissement boutiques : logo, couverture, description (3 220/3 224)
      - Enrichissement produits : re-catégorisation + héritage de catégorie boutique
      - Pages boutiques refaites en landing pages : héro couverture + logo, tuiles de
        stats de prix, chips catégories, recherche in-store, boutiques similaires
      - Nouvelle page /stats (à la lou-ka/auto-ka) : KPIs, histogramme des prix,
        tableau par catégorie, régions, croissance, origine A–E, top boutiques
      - API : /api/stats/extended (cache 10 min), fiche boutique enrichie
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 3,253 files +9,363 −282
    4. Expansion majeure : 149 500+ produits, 3 131 boutiques, 17/17 régions
      …
      - Fallback anti-bot Scrapfly (530 candidats « morts » ressuscités, 233
        boutiques en échec débloquées) + connecteur Wix Stores (GraphQL storefront)
      - Répertoire CMAQ récolté via sessions Firecrawl (940 artisans)
      - Refonte frontend mobile-first : bottom nav, filtres en bottom sheet,
        galeries swipe, design éditorial resserré
      - Géocodage FSA→région (répertoire MAMH), 4 nouveaux balayages (urbain,
        manufacturiers, régions minces, marques), producteurs Saveurs BSL + Goûtez AT
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 38 files +28,405 −1,486
    5. Fabri-Ka — agrégateur de produits québécois
      …
      Plateforme complète : pipeline de découverte provincial (30+ sources,
      2 510 boutiques QC vérifiées, classification d'origine A–E), connecteurs
      génériques par plateforme (Shopify, WooCommerce, Wix, Squarespace,
      Firecrawl), API FastAPI + SQLite FTS5, frontend React 18/Vite/TS,
      75 735 produits agrégés — en production sur www.fabri-ka.com.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 118 files +204,611