PnX-SI / gn_mobile_core

Module GeoNature de synchronisation mobile
GNU General Public License v3.0
5 stars 1 forks source link

gn_mobile_core - Définition du projet #1

Closed TheoLechemia closed 4 years ago

TheoLechemia commented 5 years ago

Ce dépôt accueillera l'application de synchronisation mobile de GeoNature. Il a été acté qu'en version 2, on séparerait de manière claire l'application de synchronisation des applications mobiles.

L'application sera composé d'une application desktop de synchronisation et d'une WEB API permettant de mettre à disposition des ressources aux mobiles. L'application de synchronisation assurera:

La web-api respectera le format de "module geonature" (https://geonature.readthedocs.io/fr/latest/development.html#developper-et-installer-un-gn-module), et pourra s'installer via la commande geonature install_gn_module <synchro_mobile>

Les routes spécifiques à chaque module (POST notamment), utiliseront les API déjà écrites dans le module. Si d'autres routes sont nécessaires, elle seront écrites au même endroit. Dans le cas d'occtax, ici: https://github.com/PnX-SI/GeoNature/blob/master/contrib/occtax/backend/blueprint.py.

Voir complément ci-dessous...

gildeluermoz commented 5 years ago

Ce dépôt accueillera 2 ou 3 parties :

  1. l'application Android de synchronisation (nouveau)
  2. le module de synchro desktop (à discuter s'il vient dans ce dépôt)
  3. le module GeoNature de synchronisation (ex web_api)

Contrairement aux applications Android V1 qui embarquaient chacune une fonction de synchronisation des données, dans GeoNaure mobile V2, la synchronisation de toutes les applications de saisie est centralisée dans une seule et unique application.

L'application Android de synchronisation

Elle est installée sur les terminaux Android, à coté des applications des saisie. Elle fait le pont entre le terminal Android et le module GeoNature de synchronisation. Elle "pousse" les saisies des applications (fichiers json) vers le module GeoNature de synchronisation et "tire" les ressources nécessaires au fonctionnement des applications de saisie (fichier sqlite, fichier de settings ou de configuration, autres ressources ?).

Le module de synchro desktop

A discuter s'il est à développer dans ce dépôt. Il s'agit d'un module (optionnel) installé sur un poste de travail (Linux, Mac, Windows)

A noter : Ce module a le même rôle que l'application de synchronisation Android ci-dessus mais il est également capable d'assurer la maintenance applicative de tous les terminaux qui s'y connecte. Ce que n'est pas capable de faire l'application de synchronisation Android (Sébastien peux tu confirmer ça ?)

Le module GeoNature de synchronisation

A priori pas d'interface. Il se contente d'exposer des url/routes en charge de servir des ressources à destination des terminaux mobiles :

A noter :

A discuter :

camillemonchicourt commented 4 years ago

Finalement ce dépôt ne contient que l'application mobile de synchronisation des données.

L'application Desktop est mise de côté. Et il n'y a pas d'API à part spécifique aux applications mobile. Elles se basent sur les routes existantes ainsi que sur des routes spécifiques mais intégrées au coeur ou aux modules existants de GeoNature.