Gestion de l'Intégrité des Données dans Open ENT
Introduction
Pour assurer l'intégrité des données dans Open ENT, un système de validation des entrées au format JSON est disponible. Ce validateur repose sur la technologie JSON Schema, qui permet de définir des règles strictes pour la structure et le contenu des données échangées entre les modules.
Validation des Entrées
Les données au format JSON, avant d'être traitées par les différents modules d'Open ENT, passent par un validateur. Ce validateur s'assure que les données respectent les règles définies dans les schémas JSON correspondants.
Organisation des Schémas
Les schémas de validation sont stockés dans le répertoire /jsonschema
Chaque module d'Open ENT possède son propre sous-répertoire à l'intérieur de ce répertoire principal. Cela permet de garder une organisation claire et modulaire des schémas de validation, facilitant ainsi la maintenance et l'évolution des règles de validation spécifiques à chaque module.
Utilisation des Schémas
Les schémas JSON sont utilisés par le validateur en fonction de leur nom. Le nom du schéma sert de clé pour le validateur, qui l'utilise pour rechercher et appliquer les règles de validation correspondantes à un ensemble de données JSON.
Exemple d'Utilisation
Lorsqu'un module reçoit des données JSON, il soumet ces données au validateur. Le validateur identifie le schéma approprié en fonction de la clé fournie (le nom du schéma) et vérifie que les données respectent les contraintes définies dans ce schéma. Si les données ne sont pas conformes, le validateur renvoie une erreur, garantissant ainsi que seules des données valides et conformes sont traitées par le module.
Conclusion
La validation des données par JSON Schema dans Open ENT est une fonctionnalité essentielle pour maintenir l'intégrité des données et assurer un fonctionnement correct et sécurisé des modules. En organisant les schémas de validation de manière modulaire et en utilisant des clés explicites, Open ENT permet une gestion efficace et évolutive de la validation des données.