Aller au contenu
canidata.fr

Qualité

Un score, pas une promesse

Chaque dataset est noté sur quatre dimensions mesurables. Les défauts connus sont publiés, pas masqués : c'est la condition d'une donnée digne de confiance.

Les quatre dimensions

Complétude

Part des enregistrements dont les champs clés sont renseignés.

Unicité

Absence de doublons et stabilité des identifiants (slugs immuables).

Fraîcheur

Écart entre l'instantané publié et la dernière collecte source.

Cohérence

Conformité aux référentiels (régions, races) et aux contraintes de type.

Scores par dataset

Global 96/100
Complétude 98/100
Unicité des slugs 100/100
Fraîcheur 92/100
Cohérence des agrégats 95/100
Global 88/100
Complétude région 91/100
Normalisation région 100/100
Couverture géocodage 51/100
Fiabilité races produites 90/100
Global 92/100
Couverture territoriale 100/100
Normalisation 100/100
Base de rattachement 89/100
Fraîcheur 92/100
Cas concret

Normaliser 13 régions

À la source, le champ region mélangeait casse, accents et espaces parasites. Trois écritures d'« Occitanie » empêchaient toute agrégation fiable. canidata applique une table canonique de 13 régions et expose un region_slug stable.

Avant — donnée brute

source
[
  { "region": "Occitanie" },
  { "region": "occitanie" },
  { "region": "occitanie " },
  { "region": "Auvergne-Rhone-Alpes" },
  { "region": "auvergne-rhone-alpes" }
]

Après — normalisé

canidata
[
  { "region": "Occitanie",            "region_slug": "occitanie" },
  { "region": "Occitanie",            "region_slug": "occitanie" },
  { "region": "Occitanie",            "region_slug": "occitanie" },
  { "region": "Auvergne-Rhône-Alpes", "region_slug": "auvergne-rhone-alpes" },
  { "region": "Auvergne-Rhône-Alpes", "region_slug": "auvergne-rhone-alpes" }
]

Cette transformation est appliquée de façon déterministe au moment du seed, versionnée (voir changelog v1.0.2) et reproductible.

Mensuelle

Cadence de rafraîchissement des instantanés.

Versionné

Chaque changement de schéma est tracé au changelog.

Public

La fraîcheur est vérifiable en direct via /status.