[ka6] fix connecteur grandfrene.ca: fiche migrée squarespace→shopify (platform shopify + catalog_endpoint /products.json) — le site a MIGRÉ de Squarespace vers Shopify le 2026-11-04 au matin (entre le sync 08:01 EST, 12 produits via le sitemap Squarespace, et 10:48 EST, 0), et la nouvelle boutique Shopify est VERROUILLÉE par mot de passe « Opening soon » (lancement pas encore fait). Vérifié live 2026-11-04 ~19h20 UTC: home → 302 /password avec en-têtes powered-by: Shopify + cookie _shopify_essential + script shopify.exit_interstitial (preuve de plateforme), /products.json → 401, /collections/all → 302 /password, anciens sitemaps Squarespace → 404; les 19 produits historiques en base ont des URL /boutiqueciseauabois/p/… (pattern Squarespace /p/) qui n'existeront plus. Sans migration de fiche: le GenericConnector (via __generic__) restait fidèlement à ok/0 pendant le lock, mais la fiche squarespace devenait factuellement fausse et la réouverture aurait été captée en dégradé via le futur sitemap Shopify au lieu du catalogue structuré. Avec la fiche shopify: pendant le lock, /products.json → 401 → _StorefrontLockedError (gérée ligne 80 de shopify.py, présente ce jour) → fetch() break → ok/0 FIDÈLE (médiane historique 0.0); à la réouverture, catalogue /products.json complet d'office. Pattern identique au précédent rachcou.com 3cc4d77 (migré vers Shopify, verrouillé, fiche shopify posée pendant le lock, 0 fidèle, ne rien réparer avant l'ouverture). Édition ciblée de 2 lignes dans data/stores.json, jamais de json.dump global, AUCUN code touché. Sync réel 2026-11-04: grandfrene.ca ok / 0 produit; non-régression ateliersaintcerf.com ok / 62 (chemin shopify nominal) et atelierora.ca ok / 23 (chemin generic nominal) — 3 ok, 0 erreur en 49 s. pm2 restart fabri-ka-sync fait, web local 200. Les 19 produits (ciseaux de charpente, 285–850 $) sont préservés inactifs en base et seront re-captés à l'ouverture. Surveiller la réouverture: curl -s -o /dev/null -w '%{http_code}' https://grandfrene.ca/products.json → 200 = boutique ouverte, le sync reprendra tout seul. Si re-broken AVANT l'ouverture: vérifier que le 401 est toujours géré dans shopify.py (grep _StorefrontLockedError — fix en guerre de reverts, PERDU 7× historiquement); s'il a été reverté, re-migrer la fiche vers generic/__generic__ plutôt que de rejouer la guerre du code. Si re-broken APRÈS l'ouverture: grep grandfrene data/stores.json (doit être shopify + /products.json).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 changed file +2 −2
modified
data/stores.json
+2 −2
@@ -62114,8 +62114,8 @@ | ||
| 62114 | 62114 | "id": "grandfrene.ca", |
| 62115 | 62115 | "name": "Atelier du Grand Frêne - CMAQ", |
| 62116 | 62116 | "url": "https://grandfrene.ca", |
| 62117 | − "platform": "squarespace", | |
| 62118 | − "catalog_endpoint": "__generic__", | |
| 62117 | + "platform": "shopify", | |
| 62118 | + "catalog_endpoint": "/products.json", | |
| 62119 | 62119 | "city": "", |
| 62120 | 62120 | "region": "Bas-Saint-Laurent", |
| 62121 | 62121 | "postal_prefix": "G0L", |
| 62122 | 62122 | |