SPB Git

spb/fabri-ka

Public

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

History of README.md Clear filter
page 1
  1. Fri, Aug 28, 2026 3

    1. docs: README ultra détaillé + visite guidée en 10 captures
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +83 −15
    2. Simon-Pierre Boucher · 1 file +4 −4
    3. feat(portée Canada): Fabri-Ka devient l'agrégateur des boutiques canadiennes, plus seulement québécoises.
      …
      - schema.py : REGIONS = 17 régions administratives QC (granularité historique conservée, données existantes intactes) + 12 provinces/territoires (Ontario, C.-B., Alberta, …) — les pages /region/<province>, facettes et sitemaps s'activent automatiquement dès qu'une boutique hors-Québec a des produits (une listing vide reste 404 anti soft-404, comportement voulu).
      - scripts/verify.py : signaux de localisation élargis au Canada — codes postaux A–Y (plus seulement G/H/J), indicatifs téléphoniques de toutes les provinces + territoires, « made in Canada / canadian made / fièrement canadien », mentions Canada/provinces, TLD .ca (présence canadienne exigée par la CIRA). Les champs gardent leurs noms historiques qc_* (compat cache + registry).
      - scripts/build_registry.py : garde-fou localisation désormais pan-canadien (ca_signal), région dérivée du code postal hors-Québec via première lettre → province (X0A/X0B/X0C = Nunavut, X* = TNO), ALL_REGIONS étendu.
      - Frontend + SEO : tous les textes « produits québécois / boutiques québécoises / Fabriqué au Québec (classes A–E) » → canadiens ; REGIONS_ALL dans api.ts (slugs provinces) ; fallbacks de localisation 'Québec' → 'Canada' ; manifest, tagline ecosystem.json, README. Noms propres préservés (certifications Aliments du Québec / Les Produits du Québec, régions Nord-du-Québec / Centre-du-Québec, taglines des autres apps Ka).
      - Connecteurs plateforme inchangés (ils ne filtrent pas par région : le registre stores.json décide) — les prochaines vagues de découverte peuvent maintenant admettre des sources pan-canadiennes.
      
      Vérifié : build Vite OK, pm2 restart fabri-ka-web + fabri-ka-sync, healthcheck 200 local + www.fabri-ka.com (titre « Tous les produits canadiens »), /api/products?region=Ontario répond, régions QC existantes intactes (/region/monteregie 200).
      
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +4 −4
  2. Tue, Aug 25, 2026 1

  3. Mon, Aug 24, 2026 13

    1. Revert "docs: refonte du README (pastilles + captures d écran à jour)"
      …
      This reverts commit 3cbf9574494ce8ad015e887d9661eadc4d984091.
      Simon-Pierre Boucher · 1 file +216 −78
    2. Revert "docs: README v2 — galerie multi-pages, style du site, documentation, contact"
      …
      This reverts commit 728ff96858ca7e914b815479a7f022842fcc2672.
      Simon-Pierre Boucher · 1 file +29 −115
    3. Revert "docs: chiffres README rafraîchis au live (385 062 produits, 1 572 boutiques)"
      …
      This reverts commit 909c537b479360c3ca82fc054a169dd1c876a961.
      Simon-Pierre Boucher · 1 file +4 −4
    4. Reapply "docs: chiffres README rafraîchis au live (385 062 produits, 1 572 boutiques)"
      …
      This reverts commit 7b7bebe3146ff425ea4b967f24d67a3bf867d798.
      Simon-Pierre Boucher · 1 file +4 −4
    5. Reapply "docs: README v2 — galerie multi-pages, style du site, documentation, contact"
      …
      This reverts commit d3bd204cb1be2366ca653f9cbe19aed794692747.
      Simon-Pierre Boucher · 1 file +115 −29
    6. Reapply "docs: refonte du README (pastilles + captures d écran à jour)"
      …
      This reverts commit b3a6a11dc9cb99a75362feca3b4be7682ffe958c.
      Simon-Pierre Boucher · 1 file +78 −216
    7. Revert "docs: refonte du README (pastilles + captures d écran à jour)"
      …
      This reverts commit 3cbf9574494ce8ad015e887d9661eadc4d984091.
      Simon-Pierre Boucher · 1 file +216 −78
    8. Revert "docs: README v2 — galerie multi-pages, style du site, documentation, contact"
      …
      This reverts commit 728ff96858ca7e914b815479a7f022842fcc2672.
      Simon-Pierre Boucher · 1 file +29 −115
    9. Revert "docs: chiffres README rafraîchis au live (385 062 produits, 1 572 boutiques)"
      …
      This reverts commit 909c537b479360c3ca82fc054a169dd1c876a961.
      Simon-Pierre Boucher · 1 file +4 −4
    10. Simon-Pierre Boucher · 1 file +115 −29
    11. Simon-Pierre Boucher · 1 file +78 −216
  4. Sun, Aug 23, 2026 1

    1. [ka6] nouveau connecteur Votresite.ca (plateforme e-commerce québécoise) — 45 boutiques débloquées, +3 190 produits: le pool de 1 045 boutiques du registre sans plateforme cachait 61 sites Votresite.ca (vitrine Drupal 8 gérée, thème owebo-votresite, boutique OpenCart montée en sous-répertoire /boutique|/produits|/shop). VotresiteConnector: montage détecté (registre → page d'accueil → chemins usuels), inventaire par <mount>/sitemap.xml (extension OpenCart pas toujours activée) sinon crawl des catégories <mount>/fr avec ?limit=100&page=N, puis fiche par fiche …/<slug>-p<ID>/ (rendu 100 % serveur, aucune API). Pièges gérés: prix courant = <h2>…$</h2> et barré = span line-through (twitter:data1 affiche le prix RÉGULIER même en solde, gardé en secours), titre = dernier <h1> sans ancre (le 1er h1 est le logo-lien, og:title parfois bourré de mots-clés), dédup par ID produit (même p<ID> sous plusieurs chemins -p361c37c45c44), images OpenCart aux espaces bruts encodées. Registre: 45/61 boutiques confirmées live → platform=votresite + endpoint, les 16 autres sans boutique réelle (archivées/fermées) restent inertes. Sync réel: 45 ok / 0 erreur, 3 190 produits (bijouteriesimard 488, zylvery 312, alpagadore 238, monastère 174, vivelesepices 166…), 4 fiches vérifiées à la main contre la source (titre/prix/solde/modèle/dispo). Docs régénérées (fiche votresite.md), README 8→9 connecteurs.
      …
      Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +2 −2
  5. Tue, Aug 18, 2026 2

    1. Vague 3 : 4 annuaires frais (Pages Vertes, MIAM Mauricie, Garde-Manger MTG, Terroir et Saveurs) — +283 boutiques, +99 connectables, +6 004 produits
      …
      - scripts/wave3_discovery.py : moisson sitemap/fiches des 4 annuaires (sans clé
        API, throttle poli, filtre des domaines partenaires) + intégration additive
        (aggregate -> verify -> registre + DB, mêmes garde-fous que build_registry).
      - build_registry.py : priors des 5 nouvelles sources (gardemangerduquebec
        scindé producteurs A / détaillants C via portfolio_category), régions
        Mauricie/Montérégie, rebuild rejouable.
      - reprobe_stores.py : --skip / --skip-stamped / --only-file + horodatage
        last_reprobe sur chaque cible sondée.
      - Re-sondage : 500 boutiques du stock restant (0 réactivable — vitrines sans
        endpoint) + 187 nouvelles vague 3 (4 Square réactivées).
      - Écartés après reconnaissance : Etsy (403), Ma Zone Québec (coquille vide),
        Goûtez Lanaudière (CRM Eudonet injoignable) ; CMAQ/économusées/Créateurs de
        saveurs/Signé Local déjà couverts.
      - provancher.org désactivée (billets de visites, pas des produits) et purgée.
      - Registre 3 507 (+283) | connectables 1 568 (+99) | productives 1 377 (+78)
        | produits 301 534 (+6 004). README + docs/connecteurs régénérés.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +17 −17
    2. Vague 2 : connecteur Square Online, re-sondage des boutiques, livraison, catégories
      …
      - connectors/square.py : API storefront publique Square Online
        (/app/store/api/v13, IDs user/site extraits du HTML) — 32 boutiques
        Square réactivées, ~2 700 produits gagnés. Ecwid documenté non
        couvert (client-only, API v3 = token secret).
      - scripts/reprobe_stores.py : re-sondage des boutiques enabled=0 /
        sans plateforme (Shopify/Woo/Wix/Squarespace/Square), MAJ
        stores.json + verify_cache + verified.jsonl + BD. 33 réactivées
        sur 400 sondées (32 square, 1 woocommerce).
      - scripts/enrich_shipping.py : colonne stores.shipping_info —
        politique de livraison (≤400 c.) extraite des pages usuelles,
        cache disque, throttle Shopify global 0,7 s. 271 boutiques.
      - schema.py : le classifieur exploite les options Shopify et
        attributs WooCommerce (details) + matériaux bijoux ;
        scripts/recategorize.py (backfill, 1 665 produits recatégorisés,
        jamais de rétrogradation vers autre) ; enrich_products.py aligné.
      - db.py : connect() tolérant aux verrous (retry), migration
        shipping_info, passage en WAL ; suppressions FTS par lots
        (uid UNINDEXED -> 1 balayage/lot de 500 au lieu de 1/produit,
        débloque les re-syncs massives).
      - README : 8 connecteurs, 294 266 produits, 1 298 boutiques.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +14 −14
  6. Mon, Aug 17, 2026 1

    1. Simon-Pierre Boucher · 1 file +91 −150
  7. Sun, Aug 16, 2026 1

    1. 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 · 1 file +1 −1
  8. 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 · 1 file +160 −30
  9. 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 · 1 file +8 −8
    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 · 1 file +1
    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 · 1 file +16 −11
    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 · 1 file +20 −17
    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 · 1 file +177
Menu

Theme