Édition citoyenne · Édition vivante · Mise à jour continue

La méthode,
en clair.

Comment Opak passe des articles de presse, jugements et rapports publics à un score 0-100. Score calculé automatiquement, publication validée éditorialement : un algorithme ouvert, des coefficients publiés, une présomption d'innocence chiffrée.

§ ouvert
Formule publique

L'algorithme est dans le repo. Chaque coefficient est documenté ici. Tous les calculs sont reproductibles.

§ sourcé
Aucune affaire sans source

Presse, jugements, Cour des comptes, HATVP. Chaque affaire renvoie à ses sources publiques.

§ pondéré
Présomption d'innocence

Affaires non jugées définitivement : ×0,3. Relaxes / non-lieux : ×0,0. Condamnations définitives : ×1,0.

§01

Mission & principes éditoriaux

Opak est une plateforme citoyenne indépendante, sans publicité, sans paywall, sans tracking intrusif. Elle centralise des informations publiques aujourd'hui dispersées(presse, justice, HATVP, RNE…) pour les rendre lisibles d'un coup d'œil. Chaque score est calculé, pas décidé.

Trois règles tiennent l'ensemble :

  • Factuel uniquement. Pas d'opinion, pas d'analyse subjective. Une affaire absente des sources publiques n'existe pas dans Opak.
  • Reproductible. Toute personne ayant accès au code et aux données peut recalculer un score à l'identique.
  • Corrigible. Toute demande de rectification factuelle est traitée sous 72h (voir Sources & corrections).
§02

La formule de l'Indice OPAK

L'Indice OPAK est un score composite de 0 à 100, moyenne pondérée de cinq sous-scores eux-mêmes calculés à partir de données judiciaires publiques.

Indice OPAK =
0,30 × Gravité
+ 0,25 × Récidive
+ 0,20 × Impunité
+ 0,15 × Complexité
+ 0,10 × Exposition

Chaque sous-score est lui-même borné entre 0 et 100. Le score global est arrondi à l'entier. Le code se trouve dans src/lib/scoring.ts.

§03

Les 5 axes en bref

§01

Gravité

Poids 30%

Ce que pèse l'affaire la plus lourde du dossier.

Statut judiciaire (condamnation, mise en examen, relaxe), durée de la peine ferme, montant impliqué — le tout multiplié par la gravité intrinsèque du fait (badges).

max( base_statut + bonus_peine + bonus_amende + bonus_montant ) × multiplicateur_badge × poids_statut
§02

Récidive

Poids 25%

À quel point les affaires se cumulent.

Somme pondérée des affaires distinctes selon leur statut. Une condamnation définitive compte pour 1, une affaire en cours pour 0,3.

1 cond. = 25 · 2 = 50 · 3 = 70 · 4 = 85 · puis +5 par affaire supplémentaire
§03

Impunité

Poids 20%

Écart entre la gravité des faits et les conséquences réelles.

Un gros montant détourné assorti d'une peine légère, une prescription, un appel suspendu : autant de situations où la sanction est faible au regard du fait.

fonction du couple (montant, peine ferme) + bonus pour prescription / appel
§04

Complexité

Poids 15%

Étendue et variété du dossier judiciaire.

Nombre d'affaires distinctes, variété des qualifications pénales, variété des catégories (badges), présence de montages financiers supérieurs à 1 M€.

nb_affaires × 15 (plafond 50) + qualifs × 10 (plafond 30) + badges × 5 (plafond 20) + 15 si montant > 1 M€
§05

Exposition

Poids 10%

Fonction publique exercée — donnée factuelle, pas un jugement.

Plus la fonction confère de pouvoir, plus elle pèse. Président de la République = 100, Premier ministre = 95, Ministre = 85, Député·e ou Sénateur·rice = 60, Maire = 50.

table fonction → score, fallback institution (gouvernement 85, parlement 60, mairie 50, entreprise 40)
§04

Calcul détaillé, axe par axe

Ci-dessous, l'intégralité des seuils, paliers, formules et tables utilisés par l'algorithme. Le fichier de référence est src/lib/scoring.ts : cette page en est la traduction lisible et reproductible. La publication du dépôt public est en cours de préparation (voir la page licences & réutilisation) ; dans l'intervalle, le code peut être obtenu sur demande à opak.contact.mail@gmail.com.

4.1 — Gravité (poids 30%)

Pour chaque affaire, on calcule un score brut. Le score de gravité retenu est le maximumobtenu sur l'ensemble des affaires (plafonné à 100).

