Update CONCEPT.md

This commit is contained in:
Christian P. MOMON 2020-09-17 04:30:49 +02:00
parent 9ee525ffe7
commit 0850ab8da2

View file

@ -6,7 +6,7 @@ StatoolInfos s'appuie sur StatoolInfos qui utilise des fichiers publics disponib
- 1 fichier web public pour décrire la fédération ;
- 1 fichier web public par organisation membre de la fédération ;
- 1 fichier web public par service d'organisation.
- 1 fichier web public par service des organisations.
Chaque fichier web public étant acessible via un lien web, chaque fichier public peut se trouver sur un site web différent.
@ -17,11 +17,11 @@ Il suffit de récupérer tous les fichiers web publics afin de pouvoir générer
## Format des fichiers web publics
Dans StatoolInfos, ce sont des fichiers « properties », c'est à dire ne contenant que des lignes de texte au format « clé/valeur ». La clé consiste en un chemin de mots séparés par des points. Le premier mot est appelé la section.
Dans StatoolInfos, ce sont des fichiers **properties**, c'est à dire ne contenant que des lignes de texte au format `chemin=valeur`.
Donc chaque fichier web public est une liste de sections.
Un **chemin** consiste en une suite de mots séparés par des points : `organization.name=Chapril`.
Les lignes vides et les lignes commençant par un « # » sont ignorées.
Les lignes vides et les lignes commençant par un `#` sont ignorées.
Exemple :
@ -30,7 +30,7 @@ Exemple :
organization.name=Chapril
organization.description=Chapril est le chaton de l\'April.
organization.website=https://www.chapril.org/
organization.logo.url=
organization.logo=
organization.owner.name=April
organization.owner.website=https://www.april.org/
organization.owner.logo=
@ -41,7 +41,45 @@ organization.legal.url=
organization.technical.url=
organization.startDate=
organization.endDate=
```
La liste des chemins est normalisée dans une ontologie.
## Notion de section
Le premier mot d'un chemin est appelé la **section**. Donc chaque fichier web public est une liste de sections.
Suivant qu'il décrive la fédération, une organisation ou un service, le fichier web public ne contient pas les mêmes sections :
- Fédération = file + federation + subs + metrics
- Organisation = file + organization + subs + metrics
- Service = file + service + host + software + metrics
La liste des chemins de chaque section est normalisée dans une ontologie.
## Des données simples
Dans lignes de **properties**, les valeurs doivent être le plus simple possible.
Voici une liste de types simples :
| Type | Description | Modèle | Exemple |
| ------ | ------ | ------ | ------ |
| DATE | Une date au format ISO | ISO_DATE | 2020-07-06 |
| DATETIME | Une date horaire au format ISO | ISO_DATETIME | 2020-07-06T14:23:20 |
| DAYS | Une liste de 366 valeurs numériques avec séparateurs | STU | 1;2;3;4;5;…;365 |
| EMAIL | Un courriel. | ^.+@.+$ | christian@momon.org |
| MONTHS | Une liste de 12 valeurs numériques avec séparateurs | STU | 1;2;3;4;5;6;7;9;10;11;12 |
| NUMERIC | Une valeur numérique | STU | -1234.567 |
| NUMERICS | Une liste de valeurs numériques avec séparateurs | STU | 12.34;56.78;9 |
| SEPARATOR | Un caractère séparateur | `;` ou `,` | Foo;foo;;foo |
| STATUS | Un statut. | ON/MAINTENANCE/DOWN/OFF/DRAFT | ON |
| STRING | Une chaîne de caractères quelconques. Peut contenir des `<br/>` et des `\n`. | ^.*$ | Foo is foo. |
| URL | Un lien web | ^https?://.+\..+/+$ | https://foo.foo/ |
| VALUE | Une chaîne de caractère sans séparateur | Foo |
| VALUES | Liste de valeurs de type VALUE avec séparateurs | STU | foo1;foo2;foo3 |
| WEEKS | Liste de 52 valeurs numériques avec séparateurs | STU | 1;2;3;4;5;…;51;52 |
Note for list:
* une valeur vide ou null est autorisée ;
* si une liste de valeurs contient moins de valeurs qu'attendu alors les valeurs manquantes sont considérées comme vides ou nulles.