{
  "_comment": "Food-Ka — Registre des sources (épiceries en ligne, province de Québec). Auteur : Simon-Pierre Boucher — contact@spboucher.ai",
  "sources": [
    {
      "id": "metro",
      "name": "Metro",
      "url": "https://www.metro.ca",
      "catalog_url": "https://www.metro.ca/epicerie-en-ligne",
      "tech": "HTML rendu serveur derrière Cloudflare — Scrapfly (ASP)",
      "connector": "metro",
      "status": "actif",
      "region": "Tout le Québec"
    },
    {
      "id": "superc",
      "name": "Super C",
      "url": "https://www.superc.ca",
      "catalog_url": "https://www.superc.ca/allees/fruits-et-legumes",
      "tech": "Même plateforme que Metro — Scrapfly (ASP)",
      "connector": "superc",
      "status": "actif",
      "region": "Tout le Québec"
    },
    {
      "id": "iga",
      "name": "IGA (Voilà)",
      "url": "https://www.iga.net",
      "catalog_url": "https://voila.ca",
      "tech": "SPA React (plateforme Voilà/Sobeys) — Scrapfly avec rendu JavaScript",
      "connector": "iga",
      "status": "actif",
      "region": "Tout le Québec"
    },
    {
      "id": "maxi",
      "name": "Maxi",
      "url": "https://www.maxi.ca",
      "catalog_url": "https://www.maxi.ca/fr/alimentation/c/27985",
      "tech": "Next.js (__NEXT_DATA__) derrière Akamai — Scrapfly (ASP)",
      "connector": "maxi",
      "status": "actif",
      "region": "Tout le Québec"
    },
    {
      "id": "provigo",
      "name": "Provigo",
      "url": "https://www.provigo.ca",
      "catalog_url": "https://www.provigo.ca/fr/alimentation/c/27985",
      "tech": "Next.js (__NEXT_DATA__) derrière Akamai — Scrapfly (ASP)",
      "connector": "provigo",
      "status": "actif",
      "region": "Tout le Québec"
    },
    {
      "id": "club_entrepot",
      "name": "Club Entrepôt",
      "url": "https://www.wholesaleclub.ca",
      "catalog_url": "https://www.wholesaleclub.ca/fr/alimentation/c/27985",
      "tech": "Next.js (__NEXT_DATA__) derrière Akamai — Scrapfly (ASP)",
      "connector": "club_entrepot",
      "status": "actif",
      "region": "Québec (grossiste Loblaw)"
    },
    {
      "id": "pa",
      "name": "PA Supermarché",
      "url": "https://www.supermarchepa.com",
      "catalog_url": "https://www.supermarchepa.com/collections",
      "tech": "Shopify — /products.json ouvert",
      "connector": "pa",
      "status": "actif",
      "region": "Montréal"
    },
    {
      "id": "giant_tiger",
      "name": "Giant Tiger",
      "url": "https://www.gianttiger.com",
      "catalog_url": "https://www.gianttiger.com/collections",
      "tech": "Shopify — /products.json ouvert",
      "connector": "giant_tiger",
      "status": "actif",
      "region": "Québec et Canada"
    },
    {
      "id": "epipresto",
      "name": "Epipresto",
      "url": "https://epipresto.ca",
      "catalog_url": "https://epipresto.ca/collections",
      "tech": "Shopify — /products.json ouvert",
      "connector": "epipresto",
      "status": "actif",
      "region": "Grand Montréal"
    },
    {
      "id": "nuvo",
      "name": "Marché Nuvo",
      "url": "https://marchenuvo.ca",
      "catalog_url": "https://marchenuvo.ca/collections",
      "tech": "Shopify — /products.json ouvert",
      "connector": "nuvo",
      "status": "actif",
      "region": "Grand Montréal"
    },
    {
      "id": "boite_a_grains",
      "name": "La Boîte à Grains",
      "url": "https://laboiteagrains.com",
      "catalog_url": "https://laboiteagrains.com/collections",
      "tech": "Shopify — /products.json ouvert",
      "connector": "boite_a_grains",
      "status": "actif",
      "region": "Outaouais"
    },
    {
      "id": "bocoboco",
      "name": "BocoBoco",
      "url": "https://bocoboco.ca",
      "catalog_url": "https://bocoboco.ca/marche/",
      "tech": "WooCommerce — Store API ouverte",
      "connector": "bocoboco",
      "status": "actif",
      "region": "Grand Montréal"
    },
    {
      "id": "aliments_merci",
      "name": "Aliments Merci",
      "url": "https://alimentsmerci.com",
      "catalog_url": "https://alimentsmerci.com/epicerie-en-ligne/",
      "tech": "WooCommerce — Store API ouverte",
      "connector": "aliments_merci",
      "status": "actif",
      "region": "Grand Montréal"
    },
    {
      "id": "mayrand",
      "name": "Mayrand",
      "url": "https://mayrand.ca",
      "catalog_url": "https://mayrand.ca/fr/nos-produits/",
      "tech": "HubSpot CMS — HTML statique avec prix",
      "connector": "mayrand",
      "status": "actif",
      "region": "Grand Montréal"
    },
    {
      "id": "aubut",
      "name": "Aubut",
      "url": "https://www.aubut.ca",
      "catalog_url": "https://www.aubut.ca/produits",
      "tech": "Site sur mesure — HTML avec prix sans connexion",
      "connector": "aubut",
      "status": "actif",
      "region": "Montréal et Laval"
    },
    {
      "id": "maturin",
      "name": "Maturin",
      "url": "https://maturin.ca",
      "catalog_url": "https://maturin.ca",
      "tech": "SSR sur mesure — HTML avec prix",
      "connector": "maturin",
      "status": "actif",
      "region": "Tout le Québec (producteurs d'ici)"
    },
    {
      "id": "avril",
      "name": "Avril Supermarché Santé",
      "url": "https://avril.ca",
      "catalog_url": "https://avril.ca/fr/epicerie.html",
      "tech": "Magento 2 — prix rendus serveur",
      "connector": "avril",
      "status": "actif",
      "region": "Québec, Montréal, Estrie…"
    },
    {
      "id": "tau",
      "name": "Marché Tau",
      "url": "https://marchestau.com",
      "catalog_url": "https://marchestau.com/fruits-legumes-bio",
      "tech": "k-eCommerce — fiches produit rendues serveur (sitemap)",
      "connector": "tau",
      "status": "actif",
      "region": "Grand Montréal"
    },
    {
      "id": "walmart",
      "name": "Walmart Canada",
      "url": "https://www.walmart.ca",
      "catalog_url": "https://www.walmart.ca/fr/browse/epicerie/10019",
      "tech": "Next.js derrière Akamai + PerimeterX — Scrapfly (ASP)",
      "connector": "walmart",
      "status": "actif",
      "region": "Tout le Québec"
    },
    {
      "id": "costco",
      "name": "Costco Canada",
      "url": "https://www.costco.ca",
      "catalog_url": "https://www.costco.ca/grocery-household.html",
      "tech": "Next.js derrière Akamai — Scrapfly avec rendu JavaScript",
      "connector": "costco",
      "status": "actif",
      "region": "Tout le Québec (livraison)",
      "notes": "Épicerie non périssable livrée seulement — le frais est « prix en entrepôt » sans prix en ligne."
    },
    {
      "id": "adonis",
      "name": "Marché Adonis",
      "url": "https://www.groupeadonis.ca",
      "catalog_url": "https://livraison.groupeadonis.ca/store/adonis/storefront",
      "tech": "Marque blanche Instacart — Scrapfly avec rendu JavaScript",
      "connector": "adonis",
      "status": "actif",
      "region": "Grand Montréal et Québec",
      "notes": "Prix du magasin par défaut Instacart (livraison Montréal)."
    },
    {
      "id": "rachelle_bery",
      "name": "Rachelle-Béry",
      "url": "https://www.rachellebery.ca",
      "catalog_url": null,
      "tech": "Site vitrine sans prix (bannière Sobeys)",
      "connector": null,
      "status": "non connectable",
      "region": "Montréal et environs",
      "notes": "Aucun catalogue en ligne avec prix : l'épicerie en ligne passe par Voilà (couverte via IGA) et Instacart."
    },
    {
      "id": "kim_phat",
      "name": "Kim Phat",
      "url": "https://www.kimphat.com",
      "catalog_url": null,
      "tech": "Site vitrine",
      "connector": null,
      "status": "non connectable",
      "region": "Grand Montréal",
      "notes": "Commande en ligne déléguée à Voilà — aucun catalogue propre avec prix."
    },
    {
      "id": "bulk_barn",
      "name": "Bulk Barn",
      "url": "https://www.bulkbarn.ca",
      "catalog_url": null,
      "tech": "Catalogue sans prix",
      "connector": null,
      "status": "non connectable",
      "region": "Tout le Québec",
      "notes": "Le catalogue public n'affiche aucun prix ; commande seulement via Instacart."
    },
    {
      "id": "dollarama",
      "name": "Dollarama",
      "url": "https://shop.dollarama.com",
      "catalog_url": null,
      "tech": "Marque blanche DoorDash — prix par magasin après session",
      "connector": null,
      "status": "non connectable",
      "region": "Tout le Québec",
      "notes": "Le rendu public affiche des prix à 0,00 $ (placeholders DoorDash) — aucun prix réel sans session."
    },
    {
      "id": "lufa",
      "name": "Fermes Lufa",
      "url": "https://montreal.lufa.com",
      "catalog_url": "https://montreal.lufa.com/fr/marche",
      "tech": "Catalogue lié à une session client",
      "connector": null,
      "status": "non connectable",
      "region": "Grand Montréal",
      "notes": "Le marché complet exige un compte (endpoints /superMarket/* de session) — à réévaluer."
    },
    {
      "id": "loco",
      "name": "Épiceries LOCO",
      "url": "https://epicerieloco.ca",
      "catalog_url": "https://epicerie-loco-en-ligne.square.site",
      "tech": "Square Online (SPA) — Scrapfly avec rendu JavaScript",
      "connector": "loco",
      "status": "actif",
      "region": "Montréal (zéro déchet)"
    },
    {
      "id": "akhavan",
      "name": "Akhavan",
      "url": "https://akhavanfood.com",
      "catalog_url": "https://akhavanfood.com/shop/",
      "tech": "WooCommerce — Store API ouverte",
      "connector": "akhavan",
      "status": "actif",
      "region": "Montréal (épicerie moyen-orientale)"
    },
    {
      "id": "tt",
      "name": "T&T Supermarket",
      "url": "https://www.tntsupermarket.com",
      "catalog_url": "https://www.tntsupermarket.com/eng/",
      "tech": "Magento GraphQL derrière Akamai — Scrapfly (ASP)",
      "connector": "tt",
      "status": "actif",
      "region": "Montréal (Saint-Laurent)"
    },
    {
      "id": "frenco",
      "name": "Frenco",
      "url": "https://frenco.ca",
      "catalog_url": null,
      "tech": "Vitrine GoDaddy — API boutique en 403",
      "connector": null,
      "status": "non connectable",
      "region": "Montréal (vrac)",
      "notes": "L'API GoDaddy de la boutique refuse toute requête publique (403) et la page rendue n'affiche aucun prix."
    }
  ]
}