score_affaire = base_statut
∪ max( score_affaire, points_peine_ferme )
∪ si amende > 0 : max(score_affaire, 30) + min( points_montant(amende), 15 )
+ points_montant(montant_impliqué)
× multiplicateur_badge_max
× poids_statut
Gravité finale = round( max sur toutes les affaires ), capé à 100

Points par tranche de peine ferme prononcée

DuréePoints
0 mois (sursis intégral ou pas de prison)0
1 à 6 mois25
7 à 12 mois40
13 à 24 mois55
25 à 60 mois (≤ 5 ans)75
Plus de 60 mois (> 5 ans)90

Points par montant impliqué (échelle logarithmique)

MontantPoints
Moins de 1 000 €2
1 000 € à 10 000 €5
10 000 € à 100 000 €8
100 000 € à 1 M€12
1 M€ à 10 M€16
10 M€ et plus20

Règle de l'amende

Si une amende est prononcée (> 0 €), le score de gravité de l'affaire ne peut plus descendre sous 30. On y ajoute ensuite les points du montant de l'amende, plafonnés à +15.

Multiplicateur par badge

Le score brut de l'affaire est multiplié par le plus grand coefficient parmi ses badges (voir §06). Par exemple, une affaire portant les badges fiscal (×1,00) et haine (×1,30) prend le ×1,30.

Pondération par statut

Enfin, le score de l'affaire est multiplié par le poids du statut judiciaire — voir le détail en §05.

4.2 — Récidive (poids 25%)

On somme les pondérations de statut de toutes les affaires. Le total devient un score selon des paliers fixes :

somme = Σ poids_statut(affaire)
rappel : condamnation = 1,0 · appel = 0,7 · en cours = 0,3 · prescrit = 0,1
Somme pondéréeScore récidiveExemple type
00Aucune affaire
Jusqu'à 0,510Une seule affaire en cours
0,5 à 1251 condamnation définitive ou ≈3 affaires en cours
1 à 2502 condamnations définitives
2 à 3703 condamnations définitives
3 à 4854 condamnations définitives
Plus de 4+5 par affaire supplémentaire (plafond 100)Au-delà de 4 affaires pondérées

4.3 — Impunité (poids 20%)

L'axe Impunité mesure le décalage entre la gravité des faits et les conséquences effectives. On prend le maximum des situations suivantes :

Affaire en cours, aucune condamnation
min(20, nb_affaires_en_cours × 8) — impunité symbolique, plafonnée à 20.
Condamnation pour montant > 100 000 € sans prison ferme
min(90, 40 + 2 × points_montant(montant_impliqué))
Condamnation pour montant > 100 000 € avec peine ferme ≤ 6 mois
min(70, 30 + points_montant(montant_impliqué))
Condamnation en 1ʳᵉ instance, en appel
Au moins 50 — la sanction n'est pas encore exécutée.
Affaire prescrite
30 + 10 × nb_affaires_prescrites — impunité procédurale.

Le score retenu est le maximum de ces situations, plafonné à 100.

4.4 — Complexité (poids 15%)

La complexité additionne quatre composantes plafonnées indépendamment puis bornées à 100 :

ComposantePoints par unitéPlafond
Nombre d'affaires distinctes+15 par affaire50
Variété des qualifications pénales+10 par qualif. distincte30
Variété des catégories (badges)+5 par catégorie distincte20
Présence d'au moins une affaire ≥ 1 M€+15 (forfaitaire)15

4.5 — Exposition (poids 10%)

L'exposition est un score purement factuel basé sur la fonction publique exercée. On teste d'abord la fonction (mot-clé), puis on retombe sur l'institution si rien ne matche.

Score par fonction (ordre = priorité)

Fonction reconnueScore
Président·e de la République100
Premier ministre95
Ministre85
Président·e de l'Assemblée nationale80
Président·e du Sénat80
Maire de Paris, Marseille ou Lyon75
Secrétaire d'État70
Président·e de conseil régional / conseil départemental70
PDG, directeur·rice, président·e de directoire65
Député·e60
Sénateur·rice60
Maire (autre commune)50

Fallback par institution

InstitutionScore
Gouvernement85
Assemblée nationale60
Sénat60
Mairie50
Entreprise40
Autre / non renseigné30
§05

Pondération par statut judiciaire

Le statut d'une affaire détermine le poids qu'elle prend dans tous les calculs. C'est le mécanisme central qui matérialise la présomption d'innocence: tant qu'une affaire n'est pas définitivement jugée, son poids est réduit.

Statut judiciaireCoefficientPoints de base (gravité)
Condamnation définitive×1,060
Condamné·e en 1ʳᵉ instance, appel×0,740
Procédure en cours×0,310
Prescription×0,15
Relaxe×0,00
Non-lieu×0,00

