Configurations JSON

Les trames ou fichiers JSON de description de données suivent la syntaxe générale suivante :

{
  "header": {
    "id": "<uuid>",
    "comment": "<comment>",
    "spec": "<spec_id>",
    "version": <version_number>,
    "created_date": "<date_of_creation>",
    "modified_date": "<last_modification_date>",
    "created_author": "<create_author_email>",
    "modified_author": "<last_author_email>",
    "tags": ["<tag>", ...],
    "metadata": {
      "<key>": "<value>",
      ...
    }
  },
  "data": ...
}

 

L’entête regroupe les informations servant à qualifier les données :

  • <uuid> : identifiant unique de la ressource, par exemple : "4a5996c8-db92-4e5f-98b5-632a527a0956"
  • <comment> (optionnel) : commentaire utilisé à des fins de documentation uniquement
  • <spec_id> : identifiant de la spécification utilisée par la ressource, par exemple : "SKOP_CAPTURE_GUIDE#1.0"
  • <version_number> : numéro de version de la ressource, incrémenté à partir de 1
  • <date_of_creation> : date de création de la ressource, au format ISO 8601, par exemple : "2021-12-13T15:16:00Z"
  • <last_modification_date> : date de dernière modification de la ressource
  • <create_author_email> : courriel de l'auteur ayant créé la ressource
  • <last_author_email> : courriel de l'auteur ayant effectué la modification la plus récente
  • <tag> (optionnel) : une ou plusieurs étiquettes pour repérer ou catégoriser le contenu
  • metadata / "<key>": "<value>" : une ou plusieurs métadonnée associée aux donnés, sous la forme de paires clés / valeurs (chaînes uniquement). Les métadonnées doivent permettre le filtrage et l’indexation des données si nécessaire.

 

Le bloc de données contient les données associées à la ressource. Outre les primitives JSON, les données peuvent contenir :

  • un message internationalisé, sous la forme d’un objet prenant comme clés les codes langues et comme valeur le message traduit, par exemple :
{
  "fr": "Objet",
  "en": "Object"
}

Ce type de donnée est identifié comme <i18n> dans la suite du document.

  • une définition d’icône, sous la forme d’un objet prenant comme clé les plate-formes android ou ios, et comme valeur une description possédant les clés family (police à utiliser) et glyph (code point du caractère), par exemple :
"icon": {
  "android": {
    "family": "MaterialIcons",
    "glyph": 58098
  }
}

Ce type de donnée est identifié comme <icon> dans la suite du document.