Suite aux discussions de vendredi dernier, voici une deuxième version du schéma, avec pour changements principaux : la prise en compte d'un id pour les temps, et l'ajout d'une date de début et d'une date de fin pour définir l'intervalle de mise à jour, la date de fin étant optionnelle (si elle n'est pas présente, la mise à jour prend comme fin de période la date courante). Le terme de path a été changé en id pour pouvoir coller à différents modèles (dans le cas de jtimer il s'agit du path de la tâche, pour wid ça pourra être le tag).{ "description": "schema for the update of the times of a project/task", "$schema": "http://json-schema.org/draft-04/schema#", "definitions": { "task": { "type":"object", "properties": { "id": {"type": "string"}, "startDate" : {"type": "string"}, "endDate" : {"type": "string"}, "totalTime": {"type":"integer"}, "periods": { "type":"array", "items" : { "type" : "object", "properties": { "id": {"type":"string"}, "startDate":{"type" : "string"}, "duration": {"type":"integer"} } }, "minItems" : 1 }, "name": {"type": "string"}, "annotation": {"type": "string"}, "subtasks": { "type": "array", "items": {"$ref":"#/definitions/task"} } }, "required":["id", "startDate", "totalTime", "periods"] } }, "type":"object", "properties": { "task": {"$ref":"#/definitions/task"} } } avec un exemple : { "id":"path/le/chien", "startDate":"2002/02/02T00:00:00.000Z", "totalTime":300, "periods": [ {"id": "anAmazingID", "startDate":"2016/04/03T00:00:00.000Z", "duration":175}, {"id": "anOtheriD", "startDate": "2002/02/02T00:00:00.000Z", "duration": 78}, {"id": "IDitAgain", "startDate": "2006/10/20T00:00:00.000Z", "duration":58} ], "name":"6882", "annotation":"bla", "subtasks": [ ] }