Agrégateur de produits québécois — www.fabri-ka.com
- 385commits
- 1branches
- 0releases
- 89.9 MBon disk
- maindefault branch
- 4 days agolast push
-
Fri, Aug 28, 2026 3
-
docs: README ultra détaillé + visite guidée en 10 captures
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Revert "feat(portée Canada): Fabri-Ka devient l'agrégateur des boutiques canadiennes, plus seulement québécoises."
…
This reverts commit 8223706e162d2496adcf7f003306689e191a026b.
-
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>
-
-
Tue, Aug 25, 2026 1
-
Mon, Aug 24, 2026 13
-
Revert "docs: refonte du README (pastilles + captures d écran à jour)"
…
This reverts commit 3cbf9574494ce8ad015e887d9661eadc4d984091.
-
Revert "docs: README v2 — galerie multi-pages, style du site, documentation, contact"
…
This reverts commit 728ff96858ca7e914b815479a7f022842fcc2672.
-
Revert "docs: chiffres README rafraîchis au live (385 062 produits, 1 572 boutiques)"
…
This reverts commit 909c537b479360c3ca82fc054a169dd1c876a961.
-
Reapply "docs: chiffres README rafraîchis au live (385 062 produits, 1 572 boutiques)"
…
This reverts commit 7b7bebe3146ff425ea4b967f24d67a3bf867d798.
-
Reapply "docs: README v2 — galerie multi-pages, style du site, documentation, contact"
…
This reverts commit d3bd204cb1be2366ca653f9cbe19aed794692747.
-
Reapply "docs: refonte du README (pastilles + captures d écran à jour)"
…
This reverts commit b3a6a11dc9cb99a75362feca3b4be7682ffe958c.
-
Revert "docs: refonte du README (pastilles + captures d écran à jour)"
…
This reverts commit 3cbf9574494ce8ad015e887d9661eadc4d984091.
-
Revert "docs: README v2 — galerie multi-pages, style du site, documentation, contact"
…
This reverts commit 728ff96858ca7e914b815479a7f022842fcc2672.
-
Revert "docs: chiffres README rafraîchis au live (385 062 produits, 1 572 boutiques)"
…
This reverts commit 909c537b479360c3ca82fc054a169dd1c876a961.
-
Sun, Aug 23, 2026 1
-
Tue, Aug 18, 2026 2
-
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>
-
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>
-
-
Mon, Aug 17, 2026 1
-
Sun, Aug 16, 2026 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>
-
-
Thu, Aug 13, 2026 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>
-
-
Wed, Aug 12, 2026 5
-
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>
-
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>
-
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>
-
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>
-
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>
-