jeudi 18 février 2016

Partie 2 - Création de l'application mobile liée au webservice

Dans cette partie, nous allons utiliser le Webservice créé lors de la première partie, et créer une application mobile pour Iphone permettant au client de récupérer ses dossiers sur smartphone ou tablette.

Ne possédant pas la licence de Windev Mobile, j'ai utilisé la version démo téléchargeable sur le site de PcSoft.

Lancer windev mobile, et choisir de créer un nouveau projet pour IOS. On peut faire la même chose sous Android, mais il faut télécharger le SDK approprié.


 
Windev mobile
Je vais créer deux fenêtres, une recevra le code du client et son mot de passe. Un bouton de validation enverra ces données au Webservice, un tableau d'objets "Dossier" sera rempli avec les dossiers du client et passé en paramètre à la deuxième fenêtre, qui contiendra une zone répétée avec les données de chaque dossier.


 
fenêtre un, accueil




 
fenêtre deux, dossiers du client

Code : Dans le contenu du projet, choisir d'importer un webservice, clic droit sur webservice :

 Puis renseigner l'adresse du serveur, ici c'est mon poste avec un serveur Wamp


En fin validez, on récupère les procédures et les types associés au webservice. Ici j'ai fait simple mais on devrait créer d'autres procédures et objets pour récupérer par exemple les échantillons  du dossier, les résultats des échantillons, etc..


ClDossier est une Classe
           
        codeDossier est une chaîne
        StatutDossier est une chaîne
        DateDossier est une Date
        LibelleDossier est une chaîne
        codeClient est une chaîne
           
   
FIN


Code du bouton de la fenêtre accueil : 

bufWsResponseEXPRESS est un Buffer


bufWsResponseEXPRESS=LGA_WS.RecupererDossiers(SAI_SansNom1)


SI Taille(bufWsResponseEXPRESS)>0 ALORS
    tabFinalEXPRESS est un tableau de CDossier dynamique
   
    Désérialise(tabFinalEXPRESS,bufWsResponseEXPRESS,psdBinaire)
    OuvreFenêtreMobile(EXPRESS_FEN_EXPRESS_FEN_SansNom2,tabFinalEXPRESS)
  
   
SINON
    Info("Pas dedossier pour ce client")
   
FIN


A l'ouverture de la fenêtre qui liste les dossiers :

PROCEDURE MaFenêtre(gtabCodeclientEXPRESSEXPRESS est un tableau de CDossier dynamique)
    
   
POUR iEXPRESS=1 A gtabCodeclientEXPRESSEXPRESS..Occurrence
       ZoneRépétéeAjouteLigne(ZR_ListedesDossiers,gtabCodeclientEXPRESSEXPRESS[iEXPRESS].codeDossier,gtabCodeclientEXPRESSEXPRESS[iEXPRESS].DateDossier,gtabCodeclientEXPRESSEXPRESS[iEXPRESS].LibelleDossier,gtabCodeclientEXPRESSEXPRESS[iEXPRESS].StatutDossier)
       
  
FIN


Résultat : 

La liste des dossiers obtenue

 On a ainsi créé une application mobile utilisable sous IOS qui permet de récupérer les dossiers du client en fonction de son login. Beaucoup de choses resteraient à faire (sécurité, échantillons, résultats)  mais le schéma de base est identique, c'est le même principe avec des objets différents.