Bonjour,

Voila je suis chef d'un projet en informatique et j'ai besoin de vos conseils pour implanter un projet.
En effet lep rojet consiste à gérer les colis d'une agence de voyages qui a plusieurs agences dans plusieurs villes. J'ai developpé une application web qui permet de gérer cela avec la connexion internet cela fonctionne très bien. Mais certains probèles viens de n'aitrent. En effet d'autres agences ont été crées dans des zones qui n'ont pas de couverture par Internet stable, directement impossible d'accéder à internet a tout moment ce qui m'oblige a penser une autres application offline qui se synchronisera lorsque la connexion internet sera stable.

Mon sousis ce trouve maintenant au niveau de la Base de données l'architecture à mettre en place car lors de la synchronisation, plusieurs site vont envoyé les données vers la base centrale et du coup il va falloir garantie l'unicité et la cohérence des données dans le serveurs central.

Quelle architecture me proposeriez vous? comment gérer cela ? dans le code!? ou dans un SGBD en utilisant un outil qui se connecte et fait la synchronisation?

15 réponses


salut,
tu utilises quoi comme serveur de base de données ?

@plus

Pierre

romses
Auteur

Pour le moment MYSQL

salut,
bah, décide d'abord le sgdb et reviens ;)

@plus.

Pierre

romses
Auteur

c'est avec Mysql je travail car la version online fonctionne sans problème avec ce SGBD

salut,
tu met un petit serveur dans les agences et tu syncronises les bases toutes les x mn ;)

@plus
Pierre

romses
Auteur

je peut utiliser wamp?

oui, évidement ;)
mais pour la sécurité, c'est pas terrible :/

@plus

Pierre

romses
Auteur

la synchronisation fonctionne comment? je veux dire est ce que j'aurai besoin d'un outils supplémentaire pour gérer les synchronisation?

Salut,
nan, un simple programme php en tâche cron devrais suffire ;)
@plus
Pierre

romses
Auteur

Oui et se sera Quoi le mécanisme? je veux dire de facon abstraite comment je dois procédé? car les données en lignes doivent être cohérents avecles données en offlines

salut,
d'abord, créer un champ comme suivant dans toutes les tables de ta base de données :

    `date_updated` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE NOW()

et la suite me parait logique ;)
et c'est très simple, je l'ai déjà fais.

@plus

Pierre

romses
Auteur

Ok j'ésai déjà et te fait signe

Bonjour.
Il y a quand même à mon avis un sacré problème avec ce système.
Car comme tu dis, le projet sera utilisé par plusieurs agences situées elles-mêmes dans plusieurs villes, dont certaines agences n'ont pas de connectivités internet stables, ce qui voudrait dire que dans celles-ci, il faudrait que tu ailles leur installer et configurer un serveur wamp et que tu y installes le projet.
Déjà ça c'est un problème mais en plus de ça, ça veut dire que si un jour le PC contenant le serveur à une pane, tu devras aller à l'agence pour refaire les manips sur un autre de leur PC (s'ils en ont plusieurs à leur disposition dans l'agence) pour qu'ils puissent utiliser le projet sans perte.
Ils serait donc plutôt logique de créer un logiciel à ces agences là, ce qui sera beaucoup plus rapide à mettre en place et moins contraignant en cas de nécessité d'apporter des modifications au projet ou en cas de l'exemple que j'ai cité plus haut.
Il leur suffira de télécharger le logiciel et de l'installer en quelques click sur chaque ordinateur.

romses
Auteur

Merci Lartak en effet j'ai déjà fait une application web et transformer en une application installable sur window en utilisant un logiciel transformation des projets web en projet windows cela installe le serveur web et autres et crée une icone d'installation.

Donc je comptais y faire de la sorte avec les précisions de Pierro1

je ne sais pas si c'est mal pensé

Salut,

Je balance ça comme ça : PouchDB. Et de la doc sur les web apps offline-first.