PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV Mobile 2025 → Mettre à jour une base données pour application android ou ios ?
Mettre à jour une base données pour application android ou ios ?
Iniciado por JMA, 09,oct. 2015 14:29 - 8 respuestas
Miembro registrado
36 mensajes
Publicado el 09,octubre 2015 - 14:29
Bonjour,

J'ai développé une petite application sous android et ios qui contient une table (un fichier de données)

Je voudrai faire ceci :

Je voudrai développer une petite appli windev qui permettrai "d'administrer (gérer)" la base de données de mon appli mobile.

Je m'explique :
Depuis une interface, la personne ajoute, modifie, supprime des enregistrements du fichier de données.
Ensuite cette personne clique sur un bouton pour mettre à jour le fichier de données (qui est de même structure) sur les appli mobile android.
Faut-il envoyer une notification à l'utilisateur de l'appli mobile lui signifiant qu'une mise à jour existe ? Comment ?
Est-ce possible de mettre à jour le fichier de données de mon appli mobile à distance ? Comment ? Que faut il utiliser ?

Merci de me donner des pistes ou / et des exemples.

MERCI pour votre aide précieuse

urgent merci

JMA
Publicado el 09,octubre 2015 - 14:44
Bonjour,

je pense que votre application mobile doit faire appel à un webservice (créé en windev et connecté à la base de l'appli windev), ce dernier scanne les nouveaux enregistrements en base de l'appli windev et les envoie au mobile qui les stocke alors les informations reçues dans sa base locale.

Par un système de date de modification (des enregistrements de l'appli windev) et de date de dernière synchronisation (du mobile) vous devriez pouvoir n'envoyer aux mobiles que les nouveautés et ne pas systématiquement tout renvoyer.

En espérant vous avoir donné une piste.
Miembro registrado
36 mensajes
Publicado el 09,octubre 2015 - 16:25
Merci pour cet info mais il y aurait-il une autre méthode ? car je ne suis pas au top avec les webservices ?
Publicado el 09,octubre 2015 - 16:34
La création des webservices est plutot simple en Windev.

il vous suffit de créer un projet de type webservice dans lequel vous créez des procédures globales comme dans un projet classique avec des paramètres en entrée ou en sortie.

Il faut ensuite déployer ce webservice sur un serveur, à l'issue du déploiement un lien wsdl est généré il vous suffit alors d'importer un webservice dans windev mobile en renseignant ce lien vous aurez alors accès aux procédures windev.

Sinon peut-être que vous pouvez créer une base client serveur dans le projet windev qui devra être hébergée pour que les mobiles se connectent à cette même base.
Publicado el 09,octubre 2015 - 18:58
JMA a pensé très fort :
Bonjour,

J'ai développé une petite application sous android et ios qui contient une
table (un fichier de données)

Je voudrai faire ceci :

Je voudrai développer une petite appli windev qui permettrai "d'administrer
(gérer)" la base de données de mon appli mobile.

Je m'explique : Depuis une interface, la personne ajoute, modifie, supprime
des enregistrements du fichier de données.
Ensuite cette personne clique sur un bouton pour mettre à jour le fichier de
données (qui est de même structure) sur les appli mobile android.
Faut-il envoyer une notification à l'utilisateur de l'appli mobile lui
signifiant qu'une mise à jour existe ? Comment ?
Est-ce possible de mettre à jour le fichier de données de mon appli mobile à
distance ? Comment ? Que faut il utiliser ?


Première chose : pas d'identifiant automatique mais plutôt des GUID,
permet de fusionner sans souci des bases diverses surtout quand il y a
des relations.

Après tout dépend du flux de données, si c'est beaucoup
d'enregistrements, ça peut être très lent d'ajouter enregistrement par
enregistrement.

Perso, je fais générer au serveur un ZIP contenant des fichiers
hyperfile, je fais télécharger à l'appli ce fichier ZIP, j'extrait tout
sur le terminal et j'ai de beaux fichiers HF bien gras à ma disposition
que je peux traiter.

L'opération prend entre 5 et 10 secondes pour plusieurs centaines de
milliers d'enregistrements.

La même chose en mode "ligne à ligne" prendrais des dizaines de minutes
(sans parler de la probabilité de plantage)

Le webservice ou autre, c'est bien en cas de très faible quantité de
données, donc tout dépend de ton besoin.


Sinon un truc très simple qui ne demande aucun développement, c'est le
serveur "webdev réservé" fourni par PCSoft, il suffit d'un IIS ou autre
sur ton serveur, tu installes cet outil et il te permet de faire des
requêtes avec SQLConnecteWS sur une base distante.

Tu feras donc comme si tu faisais du SQL mais sur une base distante,
via du HTTP. C'est très pratique et ça ne nécessite pas que tu crées
des webservices très spécialisés.
Publicado el 10,octubre 2015 - 11:22
Bjr,

JMA avait soumis l'idée :
Bonjour,

Merci de me donner des pistes ou / et des exemples.

MERCI pour votre aide précieuse

urgent merci

JMA


Comment peut se connecter ton mobile ?
Comment est ta base ? deja en C/S , ou pas ?

Je te rassure, je fais des appli mobiles depuis 20 ans et je n'ai
encore jamais fait un webservice.
On te dira que c 'est simple à faire, mais faut avoir un serveur web
pour la deployer, ce qui n'est pas le cas de tout le monde.

Pour ton probleme, regarde du coté de la réplication , universelle si
tu dois combiner des mobiles et des pc.

a plus


--
-------------------------------------------------------------
www.ctc-soft.com
Gestion biblo-documentaire (free-share)
Comptabilité shareware
Logiciels de Gestion de saisie terrain
Spécialisé Tournées de boulangers
-------------------------------------------------------------
Miembro registrado
36 mensajes
Publicado el 15,octubre 2015 - 11:41
Bonjour,

Merci pour votre réponse.
Ma base de données est en Hyperfile et pas en C/S
Faut il que je soit obligatoirement en C/S ?
Donc je résume :
Je souhaite mettre à jour les données de mon application mobile Android (pour le moement et ios plus tard) à distance.
C'est à dire que mon client possède une interface windev lui permettant d'ajouter, modifier ou supprimer des enregistrements dans la base de données. il n'y a que 3 fichiers dans ma base. Une fois que mon client à validé ses modifications je souhaite que les données de mon appli mobile déjà installée chez les utilisateurs se mettent à jour.
Je souhaiterai une méthode efficace et fiable car cette appli va être en téléchargement sur Google play et elle sera consultée à un grand nombre de personnes.

Merci pour toutes vos lumières.

JM
Miembro registrado
499 mensajes
Publicado el 19,octubre 2015 - 17:15
Bonjour,

J'ai réalisé des applications utilisant les deux "systèmes de synchronisation" :
- Une qui récupérait sur FTP un zip des fichiers hfsql suivi d'un dézippage puis d'un HChangeConnexion().
- Une autre qui utilisait un webservice (développé en webdev et balançant du XML) avec un serveur FTP à côté pour récupérer les fichiers "médias" (images / vidéos / pdf / powerpoint etc).

Les deux ont leurs avantages et inconvénients :

. Zip de l'analyse et des fichiers hfsql :
+ Facilité de mise en place (il suffit d'un serveur FTP, ou d'un autre moyen de récupérer ça)
+ Facile à coder (ne demande pas un projet supplémentaire en webdev)
- Ca peut faire des gros fichiers à télécharger, si la connexion plante au milieu on perd tout
- Pas possible de mettre à jour juste les données changées : si on met à jour 1 ligne sur 100.000, on retélécharge les 100.000 lignes du fichier.
- Il n'est pas vraiment possible de gérer un système de version : si vous changez complètement la structure de l'analyse entre une v1 et une v2, il faudra soit maintenir les deux versions, soit forcer la MAJ de l'application, ou bien prévoir le truc du côté de l'application

. Webservice xml :
+ Les sessions http sont beaucoup plus nombreuses mais il est plus simple de détecter un problème de connexion entre temps, et les modifications qui sont déjà passées sont déjà intégrées (réduisant d'autant le payload à récupérer lors d'un nouvel essai)
+ On récupère que ce dont on a besoin, ce qui peut alléger l'utilisation réseau en temps normal (en dehors de la récupération la première fois)
+ Si le webservice est suffisament bien conçu, il peut aussi servir pour l'application windev (et en faire un composant WD/WM commun).
+ Le versionning des clients est plus facile à gérer.
- Si on veut le réaliser en webdev, ça demande une clé WB, un serveur de déploiement WB, et de coder le webservice.
- C'est potentiellement plus long à débugger (qui dit plus de code, dit plus de bugs potentiels, forcément).

Il y aura forcément d'autres avantages et/ou inconvénients suivant votre expérience et le projet en question, mais en voilà mon ressenti personnel.

Cordialement,
Miembro registrado
36 mensajes
Publicado el 23,octubre 2015 - 10:31
Bonjour,

Ce que je ne comprends pas :

Sachant qu'une personne sera attribuée à mettre à jour via une petite appli windev indépendante (avec 3 fichiers) la base de données de l'appli mobile,
question 1 : Comment la base de données de l'appli mobile déjà installée sur le smartphone (android ou ios) de l'utilsateur sera mise à jour ?
question 2 : Il faut utiliser la réplication universelle ?

Merci encore pour vos conseils.

jma