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 2
-
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>
-
-
Mon, Aug 24, 2026 1
-
Sun, Aug 23, 2026 2
-
build_registry: préservation des overrides manuels d un rebuild à l autre
…
Un rebuild régénérait enabled=true pour les 91 boutiques Wix désactivées à l audit du 2026-08-23 et écrasait les réparations faites au registre. Désormais préservés depuis le stores.json précédent : disabled_reason (l entrée reste désactivée), timeout par boutique (canadel.com), et plateforme/endpoint/url des entrées marquées manual_platform (rose.ca, migrée Woo -> Shopify boutique.rose.ca). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Fri, Aug 21, 2026 1
-
Wed, Aug 19, 2026 6
-
Certifications structurées (champ stores.certifications : Aliments du Québec, Produits du Québec, Économusée, Arrêts gourmands, Bio CARTV avec certificateur+date) + détection « présumée fermée » : fail_streak sur échecs consécutifs, seuil 12 syncs (~3 j), produits dépubliés, réintégration auto au premier sync réussi, backfills rejouables
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Vague 4 — nouvelles sources de fabricants : CARTV bio (SIPAB, 3 425 certifiés, 7 POST), CTAQ (transformateurs, AJAX), vendors des collectifs (résolution domaine validée par titre), CIBIM/canards/Îles, catégories Fabriqué à Montréal (acheterquebecois), re-test curl epipresto+laboiteagrains (429 TLS) ; priors registre ; Woo attributes en chaînes tolérés (norseco)
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Passes rejouables : retry 429 backoff long sur collections.json, géocodage idempotent ; logs/ ignoré
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Phase 2 — passes d'enrichissement exécutées : géocodage RTA 2 995 boutiques (zippopotam, cache rejouable), 167 boutiques catégorisées via collections Shopify (table consignée), 111 courriels + téléphones, livraison 271->365, re-sondage des 1 256 jamais-sondées (3 réactivées, provancher re-désactivée hors-mission), renommage 169 boutiques génériques + 163 mojibake, héritage catégories (autre 38 312 -> 3 398) ; registre + caches + docs régénérées
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Enrichissement boutiques : géocodage RTA via Nominatim (cache), extraction courriel/téléphone/réseaux (pages contact + JSON-LD), taxonomie collections Shopify (table de correspondance consignée)
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Qualité produits : listing_status (exclusions cartes-cadeaux/ateliers/abonnements/billets), quarantaine prix>100k et titres vides, prix placeholders 999999 -> sur devis (price_on_request), cap descriptions 600->5000, images 8->15, Woo courte+longue, Wix additionalInfo/inventory/weight, Square include=images,options (galerie), Shopify retry 429 durci
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Tue, Aug 18, 2026 3
-
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>
-
Docs connecteurs : générateur rejouable + 11 fiches standardisées (6 plateformes, Scrapfly, verdict Ecwid, découverte-registre, enrichissement, INDEX)
…
Croise data/stores.json (3 224 boutiques) + introspection des connecteurs + BD live (volumétrie/complétude produits, top boutiques, gotchas). 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>
-
-
Wed, Aug 12, 2026 4
-
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>
-
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>
-