# Fabri-KA — Conformité des sources (CGU, robots.txt, licences) Dernière revue complète : **2026-08-19** (Phase 3 — expansion des sources). Chaque source est évaluée AVANT connexion : accès réel constaté, volume mesuré, robots.txt/CGU lus à la date indiquée, décision consignée. Principes transverses : politesse réseau (délais entre requêtes, caches disque, retries doux), aucune donnée derrière authentification, crédit de la source conservé dans `discovery_sources`/`origin_evidence` de chaque fiche, retrait sur demande d'un ayant droit. ## 1. Base du catalogue — plateformes e-commerce des boutiques Le catalogue produit provient des **endpoints publics** des boutiques elles-mêmes (pas d'annuaire tiers) : | Plateforme | Endpoint | Base de conformité | |---|---|---| | Shopify | `/products.json`, `/collections.json` | Données publiques exposées par la boutique à des fins de syndication ; robots.txt Shopify standard n'interdit pas ces chemins (interdit /cart, /checkout, /admin — jamais requêtés). Throttle global + backoff 429 (6 tentatives, 8 s×n). ⚠ 2026-08-19 : `robots.txt` derrière l'interstitiel « Verifying your connection » de Shopify pour certaines boutiques — l'endpoint catalogue, lui, répond normalement. | | WooCommerce | `/wp-json/wc/store/v1/products` | Store API publique conçue pour l'affichage sans authentification. | | Wix | GraphQL storefront public (jeton public `/_api/v1/access-tokens`) | API destinée au frontend public de la boutique. | | Squarespace | `?format=json` | Rendu JSON public des pages boutique. | | Square | endpoint liste public (`include=images,options`) | Vitrine publique Square Online. | | — | Scrapfly (repli ponctuel) | Uniquement sur des pages publiques, dans les mêmes limites. | Fréquence : cycle complet toutes les **6 h** (PM2 watch 360), ~1 570 boutiques, retrait automatique des produits disparus (délai de grâce). Les boutiques dont le domaine ne répond plus sont **dépubliées** (« présumée fermée », `fail_streak` ≥ 12 syncs consécutifs ≈ 3 jours) et réintégrées automatiquement dès qu'elles répondent. ## 2. Annuaires et répertoires connectés (découverte de fabricants) ### Vagues 1–3 (rappel, revue 2026-08-12 → 2026-08-18) Aliments du Québec, Les Produits du Québec, Fromages d'ici, Érable d'ici, Vins/Cidre/Distilleries du Québec, AMBQ, Économusées/Artisans à l'œuvre, CMAQ (metiersdart.ca, via Firecrawl), ICQ, Acheter québécois, Signé Local (vendors), marchés publics (AMPQ), ~15 annuaires régionaux gourmands, Pages Vertes, MIAM Mauricie, Garde-Manger du Québec, Terroir et Saveurs. Tous : répertoires publics de promotion des producteurs — la mise en visibilité des membres est leur raison d'être ; robots permissifs constatés à la connexion ; on n'extrait que nom/lien/coordonnées publiques, jamais le contenu éditorial. Décision : **connectés** (inchangé). ### Vague 4 (évaluées et connectées le 2026-08-19) | Source | Accès constaté | Volume mesuré | robots/CGU (2026-08-19) | Décision | |---|---|---|---|---| | **CARTV — répertoire bio (SIPAB, produitsbioquebec.info)** | Formulaire public Struts « recherche par type d'opération », 7 requêtes POST couvrent tout le Québec | 10 397 fiches brutes → **3 415 entreprises uniques**, 812 avec site web ; nom, adresse, municipalité, région, CP, tél, site, certificateur, date | Pas de robots.txt (404). Outil gouvernemental de consultation publique : « outil officiel pour repérer les produits bio du Québec ». Données factuelles (© factuel non protégeable) ; crédit CARTV consigné dans l'évidence et le champ `certifications` | **Connectée** (`cartv_bio`) — découverte + champ `certifications` structuré. Refresh recommandé : semestriel (7 POST) | | **CTAQ — répertoire des membres (conseiltaq.com)** | Endpoint AJAX public `/ajax-search-organisation` (HTML paginé), fiches `/organisation/` | **648 membres transformateurs** (les « Associés » = fournisseurs de services, exclus) ; site web sur la fiche | robots.txt : `Disallow:` (rien d'interdit). Répertoire public « effectuez des recherches par association ou type de membre » | **Connectée** (`ctaq`) — 0,4 s entre fiches, cache. Refresh : annuel | | **Vendors des collectifs connectés** (Paperole, Galerie Iris, Wachiya) | Champ `vendor` des produits DÉJÀ synchronisés (aucune requête aux collectifs) + résolution du site officiel par candidats `.com/.ca` validés par titre de page | ~630 marques distinctes, sondes capées | Réutilisation de nos propres données de sync ; le site officiel résolu est ensuite vérifié comme toute boutique (preuve QC exigée sur le site) | **Connectée** (`vendors_collectifs`) — patron Signé Local prouvé | | **CIBIM (cibim.org/membres)** | Page publique | 2 liens externes seulement (liste principalement sans sites) | robots Yoast : rien d'interdit | **Connectée** mais rendement marginal — consigné | | **Éleveurs de canards et d'oies du Québec (canardduquebec.com)** | Page publique /nos-producteurs/ | 2 liens externes | robots : wp-admin seulement | **Connectée**, rendement marginal | | **Le bon goût frais des Îles (lebongoutfraisdesiles.com)** | Page publique | 1 lien externe (fiches membres sans sites) | robots Yoast : rien d'interdit | **Connectée**, rendement marginal | | **Acheter québécois — catégories Montréal (« Fabriqué à Montréal »)** | Pages catégories publiques paginées | 62 domaines candidats montréalais | robots.txt : calendrier exclu seulement ; source déjà connectée en vague 1 (fiches individuelles) | **Connectée** (`acheterquebecois_mtl`) — comble la sous-représentation montréalaise | | **epipresto.ca** (place de marché d'épiceries locales QC) | `/products.json` répond **200 via curl** (le verify de 2026-08 avait conclu « morte » sur un 429 : gotcha TLS python-requests) | ~14 sitemaps produits ≈ 14 000 produits | robots.txt Shopify standard (interstitiel de vérification sur robots ; catalogue public OK) | **Connectée**, `store_kind=collectif`, classe C (produits pas tous fabriqués au QC — badgés) | | **laboiteagrains.com** (épicerie santé, Gatineau) | idem — 200 via curl | ~22 sitemaps ≈ 22 000 produits | idem | **Connectée**, `store_kind=revendeur`, classe C | ### Vague 5 (évaluées et connectées le 2026-08-21 — découverte Serper/Tavily) | Source | Accès constaté | Volume mesuré | robots/CGU (2026-08-21) | Décision | |---|---|---|---|---| | **ModeMTL (modemtl.com/repertoire-mode-locale-mtl/)** | Page WordPress publique, liens directs vers les sites des marques | **52 domaines externes uniques** sur la page répertoire | robots.txt WP standard (wp-admin, add-to-cart) — la page répertoire n'est pas interdite ; sitemaps Yoast publics. Répertoire de promotion de la mode locale | **Connectée** (`modemtl`) — région Montréal induite. Refresh : annuel | | **Bœuf d'ici (boeufdici.com/repertoire/)** | Page WordPress publique, liens directs | **43 domaines externes uniques** | robots.txt : wp-admin seulement. Répertoire de promotion des producteurs vendant à la ferme | **Connectée** (`boeufdici`). Refresh : annuel | | **AFMQ (afmq.com/liste_compagnies)** | Liste publique → ~100 fiches `/liste_compagnies/profil/` avec site web, catégories de produits | ~100 fabricants de meubles membres | robots.txt : `/catalog/`, `/scripts/`, `/images/`, uploads sécurisés interdits — **jamais requêtés** ; la liste et les profils sont publics (vitrine des membres) | **Connectée** (`afmq`) — 0,4 s entre fiches. Refresh : annuel | | **Apiculteurs et apicultrices du Québec (apiculteursduquebec.com)** | Répertoire Drupal public « route du miel », paginé par région (`/membres/region/`) : nom, adresse+CP, site web par carte membre | 17 régions × ~10 fiches/page ; membres sans site ignorés | robots.txt Drupal standard (admin/user) — pages membres publiques. Répertoire de promotion des entreprises apicoles | **Connectée** (`apiculteursduquebec`) — 0,5 s entre pages. Refresh : annuel | | **Vendors d'EPIPRESTO** (place de marché connectée en vague 4) | Champ `vendor` des produits DÉJÀ synchronisés (aucune requête à epipresto) + résolution `.com/.ca` validée par titre de page — patron vendors_collectifs prouvé | 273 vendeurs distincts, sondes capées à 400 ; vendeurs génériques (épiceries, pharmacies, « Général ») filtrés | Réutilisation de nos propres données de sync ; site résolu vérifié comme toute boutique | **Connectée** (`vendors_epipresto`) — prior **E 0.4** (vendeurs hétérogènes : revendeurs ET producteurs), preuve QC exigée sur le site | ### Canal d'auto-inscription (2026-08-19) « Inscrire mon atelier » (`/inscrire` → `POST /api/inscriptions`) : dépôt par l'artisan lui-même = consentement explicite. Quarantaine `pending`, **validation manuelle** avant toute publication (vérification du site par le pipeline, preuve de fabrication québécoise). Anti-abus : honeypot + 5 dépôts/24 h/IP. Journal `logs/inscriptions.log`. ## 3. Sources évaluées et ÉCARTÉES (avec raison, datées) | Source | Date | Raison de l'écartement | |---|---|---| | **REQ / Registraire des entreprises (open data, SCIAN 31-33)** | 2026-08-19 | Double blocage : (1) téléchargement derrière un **challenge Cloudflare** (« Just a moment », `cf-mitigated: challenge` — constaté au GET comme au HEAD) ; (2) licence **CC-BY-NC-SA 4.0** : clause *non commerciale* incompatible avec l'intégration dans une plateforme du Groupe Ka. De plus, le fichier ne contient aucun site web (résolution nom→site à très faible rendement). Ne pas reconnecter sans changement de licence. | | **UPA — Mangeons local** | 2026-08-19 | Application web **décommissionnée** : `mangeonslocal.upa.qc.ca` et `mangeonslocal.ca` redirigent vers `upa.qc.ca/citoyen` ; l'API historique (`/api/page/get-all`, archive 2025) répond 301. Il ne reste que l'app mobile (API non publique). La page UPA « trouver une ferme » renvoie vers des répertoires sectoriels — les plus utiles ont été connectés à la place (cibim, canardduquebec, lebongoutfraisdesiles) ; la plupart des autres étaient déjà couverts (arrêts gourmands, créateurs de saveurs, garde-manger, gaspésie gourmande, goûtez-y…). | | **Salon des métiers d'art du Québec** | 2026-08-19 | `salondesmetiersdart.com` = coquille vide (« Simple index.html! ») avec robots Cloudflare « content signals ». La vraie liste d'exposants vit sur **metiersdart.ca** (`repertoire_artisan.php`), c'est-à-dire le répertoire CMAQ **déjà couvert** (cmaq_firecrawl + search_sweep_cmaq, ~1 880 fiches). Rien de neuf à prendre. | | **Goûtez Lanaudière** | 2026-08-19 (re-test demandé par l'audit) | Le site WordPress vit, mais la liste des membres est toujours servie par un **CRM Eudonet** dont l'URL jeton (`w12.eudonet.com/XRM/frm?tok=…`) répond **404**. Toujours en panne — re-tester dans 6 mois. | | **PME MTL « Fabriqué à Montréal »** | 2026-08-19 | **Aucun répertoire public** : pmemtl.com (sitemap complet parcouru, 713 URLs) n'a que des billets de blogue ; `fabriqueamontreal.ca` / `madeinmontreal.org` ne résolvent plus. Remplacé par les catégories montréalaises d'Acheter québécois (connectées ci-dessus). | | **Etsy** | 2026-08 (audit, inchangé) | HTTP 403 anti-bot systématique ; l'API officielle v3 exige clé développeur + CGU restrictives sur la réutilisation. Écartée. | | **Ma Zone Québec** | 2026-08 (audit, inchangé) | Coquille Drupal vide côté serveur — plus de contenu à moissonner. | | **Panier Bleu** | 2026-08 (audit, inchangé) | Service fermé en 2023 — source morte. | | **Simons — Fabrique 1840** | non connectée | Vitrine commerciale de Simons ; CGU maison, valeur limitée (~150 marques pas toutes QC). À réévaluer seulement si besoin (prendre alors la liste de marques, jamais le catalogue). | | **MAPAQ — Répertoire des aliments québécois** | non connectée (réserve) | repertoirealimentsquebecois.gouv.qc.ca répond ; recoupe largement Aliments du Québec (déjà couvert). Candidat de réserve documenté. | | **ebenistes-quebec.com** | 2026-08-21 | Coquille lead-gen : la page « répertoire des ébénistes » ne contient **aucune fiche extractible** (0 lien interne de profil, 3 liens externes = agence web/école/thème). Rien à moissonner. | | **microentreprendre.ca** | 2026-08-21 | Répertoire chargé en JS **sans liens vers les sites web** des entreprises (552 Ko de HTML, 1 seule mention « site web »). De plus, « accompagné par un organisme de microcrédit » n'est pas une preuve de fabrication québécoise. | | **index-design.ca (répertoire adresses design)** | 2026-08-21 | Répertoire **non exclusivement québécois** : mêle fabricants QC et fournisseurs internationaux (Blum, Caesarstone, American Biltrite…). Bruit trop élevé pour un moissonnage de liens ; réévaluer seulement avec un filtrage fiche par fiche. | | **chantier.qc.ca (répertoire économie sociale)** | 2026-08-21 | Répertoire servi par admin-ajax WordPress (5 liens externes dans le HTML) et entreprises d'économie sociale majoritairement **non fabricantes** (services, culture, insertion). Coût/rendement défavorable. | | **apdiq.com / designmontreal.com** | 2026-08-21 | Bottins de **designers de services** (design d'intérieur, agences) — pas de boutiques de produits fabriqués. Hors périmètre Fabri-Ka. | ## 4. Fréquences et budgets - Sync catalogues : 6 h (watch PM2), caps par connecteur (`max_pages` 200). - Passes d'enrichissement/expansion manuelles : ~2 500 requêtes max par chantier, caches disque rejouables (`data/raw/`, `data/verify_cache/`, `data/enrich_cache/`). - Annuaires : pas de re-moisson automatique — refresh manuel semestriel/annuel par source (voir tableaux).