Base de données client sync avec serveur

a marqué ce sujet comme résolu.

Bonjour,

Je me lance dans un nouveau projet et je suis à l'étude des différents framework qui peuvent m'être utile.

Concrètement cela sera une SPA. Il y aura un serveur php avec Symfony exposant une API RESTful ainsi que des WebSocket (l'idée étant de fournir les mêmes fonctions via REST ou WebSocket mais en fonction du client il pourra être plus aisé d'utiliser l'un ou l'autre).

Coté application je pense utiliser Backbone.js. (Pour ma part je connais un peu Angular.js, mais on me recommande d'utiliser Backbone car il est plus performant.)

Une des contrainte de l'application est de pouvoir fonctionner hors ligne, donc si pendant quelques minutes on à pas accès au réseau on peu utiliser normalement l'application et lorsque l'on récupère l'accès réseau une synchronisation à lieu.

D'après moi le plus efficace serai que le client aie une base de données locale (dans le navigateur) laquelle serait répliquée avec le serveur.
Il est évident qu'il va falloir écrire des règles quant à la réplication en elle même car le client n'aura pas besoin de l'intégralité de la base de données serveur.

A partir de là, l'application client se contenterai de toujours lire et écrire les données dans sa base de données. Cela serai le rôle d'un autre script de gérer la réplication en elle même.

Cependant il faudra que la réplication passe par mon API RESTful étant donné que l'ajout d'une donnée peut provoquer plus que l'ajout d'une information dans la base de données. (exemple: envoyer un mail, lancer une impression, communiquer avec un périphérique dédié, etc…)

J'ai trouvé Pouchdb permettant de répliquer des données avec un serveur CouchDB, c'est un excellent début… mais ce n'est malheureusement pas encore suffisant.

Auriez-vous des pistes à me proposer ?

Cordialement, La source.

+0 -0

Je crois que Falcor peut t'intéresser, pour abstraire et gérer la façon dont les données sont retrouvées, que ce soit en local (en cache quoi) ou en remote, et gérer la "réplication" local-remote. En voici une très brève présentation : http://techblog.netflix.com/2015/08/falcor-developer-preview.html L'article date un peu, donc Falcor est un projet sur les rails et prêt pour la production, à l'heure actuelle.

Je suis allé sur le site de Falcor et je suis perplexe… Je n'ai pas trouvé d'adaptateur pour une API RESTful…

Même en allant plus loin, j'ai l'impression qu'il faut nécessairement travaillé avec Node.js, par ailleurs je ne vois même pas la méthode DELETE.

J'ai bien peur que Falcor ne réponde pas à mes attentes, merci tout de même d'avoir partager ;)

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte