# Datachecker Outil de contrôle livrables FTTH. Les formats actuellement acceptés sont * Format MN 1.12 * Format Netgeo 2.2 ## Démarrage Ouvrir une fenêtre de commande dans le répertoire de l'application, et lancer: set FLASK_APP=index.py flask run Le serveur est alors disponible à l'adresse suivante: [http://127.0.0.1:5000](http://127.0.0.1:5000) ## Fonctionnement général Les tests se font en trois temps: 1. Chargement des fichiers: on contrôle la présence des fichiers attendus, leur format, leur type de géométrie. 2. Contrôle de la structure: on vérifie la structure des données, comme la présence des champs obligatoires, le type de données...etc. 3. Validation métier: contrôles complémentaires sur la cohérence des données. > Une erreur critique au cours d'une de ces étapes interrompt les tests. ## Schémas Les fichiers de configuration des schémas sont dans le sous-dossier `schemas` Le fichier `models.py` contient la définition des objets attendus, dont le nom du fichier contenant les données, et la structure des données attendues. Le fichier `validator.py` contient les fonctions de contrôle métier, et d'éventuelles modifications au chargement des données et au contrôle de la structure. ## Tests effectués > Une liste plus détaillée est donnée dans le readme de chaque schéma. * **Chargement des données** * Présence des fichiers attendus * Format des fichiers * Type de géométrie * Projection (à venir) * **Structure** * Les coordonnées des entités sont dans la zone d'emprise autorisée * Les champs attendus sont présents * Les champs obligatoires sont renseignés * Type des données (entiers, décimaux, dates...) * Les champs ne dépassent pas la longueur autorisée * Contrôle des valeurs autorisées * **Validation Métier** * Contrôle des doublons dans les PK * Contrôle des cardinalités * Contrôle des doublons graphiques * Autres contrôles liés au schéma.