Sources des coefficients : POINTS_STATUT dans src/lib/scoring.ts.

§06

Gravité par type de fait (badges)

Chaque affaire reçoit un ou plusieurs badgesqui qualifient le type de fait (fiscal, sexuel, détournement…). Le score de gravité de l'affaire est multiplié par la valeur la plus élevée parmi ses badges. Idée : une atteinte aux personnes pèse plus qu'un manquement déontologique sans victime directe.

Atteintes aux personnes
  • Violences sexuelles
    badge: sexuel
    ×1.60
  • Violences physiques
    badge: violence
    ×1.40
  • Propos haineux, incitation à la haine
    badge: haine
    ×1.30
  • Discrimination
    badge: discrimination
    ×1.25
  • Obstruction judiciaire
    badge: justice
    ×1.25
  • Surveillance illégale
    badge: espion
    ×1.20
Atteintes graves aux finances publiques
  • Détournement de fonds publics
    badge: detournement
    ×1.35
  • Blanchiment
    badge: blanchi
    ×1.25
Référence — infractions financières / corruption
  • Fraude fiscale
    badge: fiscal
    ×1.00
  • Marchés publics truqués
    badge: btp
    ×1.00
  • Conflit d'intérêts
    badge: copinage
    ×1.00
  • Emploi fictif
    badge: fictif
    ×1.00
  • Abus de biens sociaux
    badge: frais
    ×0.95
  • Faux et usage de faux
    badge: mensonge
    ×0.90
Manquements déontologiques, atteintes aux biens
  • Intimidation, pression sur témoins
    badge: omerta
    ×0.80
  • Abus patronal
    badge: carton
    ×0.80
  • Dégradation volontaire
    badge: degredation
    ×0.75
  • Frais de mission abusifs
    badge: voyage
    ×0.70
  • Pantouflage
    badge: pantouflage
    ×0.65

Source des coefficients : POIDS_GRAVITE_BADGE dans src/lib/scoring.ts. La référence (×1,00) est calée sur les infractions financières et la corruption ordinaires.

§07

Échelle 0-100

L'Indice OPAK se lit comme une jauge :

0
Aucune affaire

Aucune affaire judiciaire répertoriée à ce jour.

1–25
Faible

Affaires isolées, relaxes, condamnations mineures avec sursis.

26–50
Modéré

Affaire(s) significative(s) ou condamnation avec sursis.

51–75
Élevé

Condamnations fermes ou affaires multiples.

76–100
Très élevé

Condamnations lourdes, récidive, montants importants.

§08

Exemple de calcul

Prenons un cas fictif à des fins pédagogiques : une députée condamnée définitivement pour emploi fictifà 1 an de prison ferme et 50 000 € d'amende, avec une seconde affaire en cours pour fraude fiscale portant sur 200 000 €.

// Calcul des 5 axes
Gravité ≈ 55 — peine de 12 mois (40 pts) + amende (≥30 pts) + montant + ×1,0 (badge fictif × statut condamné)
Récidive ≈ 50 — 1 condamnation définitive (×1,0) + 1 affaire en cours (×0,3) = 1,3 → palier 50
Impunité ≈ 0 — peine ferme effectivement prononcée, pas de gros écart
Complexité ≈ 40 — 2 affaires (30) + 2 qualifications (20) − plafonds
Exposition = 60 — fonction de députée
Indice OPAK = 0,30×55 + 0,25×50 + 0,20×0 + 0,15×40 + 0,10×60 = ≈ 41 / 100 (modéré)

Cas illustratif arrondi pour la lisibilité. Le calcul réel d'une fiche est consultable directement sur la page de la personnalité, dans le panneau « Comment ce score est-il calculé ? ».

§09

Présomption d'innocence

Conformément à l'article 9-1 du Code civil et à l'article 6§2 de la Convention européenne des droits de l'homme, toute personne est présumée innocentetant qu'elle n'a pas été déclarée coupable par une décision de justice définitive.

Concrètement, Opak applique ce principe par trois mécanismes chiffrés :

  • Les affaires en cours ou en appel sont pondérées en deçà de 1,0 (voir §05).
  • Les relaxes et non-lieux comptent ×0,0 — elles n'ajoutent rien au score, mais la fiche est conservée à titre d'historique.
  • Le statut d'une affaire est mis à jour à mesure que la procédure avance ; les scores sont recalculés.
§10

Pour aller plus loin

Cette page se concentre sur la méthodologie de calcul. Les autres engagements éditoriaux font l'objet de pages dédiées :