A chaque tache/projet, on pourrait associer une URL de synchro, qui pourra soit être configurée automatiquement lors de l'utilisation d'un template soit être ajoutée manuellement à la tâche/projet associé par l'utilisateur. Pour enregistrer la synchronisation d'une tache/projet, un fichier texte "nomfichier.extension.sync" contiendrait l'URL de synchronisation ainsi que la date de dernière synchronisation. On garde l'extension du fichier de tache/projet parce que sous jTimer les fichiers de tache sont en .task et les projets en .project. La synchronisation s'effectuerait par l'intermédiaire d'un envoi de fichier JSON. L'id de l'utilisateur envoyant ses temps serait transmis via un token dans l'URL.
Ça me va. C'est sur un système de stockage un peu obsolète, mais tu n'as pas le choix.
L'envoi d'une requête GET sur l'URL de synchronisation d'une tâche(/projet) si elle aboutit correctement renvoie la date de dernière synchronisation côté serveur (avec la réponse 200 - OK) permet ensuite de vérifier dans le fichier de synchronisation s'il s'agit de la même, sinon il y a alors envoi d'une requête POST avec un json des données de la tâche en question, suivi d'une mise à jour de la date de dernière synchronisation dans le fichier si tout se passe bien (ce qui permet l'édition à posteriori des temps sur les tâches aussi). (et renvoie des messages d'erreurs avec codes adaptés dans les cas contraires).
Est-ce qu'une date de synchronisation seulement coté serveur suffit/convient ? Par exemple, pour une même tâche sur deux postes différents pour un même utilisateur: - tache1/poste1 non synchronisé depuis une semaine - tache1/poste2 non synchronisé depuis une semaine Le premier qui se synchronisera empêchera la synchronisation de la semaine de l'autre, non ? -- Éric Chatellier