J'ai eu des propositions sur différents sujets que je préfère soumettre, dans ce qui suit je présente ce qui est en place et ce qui est proposé puis mon avis. Pour la synchro: Ce qui est présent : à chaque création d'un temps ou d'une tâche, on la pousse vers le serveur puis si une modification est faite on change l'élément en base. Si l'élément n'a pas pu être poussé il est stocké puis la tentative est faite plus tard. Avantage: pas de doublon, "petite" base Désavantage: perte des données de départ au profit des modifications Ce qui est proposé: avoir un système un peu comme des log qui va pousser un temps toutes les 5 min tant que le chrono est actif. pour les modifications il est alors ajouté un temps négatif. Avantage: tout est sauvegardé Inconvénient : volumétrie de la base, perte d'information sur le moment de la modification(début ou fin de période). Mon avis: Les deux solutions sont équivalentes, le risque de perte des données est faible. Cependant la seconde solution peut rapidement devenir trop volumineuse. Pour le fonctionnement de l'application: Ce qu'on a: L'UI est supposée fonctionner sans le module du serveur. L'UI stocke les données dans son local storage puis envoie les données vers le serveur qui stocke les données dans la base. Avantage: possibilité de fonctionner sans une connexion. Inconvénient: taille du local storage limité Proposition : Livré l'UI packagée avec un serveur pour permettre de se passer du local Storage et utiliser directement les données du serveur. Petit plus: utilisation des websockets pour prévenir l'UI. Avantage: pas de duplication des données (local Storage/base), Désaventage: plus lourd Mon avis: Je pense qu'il est probable que le localStorage ne puisse pas accueillir suffisamment de données. Il peut être intéressant d'utiliser la seconde idée.