update documentation

This commit is contained in:
Guillaume RYCKELYNCK 2024-06-23 09:16:04 +02:00
parent c6c2ee9c04
commit ea6096301c
4 changed files with 49 additions and 14 deletions

View File

@ -7,10 +7,23 @@ Elle reprend l'objectif initial de pouvoir vérifier la cohérence entre les don
A ce stade, les principales modifications sont les suivantes: A ce stade, les principales modifications sont les suivantes:
- Intégration dands un CLI (via le module Click) avec la possibilité également de l'utiliser comme une application dédiée (via le module Python Prompt Toolkit). - Intégration dands un CLI (via le module Click) avec la possibilité également de l'utiliser comme une application dédiée (via le module Python Prompt Toolkit).
- Ajout de la notion "d'audits" (enregistrement au format JSON de tests préenregistrés). - Ajout de la notion "d'audits" : gestion et exécution de tests préenregistrés au format JSON.
- Séparation des logs (cf. classe libs/logs.py) et des rapports (cf. classe libs/reports.py) afin de pouvoir les enregistrer dans différents formats (JSON, CSV, etc.) - Séparation des logs (cf. classe libs/logs.py) et des rapports (cf. classe libs/reports.py) afin de pouvoir les enregistrer dans différents formats (JSON, CSV, etc.)
Installation: ## Concepts
![Concepts](./docs/SDI-CHECKER_concepts.png)
- SERVICE : désigne un service web accessible via un URL (ex. : https://sdi.georchestra.org/geoserver/wfs). Le service doit être indépendant de la solution logicielle utilisée (GeoServer, GeoNetwork ou autre). Il se caractérise principalement par son type : « WMS », « WFS » ou « CSW ». Les services WMS et WFS étant similaires, le cas échéant ils sont regroupés sous la terminologie « WxS ».
- COLLECTION : sous-ensemble déléments (ITEMS) retournés par le service interrogé. Il regroupe un ensemble dITEMS. Il peut par exemple sagir dun espace de travail (workspace) dans le cas de lutilisation de GeoServer.
- ITEM : élément unitaire testé par SDI CHECKER. Dans le cas de flux WMS et WFS on parlera de « LAYER », dans le cas de CSW on parlera de « METADATA » ou « MD »
- LAYER : ITEM provenant dune SERVICE/COLLECTION de type WxS
- MD : ITEM provenant dune SERVICE/COLLECTION de type CSW
- AUDIT : correspond à une vérification de conformité sur un SERVICE, une COLLECTION ou un ITEM. Il donne lieu à un REPORT
- REPORT : rapport issu dun ensemble de CHECKS appliqué à un SERVICE, une COLLECTION ou un ITEM.
- CHECK : il sagit dune vérification unitaire de cohérence et validité dune information dun ITEM. Une vérification porte généralement sur un ensemble de CHECKS appliqué à un ITEM.
## Installation
``` ```
$ git clone ... $ git clone ...
@ -21,7 +34,7 @@ $ source ./venv/bin/activate # linux
$ pip install -r requirements.txt $ pip install -r requirements.txt
``` ```
Utilisation: ## Utilisation
``` ```
# Créer un premier audit # Créer un premier audit
@ -112,7 +125,29 @@ $ python .\sdi-checker.py check wfs https://www.datagrandest.fr/geoserver/araa/o
## Organisation des fichiers ## Organisation des fichiers
- 1 fichier JSON avec la liste des audits et leurs paramètres ### Organisation du code
Un point d'entrée unique dans l'application :
```
$ python ./sdi-checker.py [MODE]
```
Une classe centrale permet de gérer l'application : `./sdi_checker/app/application.py`.
Plusieurs mode d'exécution:
- 'cli' (par défaut) : `./sdi_checker/app_cli/application.py`
- 'web' (serveur bottle) : `./sdi_checker/app_web/application.py`
Possibilité ainsi d'étendre avec une version desktop au besoin ('gui'), etc.
Les librairies utilisées sont organisés sous forme de classes dans `./sdi_checker/libs`.
Pour l'application CLI les commandes et sous-commandes sont définies dans `./sdi_checker/app_cli/commands` : un fichier par commande et un répertoire correspodnant pour les sous-commandes (cf. section 'Liste des commandes' ci-dessous).
### Gestion de la liste des audits
Un fichier JSON avec la liste des audits et leurs paramètres
Fichier "audits.json" Fichier "audits.json"
@ -158,7 +193,6 @@ Paramètres:
- log-to-file LOG_TO_FILE - log-to-file LOG_TO_FILE
- timeout TIMEOUT - timeout TIMEOUT
#### delete/remove/del/rm #### delete/remove/del/rm
Objectif : supprimer un audit Objectif : supprimer un audit
@ -250,7 +284,7 @@ Paramètres:
Cette API a vocation a pemrttre de générer et consulter des rapports pour une réutilisation dans d'autres applications. Cette API a vocation a pemrttre de générer et consulter des rapports pour une réutilisation dans d'autres applications.
Les bases du ode se situent dans `sdi-checker/app_web`. Les bases du ode se situent dans `sdi-checker/app_web`.
**!! Les fonctionnalités de consultation des rapports et erreurs (ex.: http://127.0.0.1:8001/reports) ne sont actuellement plus fonctionnels suite à une modification profonde du fonctionnement de l'application SDI Checker.** **!! Les fonctionnalités de consultation des rapports et erreurs (ex.: http://127.0.0.1:8001/reports) ne sont actuellement plus fonctionnelles suite à une modification importante du code de l'application SDI Checker.**
Utilisation: Utilisation:
@ -260,6 +294,7 @@ $ python .\sdi-checker.py web [MODE]
``` ```
Les modes possibles sont: Les modes possibles sont:
- 'prod' (défaut) : ouvre Webview - 'prod' (défaut) : ouvre Webview
- 'dev' : ouvre Webview en mode développement - 'dev' : ouvre Webview en mode développement
- 'browser' : ouvre l'application dans le navigateur - 'browser' : ouvre l'application dans le navigateur

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB