Méthodologie
La méthode appartient au public. Le reste appartient à chacun.
Voici comment CiviK collecte les données publiques, structure le modèle politique, calcule les comparaisons et vérifie les revendications de fiches. Les formules sont publiées et reproductibles · la plateforme, elle, reste propriétaire de l'association CiviK.
1. Sources de données
Toutes les données du référentiel proviennent de sources publiques officielles : Parlement.ch pour la Confédération, les chancelleries d'État cantonales, les sites institutionnels des communes. Chaque information est tracée par l'entité Source et reliée à son entité d'origine via SourceLink.
- API Parlement.ch (Conseil national, États, votes nominaux, intérêts déclarés)
- Sites officiels des 26 cantons (Grands Conseils, exécutifs cantonaux)
- Plateformes communales et bulletins officiels (~2'121 communes)
- Données électorales fédérales et cantonales
2. Modèle de données en 5 couches
Le schéma sépare strictement le référentiel public, la couche utilisateur, la participation, la monétisation et la traçabilité. Cela garantit qu'un changement de plan n'affecte jamais les données factuelles, et qu'un retour citoyen transmis à un élu ne peut jamais être effacé par celui-ci ou celle-ci.
| Couche | Entités principales | Mutabilité |
|---|---|---|
| 1. Référentiel | Person, Mandate, Territory, Party, Election | Append-only, versionné |
| 2. Identité | User, PersonClaim, PartySponsor | Mutable par l'utilisateur |
| 3. Participation | Questionnaire, ElectedAnswer, CitizenAnswer | Retour citoyen immuable côté élu |
| 4. Monétisation | Plan, Subscription, PersonProfilePage | Mutable, lifecycle abonnement |
| 5. Traçabilité | Source, SourceLink, AuditLog | Append-only |
3. Calcul de la comparaison
Le score global est la moyenne pondérée par l'importance que le citoyen attribue à chaque question. La distance entre deux réponses sur une échelle à 5 niveaux donne un accord pairwise entre 0 et 1. Les scores par thématique permettent une vue boussole en 5 axes. La même formule est appliquée à tous les élus et candidats, sans exception ni pondération éditoriale.
pairwise(a, b) = 1 - |a - b| / 4 (échelle -2..2) weight(i) = importance(i) + 1 (1..4) score = Σ weight(i) * pairwise(i) / Σ weight(i) score_global = round(score * 100) (0..100)
La formule est publiée à des fins d'audit. Toute personne peut la reproduire avec son propre jeu de réponses · CiviK ne garde aucun pouvoir éditorial sur le résultat.
4. Système de claim
Une fiche d'élu peut être revendiquée par trois flux indépendants :
- EMAIL_OFFICIAL
Lien magique envoyé à l'email institutionnel (@parlament.ch, @ge.ch, @lausanne.ch…) répertorié comme officiel.
- PARTY_SPONSORSHIP
Un référent de parti vérifié atteste l'identité (utile pour les candidats dont l'email officiel n'existe pas encore).
- MANUAL_REVIEW
Pièce d'identité + justificatif transmis à la modération. Documents supprimés sous 7 jours après validation, conformément à la LPD.
5. Méthodes publiées, plateforme propriétaire
Les méthodes de calcul, le modèle politique à 5 axes et les règles de comparaison sont publiés à des fins d'audit et de reproductibilité. La plateforme CiviK elle-même (code, données enrichies, infrastructure) reste la propriété de l'association CiviK · cela garantit son indépendance financière et la séparation des rôles.
- Formules de comparaison · publiques, reproductibles avec tout jeu de réponses
- Modèle à 5 axes (Économie, Social, Environnement, Migration, Institutions) · documenté
- Règles de revendication et de modération · publiques, identiques pour tous
- Plateforme · propriétaire de l'association, non redistribuable sans autorisation