SPB Git forge

spb/qc-election

Public
20commits 1branches 0releases
4.9 MBsize
maindefault branch
20 days agolast push
Python 66.6% HTML 24.8% CSS 4.9% JavaScript 3.6%
4.8 KB · 88 lines json
Raw Blame History
1{2  "_doc": "Registre canonique des comptes sociaux (ADDENDUM §8-§11, §31). RÈGLE : aucun compte inventé — chaque handle porte sa source de vérification (official_site = extrait du site officiel du parti; search = repéré par recherche, statut pending_review jusqu'à confirmation) et sa date. La découverte hebdomadaire (social_account_discovery.py) compare ce fichier aux sites officiels et alerte sur tout changement (chef, compte). Format JSON (zéro dépendance).",3  "_verified_at": "2026-08-30",4  "parties": {5    "CAQ": {6      "official_name": "Coalition avenir Québec",7      "leader": "Christine Fréchette",8      "website": "https://coalitionavenirquebec.org",9      "accounts": {10        "facebook": {"handle": "101058256034207", "source": "official_site", "status": "verified"},11        "youtube": {"handle": "channel/UC7iv0H5EVTzx0RrBCjgu0ew", "source": "official_site", "status": "verified"},12        "x": {"handle": "coalitionavenir", "source": "search", "status": "pending_review"},13        "instagram": {"handle": "coalition_avenir_quebec", "source": "search", "status": "pending_review"},14        "tiktok": {"handle": "coalitionavenirquebec", "source": "search", "status": "pending_review"}15      },16      "leader_accounts": {17        "instagram": {"handle": "frechette_christine", "source": "search", "status": "pending_review"}18      }19    },20    "PQ": {21      "official_name": "Parti québécois",22      "leader": "Paul St-Pierre Plamondon",23      "website": "https://pq.org",24      "accounts": {25        "x": {"handle": "partiquebecois", "source": "search", "status": "pending_review"},26        "facebook": {"handle": "lepartiquebecois", "source": "search", "status": "pending_review"},27        "instagram": {"handle": "partiquebecois", "source": "search", "status": "pending_review"},28        "tiktok": {"handle": "partiquebecois", "source": "search", "status": "pending_review"},29        "youtube": {"handle": "channel/UCUhFy8q8gse395l9E2VZDAQ", "source": "search", "status": "pending_review"}30      },31      "leader_accounts": {32        "instagram": {"handle": "psppqc", "source": "search", "status": "pending_review"}33      }34    },35    "PLQ": {36      "official_name": "Parti libéral du Québec",37      "leader": "Charles Milliard",38      "website": "https://plq.org",39      "accounts": {40        "x": {"handle": "LiberalQuebec", "source": "official_site", "status": "verified"},41        "facebook": {"handle": "LiberalQuebec", "source": "official_site", "status": "verified"},42        "instagram": {"handle": "liberalquebec", "source": "official_site", "status": "verified"},43        "tiktok": {"handle": "liberalqc", "source": "official_site", "status": "verified"},44        "youtube": {"handle": "PartiLiberalduQuebec", "source": "official_site", "status": "verified"}45      },46      "leader_accounts": {}47    },48    "QS": {49      "official_name": "Québec solidaire",50      "leader": "Ruba Ghazal et Sol Zanetti",51      "website": "https://quebecsolidaire.net",52      "accounts": {53        "x": {"handle": "QuebecSolidaire", "source": "search", "status": "pending_review"},54        "facebook": {"handle": "Quebecsolidaire", "source": "search", "status": "pending_review"},55        "instagram": {"handle": "quebecsolidaire", "source": "search", "status": "pending_review"},56        "tiktok": {"handle": "quebecsolidaire", "source": "search", "status": "pending_review"},57        "youtube": {"handle": "user/QuebecSolidaire", "source": "search", "status": "pending_review"}58      },59      "leader_accounts": {}60    },61    "PCQ": {62      "official_name": "Parti conservateur du Québec",63      "leader": "Éric Duhaime",64      "website": "https://conservateur.quebec",65      "accounts": {66        "youtube": {"handle": "channel/UCf4Y6bCQgdFCQXqREQ7IMIw", "source": "official_site", "status": "verified"},67        "tiktok": {"handle": "ericduhaime_pcq", "source": "search", "status": "pending_review"}68      },69      "leader_accounts": {70        "x": {"handle": "E_Duhaime", "source": "search", "status": "pending_review"},71        "instagram": {"handle": "ericduhaimequebec", "source": "search", "status": "pending_review"}72      }73    }74  },75  "media": {76    "Radio-Canada": {"website": "https://ici.radio-canada.ca", "rss": "https://ici.radio-canada.ca/rss/92"},77    "Le Devoir": {"website": "https://www.ledevoir.com", "rss": "https://www.ledevoir.com/rss/section/politique.xml"},78    "La Presse": {"website": "https://www.lapresse.ca", "rss": "https://www.lapresse.ca/actualites/politique/rss"}79  },80  "institutions": {81    "Élections Québec": {"website": "https://www.electionsquebec.qc.ca",82                         "donnees": "https://donnees.electionsquebec.qc.ca"},83    "Assemblée nationale": {"website": "https://www.assnat.qc.ca"},84    "Statistique Canada": {"website": "https://www12.statcan.gc.ca/census-recensement/"},85    "ISQ": {"website": "https://statistique.quebec.ca"}86  }87}88