SPB Git

spb/fabri-ka

Public

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

History of scripts Clear filter
page 1
  1. Fri, Aug 28, 2026 2

    1. Simon-Pierre Boucher · 2 files +23 −73
    2. 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 · 2 files +73 −23
  2. Mon, Aug 24, 2026 1

  3. Sun, Aug 23, 2026 2

    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 +24
    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>
      Simon-Pierre Boucher · 1 file +27
  4. Fri, Aug 21, 2026 1

  5. Wed, Aug 19, 2026 6

    1. Simon-Pierre Boucher · 2 files +50 −31
  6. Tue, Aug 18, 2026 3

    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 · 3 files +433 −6
    2. 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>
      Simon-Pierre Boucher · 1 file +475
    3. 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 · 4 files +557 −3
  7. Wed, Aug 12, 2026 4

    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 +88
    2. 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 · 3 files +224 −1
    3. 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 · 3 files +210 −2
    4. 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 · 16 files +1,303
Menu

Theme