Autoformation Windev Mobile Express 20

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 220

WinDev Mobile 20

Documentation version 20 Express - 1 - 0615

Version d’évaluation

Diffusion interdite sans l’accord écrit de PC SOFT

Visitez régulièrement le site www.pcsoft.fr, espace actualités pour vérifier si des mises à jour
sont propo­sées.

Adresse e-mail Support Technique Gratuit : [email protected]

Conseil : Pour recevoir directement des mises à jour intermédiaires et des conseils d’utilisa-
tion, abonnez-vous à la LST (revue trimestrielle + DVD), en français.

Cette documentation n’est pas contractuelle. PC SOFT se réserve le droit de modifier ou de


supprimer tout sujet traité dans ce document.

Tous les noms de produits ou autres marques cités dans cet ouvrage sont des marques déposées par leurs propriétaires respectifs.
© PC SOFT 2015 : Aucune reproduction intégrale ou partielle du présent ouvrage sur quelque support que ce soit ne peut être effec­
tuée sans l’autorisation expresse de PC SOFT.
Sommaire
Licence
Introduction
Préliminaires...........................................................................................................................................................15
Présentation du cours d’auto-formation...............................................................................................................15
Comment accéder à l’aide en ligne ?....................................................................................................................16
Légende des symboles............................................................................................................................................19
Si vous connaissez WinDev Mobile 19 ..................................................................................................................19
Que fait-on avec WinDev Mobile ?..........................................................................................................................19

PARTIE 1 - Présentation WinDev Mobile

Leçon 1.1. Découvrez WinDev Mobile


Présentation............................................................................................................................................................24
Lancement de WinDev Mobile...............................................................................................................................24
Environnement de développement........................................................................................................................25
L’éditeur.................................................................................................................................................... 25
La barre de menu (ruban) en détail......................................................................................................... 26

PARTIE 2 - Application Android

Leçon 2.1. Mon premier projet Android


Présentation............................................................................................................................................................32
Configuration nécessaire pour Android.................................................................................................................32
Mon premier projet..................................................................................................................................................32
Création du projet..................................................................................................................................... 32
Ma première fenêtre...............................................................................................................................................35
Présentation............................................................................................................................................. 35
Création de la fenêtre.............................................................................................................................. 35
Affichage d’un message........................................................................................................................... 36
Premier test.............................................................................................................................................................38
Premier déploiement sur l’appareil.......................................................................................................................39
Principe..................................................................................................................................................... 39
Mise en place........................................................................................................................................... 40

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Sommaire 3


Leçon 2.2. Interface (IHM)
Présentation............................................................................................................................................................43
Choix de la résolution en fonction du matériel.....................................................................................................43
Orientation de la fenêtre.........................................................................................................................................43
Exemple pratique..................................................................................................................................... 44
Gestion du tactile.....................................................................................................................................................45
Exemple pratique..................................................................................................................................... 46
Les différents types de champs disponibles.........................................................................................................47

Leçon 2.3. Bases de données


Les bases de données disponibles........................................................................................................................49
Présentation............................................................................................................................................. 49
Base de données de type HFSQL............................................................................................................ 49
Base de données SQLite.......................................................................................................................... 49
La synchronisation..................................................................................................................................................50
Accès aux données au travers d’un Webservice...................................................................................................50

Leçon 2.4. Programmation avancée


Présentation............................................................................................................................................................52
Ouverture du projet.................................................................................................................................. 52
Description du projet................................................................................................................................ 52
Afficher la liste des produits...................................................................................................................................53
Création de la fenêtre.............................................................................................................................. 53
Création du champ Zone répétée............................................................................................................ 54
Améliorations de la fenêtre..................................................................................................................... 56
Création de la fenêtre fiche....................................................................................................................................56
Création de la fenêtre.............................................................................................................................. 56
Création des champs............................................................................................................................... 56
Affichage de la fiche depuis la liste des produits.................................................................................... 58
Gestion de la création et de la modification d’un produit....................................................................................59
Modification de la fiche produit............................................................................................................... 59
Création d’un nouveau produit................................................................................................................ 61
Déploiement de l’application.................................................................................................................. 63
Utilisation de l’appareil photo et affichage d’une image.....................................................................................65
Présentation............................................................................................................................................. 65
Création du bouton prise de photo.......................................................................................................... 65
Prise de photo........................................................................................................................................... 66
Sélection d’une photo dans l’album de photos...................................................................................... 67
Déploiement de l’application.................................................................................................................. 67
Gestion du code-barres du produit.........................................................................................................................68
Présentation............................................................................................................................................. 68
Mise en place........................................................................................................................................... 68
Utilisation du champ Carte.....................................................................................................................................69
Création de la fenêtre.............................................................................................................................. 69
Création du champ Carte......................................................................................................................... 69
Affichage des magasins sur la carte....................................................................................................... 70
Déploiement de l’application.................................................................................................................. 71

4 Sommaire (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite


Utilisation d’un champ Zone multiligne................................................................................................................73
Création de la fenêtre.............................................................................................................................. 73
Création du champ Zone multiligne.........................................................................................................74
Modification du champ Zone multiligne...................................................................................................74
Programmation du menu......................................................................................................................... 77
Tester l’application..................................................................................................................................................77

Leçon 2.5. Diffusion de l’application


Présentation............................................................................................................................................................80
Déploiement via Android Market/Google Play.....................................................................................................80
Déploiement via un serveur Web...........................................................................................................................80
Déploiement depuis le PC via adb (mode avancé)...............................................................................................81
Copier l’application sur l’appareil Mobile..............................................................................................................81

Leçon 2.6. Questions/Réponses


Questions / Réponses.............................................................................................................................................83
Comment utiliser la messagerie interne au matériel ?.......................................................................... 83
Comment envoyer un email directement ? ........................................................................................... 83
Comment dialoguer avec un serveur FTP ?............................................................................................ 83
Comment utiliser le GPS de l’appareil et les fonctions de géolocalisation ?........................................ 84
Comment envoyer un SMS depuis mon application Android ?.............................................................. 85
Comment appeler du code natif JAVA depuis mon application Android ?............................................. 85

PARTIE 3 - Application iOS

Leçon 3.1. Mon premier projet iOS


Présentation............................................................................................................................................................90
Configuration nécessaire pour iOS........................................................................................................................90
Mon premier projet..................................................................................................................................................91
Création du projet..................................................................................................................................... 91
Ma première fenêtre...............................................................................................................................................93
Présentation............................................................................................................................................. 93
Création de la fenêtre.............................................................................................................................. 93
Affichage d’un message........................................................................................................................... 94
Premier test.............................................................................................................................................................96
Premier déploiement sur l’appareil.......................................................................................................................97
Principe..................................................................................................................................................... 97
Mise en place........................................................................................................................................... 97

Leçon 3.2. Interface (IHM)


Présentation......................................................................................................................................................... 100
Choix de la résolution en fonction du matériel.................................................................................................. 100
Orientation de la fenêtre...................................................................................................................................... 100
Exemple pratique................................................................................................................................... 101
Gestion du tactile.................................................................................................................................................. 103
Exemple pratique...................................................................................................................................104
Les différents types de champs disponibles...................................................................................................... 105

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Sommaire 5


Leçon 3.3. Bases de données
Les bases de données disponibles..................................................................................................................... 107
Présentation........................................................................................................................................... 107
Base de données de type HFSQL.......................................................................................................... 107
La synchronisation............................................................................................................................................... 107
Accès aux données au travers d’un Webservice................................................................................................ 108

Leçon 3.4. Programmation avancée


Présentation......................................................................................................................................................... 110
Ouverture du projet................................................................................................................................110
Description du projet..............................................................................................................................110
Afficher la liste des produits................................................................................................................................ 111
Création de la fenêtre............................................................................................................................111
Création du champ Zone répétée..........................................................................................................111
Améliorations de la fenêtre...................................................................................................................113
Création de la fenêtre fiche................................................................................................................................. 114
Création de la fenêtre............................................................................................................................114
Création des champs.............................................................................................................................114
Affichage de la fiche depuis la liste des produits..................................................................................116
Gestion de la création et de la modification d’un produit................................................................................. 117
Modification de la fiche produit............................................................................................................. 117
Création d’un nouveau produit..............................................................................................................119
Utilisation de l’appareil photo et affichage d’une image.................................................................................. 121
Présentation...........................................................................................................................................121
Création du bouton prise de photo........................................................................................................122
Prise de photo.........................................................................................................................................123
Sélection d’une photo dans l’album de photos....................................................................................123
Gestion du code-barres du produit...................................................................................................................... 124
Présentation...........................................................................................................................................124
Mise en place.........................................................................................................................................125
Utilisation du champ Carte.................................................................................................................................. 126
Création de la fenêtre............................................................................................................................126
Création du champ Carte.......................................................................................................................126
Affichage des magasins sur la carte.....................................................................................................127
Fermeture de la fenêtre.........................................................................................................................128
Utilisation d’un champ Zone multiligne............................................................................................................. 129
Création de la fenêtre............................................................................................................................129
Création du champ Zone multiligne......................................................................................................129
Modification du champ Zone multiligne................................................................................................130
Programmation du menu.......................................................................................................................133
Tester l’application............................................................................................................................................... 133
Générer l’application............................................................................................................................................ 134

Leçon 3.5. Diffusion de l’application


Présentation......................................................................................................................................................... 137
Déploiement......................................................................................................................................................... 137

6 Sommaire (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite


Leçon 3.6. Questions/Réponses
Questions / Réponses.......................................................................................................................................... 139
Comment utiliser la messagerie interne au matériel ?........................................................................139
Comment envoyer un email directement ? .........................................................................................139
Comment dialoguer avec un serveur FTP ?..........................................................................................139
Comment utiliser le GPS de l’appareil et les fonctions de géolocalisation ?......................................140
Comment afficher un graphe dans une application iOS ?................................................................... 141
Comment appeler du code natif Objective C depuis mon application iOS ?....................................... 141

PARTIE 4 - Application Windows Store apps

Leçon 4.1. Mon premier projet Windows Store apps


Présentation......................................................................................................................................................... 146
Configuration nécessaire pour les applications Windows Store apps............................................................. 146
Mon premier projet............................................................................................................................................... 146
Création du projet...................................................................................................................................146
Ma première fenêtre............................................................................................................................................ 148
Présentation...........................................................................................................................................148
Création de la fenêtre............................................................................................................................148
Affichage d’un message.........................................................................................................................150
Premier test.......................................................................................................................................................... 151
Premier déploiement local.................................................................................................................................. 152
Principe...................................................................................................................................................152
Mise en place.........................................................................................................................................153

Leçon 4.2. Interface (IHM)


Présentation......................................................................................................................................................... 156
Orientation de la fenêtre...................................................................................................................................... 156
Exemple pratique...................................................................................................................................157

Leçon 4.3. Bases de données


Les bases de données disponibles..................................................................................................................... 160
Présentation...........................................................................................................................................160
Base de données de type HFSQL..........................................................................................................160
La synchronisation............................................................................................................................................... 160
Accès aux données au travers d’un Webservice................................................................................................ 161

Leçon 4.4. Programmation avancée


Présentation......................................................................................................................................................... 163
Ouverture du projet................................................................................................................................163
Description du projet..............................................................................................................................163
Afficher la liste des produits................................................................................................................................ 164
Création de la fenêtre............................................................................................................................164
Création du champ Zone répétée..........................................................................................................164
Amélioration de la fenêtre.....................................................................................................................166
Création d’un bouton pour fermer la fenêtre........................................................................................166

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Sommaire 7


Création de la fenêtre fiche................................................................................................................................. 167
Création de la fenêtre............................................................................................................................ 167
Création des champs.............................................................................................................................168
Affichage de la fiche depuis la liste des produits..................................................................................169
Gestion de la création et de la modification d’un produit................................................................................. 170
Modification de la fiche produit............................................................................................................. 170
Création d’un nouveau produit.............................................................................................................. 172
Utilisation de l’appareil photo et affichage d’une image...................................................................................174
Présentation........................................................................................................................................... 174
Création du bouton prise de photo........................................................................................................ 174
Prise de photo......................................................................................................................................... 175
Tester l’application............................................................................................................................................... 175
Générer l’application.............................................................................................................................................176

Leçon 4.5. Diffusion de l’application


Présentation......................................................................................................................................................... 179
Déploiement......................................................................................................................................................... 179

PARTIE 5 - Application Windows Mobile

Leçon 5.1. Mon premier projet Windows Mobile


Présentation......................................................................................................................................................... 184
Mon premier projet............................................................................................................................................... 184
Création du projet...................................................................................................................................184
Ma première fenêtre............................................................................................................................................ 186
Présentation...........................................................................................................................................186
Création de la fenêtre............................................................................................................................187
Affichage d’un message.........................................................................................................................188
Premier test.......................................................................................................................................................... 190
Premier déploiement sur l’appareil.................................................................................................................... 191
Principe...................................................................................................................................................191
Mise en place.........................................................................................................................................191

Leçon 5.2. Bases de données


Format des bases de données............................................................................................................................ 194
Base de données de type HFSQL..........................................................................................................194
CEDB.......................................................................................................................................................195
AS/400...................................................................................................................................................195
Partage de données entre deux applications.................................................................................................... 196
Manipulation des mêmes fichiers de données.................................................................................... 197
Copie des fichiers de données sur le terminal mobile (Pocket PC par exemple)................................ 197

Leçon 5.3. Programmation avancée


Présentation......................................................................................................................................................... 199
Ouverture du projet................................................................................................................................199
Description du projet..............................................................................................................................199

8 Sommaire (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite


Afficher la liste des produits................................................................................................................................ 200
Création de la fenêtre............................................................................................................................200
Création du champ Table.......................................................................................................................200
Création de la fenêtre fiche................................................................................................................................. 202
Création de la fenêtre............................................................................................................................202
Création des champs.............................................................................................................................203
Affichage de la fiche depuis la liste des produits..................................................................................205
Gestion de la création et de la modification d’un produit................................................................................. 206
Modification de la fiche produit.............................................................................................................206
Création d’un nouveau produit..............................................................................................................207
Création d’une fenêtre de menu......................................................................................................................... 209
Création de la fenêtre............................................................................................................................209
Personnalisation du menu.................................................................................................................... 210
Programmation du menu.......................................................................................................................211
Tester l’application............................................................................................................................................... 212
Créer l’exécutable................................................................................................................................................. 212

Leçon 5.4. Diffusion de l’application


Présentation......................................................................................................................................................... 215
Installation au format CAB.................................................................................................................................. 216
Installation initiale................................................................................................................................. 216
Mise à jour au format CAB..................................................................................................................... 217
Installation au format MSI....................................................................................................................................217
Installation initiale................................................................................................................................. 217
Mise à jour au format MSI...................................................................................................................... 217

Conclusion

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Sommaire 9


10 Sommaire (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Licence
Attention: En installant et en utilisant un logiciel WINDEV Mobile version Express vous avez ac-
cepté les termes de la licence suivante :

Le LOGICIEL désigne le droit d’utilisation du logiciel WinDev Mobile, dans cette version de dé-
monstration (appelée également Version Express, Version d’évaluation ou Version limitée).
L’EVALUATEUR représente la personne (physique ou morale) installant et / ou utilisant le logiciel.
Une APPLICATION désigne un programme ou un ensemble de programmes réalisé avec le LOGI-
CIEL.

1. Version Express
Ce LOGICIEL est proposé ici dans une version de "démonstration".
Cette version de démonstration est exclusivement destinée au test de ses fonctionnalités, et/ou à
une utilisation par des étudiants d’un établissement reconnu par l’Etat pendant la durée de leurs
études, en dehors de toute utilisation commerciale, partielle ou totale.
De nombreuses fonctionnalités sont bridées, limitées ou différentes de la version "commerciale".
Pour créer des applications destinées à être utilisées, il est nécessaire d’acquérir et d’utiliser une
version "commerciale" et non cette version de démonstration et de test.
Il est strictement interdit de créer en totalité ou en partie une ou des applications dans un autre
but que le TEST du LOGICIEL ou la réalisation de Travaux Pratiques dans le cadre d’études.
L’utilisation des applications créées dans un but autre que le test de courte durée est interdite.
Toute utilisation autre que l’essai du logiciel, et/ou une utilisation pour une durée supérieure à
celle autorisée, constitue une utilisation illégale qui donnera lieu à des poursuites.
Il est interdit de dupliquer et diffuser ce logiciel, même dans cette version de démonstration, sans
l’accord écrit de PC SOFT.

2. Licence
Ce LOGICIEL doit être utilisé sur une et une seule machine par une et une seule personne à un
instant donné. Le LOGICIEL est déclaré utilisé dès qu’il se trouve en "mémoire centrale" (égale-
ment appelée RAM) d’un ordinateur.
Ce LOGICIEL ne peut être utilisé que pour la durée autorisée.

3. Propriété du logiciel
Ce logiciel est la propriété de PC SOFT. L’EVALUATEUR a simplement le droit d’utiliser ce LOGICIEL
selon les conditions définies.

4. Documentation
La duplication de la documentation, en totalité ou en partie, est strictement interdite.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Licence 11


5. Utilisation
L’EVALUATEUR doit utiliser le LOGICIEL pour l’usage pour lequel il est diffusé. Il est interdit de
modifier ou tenter de modifier ce LOGICIEL, de désassembler ou tenter de désassembler ce LOGI-
CIEL. Il est interdit d’enlever ou de tenter d’enlever les mentions de copyright pouvant apparaître
et/ou étant contenues dans le LOGICIEL.
La location ou le prêt de ce LOGICIEL est interdit.
Il est interdit d’utiliser WinDev Mobile "Express" pour créer et diffuser tout ou partie d’outil de
développement, de LOGICIEL de création d’applications, de générateur de programmes, ou de
tout LOGICIEL de même nature que WinDev Mobile lui-même. Interrogez-nous en cas de doute.
Les photographies, illustrations et images contenues dans les exemples, modèles, ambiances et
gabarits ne peuvent être utilisées que dans leur implantation originelle. Toute utilisation, repro-
duction, représentation, adaptation ou copie, en totalité ou en partie, sous quelque forme que ce
soit, par tout procédé existant ou à venir et en quelque lieu que ce soit est interdite.
Les images et les animations disponibles à partir du catalogue d’images doivent être utilisées ex-
clusivement dans des APPLICATIONS réalisées avec le LOGICIEL. La vente ou la distribution de ces
images est interdite. L’utilisation dans d’autres logiciels ou sites que l’APPLICATION est interdite.
Les images ne peuvent être séparées de l’APPLICATION qui les utilise.

6. Absence de responsabilité
Le LOGICIEL et la documentation qui l’accompagne sont fournis en l’état, SANS AUCUNE GARAN-
TIE D’AUCUNE SORTE. PC SOFT ne saurait être tenu pour responsable pour tout dommage de
quelque nature que ce soit, et en particulier en cas de perte ou détérioration des données, en
cas de perte financière, en cas de perte d’exploitation, en cas de divergence des informations
contenues dans la documentation avec le comportement du LOGICIEL, en cas de comportement
du LOGICIEL différent de celui attendu. L’EVALUATEUR est seul et unique responsable du fonction-
nement et du support des programmes qu’il aura réalisé avec le LOGICIEL.

7. Cas particuliers
7.1 Composant TomTom
Si le LOGICIEL est accompagné du composant TomTom, il est précisé que la société TomTom dé-
tient les droits du logiciel TomTom. Le composant TomTom peut être utilisé uniquement avec une
licence valide du Navigateur TomTom.
7.2 Fonctionnalités liées à des services
Avertissement : avant d’utiliser une fonctionnalité reliée à des services ou des applications, et
en particulier à Google, nous vous conseillons vivement de vous reporter à la licence d’utilisation
de ce service ou de cette application. Certaines restrictions peuvent s’appliquer. Le contenu des
licences peut varier avec le temps.
PC SOFT dégage toute responsabilité de l’usage qui peut être fait des fonctions d’accès natif. Il
vous appartient de vérifier que l’usage que vous faites respecte la licence du fournisseur du ser-
vice.

12 Licence (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite


8. Logiciels tiers
Polices installées
Les polices "Open Sans", "Roboto" et "Droid font" installées et utilisées par le LOGICIEL sont sou-
mises à la licence "Apache License". Le texte de cette licence est présent dans le sous-répertoire
"Aide" du LOGICIEL.
Les polices "PCSxxxx" utilisées par le LOGICIEL et présentes dans le répertoire "Fontes" du LOGI-
CIEL sont soumises aux licences "Apache License" et "SIL Open Font License". Le texte de ces
licences est présent dans le sous-répertoire "Aide" du LOGICIEL.

Acceptation de la licence :
Le fait de conserver et d’utiliser ce logiciel indique la compréhension et l’acceptation des termes
de cette licence.
Ce contrat ne peut pas être modifié, sauf par un courrier original paraphé de la direction générale
de PC SOFT.
Ce contrat de licence est régi par le droit français; tout litige qui pourrait en résulter sera de la
compétence exclusive des tribunaux du siège social de PC SOFT.

PC SOFT,
3, rue de Puech Villa
BP 44 408
34197 Montpellier Cedex 5

France

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Licence 13


14 Introduction (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Introduction

Préliminaires
Attention : Ce manuel est un cours d’auto-formation. Il est conseillé de consulter l’aide en ligne
lorsque vous utilisez WinDev Mobile.
Le manuel du cours d’auto-formation a pour objectif de vous faire découvrir WinDev Mobile, de
vous familiariser avec les éditeurs et de vous apprendre les concepts de WinDev Mobile. Ce ma-
nuel n’est PAS exhaustif des possibilités de WinDev Mobile.
Ce manuel est destiné aux développeurs connaissant déjà WinDev standard. Ce manuel pré-
sente uniquement les concepts spécifiques au développement d’une application pour mobile
(fonction­nant sous Android, iPhone, iPad, Windows Mobile, Windows Phone, ...).
Si vous ne connaissez pas WinDev standard, nous vous conseillons de commencer votre appren­
tissage par le guide d’auto-formation de WinDev standard.
Remarque : Pour recevoir le guide d’auto-formation de WinDev standard, un simple appel au ser­
vice commercial de PC SOFT suffit.
Consacrez au moins quelques heures pour suivre ce cours et pour apprendre WinDev Mobile :
vous les rentabiliserez vite !
WinDev Mobile évoluant en permanence, les images des fenêtres illustrant le cours peuvent être
différentes des fenêtres affichées par le produit lors des différentes manipulations.

Présentation du cours d’auto-formation


Le cours d’auto-formation a été conçu pour apprendre à développer sur les principales plate-
formes mobiles :
• Android.
• iOS (iPhone/iPad).
• Windows Store apps (applications qui fonctionnent sous Windows 8 nouvelle interface : ta-
blettes Windows 8/RT et PC sous Windows 8).
• Windows Mobile/CE.
Pour chacune de ces plateformes, un cours complet est proposé. Vous choisissez votre plate-
forme de développement et vous suivez le cours correspondant.

WinDev Mobile permet également de développer des applications de type Win-


Notes

dows Phone.
Pour plus de détails, consultez l’aide en ligne.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Introduction 15


Le cours d’auto-formation a été conçu pour vous permettre d’apprendre progressivement à utiliser
WinDev Mobile. En suivant ce cours :
• d’une part, vous découvrirez les concepts importants expliqués d’une façon informelle ; en
effet dans ce cas, il s’agit de concepts à acquérir et à comprendre.
• d’autre part, vous serez amené à effectuer des manipulations pour illustrer les concepts qui
viennent d’être expliqués.
Au fil de la lecture du cours, si vous voulez approfondir un concept ou si vous voulez avoir plus
de détails sur une fonction de programmation, consultez l’aide en ligne (accessible directement
depuis les éditeurs).
La taille d’une leçon n’est pas obligatoirement proportionnelle à son intérêt ...
N’oubliez pas d’étudier ensuite les exemples livrés avec WinDev Mobile : ils sont très didac-
tiques !

Depuis l’impression de ce document, le cours d’auto-formation a peut-être évo-


lué. N’hésitez pas à consulter la version électronique du cours d’auto-formation.
Astuce

Le fichier PDF est accessible directement dans le menu de WinDev Mobile :


sous le volet "Accueil", dans le groupe "Aide en ligne", déroulez "Guide d’auto-
formation" et sélectionnez l’option "Guide d’auto-formation (PDF)".

Comment accéder à l’aide en ligne ?


L’aide en ligne de WinDev Mobile permet de consulter les informations détaillées concernant les
2500 fonctions du WLangage. L’aide en ligne contient également l’aide des éditeurs, des champs,
des astuces, ...
L’aide en ligne est disponible à tout moment dans WinDev Mobile :
• Sous l’éditeur de code, une aide spécifique est directement accessible pour chaque nom de
fonction sélectionné, grâce à la touche [F1].
• Chaque fenêtre de dialogue affichée par WinDev Mobile propose un bouton permettant d’ac-
céder à la page d’aide correspondante.
• Le menu d’aide des éditeurs (option "Aide" disponible sous le volet "Accueil", dans le groupe
"Aide en ligne" du menu de WinDev Mobile) permet de lancer l’aide en ligne.

16  :   (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite


Introduction
L’aide peut être affichée :
• dans un "browser d’aide" spécifique :

• dans un navigateur Internet, si vous avez accès à Internet :

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Introduction 17


L’aide en ligne de WinDev, WebDev et WinDev Mobile sur Internet est accessible
depuis n’importe quel poste disposant d’un accès Internet, sans que le produit
Notes

soit forcément installé. Cette aide est mise à jour régulièrement.


Chaque internaute peut ajouter des commentaires sur les pages de documenta-
tion : explications personnelles, exemples, liens, ...

Pour lancer directement l’aide en ligne Internet depuis le produit :


1. Sous le volet "Accueil", dans le groupe "Environnement", déroulez "Options" et sélectionnez
l’option "Options générales de WinDev Mobile".
2. Dans l’onglet "Aide", sélectionnez :
• le mode d’accès à la base d’aide.

• le contenu de l’aide : aide commune à WinDev, WebDev et WinDev Mobile ou aide du pro-
duit en cours d’utilisation.

18 Introduction (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite


Légende des symboles

Ce symbole indique la durée de la leçon et de ses manipulations. Attention, le temps


réel peut varier selon votre expérience.

Un exemple est disponible pour compléter le cours. Les exemples sont disponibles
dans le volet "Assistants, Exemples et Composants" de WinDev Mobile.

Ce symbole présente une "Astuce" : la lecture du texte associé est vivement conseillée.

Ce symbole présente un "Avertissement" : la lecture du texte associé est primordiale.

Ce symbole présente une "Note" : la lecture du texte associé est conseillée.

Si vous connaissez WinDev Mobile 19 ...


Si vous connaissez déjà WinDev Mobile 19, le suivi de ce nouveau cours ne pourra être que béné-
fique : ce sera une bonne occasion de "réviser" les possibilités de WinDev Mobile !

Que fait-on avec WinDev Mobile ?


WinDev Mobile est un AGL (Atelier de Génie Logiciel). Il vous permet de développer des applica­
tions dans tous les domaines :
• Gestion des stocks
• Inventaire, traçabilité des marchandises
• Réglage et suivi de machines sur chaîne de production
• Prise de commandes pour traitement rapide sur un lieu de vente de passage (foire, école,
stand, ...)
• Fiches clients
• Outil d’aide à la prise de décision d’urgence sur téléphone portable
• Vérification d’identité des visiteurs d’une manifestation : salon, présentation de produits, ...
• Médecin ou vétérinaire en déplacement
• Prises d’informations sur un lieu de passage : salon professionnel, rue pour un sondage,
stade, ...
• Retour de matériel de location encombrant (outils, véhicules, ...) directement sur le parking
•…

WinDev Mobile est un environnement de développement complet qui intègre tous les outils néces-
saires au cycle de réalisation d’une application.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Introduction 19


Contrairement à d’autres langages de développement traditionnels, il n’est pas nécessaire de
chercher et de rajouter des modules pour pouvoir concevoir, tester et installer une application.
Le L5G (Langage de 5ème Génération) de WinDev Mobile, le WLangage, vous étonnera par sa
simplicité : quelques heures suffisent pour appréhender le langage, une semaine suffit en général
pour maîtriser toute sa puissance !
Comme il est en français, le WLangage (disponible également en anglais) vous fera gagner du
temps !

20 Introduction (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite


PARTIE 1

Présentation
WinDev Mobile
22 Partie 1 : Présentation WinDev Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 1.1. Découvrez WinDev Mobile

Ce que vous allez apprendre dans cette leçon ...

• Lancement de WinDev Mobile

Durée estimée : 10 mn

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : Présentation WinDev Mobile 23
Présentation
WinDev Mobile est un AGL (Atelier de Génie Logiciel) complet permettant de développer des appli-
cations Android, iOS, Windows Phone, Windows Mobile, ... dans de nombreux domaines : gestion,
industrie, médical, restauration, ... Les applications développées peuvent inclure l’accès à des
informations stockées dans des bases de données.
Tout au long de ce cours d’auto-formation, vous allez apprendre à créer vos applications (avec ou
sans base de données), et à les enrichir en utilisant les nombreuses fonctionnalités proposées
par WinDev Mobile.

Lancement de WinDev Mobile

Lancez WinDev Mobile 20 (si ce n’est déjà fait).


L’environnement de développement puis la fenêtre de bienvenue apparaissent.
Arrêtons-nous un instant sur l’environnement de développement de WinDev Mobile.

24 Partie 1 : Présentation WinDev Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Environnement de développement

L’éditeur
L’environnement de développement de WinDev Mobile est constitué d’une interface spécifique et
de plusieurs éditeurs permettant de créer les différents éléments de vos applications.
Ainsi, l’éditeur de fenêtres permet de créer des fenêtres, l’éditeur d’états permet de créer des
états, ...
Tous les éditeurs utilisent le même environnement :

1. Menu des éditeurs, affiché sous forme de ruban (nous allons voir sa manipulation dans le para-
graphe suivant).

2. Editeur en cours (ici, éditeur de fenêtres). Cet espace permet de visualiser de manière WY-
SIWYG (What You See Is What You Get) l’élément en cours de création ou de modification.

3. Volets. L’interface de WinDev Mobile dispose de plusieurs volets permettant d’accéder rapide-
ment à différents types d’informations.
Quelques exemples :
• Le volet "Explorateur de projet" (ici, affiché à droite) permet de lister tous les éléments du projet
par catégorie.
• Le volet "Assistant, Exemples et Composant" (ici, en bas) permet d’accéder rapidement à des
exemples complets, des fenêtres d’exemples, des champs facilement intégrables dans vos ap-
plications.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : Présentation WinDev Mobile 25
Si nécessaire, ces volets peuvent être cachés rapidement en utilisant la combinaison de touches
[CTRL] + [W].

4. Barre des documents ouverts. Cette barre permet de visualiser rapidement tous les éléments
ouverts. Un simple clic sur le bouton correspondant à l’élément l’affiche dans son propre éditeur.

La barre de menu (ruban) en détail


La barre de menu de WinDev Mobile est présentée sous forme d’un ruban. Ce ruban est composé
de volets dans lesquels sont regroupées les différentes options des éditeurs.
Nous allons détailler ici, les différents éléments importants du ruban, ainsi que la manière dont
nous le manipulerons dans ce cours.

Les différents éléments du ruban


Le ruban est constitué de 3 zones :
• la zone des boutons, à gauche (1).
• la zone des volets en haut (2).
• la zone des options (3).
Voyons ces différentes zones en détail.

La zone des boutons


La zone des boutons regroupe principalement les boutons d’accès rapide.
Ces boutons permettent d’effectuer les opérations les plus courantes,
bien souvent communes à tous les éditeurs : enregistrer, ouvrir, créer, ...
Les 3 logos en haut de cette zone sont également spécifiques :
• Le logo du produit permet d’afficher la fenêtre "A propos", les perso-
menus (menus personnalisés) et les menus déroulants de l’ancienne in-
terface des éditeurs (version 17 et antérieure).
• Les 2 logos suivants permettent de retrouver les barres d’outils et les
menus déroulants de l’ancienne interface des éditeurs (version 17 et antérieure).

26 Partie 1 : Présentation WinDev Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
La zone des volets

Les différents volets du ruban permettent d’accéder aux options des différents éditeurs pour le
projet en cours. Plusieurs types de volets sont disponibles :
• le volet en cours : Le nom du volet en cours est affiché sur un fond blanc et un trait orange est
affiché au-dessus du nom.
• les volets contextuels, spécifiques à l’élément en cours : Le nom du volet est affiché en orange.
• les volets disponibles : Le nom du volet apparaît en blanc.

La zone des options

En fonction du volet sélectionné, les options affichées dans le ruban diffèrent. Plusieurs types
d’options sont disponibles :
• Options à cocher,
• Boutons à cliquer,
• Boutons à flèche permettant de dérouler des options. Deux types de boutons à flèche sont dis-
ponibles :
• les boutons à flèche permettant uniquement de dérouler un menu
• les boutons à flèche permettant soit de dérouler un menu (clic sur la flèche), soit d’effectuer
une action par défaut (clic sur l’icône du bouton).
Les options sont regroupées par groupe. Chaque groupe d’options a un nom et peut avoir un bou-
ton de regroupement . Ce bouton permet d’effectuer une action spécifique selon le groupe en
cours : affichage de la description de l’élément en cours, affichage de l’aide, ...

Dans ce cours, pour désigner une option de menu, nous parlerons donc de volets et de groupes.
Par exemple :
Pour afficher l’aide, sous le volet "Accueil", dans le groupe "Aide en ligne", cliquez sur "Aide".

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : Présentation WinDev Mobile 27
28 Partie 1 : Présentation WinDev Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
PARTIE 2

Application
Android
30 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 2.1. Mon premier projet Android

Ce que vous allez apprendre dans cette leçon ...

• Configuration nécessaire
• Créer un projet Android
• Ma première fenêtre
• Mon premier test
• Premier déploiement

Durée estimée : 1 h

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 31
Présentation
Pour commencer à utiliser WinDev Mobile, nous allons simplement créer un premier projet. Ce
projet contiendra une fenêtre permettant d’afficher un message.
Ce premier exemple permettra de présenter rapidement les bases du développement avec Win-
Dev Mobile.
Mais avant de créer notre premier projet pour Android, une configuration du poste de développe-
ment est nécessaire.

Configuration nécessaire pour Android


Pour développer une application pour la plateforme Android, il est nécessaire d’installer sur le
poste de développement les éléments suivants :
• Le JDK : Le JDK (Java Development Kit) distribué par Oracle est utilisé pour compiler les fichiers
Java générés.
• Le SDK Android de Google : Le SDK Android (Software Development Kit ou Kit de déve-
loppement logiciel) est un ensemble de fichiers et d’applications distribué par Google
afin de permettre la compilation d’applications pour le système d’exploitation Android.
Attention : Le SDK Android est composé de parties correspondant aux versions des plateformes
des matériels (2.2, 2.3, 4, ...).

Pour plus de détails (adresses de téléchargement, ...), consultez l’aide en ligne.

Après ces deux installations, le redémarrage de la machine est conseillé.

Mon premier projet

Création du projet
Nous allons créer notre premier projet pour Android.

Un projet corrigé est disponible. Pour ouvrir ce projet, sous le volet "Accueil",
Corrigé

dans le groupe "Aide en ligne", déroulez "Guide d’auto-formation" puis sélection-


nez "Mon projet Android (Corrigé)".

Pour créer un projet :


1. Lancez WinDev Mobile 20 (si ce n’est déjà fait). Si nécessaire, fermez le projet en cours pour
faire apparaître la fenêtre de bienvenue.

32 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
2. Dans la fenêtre de bienvenue, cliquez sur "Créer un projet" puis sur "Application Android".

3. L’assistant de création de projet se lance. Les différents écrans de l’assistant vont vous
aider à créer votre projet. Tous les renseignements indiqués dans cet assistant pourront être
modifiés par la suite.
Astuce : Autre méthode pour créer un projet :
1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev
Notes

Mobile.
2. La fenêtre de création d’un nouvel élément s’affiche : cliquez sur "Pro-
jet".

4. Le premier écran de l’assistant permet de saisir le nom du projet, son emplacement et sa


description. Dans notre cas, ce projet va simplement s’appeler "Mon_Projet_Android". Par dé-
faut, WinDev Mobile propose de créer ce projet dans le répertoire "\Mes projets Mobile\Mon_
Projet_Android". Vous pouvez conserver cet emplacement ou le modifier grâce au bouton [...].

5. Passez à l’écran suivant à l’aide des flèches situées en bas.


6. L’assistant propose d’ajouter des documents. Conservez les options par défaut et passez à
l’écran suivant.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 33
7. L’assistant propose de paramétrer le répertoire du SDK Android. Seul le répertoire racine
des différentes versions des plateformes Android est nécessaire.

Note : Le chemin du SDK indiqué est mémorisé pour tous les projets futurs.
8. Passez à l’écran suivant.
9. L’assistant propose de choisir le type d’appareils Android concernés par le projet :
• Parc d’appareils hétérogènes,
• Appareil unique et précis.
10. Dans cet exemple, nous allons choisir un appareil spécifique. Sélectionnez l’option "Géné-
rer une application pour un appareil unique précis" et passez à l’écran suivant.
11. Choisissez l’appareil à utiliser pour le développement de votre application dans la liste
Choisissez un des appareils proposés dans la liste (par exemple "Samsung Galaxy S3").
Passez à l’écran suivant.
12. Dans la partie gauche de l’assistant, cliquez sur "Chartes". Cette étape permet de définir
la charte de programmation utilisée. Ne modifiez pas les options proposées. Passez à l’écran
suivant à l’aide des flèches situées en bas.
13. Vous allez maintenant définir la charte graphique. Sélectionnez "ActivAndroid 4-HoloLight".
14. Les autres étapes de l’assistant n’étant pas importantes pour notre premier projet, dans
la partie gauche de l’assistant, cliquez directement sur "Fin".
15. Cliquez sur le bouton de validation en bas de l’assistant. Le projet est automatiquement
créé. WinDev Mobile affiche les différentes actions possibles.
16. Cliquez sur "Editeur de WinDev Mobile".

34 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Ma première fenêtre

Présentation
La première fenêtre que nous allons créer permet à l’utilisateur d’afficher un message de bienve-
nue grâce au bouton "Afficher".
Vous pouvez être tenté de dire que c’est trop simple, trop basique, mais nous vous conseillons de
réaliser cette fenêtre. Vous risquez d’être surpris par la facilité et l’intuitivité de l’éditeur de Win-
Dev Mobile. De plus, cette fenêtre vous permettra de découvrir des concepts fondamentaux pour
la suite de ce cours et de voir tout le processus de développement d’une application Android avec
WinDev Mobile.

Création de la fenêtre

Pour créer la fenêtre :


1. Cliquez sur parmi les boutons d’accès rapide de WinDev Mobile :

2. La fenêtre de création d’un nouvel élément s’affiche. Cette fenêtre permet de créer tous les
éléments pouvant être associés à un projet.
3. Cliquez sur "Fenêtre" puis sur "Fenêtre". L’assistant de création d’une fenêtre s’affiche.
4. Sélectionnez "Vierge" dans la liste des fenêtres affichée sur la gauche. Dans la liste des ga-
barits présente sur la droite, le gabarit "ActivAndroid 4-HoloLight" est sélectionné par défaut.
Vous pouvez choisir un autre gabarit proposé dans la liste.

Les gabarits permettent de créer rapidement des interfaces professionnelles. Un


Note

gabarit définit le look de la fenêtre mais également le look de tous les champs
qui seront utilisés dans cette fenêtre. Ainsi, aucune faute de goût n’est possible.

5. Validez. La fenêtre est automatiquement créée sous l’éditeur.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 35
Enregistrez la fenêtre en cliquant sur parmi les boutons d’accès rapide. Au premier
enregistrement, une fenêtre spécifique s’affiche. Cette fenêtre propose de saisir :

• le titre de l’élément : saisissez "Bienvenue". Dans notre cas, ce titre sera affiché dans la
barre de titre de la fenêtre.
• le nom de l’élément qui correspond au nom de la fenêtre. Ce nom sera utilisé en program-
mation. Par défaut, ce nom est composé de "FEN_" qui correspond à la charte de program-
mation et de "Bienvenue" qui correspond au titre de la fenêtre que vous venez de saisir.

Observez bien le nom de la fenêtre que WinDev Mobile propose par défaut : ce
nom commence par les lettres "FEN_". Ce préfixe est automatiquement ajouté
car le projet utilise une charte de programmation.
La charte de programmation permet de définir un préfixe pour chaque type d’ob-
jet et ainsi d’identifier rapidement l’élément manipulé :
Note

• une fenêtre commence par "FEN_",


• un bouton commence par "BTN_",
• etc.
Si vous ne voulez pas utiliser cette charte, il suffit de la débrancher : sous le volet
"Projet", dans le groupe "Autres actions", déroulez l’option "Charte" et décochez
l’option "Utiliser la charte".

• l’emplacement qui correspond au nom du fichier créé pour la fenêtre. La fenêtre est un fi-
chier d’extension "WPW", enregistré dans le répertoire du projet.
Validez l’enregistrement de la fenêtre en cliquant sur le bouton vert.
Affichage d’un message
Vous allez maintenant créer un bouton permettant d’afficher un message.
Pour créer le bouton "Afficher" :
1. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur . Le bouton apparaît
en création sous la souris.
2. Déplacez la souris dans la fenêtre vers la position où le champ doit être créé (par exemple
en haut de la fenêtre). Pour poser le champ dans la fenêtre, il suffit de cliquer dans la fenêtre.
3. Faites un clic droit de la souris sur le champ que vous venez de créer. Le menu contextuel
du champ apparaît. Dans ce menu contextuel, sélectionnez l’option "Description". La fenêtre
de description du bouton s’affiche.

36 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Modifiez les caractéristiques du champ en saisissant les informations suivantes :

1. Ce champ a pour nom : "BTN_Afficher".


2. Ce champ a pour libellé : "Afficher"
Validez la fenêtre de description du champ (bouton vert). Le champ apparaît sous l’éditeur de
fenêtres.
Nous allons afficher un message dans une boîte de dialogue (une mini-fenêtre proposée par
le système). Pour cela, nous allons utiliser notre première fonction WLangage : la fonction
Info.
Notes

Le WLangage est le langage de programmation fourni avec WinDev Mobile. C’est


un langage de 5° génération (L5G) possédant des ordres évolués.

1. Sélectionnez à l’aide de la souris le bouton "Afficher" : il suffit de cliquer dessus.


2. Affichez le menu contextuel du champ (clic droit de la souris).
3. Sélectionnez l’option "Code". Cette option ouvre l’éditeur de code de WinDev Mobile, dans
lequel toutes les instructions WLangage peuvent être saisies.
4. Dans le traitement "Clic sur BTN_Afficher", saisissez le code suivant :
Info(“Bonjour”)

Remarque sur l’aide à la saisie : Dès la saisie des deux premiers caractères, WinDev Mobile pro-
pose tous les mots du vocabulaire WLangage contenant ces caractères. L’assistance au dévelop-
pement est poussée très loin. Vous ne pouvez plus vous tromper en saisissant le nom d’un élé-
ment : les erreurs de syntaxes sont minimisées. Il suffit de sélectionner le mot désiré et de valider
par la touche [ENTREE]. Vous pourrez ainsi vous concentrer sur l’algorithme.

En saisissant ce code sous l’éditeur de code, vous constatez que les différents
éléments saisis utilisent des couleurs différentes. C’est la coloration syntaxique.
L’éditeur de code permet ainsi d’identifier rapidement les différents éléments
manipulés par le code :
• les fonctions du WLangage apparaissent en bleu,
Notes

• les chaînes de caractères (entre guillemets) apparaissent en violet,


• les noms de champs apparaissent en cyan.
Ces couleurs peuvent être modifiées élément par élément dans les options de
l’éditeur de code (sous le volet "Accueil", dans le groupe "Envirronement", dérou-
lez "Options" et sélectionnez "Options de l’éditeur de code").

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 37
La fonction Info affiche le message passé en paramètre.
Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide ou en
utilisant la combinaison de touches [CTRL]+[S].
Fermez l’éditeur de code (croix en haut à droite de l’éditeur de code). La fenêtre réapparaît.
Premier test
Pour une application Android, WinDev Mobile permet de tester directement l’application sur le
poste de développement grâce au mode simulation. Ce test réalise une simulation d’un périphé-
rique Android sur le poste de développement. Ce test est utile quand le développeur ne dispose
pas de périphérique Android. Cependant, ce test ne permet pas d’utiliser les composants maté-
riels de l’appareil (GPS, SMS, appareil photo, ...).

WinDev Mobile permet également de réaliser un test de l’application via l’émula-


teur Android (AVD) fourni avec le SDK.
Pour réaliser ce test, il est nécessaire :
• de lancer l’émulateur AVD et créer différentes configurations correspondant
Notes

aux cibles souhaitées.


• de générer l’application Android. Cette manipulation est expliquée dans le pa-
ragraphe suivant.
• de sélectionner la configuration cible voulue à la fin de la génération pour tes-
ter l’application sur l’émulateur.

Nous allons tester la fenêtre en mode simulation.


1. Cliquez sur parmi les boutons d’accès rapide (ou utilisez la touche [F9]).
2. Validez si nécessaire le message d’information concernant le mode simulateur.
3. La fenêtre que vous avez créée se lance en exécution. La coque du simulateur correspond
à l’appareil choisi dans l’assistant de création de projet ("Samsung Galaxy S3" dans notre
exemple).
4. Cliquez sur le bouton "Afficher".
5. Validez la fenêtre système qui s’affiche.

38 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Tout développeur sait que tester un programme est souvent long, voire fastidieux. Avec
WinDev, en UN CLIC, vous testez la fenêtre, l’état, ou la procédure que vous êtes en train de
réaliser. C’est à la fois simple et rapide !
Cliquez sur le bouton "x" situé dans la coque du simulateur pour fermer la fenêtre.
L’éditeur de WinDev Mobile réapparaît.
Premier déploiement sur l’appareil

Principe
Pour exécuter l’application de manière autonome sur l’appareil Android, il suffit de :
• Connecter l’appareil via un port USB.
• Générer l’application.
• Sélectionner votre appareil à la fin de la génération. La copie de l’application peut prendre
quelques secondes.
Nous allons voir en détail ces différentes étapes.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 39
Mise en place

Pour générer l’application Android :


1. Sous le volet "Projet", dans le groupe "Génération", cliquez sur "Générer" (vous pouvez égale-
ment cliquer sur parmi les boutons d’accès rapide).
2. WinDev Mobile propose de sélectionner la première fenêtre du projet. Pour notre exemple,
sélectionnez "FEN_Bienvenue" et validez (bouton vert en bas de l’écran).
3. L’assistant de génération d’une application Android se lance.

4. Le premier écran de l’assistant permet de :


• définir le nom de l’application (affiché sous l’icône permettant de lancer l’application) et le
package correspondant.
• sélectionner l’icône de l’application dans le catalogue d’images de WinDev Mobile.
5. Passez à l’écran suivant en cliquant sur les touches fléchées au bas de l’écran. Cet écran
permet de définir :
• le splash screen de l’application,
• les informations enregistrées dans le manifeste,
• le mode de lancement de l’application (lancement au démarrage du périphérique ou non).
6. Passez à l’écran suivant. Cet écran permet de définir le numéro de version de l’application.
7. Passez à l’écran suivant. Cet écran permet de signer l’application. L’assistant propose par
défaut une signature générique, utilisable pour les tests de l’application. Pour une diffusion
de l’application, il est nécessaire de posséder une signature spécifique. Pour plus de détails,
consultez l’aide en ligne.
8. Passez à l’écran suivant. Cet écran permet d’intégrer des fichiers spécifiques (fichiers de
données, images, ...). Dans notre exemple, nous n’utiliserons pas cette possibilité. Conservez
les options par défaut.

40 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
9. Passez à l’écran suivant. Cet écran permet d’intégrer des librairies spécifiques. Conservez
les options par défaut.
10. Passez à l’écran suivant. Cet écran permet de définir les permissions de l’application. Par
défaut, selon les fonctions WLangage utilisées dans l’application, WinDev Mobile détecte les
permissions nécessaires.
11. Passez à l’écran suivant. Cet écran permet de restreindre le téléchargement de l’applica-
tion sur Google Play store aux matériels disposant des fonctionnalités utilisées. Dans notre
exemple, nous n’utiliserons pas cette possibilité. Conservez les options par défaut.
12. Passez à l’écran suivant. Cet écran permet de configurer les options du SDK Android.
Conservez les options par défaut.
13. Passez à l’écran suivant. Le dernier écran de l’assistant permet d’indiquer si l’application
doit être directement copiée et exécutée sur l’appareil relié au poste ou sur un émulateur.
Notes

Si aucun périphérique n’est connecté ou si aucun émulateur n’est affiché, il


est nécessaire de créer un émulateur (bouton "Créer un émulateur").

Si cette option est cochée, un nouvel écran apparaît permettant de sélectionner le périphé-
rique d’exécution :

Voilà, notre première application est générée et exécutée sur le périphérique Android.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 41
Leçon 2.2. Interface (IHM)

Ce que vous allez apprendre dans cette leçon ...

• Choix de la résolution en fonction du matériel


• Orientation de la fenêtre
• Gestion du tactile

Durée estimée : 30 min

42 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Présentation
Le système Android est disponible aussi bien sur des téléphones que sur des tablettes. WinDev
Mobile permet de créer simplement des interfaces s’adaptant au matériel utilisé.

Choix de la résolution en fonction du matériel


Lors de la création d’un projet, il est nécessaire de choisir la résolution qui sera utilisée pour les
fenêtres du projet. Deux cas se présentent :
• Vous avez un seul matériel cible : dans ce cas, il suffit de sélectionner ce matériel dans la liste
proposée par l’assistant.
• Vous utilisez plusieurs matériels cibles avec des résolutions d’écran différentes : dans ce cas,
il est nécessaire de choisir la résolution la plus petite commune à tous ces matériels. L’ancrage
des champs dans la fenêtre permettra d’adapter le contenu à la résolution.

Orientation de la fenêtre
Sous Android, une fenêtre peut avoir une des orientations suivantes :
• Bloquée en mode portrait,
• Bloquée en mode paysage,
• Libre : la fenêtre suit l’orientation du matériel.
Cette orientation est définie dans l’onglet "Détail" de la fenêtre de description de la fenêtre (option
"Description" du menu contextuel de la fenêtre).

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 43
Dans les deux premiers cas, aucune manipulation spécifique n’est nécessaire.
Dans le cas d’une fenêtre libre, la disposition des champs et leur taille doivent s’adapter à l’orien-
tation. Il faut utiliser le mécanisme de l’ancrage pour obtenir un résultat satisfaisant.

Exemple pratique

Ouvrez si nécessaire le projet "Mon_Projet_Android" que vous venez de créer dans la leçon
précédente.

Un projet corrigé est disponible. Pour ouvrir ce projet, sous le volet "Accueil",
Corrigé

dans le groupe "Aide en ligne", déroulez "Guide d’auto-formation" puis sélection-


nez "Mon projet Android (Corrigé)".

Dans notre exemple, le projet a été créé pour un téléphone, et nous l’avons testé en mode portrait
sous le simulateur.
Nous allons maintenant le tester en mode paysage sous le simulateur.
Lancez le test du projet ( parmi les boutons d’accès rapide).
1. La fenêtre apparaît en mode portrait.
2. Dans le simulateur, cliquez sur la flèche dans la coque ( ).
3. La fenêtre change d’orientation à l’écran.
4. Dans notre exemple, le bouton ne change pas de place : il ne s’adapte pas à l’orientation
de l’écran.

Nous allons maintenant modifier notre fenêtre pour que le bouton "Afficher" soit centré dans
la fenêtre et reste centré quelle que soit l’orientation du mobile.
Arrêtez le test et revenez sous l’éditeur.

44 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour centrer le bouton dans la fenêtre :
1. Sélectionnez le bouton (clic sur le bouton).
2. Sous le volet "Alignement", dans le groupe "Centrage et répartition", cliquez sur "Centrer
dans le parent (horz)".
Pour que le bouton reste centré dans la fenêtre, nous allons utiliser l’ancrage du champ :
1. Sélectionnez le bouton (clic sur le bouton).
2. Affichez le menu contextuel (clic droit).
3. Sélectionnez l’option "Ancrage" : la fenêtre de définition des ancrages apparaît :

4. Sélectionnez "Centré horizontal" et validez (bouton vert).


Lancez le test du projet ( parmi les boutons d’accès rapide) :
• Le bouton est centré en mode portrait.
• Changez l’orientation du simulateur.
• Le bouton reste centré en mode paysage.

Gestion du tactile
Un des aspects importants de l’interface d’une application mobile est la gestion de l’écran tactile.
Un dispositif "multi-touch" est une technique permettant à une personne d’interagir avec un maté-
riel informatique à l’aide de plusieurs points de contact.
L’une des applications la plus courante du multi-touch est la manipulation d’images. La taille de
l’affichage sur un téléphone étant souvent réduite, il est souvent nécessaire de zoomer et / ou de
se déplacer dans une image.
Il est ainsi possible de réaliser un zoom sur une image avec le contact de 2 doigts qui s’écartent.
Pour gérer le "multi-touch", WinDev Mobile propose :
• Différentes options spécifiques disponibles dans le champ Image.
• Des fonctions WLangage spécifiques.
• Des traitements optionnels spécifiques.
Pour plus de détails, consultez l’aide en ligne.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 45
Exemple pratique

Ouvrez si nécessaire le projet "Mon_Projet_Android" que vous venez de créer dans la leçon
précédente.

Un projet corrigé est disponible. Pour ouvrir ce projet, sous le volet "Accueil",
Corrigé

dans le groupe "Aide en ligne", déroulez "Guide d’auto-formation" puis sélection-


nez "Mon projet Android (Corrigé)".

Dans la fenêtre "FEN_Bienvenue", créez un champ Image :


1. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur "Image".
2. Le champ Image apparaît en création sous la souris.
3. Déplacez la souris dans la fenêtre vers la position où le champ doit être créé. Pour poser le
champ dans la fenêtre, il suffit de faire un nouveau clic gauche de souris.
4. Double-cliquez sur le champ Image : la fenêtre de description du champ apparaît.
5. Dans l’onglet "Général", sélectionnez une image présente sur votre disque dans le champ
de saisie "Image" grâce au sélecteur de fichier (bouton [...]).
6. Si l’image est présente dans un répertoire différent de celui du projet, WinDev Mobile pro-
pose de copier le fichier image dans le répertoire du projet. Acceptez en cliquant sur le bouton
"Copier le fichier dans le répertoire proposé".
7. Affichez l’onglet "Détail" : les options de gestion du multi-touch sont affichées :

8. Sélectionnez l’option "Scroll et zoom automatiques".


9. Validez la fenêtre de description du champ.
10. Enregistrez la fenêtre (clic sur parmi les boutons d’accès rapide).
11. Une erreur d’IHM apparaît dans le volet des erreurs : les ascenseurs automatiques de la
fenêtre entrent en conflit avec les fonctionnalités de scrolling du champ Image.

46 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
12. Pour ne plus avoir cette erreur d’IHM, désactivez les ascenseurs de la fenêtre :
• Affichez la fenêtre de description de la fenêtre (option "Description" du menu contextuel).
• Dans l’onglet "Détail", décochez l’option "Ascenseurs automatiques".
• Validez la fenêtre de description.
13. Enregistrez la fenêtre (clic sur parmi les boutons d’accès rapide). L’erreur d’IHM dis-
paraît.

La gestion du multi-touch ne peut pas être testée sous le simulateur. Pour


Notes

tester cette fonctionnalité, il est nécessaire de déployer l’application sur l’ap-


pareil mobile. Nous verrons la marche à suivre dans la partie "Programma-
tion avancée", page 51.

14. Fermez le projet.

Les différents types de champs disponibles


WinDev Mobile propose de nombreux champs. Ces champs permettent d’afficher ou de saisir des
données. Certains champs sont plus spécifiques à une interface mobile.
Pour réaliser vos applications, vous disposez des champs classiques (champs de saisie, images,
sélecteurs et interrupteurs), mais aussi de champs plus spécifiques tels que :
• les zones multilignes pour réaliser des IHM ressemblant aux fenêtres natives Android,
• le champ Carte pour visualiser une position sur une carte ou un itinéraire,
• le champ Publicité pour afficher un bandeau de publicité,
• le menu sous forme de "Action bar".
Nous verrons certains de ces champs dans la leçon "Programmation avancée".

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 47
Leçon 2.3. Bases de données

Ce que vous allez apprendre dans cette leçon ...

• Bases de données disponibles


• Synchronisation

Durée estimée : 15 min

48 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Les bases de données disponibles

Présentation
Sous Android, deux types de bases de données sont disponibles :
• HFSQL (mode Classic et mode Client/Serveur).
• SQLite.

Base de données de type HFSQL


HFSQL Classic
En mode HFSQL Classic, les fichiers de données sont stockés sur le matériel (Smartphone ou
tablette).
Dans ce cas, l’application est autonome. Il n’est pas nécessaire d’avoir une connexion Wi-Fi ou
3G.
Les données sont stockées dans la mémoire du matériel. La taille maximale de stockage dépend
de la capacité mémoire du matériel.
Dans la leçon "Programmation avancée", nous allons réaliser une application utilisant une base
de données HFSQL Classic.

HFSQL Client/Serveur
En mode HFSQL Client/Serveur, aucune donnée n’est stockée sur le matériel. Les données sont
stockées sur une machine sur laquelle est installé un serveur HFSQL.
Pour accéder à cette machine et donc à la base de données, il est nécessaire d’avoir activé
un moyen de communication avec le serveur dans l’application mobile (Wi-Fi ou 3G) afin de se
connecter via le réseau ou Internet.
Les temps de réponse vont bien entendu dépendre de la qualité du réseau Wi-Fi ou Internet et du
volume des données demandées.
L’accès aux données se fera à l’aide des fonctions WLangage Hxxx et/ou de requêtes SQL.

Base de données SQLite


SQLite est un format de base de données libre reconnu sur un système Android.
Cette base de données est stockée dans la mémoire de l’appareil. Elle est accessible depuis Win-
Dev Mobile via l’Accès Natif SQLite.
L’accès aux données se fera à l’aide des fonctions WLangage Hxxx et/ou de requêtes SQL.
La base SQLite est aussi disponible sous WinDev et WebDev via le même Accès Natif.
Il n’est pas possible de manipuler directement une base SQLite située sur un PC depuis un appa-
reil mobile (tablette ou Smartphone) ou inversement. Il est nécessaire d’utiliser les méthodes de
synchronisation pour conserver des données à jour.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 49
La synchronisation
Le mécanisme de synchronisation permet de "synchroniser" les données stockées sur un matériel
mobile avec les données stockées sur un serveur. La synchronisation utilise le mécanisme de la
"réplication universelle".
Cette technique est disponible aussi bien en WinDev, WebDev et WinDev Mobile.

Pour plus de détails, consultez l’aide en ligne (mot-clé : "Réplication").

Accès aux données au travers d’un Webservice


Une autre méthode permet également d’accéder à des données sur un serveur depuis un appa-
reil mobile : l’utilisation d’un Webservice.

Dans ce cas, l’appareil mobile doit disposer d’une connexion Wi-Fi ou 3G pour se connecter au
Webservice.
L’application mobile n’accède pas en direct à la base de données. L’application appelle des fonc-
tions du Webservice. Ces fonctions retournent les données.
C’est le Webservice qui accède à la base de données.

Cette technique permet par exemple d’avoir une couche métier (le Webservice) commune à plu-
sieurs types d’applications et d’interfaces (WinDev, WebDev ou WinDev Mobile) et différents types
de systèmes d’exploitation (Windows, Android, iOS, ...)

Pour plus de détail, consultez l’aide en ligne (mot-clé : "Webservice").

50 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 2.4. Programmation avancée

Ce que vous allez apprendre dans cette leçon ...

• Créer une application de gestion


• Champs spécifiques : champ Zone répétée, champ Zone multiligne, champ Carte, ...
• Manipulation de la base de données
• Fonctionnalités spécifiques à l’appareil utilisé (GPS, Photo, ...)

Durée estimée : 1 h

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 51
Présentation
Dans cette leçon, nous allons réaliser une application Android utilisant une base de données
HFSQL Classic.
Cette application va nous permettre de détailler plusieurs points spécifiques de la programmation
Android.

Ouverture du projet

Lancez WinDev Mobile 20 (si ce n’est déjà fait). Si nécessaire, fermez le projet en cours pour
faire apparaître la fenêtre de bienvenue.
Ouvrez le projet "Android Gestion Produits".
Pour cela, dans la fenêtre de bienvenue, cliquez sur "Cours d’auto-formation" et sélectionnez
le projet "Gestion de Produits Android (Exercice)".
Astuce : si la fenêtre de bienvenue n’est pas affichée, il est possible sous le volet "Accueil",
dans le groupe "Aide en ligne" de dérouler l’option "Guide d’Auto-formation" puis de sélection-
ner l’option "Gestion de Produits Android (Exercice)".

Un projet corrigé est disponible. Ce projet contient les différentes fenêtres créées
Corrigé

dans cette leçon. Pour ouvrir le projet corrigé, sous le volet "Accueil", dans le
groupe "Aide en ligne", déroulez l’option "Guide d’auto-formation" puis sélection-
nez "Gestion de Produits Android (Corrigé)".

Description du projet
Examinons notre projet de départ. Ce projet est un projet déjà créé. Il ne contient aucune fenêtre.
Il contient uniquement l’analyse décrivant les fichiers de données HFSQL Classic que nous allons
utiliser. Dans le répertoire EXE, les fichiers de données correspondants sont fournis avec des
données pour réaliser les différents tests.
Pour visualiser l’analyse associée au projet :
1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev Mobile.
2. L’éditeur d’analyses s’affiche.

52 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
3. Cette analyse est composée de 3 fichiers de données :
• Un fichier "Produit", qui contient la description du produit : nom, prix, quantité, ...
• Un fichier "Caractéristique", qui contient les différentes caractéristiques du produit. Par
exemple, si le produit est un t-shirt, ses caractéristiques correspondront à la taille, la cou-
leur, ... Le fichier "Caractéristique" est donc lié au fichier "Produit".
• Un fichier "Magasin", qui contient pour chaque magasin, ses coordonnées GPS.
4. Fermez l’éditeur d’analyses (cliquez sur la croix en haut à droite de l’éditeur).
Nous allons maintenant commencer le développement de notre application.

Afficher la liste des produits


Nous allons tout d’abord créer une fenêtre permettant de lister les différents produits proposés.
Ces produits vont être affichés dans un champ de type "Zone répétée".

Création de la fenêtre

Pour créer une nouvelle fenêtre :


1. Cliquez sur parmi les boutons d’accès rapide. La fenêtre de création d’un nouvel élément
s’affiche : cliquez sur "Fenêtre" puis sur "Fenêtre". Dans l’assistant, sélectionnez l’onglet "Stan-
dard", choisissez "Vierge" et validez.
2. Enregistrez la fenêtre en cliquant sur parmi les boutons d’accès rapide.
3. Dans la fenêtre qui s’affiche, saisissez le titre de la fenêtre : "Liste des produits". Automati-
quement, le nom et l’emplacement de la fenêtre sont renseignés. Conservez les valeurs par
défaut et validez (bouton vert).
4. La fenêtre est ajoutée au projet.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 53
Création du champ Zone répétée
Pour afficher la liste des produits, nous allons utiliser un champ de type "Zone Répétée". Dans ce
champ, les principales informations sur les produits vont être affichées.
Pour créer le champ "Zone répétée" :
1. Sous le volet "Création", dans le groupe "Données", déroulez "Zone répétée" et sélectionnez
"Zone répétée (verticale)". Le champ apparaît sous la souris.
2. Cliquez dans la fenêtre à la position où le champ doit être créé (par exemple en haut).
L’assistant de création d’un champ Zone répétée se lance.
3. Dans l’assistant, sélectionnez l’option "Afficher des données provenant d’un fichier ou
d’une requête". Passez à l’écran suivant.
4. Sélectionnez le fichier "Produit". Passez à l’écran suivant.
5. Sélectionnez les rubriques à afficher :

6. Conservez les rubriques "Nom", "Description" et "Prix" (une coche doit être présente devant
ces rubriques). Passez à l’écran suivant.
7. Conservez la rubrique de tri proposée (IDProduit). Les produits seront triés dans le champ
Zone répétée suivant cette rubrique. Passez à l’écran suivant.
8. Dans l’écran "Paramètres supplémentaires", conservez les options par défaut. Passez à
l’écran suivant.
9. Conservez le nom par défaut "ZR_Produit" et validez.
10. Un message concernant la gestion des ascenseurs de la fenêtre apparaît.
En effet, la fenêtre comme le champ Zone répétée possèdent chacun leur propre ascenseur.
Il y a donc un conflit. Un seul ascenseur doit être activé. Il est préférable :
• de désactiver l’ascenseur de la fenêtre car la fenêtre a une taille fixe,
• de garder actif l’ascenseur du champ Zone répétée.

54 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Le défilement vertical (scrolling vertical) se fera dans le champ Zone répétée et non dans la fe-
nêtre. Ainsi, il sera possible d’avoir des champs au dessus ou en dessous du champ Zone répé-
tée sans que ceux-ci ne défilent.
11. Cliquez sur "Désactiver l’ascenseur automatique". Le champ Zone répétée apparaît
sous l’éditeur de fenêtres. Par défaut, le champ Zone répétée s’adapte automatiquement à
l’espace disponible dans la fenêtre.

Dans la fenêtre affichée sous l’éditeur, des données apparaissent automatique-


ment. Ce concept se nomme "Live Data" : vous voyez les données présentes
Notes

dans vos fichiers en temps réel !


Cette fonctionnalité est très utile, notamment pour adapter la taille des champs
à leur contenu.

Enregistrez la fenêtre en cliquant sur parmi les boutons d’accès rapide.


Nous allons effectuer un premier test dans le simulateur pour visualiser le résultat. Cliquez
sur parmi les boutons d’accès rapide (ou utilisez la touche [F9]).

Fermez le simulateur pour revenir sous l’éditeur de fenêtres.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 55
Améliorations de la fenêtre
Comme vous avez pu le constater lors du test, les champs créés dans le champ Zone répétée
dépassent de cette zone. Nous allons modifier la taille des champs.
Pour modifier la taille du champ "Nom" :
1. Sélectionnez le champ "Nom".
2. Réduisez la taille du champ à l’aide de poignées pour qu’il soit totalement affiché dans la
fenêtre.
3. Répétez les opérations pour le champ "Description".
Nous avons vu dans la leçon précédente, l’importance des ancrages. Nous allons tout de suite
appliquer un ancrage au champ Zone répétée que nous venons de créer afin qu’il soit automati-
quement redimensionné en fonction de l’orientation de l’écran.
Pour ancrer le champ Zone répétée :
1. Sélectionnez le champ Zone répétée.
2. Affichez le menu contextuel du champ (clic droit) et sélectionnez l’option "Ancrage".
3. Dans la fenêtre qui s’affiche, sélectionnez l’option .
4. Validez. Les flèches rouges indiquant les options d’ancrage apparaissent dans la fenêtre.
Testez la fenêtre pour visualiser le résultat.
• Cliquez sur parmi les boutons d’accès rapide.
• Modifiez l’orientation de la fenêtre.
• Fermez le simulateur pour revenir sous l’éditeur.
Notre fenêtre est terminée.
Création de la fenêtre fiche
Maintenant, nous allons créer une nouvelle fenêtre servant à afficher la fiche du produit. Ensuite,
cette fenêtre sera lancée depuis la liste des produits pour afficher le détail du produit sélectionné.

Création de la fenêtre

Pour créer la fenêtre fiche :


1. Créez une nouvelle fenêtre vierge.
• Cliquez sur parmi les boutons d’accès rapide.
• La fenêtre de création d’un nouvel élément s’affiche : cliquez sur "Fenêtre" puis sur "Fe-
nêtre".
• Dans l’assistant, sélectionnez l’onglet "Standard", choisissez "Vierge" et validez.
2. Enregistrez la fenêtre. Indiquez le titre de la fenêtre : "Fiche du produit". Son nom est auto-
matiquement proposé : "FEN_Fiche_du_produit". Validez.

Création des champs

Pour créer les différents champs de saisie affichant les informations sur le produit :
1. Affichez le volet "Analyse" si nécessaire : sous le volet "Accueil", dans le groupe
"Environnement­", déroulez "Volets" et sélectionnez "Analyse". Les différents fichiers de
données décrits dans l’analyse "Android Gestion Produits" apparaissent dans le volet.

56 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
2. Sélectionnez à l’aide de la souris les rubriques du fichier "Produit" affichées dans le volet
(sauf la rubrique "IDProduit").
3. Effectuez un "Drag and Drop" (glisser/déplacer) de ces rubriques vers la fenêtre que vous
venez de créer.

4. Modifiez la taille des champs ("Nom", "Code-barres", "Date de réappro.", "Description") afin
qu’ils soient visibles dans la fenêtre.
5. Réorganisez les champs dans la fenêtre. Respectez l’ordre suivant : "Photo", "Nom", "Prix",
"Quantité", "Code-barres", "Date de réappro.", "Description".

6. Nous allons visualiser l’ordre de navigation dans la fenêtre :


• Appuyez sur la touche [F5]. Les numéros qui s’affichent représentent l’ordre de navigation
dans la fenêtre. Appuyez à nouveau sur la touche [F5] pour faire disparaître les numéros.
• L’ordre de navigation s’adapte automatiquement à l’ordre des champs dans la fenêtre.
7. Enregistrez la fenêtre.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 57
Testez la fenêtre ( parmi les boutons d’accès rapide). La fenêtre apparaît avec tous les
champs vides.
Pour afficher les données du produit :
1. Affichez les traitements associés à la fenêtre :
• Dans la zone à côté de la fenêtre, faites un clic droit de souris.
• Dans le menu contextuel qui s’affiche, sélectionnez "Code".
• L’éditeur de code apparaît.
2. Dans le traitement "Fin d’initialisation de FEN_Fiche_du_produit", saisissez le code suivant :
FichierVersEcran()

La fonction FichierVersEcran permet d’afficher dans les champs les données présentes dans le
fichier de données, pour l’enregistrement en cours.
3. Fermez la fenêtre de code.
4. Enregistrez la fenêtre.

Affichage de la fiche depuis la liste des produits


Nous allons maintenant voir comment afficher la fiche du produit sélectionné dans la liste des
produits.
Effectuez les opérations suivantes :
1. Placez-vous sur la fenêtre "Liste des produits" : cliquez sur le bouton "FEN_Liste_des_pro-
duits" dans la barre des boutons :

2. Faites un clic droit sur le champ Zone répétée et dans le menu qui s’affiche, sélectionnez
l’option "Code".
3. Dans la fenêtre de code qui apparaît, saisissez le code suivant dans le traitement "Sélec-
tion d’une ligne de ..." :
OuvreFenêtreMobile(FEN_Fiche_du_produit)

Laissez-vous guider par l’assistance à la saisie de code : dès que vous allez ta-
per la parenthèse ouvrante "(", une liste déroulante va s’ouvrir proposant le nom
de toutes les fenêtres existantes dans le projet. Il suffit de sélectionner la fenêtre
Notes

au clavier ou à la souris.
Si vous ne trouvez pas le nom de la fenêtre que vous cherchez dans la liste, c’est
que celle-ci n’a pas été sauvegardée précédemment.

4. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
5. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Testez la fenêtre à nouveau sous le simulateur ( parmi les boutons d’accès rapide).
• Dans la liste des produits, cliquez sur un des produits avec la souris.
• La fenêtre de détail du produit s’affiche.
Fermez le simulateur.
58 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Gestion de la création et de la modification d’un produit
Nous allons maintenant modifier nos deux fenêtres afin de gérer l’ajout et la modification d’un
produit.

Modification de la fiche produit


Nous allons rajouter 2 boutons dans la fenêtre "FEN_Fiche_du_produit" :
• un bouton "Valider" pour gérer la validation des modifications.
• un bouton "Annuler" pour gérer le retour à la liste des produits.
Tout d’abord, affichez si nécessaire la fenêtre "FEN_Fiche_du_produit" sous l’éditeur : cliquez
sur le bouton correspondant dans la barre de boutons.
Pour créer le bouton "Annuler" :
1. Sous le volet "Création", dans le groupe "Champs usuels", déroulez "Bouton" (cliquez sur la
flèche située sous ).
2. La liste des boutons prédéfinis s’affiche.

Pour certains types de champs, WinDev Mobile propose une liste de champs
prédéfinis. Ces champs sont des champs avancés, configurés pour effectuer une
Notes

action spécifique.
Par exemple, le bouton "Annuler" proposé par la liste des champs prédéfinis
contient le code nécessaire à son exécution.

3. Cliquez sur "Annuler" : la forme du bouton apparaît sous la souris. Cliquez ensuite en bas à
droite de la fenêtre pour créer le bouton.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 59
Nous allons ensuite ajouter le bouton "Valider" sur le même principe, mais en personnalisant
le look de ce bouton.
1. Sous le volet "Création", dans le groupe "Champs usuels", déroulez "Bouton" (cliquez sur la
flèche située sous ).
2. La liste des boutons prédéfinis s’affiche.
3. Cliquez sur "Bouton" : la forme du bouton apparaît sous la souris. Cliquez ensuite en bas de
la fenêtre pour créer le bouton (à gauche du bouton "Annuler").
4. Sélectionnez le champ puis tapez sur la touche [ENTREE] du clavier. Le libellé du bouton
passe en édition. Saisissez "Valider" et appuyez à nouveau sur la touche [ENTREE] du clavier.
5. Redimensionnez si nécessaire le bouton (à l’aide des poignées) pour que le libellé s’affiche
complètement dans le bouton.
Pour personnaliser le look de ce bouton :
1. Sélectionnez le bouton "Valider" : il suffit de cliquer dessus.
2. Affichez le menu contextuel (clic droit) puis sélectionnez l’option "Choisir un style".
3. Chaque gabarit propose des styles pour les boutons usuels : validation, annulation, créa-
tion, ... Ici, choisissez le style "BTN_Ok".

4. Validez. Le style est automatiquement appliqué au bouton.


Nous allons maintenant saisir le code du bouton "Valider".
1. Faites un clic droit sur le bouton puis sélectionnez l’option "Code" dans le menu contextuel.
2. Dans le traitement "Clic sur", saisissez le code suivant :
EcranVersFichier()
HModifie(Produit)
Ferme()
Examinons ce code :
• La fonction EcranVersFichier permet d’initialiser les rubriques avec les valeurs des champs
liés, pour l’enregistrement courant.

60 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
• La fonction HModifie permet de mettre à jour les données du fichier pour l’enregistrement
courant.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Lors de la fermeture de la fiche du produit, il est nécessaire de rafraîchir le contenu de la liste
des produits présente dans la fenêtre "FEN_Liste_des_produits" pour prendre en compte les
modifications réalisées dans la fiche. Il suffit pour cela d’utiliser le traitement "Fermeture
d’une fenêtre fille" de la fenêtre "FEN_Liste_des_produits".
1. Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur de fenêtres.
2. Faites un clic droit sur le fond de la fenêtre et dans le menu qui s’affiche, sélectionnez
l’option "Code". Dans le traitement "Fermeture d’une fenêtre fille", saisissez le code suivant :
ZoneRépétéeAffiche(ZR_Produit)

Examinons ce code :
• Le traitement "Fermeture d’une fenêtre fille" est exécuté à chaque fois qu’une fenêtre fille
de la fenêtre en cours est fermée. Dans notre cas, il est donc exécuté lorsque la fenêtre
"FEN_Fiche_du_produit" est fermée.
• La fonction ZoneRépétéeAffiche permet de mettre à jour les données du champ Zone répé-
tée de la fenêtre "FEN_Liste_des_produits".
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Lancez le test de la fenêtre "FEN_Liste_des_produits" sous le simulateur ( parmi les
boutons d’accès rapide).
• Dans la liste des produits, cliquez sur un des produits avec la souris : par exemple, le pro-
duit "Polo Hibbicus Bleu" au prix de 25,90 euros.
• La fenêtre de détail du produit s’affiche. Modifiez le prix de 25,90 euros et saisissez
19,90 euros puis ensuite cliquez sur le bouton "Valider".
• De retour sur la liste des produits, vous pouvez constater que le prix de cet article a été mis
à jour.
Fermez le simulateur. L’éditeur de WinDev Mobile est affiché.
Création d’un nouveau produit
Le principe de la création d’un produit va être le suivant :
• Dans la fenêtre de la liste des produits, nous allons ajouter une option de menu "Nouveau pro-
duit" qui va permettre d’ouvrir la fenêtre "Fiche du produit".
• Nous modifierons ensuite le code de la fenêtre "Fiche du produit" pour gérer l’ajout dans le
fichier de données Produit.
Pour ajouter un menu dans la liste des produits :
1. Affichez si nécessaire la fenêtre "FEN_Liste_des_produits" sous l’éditeur.
2. Sous le volet "Fenêtre", dans le groupe "Barres et menus", déroulez "Menu principal" et
sélectionnez "Ajouter le menu principal".
3. Un menu avec une option est rajouté en haut de la fenêtre. Cette option se nomme "Menu".

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 61
4. Nous allons modifier cette option :
• Faites un clic gauche sur l’icône du menu : les options du menu sont affichées.
• Faites un clic droit sur l’option "Menu" pour afficher le menu contextuel.
• Sélectionnez "Description de l’option". La fenêtre de description apparaît.
• Modifiez le nom de l’option (qui devient "OPT_NouveauProduit") et son libellé (qui devient
"Nouveau Produit"). Validez la fenêtre de description.
5. Le code de cette option va permettre d’ouvrir la fenêtre "Fiche du produit", en mettant ses
champs à vide. Pour saisir ce code :
• Faites un clic droit sur l’option.
• Dans le menu contextuel qui s’affiche, sélectionnez l’option "Code".
• Dans le traitement "Sélection du menu", saisissez le code suivant :
HRAZ(Produit)
OuvreFenêtreMobile(FEN_Fiche_du_produit)

La fonction HRaz initialise les variables des rubriques du fichier de données "Produit" avec les
valeurs par défaut pour gérer un nouvel enregistrement.
6. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
7. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).

Maintenant, nous allons modifier la fenêtre de la fiche du produit pour gérer l’ajout d’un
nouvel enregistrement.
1. Affichez la fenêtre "FEN_Fiche_du_produit" sous l’éditeur.
2. Nous allons modifier le code du bouton de validation :
• Faites un clic droit sur le bouton "Valider" puis sélectionnez l’option "Code" dans le menu
contextuel.
• Dans le traitement "Clic sur", remplacez le code par le code suivant :
EcranVersFichier()
SI Produit..NouvelEnregistrement ALORS
HAjoute(Produit)
SINON
HModifie(Produit)
FIN
Ferme()

62 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Examinons ce code :
• La propriété ..NouvelEnregistrement permet de savoir si l’enregistrement en cours doit être
créé.
• Si la fonction HRaz a été appelée précédemment, la propriété renvoie Vrai (cas du clic sur
"Nouveau produit") et l’enregistrement doit être créé par la fonction HAjoute.
• Dans le cas contraire, l’enregistrement en cours existe déjà et doit être modifié par la fonc-
tion HModifie.

Le code de test du nouvel enregistrement peut être remplacé par la fonction


HEnregistre. Cette fonction permet de tester si l’enregistrement est déjà présent
dans le fichier de données, et selon le cas elle permet soit de l’ajouter, soit de le
Notes

modifier. Le code devient alors :


EcranVersFichier()
HEnregistre(Produit)
Ferme()

3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur de fenêtres et lancez son test
sous le simulateur ( parmi les boutons d’accès rapide).
• Cliquez sur le bouton "Menu", puis sélectionnez "Nouveau Produit".
• Saisissez un nouveau produit.
• Validez. Le nouveau produit apparaît dans la liste des produits.
• Fermez le simulateur.

Déploiement de l’application
Si vous possédez un matériel Android, vous pouvez tester le fonctionnement de l’application sur
votre mobile. Il suffit de générer l’application et de l’installer sur le mobile connecté au PC.
Nous allons tout d’abord définir la première fenêtre qui sera lancée par l’application, puis générer
l’application.
Pour définir la première fenêtre du projet :
1. Sélectionnez la fenêtre "FEN_Liste_des_produits" dans l’explorateur de projet.
2. Affichez le menu contextuel.
3. Sélectionnez l’option "Première fenêtre du projet". Une icône spécifique (avec un petit 1)
apparaît alors devant le nom de la fenêtre, dans l’explorateur de projet.
Pour générer l’application Android :
1. Sous le volet "Projet", dans le groupe "Génération", cliquez sur "Générer" (vous pouvez égale-
ment cliquer sur parmi les boutons d’accès rapide).
2. L’assistant de génération d’une application Android se lance. Conservez les options par
défaut. A l’aide des boutons fléchés au bas de l’écran, allez jusqu’à l’écran "Intégration de
fichiers" en conservant les options par défaut. Pour notre exemple, des fichiers de données
HFSQL préremplis sont disponibles. Nous allons les livrer avec l’application. Dans ce cas, il est
nécessaire de les indiquer dans l’écran "Intégration de fichiers".
3. Cliquez sur le bouton "Ajouter" en bas de l’écran. Dans le sous-répertoire "EXE" du projet,
sélectionnez :
• les fichiers de données HFSQL (*.fic, *.ndx, *.mmo).

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 63
• la base SQLite (fichier android_gestion_produits.db). Cette base de données sera utilisée
uniquement si la version d’Android installée sur le matériel est inférieure à 3.2 (version mi-
nimale pour HFSQL).
4. Pour chaque fichier, cochez la case "Ecriture" (nécessaire pour pouvoir modifier les données
depuis l’application).

5. L’écran "Intégration de librairies" permet d’intégrer des librairies spécifiques (HFSQL et


Java).

Si vous possédez un matériel utilisant Android 3.2 minimum, vous pouvez cocher l’option "In-
tégrer les librairies HFSQL dans l’application".
6. Validez les écrans suivants jusqu’à l’écran "Configuration". Cet écran permet de configurer
les options du SDK Android. Si vous avez choisi d’intégrer la librairie HFSQL, il est nécessaire
de vérifier que la version minimale pour exécuter l’application est bien "Android 3.2" au mini-
mum. Si ce n’est pas le cas, un message d’avertissement apparaît dans l’assistant.
Dans notre exemple, une base de données au format SQLite est fournie.
Notes

Cette base sera utilisée par défaut si la version d’Android est inférieure à
3.2.

7. Le dernier écran de l’assistant permet d’indiquer si l’application doit être directement co-
piée et exécutée sur l’appareil relié au poste ou sur un émulateur. Si cette option est cochée,
un nouvel écran apparaît permettant de sélectionner le périphérique d’exécution. Sélection-
nez le matériel connecté au PC.
8. Vous pouvez tester l’application sur votre mobile Android.

64 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Utilisation de l’appareil photo et affichage d’une image

Ce paragraphe nécessite un matériel comportant un appareil photo. Si ce n’est


Attention!

pas le cas, vous pouvez passer au paragraphe suivant.


De plus, ce paragraphe nécessite l’installation de l’application sur le matériel
car il utilise des ressources matérielles qui ne sont pas accessibles en mode
Simulation.

Présentation
Nous allons gérer la photo du produit en utilisant l’appareil photo du matériel.
Pour cela, nous allons :
• créer un bouton pour lancer l’appareil photo. La photo sera récupérée sous la forme d’une
image en mémoire et affichée dans le champ Image du produit.
• créer un bouton permettant de sélectionner une photo dans l’album du mobile.

Création du bouton prise de photo

Pour créer le bouton de prise de la photo :


1. Affichez la fenêtre "FEN_Fiche_du_produit" sous l’éditeur.
2. Ajoutez un bouton dans la fenêtre :
• Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur : la forme du bou-
ton apparaît sous la souris.
• Cliquez ensuite en haut à droite de l’image du produit pour créer le bouton.
Nous allons modifier le bouton pour lui associer une image représentant un appareil photo :
1. Sélectionnez le bouton et affichez son menu contextuel (clic droit).
2. Sélectionnez "Description". La fenêtre de description du champ apparaît.
3. Dans l’onglet "Général", positionnez-vous sur la zone de saisie "Image" et cliquez sur le
bouton "Catalogue".
4. Le catalogue d’images de WinDev Mobile s’ouvre. Ce catalogue contient des milliers
d’images dans différents domaines, formats et tailles.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 65
5. Dans la zone de recherche en haut, saisissez le mot "photo", puis sélectionnez le thème
"Android Holo" et validez. Plusieurs images apparaissent :

6. Sélectionnez par exemple, la seconde image en double-cliquant dessus.


7. Dans l’écran qui s’affiche, vous pouvez choisir la taille de l’image, la couleur, l’orientation,
son format et son nom.
8. Conservez toutes les options par défaut et indiquez juste le nom de l’image "AppareilPhoto".
9. Validez la fenêtre.
10. Le chemin de l’image apparaît dans la description du bouton.
11. Donnez un nom au bouton : "BTN_AppareilPhoto".
12. Videz le libellé du bouton.
13. Validez la fenêtre de description.
14. Sous l’éditeur, réduisez la taille du bouton.

Prise de photo
Nous allons saisir maintenant le code pour prendre une photo et l’afficher dans le champ Image
de la fiche produit.
Pour gérer la prise de photo :
1. Dans le menu contextuel du bouton (clic droit), sélectionnez l’option "Code".
2. Saisissez le code suivant dans le traitement "Clic sur" :
// Variable locale
sPhoto est une chaîne
// On lance l’appareil photo
sPhoto = VidéoLanceAppli(viCaptureImage)
SI sPhoto <> “” ALORS
IMG_Photo = sPhoto
FIN
Dans ce code, la fonction VidéoLanceAppli permet de lancer l’application caméra native de l’ap-
pareil afin d’enregistrer une vidéo ou de prendre une photo.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).

66 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Sélection d’une photo dans l’album de photos
Nous allons ajouter un bouton pour sélectionner une des photos existantes dans l’album de l’ap-
pareil et l’associer au produit.
Pour créer le bouton de sélection de la photo, nous allons simplement faire un "Copier - Col-
ler" du bouton de prise de photo que nous venons de créer :
1. Sélectionnez le bouton "BTN_AppareilPhoto" que vous venez de créer.
2. Utilisez la combinaison de touches [CTRL] + [C] : le bouton est copié dans le presse-papiers.
3. Utilisez la combinaison de touches [CTRL] + [V] : le curseur de la souris se transforme et
l’ombre du bouton apparaît sous le curseur.
4. Cliquez dans la fenêtre à côté du bouton "BTN_AppareilPhoto" : le nouveau bouton est auto-
matiquement créé.
5. Affichez la fenêtre de description du bouton (double-cliquez sur le champ) :
• Donnez un nom au bouton : "BTN_Album_Photo".
• Sélectionnez une image dans le catalogue d’images.
6. Validez la fenêtre de description.
Le code de ce bouton permet d’ouvrir l’album photo de l’appareil et de sélectionner une
image pour l’afficher dans le champ Image de la fiche produit.
1. Dans le menu contextuel du bouton (clic droit), sélectionnez l’option "Code".
2. Remplacez le code du traitement "Clic sur" par le code suivant :
// Variable locale
sPhoto est une chaîne
// On lance la sélection
sPhoto = AlbumSélecteur(albumImage)
SI sPhoto <> “” ALORS
IMG_Photo = sPhoto
FIN
Dans ce code, la fonction AlbumSélecteur permet de récupérer la photo sélectionnée dans l’al-
bum photo.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).

Déploiement de l’application
Si vous possédez un matériel Android, vous pouvez tester le fonctionnement de l’appareil photo
sur votre mobile. Il suffit de générer l’application et de l’installer sur le terminal mobile connecté
au PC.

Ce paragraphe nécessite un matériel comportant un appareil photo.


Si ce n’est pas le cas, vous pouvez passer au paragraphe suivant.
De plus, ce paragraphe nécessite l’installation de l’application sur le matériel
Attention!

car il utilise des ressources matérielles qui ne sont pas accessibles en mode
Simulation.
Le déploiement n’est pas obligatoire : vous pouvez déployer l’application une
seule fois à la fin du cours pour voir toutes les fonctionnalités directement sur le
mobile.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 67
Pour déployer directement l’application Android :
1. Parmi les boutons d’accès rapide, déroulez et sélectionnez l’option "Tester le projet (ap-
pareil mobile)".
2. WinDev Mobile génère automatiquement l’archive Android correspondant à l’application
avec les options sélectionnées lors de la dernière génération.
3. A la fin de la génération, l’application est automatiquement copiée sur l’appareil connecté
au poste de développement.
4. Vous pouvez tester l’application sur votre mobile Android.

Gestion du code-barres du produit

Ce paragraphe nécessite un matériel comportant un appareil photo.


Attention!

Si ce n’est pas le cas, vous pouvez passer au paragraphe suivant.


De plus, ce paragraphe nécessite l’installation de l’application sur le matériel
car il utilise des ressources matérielles qui ne sont pas accessibles en mode
Simulation.

Présentation
Le fichier de données "Produit" contient une rubrique "Code_Barres". Cette rubrique permet de
stocker la valeur d’un code-barres. Certains matériels (notamment ceux qui possèdent un appa-
reil photo) peuvent scanner un code-barres pour récupérer sa valeur.
Nous allons gérer le code-barres grâce à l’appareil photo du matériel mais aussi en utilisant une
fonction spécifique du WLangage.

Mise en place

Pour créer le bouton de gestion des codes-barres :


1. Affichez si nécessaire la fenêtre "FEN_Fiche_du_produit" sous l’éditeur.
2. Ajoutez un bouton dans la fenêtre :
• Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur .
• La forme du bouton apparaît sous la souris.
• Créez le bouton à côté du champ "Code-barres" (redimensionnez le champ de saisie si né-
cessaire).
3. Affichez la fenêtre de description du bouton (double-cliquez sur le champ) :
• Donnez un nom au bouton : "BTN_Code_Barres".
• Videz le libellé du bouton.
• Sélectionnez une image de code-barres dans le catalogue d’images (cherchez par exemple
avec le mot-clé "Code").
4. Validez la fenêtre de description.
5. Sous l’éditeur, réduisez la taille du bouton.

68 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Le code de ce bouton permet de scanner le code-barres.
1. Dans le menu contextuel du bouton (clic droit), sélectionnez l’option "Code".
2. Saisissez le code suivant dans le traitement "Clic sur" :
// Variable locale
cb est un CodeBarres
// Lancement du scan
cb = CBCapture()
SI cb..Contenu <> “” ALORS
SAI_Code_barres = cb..Contenu
FIN
Dans ce code, la fonction CBCapture permet de décoder les informations stockées dans un
code-barres en utilisant la caméra de l’appareil.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).

Utilisation du champ Carte


Nous allons voir comment manipuler le champ Carte et les fonctions GPS du langage.
Notre base de données contient un fichier de données "Magasin". Ce fichier de données contient
les adresses de magasins que nous allons localiser sur une carte à l’aide des fonctions de carto-
graphie.

Création de la fenêtre
Tout d’abord, nous allons créer une nouvelle fenêtre et lui ajouter un champ de type Carte.
Pour créer la fenêtre :
1. Créez une nouvelle fenêtre vierge. Cliquez sur parmi les boutons d’accès rapide. La fe-
nêtre de création d’un élément s’affiche : cliquez sur "Fenêtre" puis sur "Fenêtre". Dans l’assis-
tant, choisissez "Vierge" et validez.
2. Enregistrez la fenêtre. Indiquez le titre de la fenêtre : "Carte des magasins". Son nom est
automatiquement proposé : "FEN_Carte_des_magasins". Validez.

Création du champ Carte

Pour créer le champ Carte :


1. Sous le volet "Création", dans le groupe "Champs graphiques", cliquez sur "Carte". La forme
du champ apparaît sous la souris.
2. Cliquez dans la fenêtre pour créer le champ.
3. Un message concernant la gestion des ascenseurs de la fenêtre apparaît. En effet, la fe-
nêtre comme le champ Carte possèdent chacun leur propre ascenseur. Il y a donc un conflit.
Un seul ascenseur doit être activé. Il est préférable :
• de désactiver l’ascenseur de la fenêtre car la fenêtre a une taille fixe,
• de garder actif l’ascenseur du champ Carte.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 69
4. Cliquez sur "Désactiver l’ascenseur automatique". Le champ Carte apparaît sous l’éditeur
de fenêtres.
5. Affichez la fenêtre de description du champ "Carte" (double-clic sur le champ par exemple).
6. Dans la fenêtre de description du champ, indiquez le nom du champ "CARTE_Magasin" et
validez.
7. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.

Affichage des magasins sur la carte


Principe
Nous allons maintenant ajouter le code qui permet d’afficher sur une carte tous les magasins
présents dans le fichier "Magasin".
Pour cela, nous allons parcourir le fichier "Magasin" avec une boucle POUR TOUT. Ensuite, nous
allons utiliser des variables de type Marqueur. Une variable de type Marqueur permet de définir
une marque qui sera présente sur une carte.
Une marque contient différentes informations. Nous utiliserons uniquement les informations sui-
vantes :
• Nom,
• Latitude,
• Longitude.
La fonction CarteAjouteMarqueur permet d’ajouter la marque sur la carte. Ensuite, il suffit de
régler le niveau de zoom suffisant pour voir tous les marqueurs sur la carte. Si le zoom n’est pas
correctement réglé, certains marqueurs peuvent ne pas être visibles ou bien se chevaucher sur
la carte.
Mise en place
Pour saisir le code permettant d’afficher les magasins :
1. Faites un clic droit à l’extérieur de la fenêtre. Dans le menu contextuel, sélectionnez l’option
"Code". Les différents traitements associés à la fenêtre s’affichent.
2. Saisissez le code suivant dans le traitement "Déclarations globales de ...".

// Variables globales
gMarqueur est un Marqueur
// On charge les magasins
POUR TOUT Magasin
// Coordonnées du marqueur
gMarqueur.Position.Latitude = Magasin.Latitude
gMarqueur.Position.Longitude = Magasin.Longitude
// Nom du marqueur
gMarqueur.Nom = Magasin.Nom
// Ajout du marqueur
CarteAjouteMarqueur(CARTE_MAGASIN,gMarqueur)
FIN
// Zoom par défaut
CARTE_MAGASIN..Zoom = 7
CarteAffichePosition(CARTE_MAGASIN,gMarqueur.Position)

70 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Lancez le test de la fenêtre "FEN_Carte_des_magasins" sous le simulateur ( parmi les
boutons d’accès rapide). Fermez ensuite le simulateur.

Déploiement de l’application
Si vous possédez un matériel Android, vous pouvez tester le fonctionnement du champ Carte sur
votre mobile. Il suffit de générer l’application et de l’installer sur le terminal mobile connecté au
PC.

Le champ Carte utilise la librairie Google Maps API v2.


L’utilisation de la librairie Google Maps API v2 dans une application Android se
Attention!

fait en plusieurs étapes. Il est nécessaire de :


1. Installer le SDK Google Play Services.
2. Obtenir une clé pour l’utilisation de la librairie.
3. Copier la clé dans l’assistant de génération de l’application Android.

Définissez la première fenêtre du projet (la première fenêtre qui sera lancée à l’exécution de
l’application).
1. Sélectionnez la fenêtre voulue dans l’explorateur de projet : dans notre exemple "FEN_Carte_
des_magasins".
2. Affichez le menu contextuel.
3. Sélectionnez l’option "Première fenêtre du projet". Une icône spécifique (avec un petit 1)
apparaît alors devant le nom de la fenêtre, dans l’explorateur de projet.
Pour générer l’application Android :
1. Sous le volet "Projet", dans le groupe "Génération", cliquez sur "Générer" (vous pouvez égale-
ment cliquer sur parmi les boutons d’accès rapide).
2. L’assistant de génération d’une application Android se lance. Conservez les options par
défaut. A l’aide des boutons fléchés au bas de l’écran, allez jusqu’à l’écran "Intégration de
fichiers" en conservant les options par défaut. Pour notre exemple, des fichiers de données
HFSQL préremplis sont disponibles. Nous allons les livrer avec l’application. Dans ce cas, il est
nécessaire de les indiquer dans l’écran "Intégration de fichiers".
3. Cliquez sur le bouton "Ajouter" en bas de l’écran. Dans le répertoire "EXE" du projet, sélec-
tionnez :
• les fichiers de données HFSQL (*.fic, *.ndx, *.mmo).
• la base SQLite (fichier android_gestion_produits.db). Cette base de données sera utilisée
uniquement si la version d’Android installée sur le matériel est inférieure à 3.2 (version mi-
nimale pour HFSQL).

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 71
4. Pour chaque fichier, cochez la case "Ecriture" (nécessaire pour pouvoir modifier les données
depuis l’application).
5. L’écran "Intégration de librairies" permet d’intégrer des librairies spécifiques (HFSQL et Java).
Si vous possédez un matériel utilisant Android 3.2 minimum, vous pouvez cocher l’option "In-
tégrer la librairie HFSQL dans l’application".
6. Validez les écrans suivants jusqu’à l’écran "Configuration". Cet écran permet de configurer
les options du SDK Android. Si vous avez choisi d’intégrer la librairie HFSQL, il est nécessaire
de vérifier que la version minimale pour exécuter l’application est bien "Android 3.2" au mini-
mum. Si ce n’est pas le cas, un message d’avertissement apparaît dans l’assistant.

Dans notre exemple, une base de données au format SQLite est fournie.
Notes

Cette base sera utilisée par défaut si la version d’Android est inférieure à
3.2.

7. Passez à l’écran suivant. Cet écran est spécifique à l’utilisation du champ Carte. Cet écran
permet de saisir la clé nécessaire à l’utilisation du champ Carte. Si vous possédez une clé
Google Maps API, saisissez-la. Dans le cas contraire, cliquez sur "Obtenir une clé".

8. Le dernier écran de l’assistant permet d’indiquer si l’application doit être directement co-
piée et exécutée sur l’appareil relié au poste ou sur un émulateur. Si cette option est cochée,
un nouvel écran apparaît permettant de sélectionner le périphérique d’exécution. Sélection-
nez le matériel connecté au PC.
9. Vous pouvez tester l’application sur votre mobile Android.

72 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Utilisation d’un champ Zone multiligne
Le champ "Zone multiligne" est un champ très utilisé sur les plateformes mobiles.
Ce champ permet de regrouper différents champs :
• options sur une catégorie,
• regroupement d’informations sur un contact, ...
Ce champ peut contenir à la fois :
• des lignes définies en édition (lignes statiques),
• des lignes définies en exécution, par programmation (lignes dynamiques).

Nous allons utiliser un champ Zone multiligne pour faire le menu principal de notre application.
Nous allons créer une nouvelle fenêtre et y insérer un champ Zone multiligne.
La fenêtre que nous allons réaliser est la suivante :

Création de la fenêtre
Tout d’abord, nous allons créer une fenêtre et lui ajouter un champ de type Zone multiligne.
Pour créer la fenêtre :
1. Créez une nouvelle fenêtre vierge :
• Cliquez sur parmi les boutons d’accès rapide.
• La fenêtre de création d’un nouvel élément s’affiche : cliquez sur "Fenêtre" puis sur "Fe-
nêtre". Dans l’assistant, choisissez "Vierge" et validez.
2. Enregistrez la fenêtre. Indiquez le titre de la fenêtre : "Menu". Son nom est automatique-
ment proposé : "FEN_Menu". Validez.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 73
Création du champ Zone multiligne

Pour créer le champ Zone multiligne :


1. Sous le volet "Création", dans le groupe "Données", cliquez sur "Zone multiligne". La forme du
champ apparaît sous la souris.
2. Cliquez dans la fenêtre pour créer le champ.
3. Affichez la fenêtre de description du champ (double-clic sur le champ par exemple).
4. Dans la fenêtre de description, indiquez le nom du champ "ZM_Menu" et validez.
Le champ Zone multiligne contient actuellement une ligne vierge. Nous allons le modifier pour y
ajouter autant de lignes que d’options de notre menu.
Notre menu comporte 3 options :
• Liste des produits.
• Carte des magasins.
• Quitter l’application.

Modification du champ Zone multiligne

Pour modifier le champ Zone multiligne :


1. Affichez la fenêtre de description du champ (double-clic sur le champ par exemple).
2. Cliquez sur le bouton "Nouvelle ligne". Une fenêtre s’ouvre : cette fenêtre contient tous les
modèles prédéfinis de ligne.
3. Sélectionnez le modèle "Ligne simple avec picto" et validez. Répétez cette opération 2 fois.
Le champ Zone multiligne contient donc :
• une ligne "vierge",
• 3 lignes de type "simple avec picto".

74 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
4. Nous allons supprimer la ligne vierge qui est inutile dans notre exemple :
• Sélectionnez la ligne vierge (la première ligne) avec la souris.
• Cliquez ensuite sur le bouton "Supprimer".
5. Validez la fenêtre de description. Votre menu est créé.
Chaque ligne est composée d’un champ Image, d’un champ Libellé et d’une image de flèche.
Nous allons maintenant modifier le champ Image et le champ Libellé de chaque ligne afin de
représenter l’action du menu.
Modification de la 1ère ligne : accéder à la liste des produits
Pour modifier l’image de la première ligne du champ Zone multiligne :
1. Cliquez sur la première ligne et sélectionnez le champ Image.
2. Affichez la fenêtre de description de l’image (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom à l’image (par exemple "IMG_ListeDesProduits").
• Cliquez sur le bouton "Catalogue" afin de choisir une image représentant l’action.
• Dans la fenêtre du catalogue d’images, saisissez dans le champ de recherche le mot "Liste"
et appuyez sur la touche [ENTREE].
• Sélectionnez une image par un double-clic.
• Dans la fenêtre de paramétrage de l’image générée, sélectionnez une taille (par exemple
80), donnez un nom à l’image (par exemple "ListeDesProduits") et validez.
Par défaut, l’image utilisée dans un champ Zone Multiligne est en mode
Notes

"Homothétique étendu centré". L’image sera automatiquement "retaillée"


aux bonnes dimensions.

4. Validez la fenêtre de description.


Pour modifier le champ Libellé de la première ligne du champ Zone multiligne :
1. Cliquez sur la première ligne et sélectionnez le champ Libellé.
2. Affichez la fenêtre de description (double-clic sur le champ).
3. Dans l’onglet "Général" de la fenêtre de description :
• Donnez un nom au champ (par exemple "LIB_ListeDesProduits").
• Changez le libellé (par exemple "Liste des produits").
4. Validez la fenêtre de description.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 75
Modification de la 2ème ligne : accéder à la carte des magasins
Pour modifier l’image de la seconde ligne du champ Zone multiligne :
1. Cliquez sur la seconde ligne et sélectionnez le champ Image.
2. Affichez la fenêtre de description de l’image (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom à l’image (par exemple "IMG_CarteDesMagasins").
• Cliquez sur le bouton "Catalogue" afin de choisir une image représentant l’action.
• Dans la fenêtre du catalogue d’images, saisissez dans le champ de recherche le mot "Carte"
et appuyez sur la touche [ENTREE].
• Sélectionnez une image par un double-clic.
• Dans la fenêtre de paramétrage de l’image générée, sélectionnez une taille (par exemple
80), donnez un nom à l’image (par exemple "CarteMagasins") et validez.
4. Validez la fenêtre de description.
Pour modifier le champ Libellé de la seconde ligne du champ Zone multiligne :
1. Cliquez sur la seconde ligne et sélectionnez le champ Libellé.
2. Affichez la fenêtre de description (double-clic sur le champ).
3. Dans l’onglet "Général" de la fenêtre de description :
• Donnez un nom au champ (par exemple "LIB_CarteDesMagasins").
• Changez le libellé (par exemple "Carte des magasins").
4. Validez la fenêtre de description.
Modification de la 3ème ligne : sortir de l’application
Pour modifier l’image de la troisième ligne du champ Zone multiligne :
1. Cliquez sur la troisième ligne et sélectionnez le champ Image.
2. Affichez la fenêtre de description de l’image (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom à l’image (par exemple "IMG_Sortir").
• Cliquez sur le bouton "Catalogue" afin de choisir une image représentant l’action.
• Dans la fenêtre du catalogue d’images, saisissez dans le champ de recherche le mot "Fer-
mer" et appuyez sur la touche [ENTREE].
• Sélectionnez une image par un double-clic.
• Dans la fenêtre de paramétrage de l’image générée, sélectionnez une taille (par exemple
80), donnez un nom à l’image (par exemple "Fermer") et validez.
4. Validez la fenêtre de description.

76 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour modifier le champ Libellé de la troisième ligne du champ Zone multiligne :
1. Cliquez sur la troisième ligne et sélectionnez le champ Libellé.
2. Affichez la fenêtre de description (double-clic sur le champ).
3. Dans l’onglet "Général" de la fenêtre de description :
• Donnez un nom au champ (par exemple "LIB_Quitter").
• Changez le libellé (par exemple "Quitter l’application").
4. Validez la fenêtre de description.

Programmation du menu

Pour terminer, nous allons écrire le code pour effectuer chaque action du menu :
1. Faites un clic droit sur le champ Zone multiligne puis sélectionnez l’option "Code".
Attention : sélectionnez bien le champ Zone multiligne et non un des champs qui le compose.
2. Sous l’éditeur de code, dans la section de code "Sélection (clic) d’une ligne dans ...", saisis-
sez le code suivant :
SELON ZM_MENU
CAS 1 // Liste des produits
OuvreFenêtreMobile(FEN_Liste_des_produits)
CAS 2 // Carte des magasins
OuvreFenêtreMobile(FEN_Carte_des_magasins)
CAS 3 // Sortir de l’application
FinProgramme()
FIN

3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).

Tester l’application
Il reste un dernier réglage à effectuer, indiquer que la fenêtre de menu est la première fenêtre
de l’application. Pour cela, nous allons lancer un test complet du projet et indiquer quelle est la
première fenêtre du projet.
Pour définir la première fenêtre du projet :
1. Sélectionnez la fenêtre "FEN_Menu" dans l’explorateur de projet.
2. Affichez le menu contextuel.
3. Sélectionnez l’option "Première fenêtre du projet". Une icône spécifique (avec un petit 1)
apparaît alors devant le nom de la fenêtre, dans l’explorateur de projet.
Jusqu’à présent, vous testiez les fenêtres de façon individuelle en cliquant sur parmi les bou-
tons d’accès rapide.
Pour lancer le test du projet :
1. Cliquez sur parmi les boutons d’accès rapide.
2. Votre projet démarre par la fenêtre de menu. Vous pouvez cliquer sur une option de votre
menu pour vérifier que les différents liens sont corrects.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 77
Voilà, notre application est terminée, il faut maintenant la compiler et l’installer sur le matériel afin
de tester. La procédure à suivre est identique à celle présentée dans le paragraphe "Utilisation du
champ Carte", page 69.

78 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 2.5. Diffusion de l’application

Ce que vous allez apprendre dans cette leçon ...

• Génération de l’APK
• Modes de distribution disponibles

Durée estimée : 20 min

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 79
Présentation
WinDev Mobile permet le développement d’applications pour le système d’exploitation Android.
Lorsque les applications sont créées, développées, testées, il ne reste plus qu’à les déployer. Plu-
sieurs modes de déploiement sont à votre disposition :
• Déploiement via Android Market/Google Play (ou un autre market).
• Déploiement sur un serveur Web.
• Déploiement depuis le PC via ADB.
• Déploiement par copie.

Déploiement via Android Market/Google Play


Google Play (anciennement Android Market) est un service en ligne permettant de télécharger des
applications gratuites ou payantes sur des périphériques mobiles compatibles Android.
Une fois publiée, l’application peut être téléchargée par les utilisateurs du monde entier grâce à
l’application Google Play installée sur leur téléphone.

La publication d’applications sur Google Play est soumise à quelques contraintes :

Lors de la première publication, il est nécessaire de s’enregistrer auprès du service Google Play
à l’aide d’un compte Google. Une fois enregistré, il est possible de publier ou de mettre à jour
autant d’applications que l’on souhaite autant de fois que nécessaire.
L’application publiée doit être signée avec une clé cryptographique privée. Il est possible de signer
soi-même sa propre application : le recours à un organisme tiers n’est pas obligatoire. La période
de validité du certificat doit se terminer après le 23 octobre 2033.
Les applications générées par WinDev Mobile sont automatiquement signées en utilisant les in-
formations fournies dans l’assistant de génération (écran "Signature de l’application") avec une
durée de validité suffisante.
Attention : L’application publiée ne doit pas avoir été signée en utilisant une clé générique (dont
l’utilisation doit se limiter aux tests en mode GO).
Une icône doit avoir été associée à l’application. L’assistant de génération de WinDev Mobile per-
met de définir l’icône à utiliser.
Remarque : Google Play est l’application la plus connue mais il en existe également d’autres.

Déploiement via un serveur Web


Il est possible de proposer le téléchargement d’applications Android depuis un lien sur une page
Web.
Pour cela, il faut :
1. Copier le fichier "apk" de l’application sur le serveur Web hébergeant la page proposant le té-
léchargement de l’application.
2. Ajouter un lien dans la page Web de téléchargement. Ce lien est de la forme :
<a href=’Chemin du fichier apk sur le serveur’>Lien</a>

80 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
3. Sur le serveur, ajouter le type MIME suivant : application/vnd.android.package-archive
L’utilisateur n’aura qu’à afficher la page avec le navigateur du téléphone. En cliquant sur le lien,
l’application sera téléchargée. Il suffira ensuite de cliquer sur le fichier téléchargé (dans le down-
load manager) pour installer l’application.
Attention : L’option "Sources inconnues" doit être activée sur le téléphone pour permettre ce
mode d’installation. Pour activer cette option, il suffit de se rendre dans le menu "Paramètres" du
téléphone, dans le sous-menu "Applications".

Déploiement depuis le PC via adb (mode avancé)


ADB (Android Debug Bridge) est un outil livré avec le SDK Android. Il permet entre autres d’instal-
ler ou de désinstaller depuis le PC une application Android (fichier APK) sur un appareil mobile
compatible Android.
Ce mode d’installation est avancé. Nous vous conseillons de consulter dans l’aide en ligne les
commandes spécifiques permettant d’installer une application (http://developer.android.com/
intl/fr/guide/developing/tools/adb.html)
Attention : L’option "Sources inconnues" doit être activée sur le téléphone pour permettre ce
mode d’installation. Pour activer cette option, il suffit de se rendre dans le menu "Paramètres" du
téléphone, dans le sous-menu "Applications".

Copier l’application sur l’appareil Mobile


Le moyen le plus simple pour installer une application Android sur un appareil mobile est de co-
pier directement le fichier apk sur le périphérique et de l’exécuter. Les manipulations sont les
suivantes :
1. Connecter l’appareil au PC par USB.
2. Copier le fichier apk de l’application sur l’appareil (mémoire externe par exemple).
3. Sur l’appareil, utiliser un explorateur de fichiers pour se rendre dans le répertoire où le
fichier apk a été copié et cliquer sur le fichier pour lancer son installation.
Remarque : Tous les appareils ne proposent pas d’explorateurs de fichiers, mais il en existe de
très nombreux disponibles gratuitement.

Attention : L’option "Sources inconnues" doit être activée sur le téléphone pour permettre ce
mode d’installation. Pour activer cette option, il suffit de se rendre dans le menu "Paramètres" du
téléphone, dans le sous-menu "Applications".

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 81
Leçon 2.6. Questions/Réponses

Ce que vous allez apprendre dans cette leçon ...

• Questions / Réponses

Durée estimée : 20 mn

82 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Questions / Réponses

Question Comment utiliser la messagerie interne au matériel ?

Vous pouvez envoyer des messages en utilisant l’application native d’envoi d’emails de l’appareil.
Vous devez pour cela :
• initialiser les informations de la structure Email.
• utiliser la fonction EmailLanceAppli.

Question Comment envoyer un email directement ?

Vous pouvez envoyer des emails en utilisant les fonctions email du WLangage.

Exemple d’envoi d’emails :


MonMessage est un Email

// Mise à zéro de la variable


EmailRAZ(MonMessage)

MonMessage..Expediteur = SAI_Expediteur
MonMessage..Sujet = SAI_SUJET
MonMessage..Message = SAI_CORPS
Ajoute(MonMessage..Destinataire, SAI_Adr_Destinataire)

// Ouverture une session SMTP


MaSession est un EmailSessionSMTP
MaSession..AdresseServeur = sServeur
SI EmailOuvreSession(MaSession) = Faux ALORS RETOUR

// Envoi du message
EmailEnvoieMessage(MaSession, MonMessage)

// Fermeture de la session
EmailFermeSession(MaSession)

Question Comment dialoguer avec un serveur FTP ?

Le système Android permet de se connecter à un serveur FTP pour envoyer ou récupérer des
fichiers. Pour cela, vous devez utiliser les fonctions suivantes :
• FTPConnecte pour se connecter au serveur FTP
• FTPDéconnecte pour se déconnecter
• FTPEnvoie pour envoyer un fichier du matériel vers le serveur FTP
• FTPRécupère pour récupérer un fichier du serveur vers le matériel.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 83
Exemple d’envoi de fichiers sur un serveur FTP :
// Connexion à un serveur FTP
nConnexion est un entier
nConnexion = FTPConnecte("Adresse du serveur FTP")
ResEnvoie = FTPEnvoie(NumConnexion, "/sdcard/photo.jpg", ...
"/Temp")
// Déconnexion
FTPDéconnecte(nConnexion)

Attention : L’utilisation des fonctions FTP entraîne la modification des permissions requises par
l’application (Permission requise : INTERNET). Cette permission autorise l’application à ouvrir des
sockets réseau.

Question Comment utiliser le GPS de l’appareil et les fonctions de


géolocalisation ?

Le système Android possède des fonctions de gestion du GPS et de géolocalisation. Selon le ma-
tériel, les fonctions GPS utiliseront la puce GPS du matériel ou un système de triangulation en
passant par les réseaux sans fil.

Pour cela, vous devez utiliser les fonctions suivantes :


• GPSInitParamètre pour initialiser le GPS (choix du système de localisation...)
• GPSRécupèrePosition pour récupérer la position actuelle
• géoDistance pour récupérer la distance entre 2 positions
• géoLanceAppli pour lancer l’application native de cartographie de l’appareil
• géoRécupèreAdresse pour récupérer une adresse ou une liste d’adresses par rapport à un lieu
• etc.

Exemple d’utilisation des fonctions GPS :


// Recherche d’un fournisseur de localisation
// capable de renseigner sur la vitesse
// consommant une quantité moyenne d’énergie et
// fournissant une précision de mesure élevée
GPSInitParamètre(gpsAuto, gpsPrécisionElevée + ...
gpsVitesse + gpsEnergieMoyenne)
MaPosition est une géoPosition
MaPosition = GPSRécupèrePosition()
Info("Latitude : " + MaPosition..Latitude)
Info("Longitude : " + MaPosition..Longitude)

Attention : L’utilisation des fonctions GPS entraîne la modification des permissions requises par
l’application (Permission requise : ACCESS_FINE_LOCATION).

84 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Question Comment envoyer un SMS depuis mon application Android ?

Le système Android permet d’envoyer ou de lire des SMS sur un matériel de type téléphone. Pour
cela, vous devez utiliser les fonctions suivantes :
• initialiser les informations de la structure SMS
• SMSEnvoie pour envoyer un SMS
• SMSNbMessage pour connaître le nombre de SMS
• etc.

Exemple d’envoi d’un SMS :


// Initialisation de la structure SMS pour un numéro classique
SMS.Numéro = "0600000000"
SMS.Message = "J’envoie des SMS avec WinDev Mobile !"

// Envoi du SMS
ResEnvoi = SMSEnvoie()

// Erreur rencontrée ?
SI ResEnvoi = Faux ALORS
Erreur(ErreurInfo(errMessage))
FIN

Attention : L’utilisation des fonctions SMS entraîne la modification des permissions requises par
l’application (Permission requise : SEND_SMS).

Question Comment appeler du code natif JAVA depuis mon application


Android ?

Lorsque vous développez une application Android avec WinDev Mobile, le code natif est en JAVA.
Le WLangage est traduit en JAVA lors de la compilation et génération de l’application. Il est donc
possible depuis l’environnement WinDev Mobile d’intégrer des procédures natives en langage
JAVA. Pour cela, vous devez :
• créer une collection de procédures globales
• créer une procédure globale
• cliquer sur le bandeau de l’entête de la procédure (là où se trouve le mot WL).
• le bandeau d’entête se transforme et devient de couleur mauve. Le mot WL est transformé en
Java.

Il ne reste plus ensuite qu’à saisir du code natif JAVA ou de copier du code JAVA.
Attention : Vérifiez que le code que vous saisissez ou que vous copiez est correctement écrit : Win-
Dev Mobile ne vérifie pas la complétion. Vous n’aurez des erreurs qu’à la compilation du projet.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 85
86 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
PARTIE 3

Application
iOS
88 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 3.1. Mon premier projet iOS

Ce que vous allez apprendre dans cette leçon ...

• Configuration nécessaire
• Créer un projet iOS (iPhone ou iPad)
• Ma première fenêtre
• Mon premier test
• Premier déploiement

Durée estimée : 40 min

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 89
Présentation
Pour commencer à utiliser WinDev Mobile, nous allons simplement créer un premier projet. Ce
projet contiendra une fenêtre permettant d’afficher un message.
Ce premier exemple permettra de présenter rapidement les bases du développement avec Win-
Dev Mobile.
Mais avant de créer notre premier projet pour iOS, une configuration du poste de développement
est nécessaire.

Configuration nécessaire pour iOS


Pour développer une application WinDev Mobile pour iPhone/iPad, il est nécessaire de posséder :
• 1 PC,
• 1 Mac,
• 1 iPhone et/ou iPad (optionnel).

Pourquoi un PC ?
WinDev Mobile 20 est une application Windows utilisable sous Windows Vista, 10, ...
L’application sera créée sur le PC avant d’être compilée sur un Mac (Projet, Analyse, Fenêtres, ...).
Ce PC ne nécessite aucune installation d’outils Mac/Apple.

Pourquoi un Mac ?
Un Mac est nécessaire car il faut compiler le projet généré sur le PC dans un compilateur spéci-
fique pour générer des applications iOS. La version minimum du système d’exploitation doit être
de 10.8 (Mountain Lion).
Xcode est un environnement de développement qui permet de développer des applications iOS
(iPhone et iPad). Cet outil est utilisé pour compiler les applications générées avec WinDev Mobile.
La version minimum de Xcode préconisée doit être la version 5.

Pour plus de détails (adresses de téléchargement, ...), consultez l’aide en ligne.

90 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Mon premier projet

Création du projet
Nous allons créer notre premier projet pour iOS.

Un projet corrigé est disponible. Pour ouvrir ce projet, sous le volet "Accueil",
Corrigé

dans le groupe "Aide en ligne", déroulez "Guide d’auto-formation" puis sélection-


nez "Mon projet iOS (Corrigé)".

Pour créer un projet :


1. Lancez WinDev Mobile 20 (si ce n’est déjà fait). Si nécessaire, fermez le projet en cours pour
faire apparaître la fenêtre de bienvenue.
2. Dans la fenêtre de bienvenue, cliquez sur l’icône "Créer un projet" puis sur "Application
iPhone/iPad".

3. L’assistant de création d’un projet se lance. Les différents écrans de l’assistant vont vous
aider à créer votre projet. Tous les renseignements indiqués dans cet assistant pourront être
modifiés par la suite.

Astuce : Autre méthode pour créer un projet :


Notes

1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev


Mobile.
2. La fenêtre de création d’un nouvel élément s’affiche : cliquez sur "Projet".

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 91
4. Le premier écran de l’assistant permet de saisir le nom du projet, son emplacement et sa
description.

Dans notre cas, ce projet va simplement s’appeler "Mon_Projet_iOS". Par défaut, WinDev Mobile
propose de créer ce projet dans le répertoire "\Mes projets Mobile\Mon_Projet_iOS". Vous pou-
vez conserver cet emplacement ou le modifier grâce au bouton [...].
5. Passez à l’écran suivant à l’aide des flèches situées en bas.
6. L’assistant propose d’ajouter des documents. Conservez les options par défaut et passez à
l’écran suivant.
7. L’écran suivant permet de sélectionner l’appareil pour lequel l’application est développée.
Dans cet exemple, nous allons conserver l’option "Générer une application pour iPhone et
iPad".

8. Passez à l’écran suivant.


9. Sélectionnez la version de l’iPhone utilisée pour l’application. Dans cet exemple, sélection-
nez "iPhone 4 et supérieur".
10. Dans la partie gauche de l’assistant, cliquez sur "Chartes". Cette étape permet de définir
la charte de programmation utilisée. Ne modifiez pas les options proposées. Passez à l’écran
suivant à l’aide des flèches situées en bas.
11. Cette étape permet de définir la charte graphique. Sélectionnez "ActivPhone 7".
12. Les autres étapes de l’assistant n’étant pas importantes pour notre premier projet, dans
la partie gauche de l’assistant, cliquez directement sur "Fin".
13. Cliquez sur le bouton de validation en bas de l’assistant. Le projet est automatiquement
créé. WinDev Mobile affiche les différentes actions possibles.
14. Cliquez sur "Editeur de WinDev Mobile".

92 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Ma première fenêtre

Présentation
La première fenêtre que nous allons créer permet à l’utilisateur d’afficher un message de bienve-
nue grâce au bouton "Afficher".
Vous pouvez être tenté de dire que c’est trop simple, trop basique, mais nous vous conseillons de
réaliser cette fenêtre. Vous risquez d’être surpris par la facilité et l’intuitivité de l’éditeur de Win-
Dev Mobile. De plus, cette fenêtre vous permettra de découvrir des concepts fondamentaux pour
la suite de ce cours et de voir tout le processus de développement d’une application iOS avec
WinDev Mobile.

Création de la fenêtre

Pour créer la fenêtre :


1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev Mobile :

2. La fenêtre de création d’un nouvel élément s’affiche. Cette fenêtre permet de créer tous les
éléments pouvant être associés à un projet.
3. Cliquez sur "Fenêtre" puis sur "Fenêtre". L’assistant de création d’une fenêtre s’affiche.
4. Sélectionnez "Vierge pour iPhone 4 et supérieur" dans la liste des fenêtres affichée sur la
gauche. Dans la liste des gabarits présente sur la droite, le gabarit "ActivPhone 7" est sélec-
tionné par défaut. Vous pouvez choisir un autre gabarit proposé dans la liste.

Les gabarits permettent de créer rapidement des interfaces professionnelles. Un


Note

gabarit définit le look de la fenêtre mais également le look de tous les champs
qui seront utilisés dans cette fenêtre. Ainsi, aucune faute de goût n’est possible.

5. Validez. La fenêtre est automatiquement créée sous l’éditeur.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 93
Enregistrez la fenêtre en cliquant sur parmi les boutons d’accès rapide. Au premier
enregistrement, une fenêtre spécifique s’affiche. Cette fenêtre propose de saisir :

• le titre de l’élément : saisissez "Bienvenue". Dans notre cas, ce titre sera affiché dans la
barre de titre de la fenêtre.
• le nom de l’élément qui correspond au nom de la fenêtre. Ce nom sera utilisé en program-
mation. Par défaut, ce nom est composé de "FEN_" qui correspond à la charte de program-
mation et de "Bienvenue" qui correspond au titre de la fenêtre que vous venez de saisir.

Observez bien le nom de la fenêtre que WinDev Mobile propose par défaut : ce
nom commence par les lettres "FEN_". Ce préfixe est automatiquement ajouté
car le projet utilise une charte de programmation.
La charte de programmation permet de définir un préfixe pour chaque type d’ob-
jet et ainsi d’identifier rapidement l’élément manipulé :
Note

• une fenêtre commence par "FEN_",


• un bouton commence par "BTN_",
• etc.
Si vous ne voulez pas utiliser cette charte, il suffit de la débrancher : sous le volet
"Projet", dans le groupe "Autres actions", déroulez l’option "Charte" et décochez
l’option "Utiliser la charte".

• l’emplacement qui correspond au nom du fichier créé pour la fenêtre. La fenêtre est un fi-
chier d’extension "WPW", enregistré dans le répertoire du projet.
Validez l’enregistrement de la fenêtre en cliquant sur le bouton vert.
Affichage d’un message
Vous allez maintenant créer un bouton permettant d’afficher un message.
Pour créer le bouton "Afficher" :
1. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur . Le bouton appa-
raît en création sous la souris.
2. Déplacez la souris dans la fenêtre vers la position où le champ doit être créé (par exemple
en haut de la fenêtre). Pour poser le champ dans la fenêtre, il suffit de faire un nouveau clic
gauche de souris.
3. Faites un clic droit de la souris sur le champ que vous venez de créer. Le menu contextuel
du champ apparaît. Dans ce menu contextuel, sélectionnez l’option "Description". La fenêtre
de description du bouton s’affiche.

94 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Modifiez les caractéristiques du champ en saisissant les informations suivantes :

1. Ce champ a pour nom : "BTN_Afficher".


2. Ce champ a pour libellé : "Afficher"
Validez la fenêtre de description du champ (bouton vert). Le champ apparaît sous l’éditeur de
fenêtres.
Nous allons afficher un message dans une boîte de dialogue (une mini-fenêtre proposée par
le système). Pour cela, nous allons utiliser notre première fonction WLangage : la fonction
Info.
Notes

Le WLangage est le langage de programmation fourni avec WinDev Mobile. C’est


un langage de 5° génération (L5G), possédant des ordres évolués.

1. Sélectionnez à l’aide de la souris le bouton "Afficher" : il suffit de cliquer dessus.


2. Affichez le menu contextuel du champ (clic droit de la souris).
3. Sélectionnez l’option "Code". Cette option ouvre l’éditeur de code de WinDev Mobile, dans
lequel toutes les instructions WLangage peuvent être saisies.
4. Dans le traitement "Clic sur BTN_Afficher", saisissez le code suivant :
Info(“Bonjour”)

Remarque sur l’aide à la saisie : Dès la saisie des deux premiers caractères, WinDev Mobile pro-
pose tous les mots du vocabulaire WLangage contenant ces caractères. L’assistance au dévelop-
pement est poussée très loin. Vous ne pouvez plus vous tromper en saisissant le nom d’un élé-
ment : les erreurs de syntaxes sont minimisées. Il suffit de sélectionner le mot désiré et de valider
par la touche [ENTREE]. Vous pourrez ainsi vous concentrer sur l’algorithme.

En saisissant ce code sous l’éditeur de code, vous constatez que les différents
éléments saisis utilisent des couleurs différentes. C’est la coloration syntaxique.
L’éditeur de code permet ainsi d’identifier rapidement les différents éléments
manipulés par le code :
• les fonctions du WLangage apparaissent en bleu,
Notes

• les chaînes de caractères (entre guillemets) apparaissent en violet,


• les noms de champs apparaissent en cyan.
Ces couleurs peuvent être modifiées élément par élément dans les options de
l’éditeur de code (sous le volet "Accueil", dans le groupe "Environnement", dérou-
lez "Options" et sélectionnez "Options de l’éditeur de code").

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 95
La fonction Info affiche le message passé en paramètre.
Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide (à gauche
du ruban) ou en utilisant la combinaison de touches [CTRL]+[S].
Fermez l’éditeur de code (croix en haut à droite de l’éditeur de code). La fenêtre réapparaît.
Premier test
Pour une application iOS, WinDev Mobile permet de tester directement l’application sur le poste
de développement grâce au mode simulation. Ce test réalise une simulation d’un périphérique
iOS sur le poste de développement. Ce test est utile quand le développeur ne dispose pas de Mac
pour compiler l’application. Cependant, ce test ne permet pas d’utiliser les composants matériels
de l’appareil (GPS, SMS, appareil photo, ...).
Nous allons tester la fenêtre en mode simulation.
1. Cliquez sur parmi les boutons d’accès rapide (ou utilisez la touche [F9]).
2. Validez si nécessaire le message d’information concernant le mode simulateur.
3. La fenêtre que vous avez créée se lance en exécution, dans une coque correspondant au
matériel choisi (iPad ou iPhone).
4. Cliquez sur le bouton "Afficher".
5. Validez la fenêtre système qui s’affiche.

Tout développeur sait que tester un programme est souvent long, voire fastidieux. Avec
WinDev, en UN CLIC, vous testez la fenêtre, l’état, ou la procédure que vous êtes en train de
réaliser. C’est à la fois simple et rapide !
Cliquez sur le bouton "x" situé dans la coque du simulateur pour fermer la fenêtre.
L’éditeur de WinDev Mobile réapparaît.

96 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Premier déploiement sur l’appareil

Principe
Pour exécuter l’application de manière autonome sur l’appareil, il suffit de :
• Générer l’application iOS (ou projet Xcode) sous WinDev Mobile.
• Transférer le projet Xcode généré sur un poste Mac pour y être compilé.
• Connecter votre matériel à votre Mac et compiler le projet Xcode afin de générer le programme
pour le matériel connecté.
• Le programme sera ensuite installé sur le matériel. Il fonctionnera de manière autonome.
Nous allons voir en détail ces différentes étapes.

Mise en place

Pour générer l’application iOS :


1. Sous le volet "Projet", dans le groupe "Génération", cliquez sur "Générer" (vous pouvez égale-
ment cliquer sur parmi les boutons d’accès rapide).
2. WinDev Mobile propose de sélectionner la première fenêtre du projet pour les plateformes
iPhone et iPad. Pour notre exemple, sélectionnez dans les 2 cas la fenêtre "FEN_Bienvenue" et
validez (bouton vert en bas de l’écran).
3. L’assistant de génération d’une application iPhone/iPad se lance.

4. Le premier écran de l’assistant permet de :


• définir le nom de l’application, la société et le copyright.
• saisir l’identifiant du bundle.

Cet identifiant est l’identifiant unique de votre application auprès de Apple. Il se


définit et s’enregistre sur le compte développeur Apple.
Notes

Cet identifiant permettra d’enregistrer votre application pour pouvoir la tester et


la déployer. Par défaut, WinDev Mobile propose automatiquement un identifiant
respectant les normes de développement Apple actuelles. Vous pouvez modifier
cet identifiant.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 97
5. Passez à l’écran suivant. Indiquez le chemin des différentes icônes de l’application. Plu-
sieurs icônes doivent être fournies :
• des icônes pour iPad et iPad Rétina,
• des icônes pour tous les modèles d’iPhone (par exemple, l’iPhone 4 a une résolution diffé-
rente avec l’écran Rétina).
6. Passez à l’écran suivant. Indiquez le chemin des différentes images de lancement de l’ap-
plication pour l’iPad et pour l’iPhone (images au format PNG). Des images par défaut sont
automatiquement créées pour votre application.
7. Passez à l’écran suivant. Indiquez le numéro de version de l’application générée.
8. Passez à l’écran suivant. Cet écran permet d’intégrer des fichiers spécifiques (fichiers de
données, images, ...). Dans notre exemple, nous n’utiliserons pas cette possibilité. Conservez
les options par défaut.
9. Passez à l’écran suivant. Cet écran permet d’indiquer :
• la version minimale nécessaire d’iOS pour exécuter l’application.
• si le partage des fichiers avec iTunes est possible. Si cette option est cochée, il sera pos-
sible de récupérer les fichiers de l’application sur le Mac lors de la synchronisation. Par
exemple, si des fichiers de données ont été livrés avec l’application, l’application iTunes
permettra de récupérer ces fichiers.
10. Validez l’assistant. La génération est faite dans le dossier EXE du répertoire du projet. Le
répertoire contenant les sources à utiliser sur le Mac s’appelle "Nom_du_projet.xcode.gen"
(pour notre exemple "Mon_Projet_iOS.xcode.gen"). C’est ce répertoire qui doit être copié sur
le Mac. Cliquez sur le bouton "Ouvrir le répertoire de génération".

La suite des manipulations doit être effectuée sur le Mac. Nous ne détaillerons pas ici ces mani-
pulations. Pour plus de détails, consultez l’aide en ligne.

98 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 3.2. Interface (IHM)

Ce que vous allez apprendre dans cette leçon ...

• Choix de la résolution en fonction du matériel


• Orientation de la fenêtre
• Gestion du tactile

Durée estimée : 20 min

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 99
Présentation
Le système iOS est disponible sur des téléphones (iPhone), sur des tablettes (iPad) et sur des
iPod. WinDev Mobile permet de créer simplement des interfaces s’adaptant au matériel utilisé.

Choix de la résolution en fonction du matériel


Lors de la création d’un projet, il est nécessaire de choisir le matériel sur lequel sera déployée
l’application :
• iPhone,
• iPad,
• iPhone et iPad.
Deux cas se présentent :
• Vous connaissez le matériel cible : dans ce cas, il suffit de le sélectionner. L’assistant de créa-
tion de fenêtres proposera uniquement la création de fenêtres pour ce matériel cible.
• Vous ne connaissez pas les matériels cibles : dans ce cas, dans l’assistant de création de pro-
jet, vous sélectionnez "iPhone et iPad". Lors de la création des fenêtres, vous pouvez :
• développer vos fenêtres pour l’iPhone. L’ancrage des champs dans la fenêtre permettra
d’adapter le contenu à iPad (solution conseillée).
• utiliser les agencements pour créer des interfaces différentes selon la plateforme d’exécu-
tion et sa résolution.
• développer 2 jeux de fenêtres, un pour l’iPhone, un pour l’iPad.

Orientation de la fenêtre
Sous iPhone ou iPad, une fenêtre peut avoir une des orientations suivantes :
• Bloquée en mode portrait,
• Bloquée en mode paysage,
• Libre : la fenêtre suit l’orientation du matériel.

100 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Cette orientation est définie dans l’onglet "Détail" de la fenêtre de description de la fenêtre (option
"Description" du menu contextuel de la fenêtre).

Dans les deux premiers cas, aucune manipulation spécifique n’est nécessaire.
Dans le cas d’une fenêtre libre, la disposition des champs et leur taille doivent s’adapter à l’orien-
tation. Il faut utiliser le mécanisme de l’ancrage pour obtenir un résultat satisfaisant.

Exemple pratique

Ouvrez si nécessaire le projet "Mon_Projet_iOS" que vous venez de créer dans la leçon
précédente.

Un projet corrigé est disponible. Ce projet contient les différentes fenêtres créées
Corrigé

dans cette leçon. Pour ouvrir le projet corrigé, sous le volet "Accueil", dans le
groupe "Aide en ligne", déroulez "Guide d’auto-formation" puis sélectionnez "Mon
projet iOS (Corrigé)".

Dans notre exemple, le projet a été créé pour un téléphone, et nous l’avons testé en mode portrait
sous le simulateur.
Nous allons maintenant le tester en mode paysage sous le simulateur.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 101
Lancez le test du projet ( parmi les boutons d’accès rapide).
1. La fenêtre apparaît en mode portrait.
2. Dans le simulateur, cliquez sur la flèche dans la coque ( ).
3. La fenêtre change d’orientation à l’écran.
4. Dans notre exemple, le bouton ne change pas de place : il ne s’adapte pas à l’orientation
de l’écran.

Nous allons maintenant modifier notre fenêtre pour que le bouton "Afficher" soit centré dans
la fenêtre et reste centré quelle que soit l’orientation du mobile.
Arrêtez le test et revenez sous l’éditeur.
Pour centrer le bouton dans la fenêtre :
1. Sélectionnez le bouton (clic sur le bouton).
2. Sous le volet "Alignement", dans le groupe "Centrage et répartition", cliquez sur "Centrer
dans le parent (horz)".
Pour que le bouton reste centré dans la fenêtre, nous allons utiliser l’ancrage du champ :
1. Sélectionnez le bouton (clic sur le bouton).
2. Affichez le menu contextuel (clic droit).
3. Sélectionnez l’option "Ancrage" : la fenêtre de définition des ancrages apparaît :

102 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
4. Sélectionnez "Centré horizontal" et validez (bouton vert).
Lancez le test du projet ( parmi les boutons d’accès rapide) :
• Le bouton est centré en mode portrait.
• Changez l’orientation du simulateur.
• Le bouton reste centré en mode paysage.

Gestion du tactile
Un des aspects importants de l’interface d’une application mobile est la gestion de l’écran tactile.
Un dispositif "multi-touch" est une technique permettant à une personne d’interagir avec un maté-
riel informatique à l’aide de plusieurs points de contact.
L’une des applications la plus courante du multi-touch est la manipulation d’images. La taille de
l’affichage sur un téléphone étant souvent réduite, il est souvent nécessaire de zoomer et / ou de
se déplacer dans une image.
Il est ainsi possible de réaliser un zoom sur une image avec le contact de 2 doigts qui s’écartent.

Pour gérer le "multi-touch", WinDev Mobile propose :


• Différentes options spécifiques disponibles dans le champ Image.
• Des fonctions WLangage spécifiques.
• Des traitements optionnels spécifiques.

Pour plus de détails, consultez l’aide en ligne.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 103
Exemple pratique

Ouvrez si nécessaire le projet "Mon_Projet_iOS" que vous venez de créer dans la leçon
précédente.

Un projet corrigé est disponible. Pour ouvrir ce projet, sous le volet "Accueil",
Corrigé

dans le groupe "Aide en ligne", déroulez "Guide d’auto-formation" puis sélection-


nez "Mon projet iOS (Corrigé)".

Dans la fenêtre "FEN_Bienvenue", créez un champ Image :


1. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur "Image".
2. Le champ Image apparaît en création sous la souris.
3. Déplacez la souris dans la fenêtre vers la position où le champ doit être créé. Pour poser le
champ dans la fenêtre, il suffit de faire un nouveau clic gauche de souris.
4. Double-cliquez sur le champ Image : la fenêtre de description du champ apparaît.
5. Dans l’onglet "Général", sélectionnez une image présente sur votre disque dans le champ
de saisie "Image" grâce au sélecteur de fichier (bouton [...]).
6. Si l’image est présente dans un répertoire différent de celui du projet, WinDev Mobile pro-
pose de copier le fichier image dans le répertoire du projet. Acceptez en cliquant sur le bouton
"Copier le fichier dans le répertoire proposé".
7. Affichez l’onglet "Détail" : les options de gestion du multi-touch sont affichées :

8. Sélectionnez l’option "Scroll et zoom automatiques".


9. Validez la fenêtre de description du champ.
10. Enregistrez la fenêtre (clic sur parmi les boutons d’accès rapide).
11. Une erreur d’IHM apparaît dans le volet des erreurs : les ascenseurs automatiques de la
fenêtre entrent en conflit avec les fonctionnalités de scrolling des champs Image.

104 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
12. Pour ne plus avoir cette erreur d’IHM, désactivez les ascenseurs de la fenêtre :
• Affichez la fenêtre de description de la fenêtre (option "Description" du menu contextuel).
• Dans l’onglet "Détail", décochez l’option "Ascenseurs automatiques".
• Validez la fenêtre de description.
13. Enregistrez la fenêtre (clic sur parmi les boutons d’accès rapide). L’erreur d’IHM dis-
paraît.

La gestion du multi-touch ne peut pas être testée sous le simulateur. Pour


Notes

tester cette fonctionnalité, il est nécessaire de déployer l’application sur l’ap-


pareil mobile. Nous verrons la marche à suivre dans la partie "Programma-
tion avancée", page 109.

14. Fermez le projet.

Les différents types de champs disponibles


WinDev Mobile propose de nombreux champs. Ces champs permettent d’afficher ou de saisir des
données. Certains champs sont plus spécifiques à une interface mobile.
Pour réaliser vos applications, vous disposez des champs classiques (champs de saisie, images,
sélecteurs et interrupteurs), mais aussi de champs plus spécifiques tels que :
• les zones multilignes pour réaliser des IHM ressemblant aux fenêtres natives iOS.
• le champ Carte pour visualiser une position sur une carte ou un itinéraire.
Nous verrons certains de ces champs dans la leçon "Programmation avancée".

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 105
Leçon 3.3. Bases de données

Ce que vous allez apprendre dans cette leçon ...

• Bases de données disponibles


• Synchronisation

Durée estimée : 10 min

106 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Les bases de données disponibles

Présentation
Sous iOS, seule la base de données HFSQL est accessible en natif. Le mode Classic et le mode
Client/Serveur sont tous les deux possibles.

Base de données de type HFSQL


HFSQL Classic
En mode HFSQL Classic, les fichiers de données sont stockés sur le matériel (iPhone ou iPad).
Dans ce cas, l’application est autonome. Il n’est pas nécessaire d’avoir une connexion Wi-Fi ou
3G.
Les données sont stockées dans la mémoire du matériel. La taille maximale de stockage dépend
de la capacité mémoire du matériel.
Dans la leçon "Programmation avancée", nous allons réaliser une application utilisant une base
de données HFSQL Classic.

HFSQL Client/Serveur
En mode HFSQL Client/Serveur, aucune donnée n’est stockée sur le matériel. Les données sont
stockées sur une machine sur laquelle est installé un serveur HFSQL.
Pour accéder à cette machine et donc à la base de données, il est nécessaire d’avoir activé
un moyen de communication avec le serveur dans l’application mobile (Wi-Fi ou 3G) afin de se
connecter via le réseau ou Internet.
Les temps de réponse vont bien entendu dépendre de la qualité du réseau Wi-Fi ou Internet et du
volume des données demandées.
L’accès aux données se fera à l’aide des fonctions WLangage Hxxx et/ou de requêtes SQL.

La synchronisation
Le mécanisme de synchronisation permet de "synchroniser" les données stockées sur un matériel
mobile avec les données stockées sur un serveur. La synchronisation utilise le mécanisme de la
"réplication universelle".
Cette technique est disponible aussi bien en WinDev, WebDev et WinDev Mobile.

Pour plus de détails, consultez l’aide en ligne (mot-clé : "Réplication").

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 107
Accès aux données au travers d’un Webservice
Une autre méthode permet également d’accéder à des données sur un serveur depuis un appa-
reil mobile : l’utilisation d’un Webservice.

Dans ce cas, l’appareil mobile doit disposer d’une connexion Wi-Fi ou 3G/4G pour se connecter
au Webservice.
L’application mobile n’accède pas en direct à la base de données. L’application appelle des fonc-
tions du Webservice. Ces fonctions retournent les données.
C’est le Webservice qui accède à la base de données.

Cette technique permet par exemple d’avoir une couche métier (le Webservice) commune à plu-
sieurs types d’applications et d’interfaces (WinDev, WebDev ou WinDev Mobile) et différents types
de systèmes d’exploitation (Windows, Android, iOS, ...).

Pour plus de détail, consultez l’aide en ligne (mot-clé : "Webservice").

108 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 3.4. Programmation avancée

Ce que vous allez apprendre dans cette leçon ...

• Créer une application de gestion


• Champs spécifiques : champ Zone répétée, champ Zone multiligne, champ Carte, ...
• Manipulation de la base de données
• Fonctionnalités spécifiques à l’appareil utilisé (GPS, Photo, ...)

Durée estimée : 1 h 30 min

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 109
Présentation
Dans cette leçon, nous allons réaliser une application iOS utilisant une base de données HFSQL
Classic.
Cette application va nous permettre de détailler plusieurs points spécifiques de la programmation
iOS.

Ouverture du projet

Lancez WinDev Mobile 20 (si ce n’est déjà fait). Si nécessaire, fermez le projet en cours pour
faire apparaître la fenêtre de bienvenue.
Ouvrez le projet "iOS Gestion Produits".
Pour cela, dans la fenêtre de bienvenue, cliquez sur "Cours d’auto-formation" et sélectionnez
le projet "Gestion de Produits iOS (Exercice)".
Astuce : si la fenêtre de bienvenue n’est pas affichée, il est possible sous le volet "Accueil",
dans le groupe "Aide en ligne" de dérouler l’option "Guide d’Auto-formation" puis de sélection-
ner l’option "Gestion de Produits iOS (Exercice)".

Un projet corrigé est disponible. Ce projet contient les différentes fenêtres créées
Corrigé

dans cette leçon. Pour ouvrir le projet corrigé, sous le volet "Accueil", dans le
groupe "Aide en ligne", déroulez l’option "Guide d’auto-formation" puis sélection-
nez "Gestion de Produits iOS (Corrigé)".

Description du projet
Examinons notre projet de départ. Ce projet est un projet déjà créé. Il ne contient aucune fenêtre.
Il contient uniquement l’analyse décrivant les fichiers de données HFSQL Classic que nous allons
utiliser. Dans le répertoire EXE, les fichiers de données correspondants sont fournis avec des
données pour réaliser les différents tests.
Pour visualiser l’analyse associée au projet :
1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev Mobile.
2. L’éditeur d’analyses s’affiche.

110 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
3. Cette analyse est composée de 3 fichiers de données :
• Un fichier "Produit", qui contient la description du produit : nom, prix, quantité, ...
• Un fichier "Caractéristique", qui contient les différentes caractéristiques du produit. Par
exemple, si le produit est un t-shirt, ses caractéristiques correspondront à la taille, la cou-
leur, ... Le fichier "Caractéristique" est donc lié au fichier "Produit".
• Un fichier "Magasin", qui contient pour chaque magasin, ses coordonnées GPS.
4. Fermez l’éditeur d’analyses (cliquez sur la croix en haut à droite de l’éditeur).
Nous allons maintenant commencer le développement de notre application.

Dans cette partie, les différents tests seront réalisés uniquement en mode simu-
Attention!

lation sous WinDev Mobile. En effet, le déploiement de l’application sur l’iPhone


ou l’iPad est relativement long et nécessite l’utilisation d’un Mac.
A la fin de cette leçon, les différentes étapes de la génération du projet Xcode
seront détaillées. Ce projet pourra ensuite être compilé sur un Mac.

Afficher la liste des produits


Nous allons tout d’abord créer une fenêtre permettant de lister les différents produits proposés.
Ces produits vont être affichés dans un champ de type "Zone répétée".

Création de la fenêtre

Pour créer une nouvelle fenêtre :


1. Cliquez sur parmi les boutons d’accès rapide. La fenêtre de création d’un nouvel élément
s’affiche : cliquez sur "Fenêtre" puis sur "Fenêtre". Dans l’assistant, sélectionnez l’onglet "Stan-
dard", choisissez "Vierge pour iPhone 4 et supérieur" et validez.
2. Enregistrez la fenêtre en cliquant sur parmi les boutons d’accès rapide.
3. Dans la fenêtre qui s’affiche, saisissez le titre de la fenêtre : "Liste des produits". Automati-
quement, le nom et l’emplacement de la fenêtre sont renseignés. Conservez les valeurs par
défaut et validez (bouton vert).
4. La fenêtre est ajoutée au projet.

Création du champ Zone répétée


Pour afficher la liste des produits, nous allons utiliser un champ de type "Zone Répétée". Dans ce
champ, les principales informations sur les produits vont être affichées.
Pour créer le champ "Zone répétée" :
1. Sous le volet "Création", dans le groupe "Données", déroulez "Zone répétée" et sélectionnez
"Zone répétée (verticale)". Le champ apparaît sous la souris.
2. Cliquez dans la fenêtre à la position où le champ doit être créé (par exemple en haut).
L’assistant de création d’un champ Zone répétée se lance.
3. Dans l’assistant, sélectionnez l’option "Afficher les données provenant d’un fichier ou d’une
requête". Passez à l’écran suivant.
4. Sélectionnez le fichier "Produit". Passez à l’écran suivant.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 111
5. Sélectionnez les rubriques à afficher :

6. Conservez les rubriques "Nom", "Description" et "Prix" (une coche doit être présente devant
ces rubriques). Passez à l’écran suivant.
7. Conservez la rubrique de tri proposée (IDProduit). Les produits seront triés dans le champ
Zone répétée suivant cette rubrique. Passez à l’écran suivant.
8. Dans l’écran "Paramètres supplémentaires", conservez les options par défaut. Passez à
l’écran suivant.
9. Conservez le nom par défaut "ZR_Produit" et validez.
10. Un message concernant la gestion des ascenseurs de la fenêtre apparaît.
En effet, la fenêtre comme le champ Zone répétée possèdent chacun leur propre ascenseur.
Il y a donc un conflit. Un seul ascenseur doit être activé. Il est préférable :
• de désactiver l’ascenseur de la fenêtre car la fenêtre a une taille fixe,
• de garder actif l’ascenseur du champ Zone répétée.
Le défilement vertical (scrolling vertical) se fera dans le champ Zone répétée et non pas dans la
fenêtre. Ainsi, il sera possible d’avoir des champs au dessus ou en dessous du champ Zone répé-
tée sans que ceux-ci ne défilent.
11. Cliquez sur "Désactiver l’ascenseur automatique". Le champ Zone répétée apparaît
sous l’éditeur de fenêtres. Par défaut, le champ Zone répétée s’adapte automatiquement à
l’espace disponible dans la fenêtre.
Dans la fenêtre affichée sous l’éditeur, des données apparaissent automatique-
ment. Ce concept se nomme "Live Data" : vous voyez les données présentes
Notes

dans vos fichiers en temps réel !


Cette fonctionnalité est très utile, notamment pour adapter la taille des champs
à leur contenu.

Enregistrez la fenêtre en cliquant sur parmi les boutons d’accès rapide.

112 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Nous allons effectuer un premier test dans le simulateur pour visualiser le résultat. Cliquez
sur parmi les boutons d’accès rapide (ou utilisez la touche [F9]).

Fermez le simulateur pour revenir sous l’éditeur de fenêtres.


Améliorations de la fenêtre
Comme vous avez pu le constater lors du test, certains champs n’affichent pas la totalité des don-
nées. Nous allons modifier la taille des champs.
Pour modifier la taille du champ Description :
1. Sélectionnez le champ "Description".
2. Sous l’éditeur, agrandissez le champ "Description".
Nous avons vu dans la leçon précédente, l’importance des ancrages. Nous allons tout de suite
appliquer un ancrage au champ Zone répétée que nous venons de créer afin qu’il soit automati-
quement redimensionné en fonction de l’orientation de l’écran.
Pour ancrer le champ Zone répétée :
1. Sélectionnez le champ Zone répétée.
2. Affichez le menu contextuel du champ (clic droit) et sélectionnez l’option "Ancrage".
3. Dans la fenêtre qui s’affiche, sélectionnez l’option .
4. Validez. Les flèches rouges indiquant les options d’ancrage apparaissent dans la fenêtre.
Testez la fenêtre pour visualiser le résultat.
• Cliquez sur parmi les boutons d’accès rapide.
• Modifiez l’orientation de la fenêtre.
• Fermez le simulateur pour revenir sous l’éditeur.
Notre fenêtre est terminée.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 113
Création de la fenêtre fiche
Maintenant, nous allons créer une nouvelle fenêtre servant à afficher la fiche du produit. Ensuite,
cette fenêtre sera lancée depuis la liste des produits pour afficher le détail du produit sélectionné.

Création de la fenêtre

Pour créer la fenêtre fiche :


1. Créez une nouvelle fenêtre vierge. Cliquez sur parmi les boutons d’accès rapide. La fe-
nêtre de création d’un nouvel élément s’affiche : cliquez sur "Fenêtre" puis sur "Fenêtre". Dans
l’assistant, choisissez "Vierge pour iPhone 4 et supérieur" et validez.
2. Enregistrez la fenêtre. Indiquez le titre de la fenêtre : "Fiche du produit". Son nom est auto-
matiquement proposé : "FEN_Fiche_du_produit". Validez.

Création des champs

Pour créer un champ de saisie :


1. Affichez le volet "Analyse" si nécessaire (sous le volet "Accueil", dans le groupe "Environne-
ment", déroulez "Volets" et sélectionnez "Analyse"). Les différents fichiers de données décrits
dans l’analyse "iOS Gestion Produits" apparaissent dans le volet.
2. Sélectionnez à l’aide de la souris les rubriques du fichier "Produit" affichées dans le volet
(sauf la rubrique "IDProduit").
3. Effectuez un "Drag and Drop" (glisser/déplacer) de ces rubriques vers la fenêtre que vous
venez de créer.

4. Modifiez la taille des champs "Nom" et "Description" afin qu’ils soient visibles dans la fe-
nêtre.

114 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
5. Réorganisez les champs dans la fenêtre. Respectez l’ordre suivant : "Photo", "Nom", "Prix",
"Quantité", "Code-barres", "Date de réappro.", "Description".

6. Nous allons visualiser l’ordre de navigation dans la fenêtre : appuyez sur la touche [F5]. Les
numéros qui s’affichent représentent l’ordre de navigation dans la fenêtre. Appuyez à nouveau
sur la touche [F5] pour faire disparaître les numéros. L’ordre de navigation s’adapte automati-
quement à l’ordre des champs dans la fenêtre.
7. Enregistrez la fenêtre.
Testez la fenêtre ( parmi les boutons d’accès rapide). La fenêtre apparaît avec tous les
champs vides.
Pour afficher les données du produit :
1. Affichez les traitements associés à la fenêtre :
• Dans la zone à côté de la fenêtre, faites un clic droit de souris
• Dans le menu contextuel qui s’affiche, sélectionnez "Code".
• L’éditeur de code apparaît.
2. Dans le traitement "Fin d’initialisation de FEN_Fiche_du_produit", saisissez le code suivant :
FichierVersEcran()

La fonction FichierVersEcran permet d’afficher dans les champs les données présentes dans
le fichier de données pour l’enregistrement en cours.
3. Fermez la fenêtre de code.
4. Enregistrez la fenêtre.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 115
Affichage de la fiche depuis la liste des produits
Nous allons maintenant voir comment afficher la fiche du produit sélectionné dans la liste des
produits.
Effectuez les opérations suivantes :
1. Placez-vous sur la fenêtre "Liste des produits" : cliquez sur le bouton "FEN_Liste_des_pro-
duits" dans la barre des boutons :

2. Faites un clic droit sur le champ Zone répétée et dans le menu qui s’affiche, sélectionnez
l’option "Code".
3. Dans la fenêtre de code qui apparaît, saisissez le code suivant dans le traitement "Sélec-
tion d’une ligne de ..." :
OuvreFenêtreMobile(FEN_Fiche_du_produit)

Laissez-vous guider par l’assistance à la saisie de code : dès que vous allez ta-
per la parenthèse ouvrante "(", une liste déroulante va s’ouvrir proposant le nom
de toutes les fenêtres existantes dans le projet. Il suffit de sélectionner la fenêtre
Notes

au clavier ou à la souris.
Si vous ne trouvez pas le nom de la fenêtre que vous cherchez dans la liste, c’est
que celle-ci n’a pas été sauvegardée précédemment.

4. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
5. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Testez la fenêtre à nouveau sous le simulateur ( parmi les boutons d’accès rapide).
• Dans la liste des produits, cliquez sur un des produits avec la souris.
• La fenêtre de détail du produit s’affiche.
Fermez le simulateur.

116 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Gestion de la création et de la modification d’un produit
Nous allons maintenant modifier nos deux fenêtres afin de gérer l’ajout et la modification d’un
produit.

Modification de la fiche produit


Nous allons rajouter 2 boutons dans la fenêtre "FEN_Fiche_du_produit" :
• un bouton "Valider" pour gérer la validation des modifications
• un bouton "Annuler" pour gérer le retour à la liste des produits.
Tout d’abord, affichez si nécessaire la fenêtre "FEN_Fiche_du_produit" sous l’éditeur : cliquez
sur le bouton correspondant dans la barre de boutons.
Pour créer le bouton "Annuler" :
1. Sous le volet "Création", dans le groupe "Champs usuels", déroulez "Bouton" (cliquez sur la
flèche située sous ).
2. La liste des boutons prédéfinis s’affiche.

Pour certains types de champs, WinDev Mobile propose une liste de champs
prédéfinis. Ces champs sont des champs avancés, configurés pour effectuer
Notes

une action spécifique.


Par exemple, le bouton "Annuler" proposé par la liste des champs prédéfinis
contient le code nécessaire à son exécution.

3. Cliquez sur "Annuler" : la forme du bouton apparaît sous la souris. Cliquez ensuite en bas à
droite de la fenêtre pour créer le bouton.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 117
Nous allons ensuite ajouter le bouton "Valider" sur le même principe, mais en personnalisant
le look de ce bouton.
1. Sous le volet "Création", dans le groupe "Champs usuels", déroulez "Bouton" (cliquez sur la
flèche située sous ).
2. La liste des boutons prédéfinis s’affiche.
3. Cliquez sur "Bouton" : la forme du bouton apparaît sous la souris. Cliquez ensuite en bas de
la fenêtre pour créer le bouton (à gauche du bouton "Annuler").
4. Sélectionnez le champ puis tapez sur la touche [ENTREE] du clavier. Le libellé du bouton
passe en édition. Saisissez "Valider" et appuyez sur la touche [ENTREE] du clavier.
5. Redimensionnez si nécessaire le bouton (à l’aide des poignées) pour que le libellé s’affiche
complètement dans le bouton.
Pour personnaliser le look de ce bouton :
1. Sélectionnez le bouton "Valider" : il suffit de cliquer dessus.
2. Affichez le menu contextuel (clic droit) puis sélectionnez l’option "Choisir un style".
3. Chaque gabarit propose des styles pour les boutons usuels : validation, annulation, créa-
tion, ... Ici, choisissez le style "BTN_Ok".

4. Validez. Le style est automatiquement appliqué au bouton.


Nous allons maintenant saisir le code du bouton "Valider".
1. Faites un clic droit sur le bouton puis sélectionnez l’option "Code" dans le menu contextuel.
2. Dans le traitement "Clic sur", saisissez le code suivant :
EcranVersFichier()
HModifie(Produit)
Ferme()
Examinons ce code :
• La fonction EcranVersFichier permet d’initialiser les rubriques avec les valeurs des champs
liés, pour l’enregistrement courant.

118 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
• La fonction HModifie permet de mettre à jour les données du fichier pour l’enregistrement
courant.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Lors de la fermeture de la fiche du produit, il est nécessaire de rafraîchir le contenu de la liste
des produits présente dans la fenêtre "FEN_Liste_des_produits" pour prendre en compte les
modifications réalisées dans la fiche. Il suffit pour cela d’utiliser le traitement "Fermeture
d’une fenêtre fille" de la fenêtre "FEN_Liste_des_produits".
1. Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur de fenêtres.
2. Faites un clic droit sur le fond de la fenêtre et dans le menu qui s’affiche, sélectionnez
l’option "Code". Dans le traitement "Fermeture d’une fenêtre fille", saisissez le code suivant :
ZoneRépétéeAffiche(ZR_Produit)
Examinons ce code :
• Le traitement "Fermeture d’une fenêtre fille" est exécuté à chaque fois qu’une fenêtre fille
de la fenêtre en cours est fermée. Dans notre cas, il est donc exécuté lorsque la fenêtre
"FEN_Fiche_du_produit" est fermée.
• La fonction ZoneRépétéeAffiche permet de mettre à jour les données du champ Zone répé-
tée de la fenêtre "FEN_Liste_des_produits".
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Lancez le test de la fenêtre "FEN_Liste_des_produits" sous le simulateur ( parmi les
boutons d’accès rapide).
• Dans la liste des produits, cliquez sur un des produits avec la souris : par exemple, le pro-
duit "Polo Hibbicus Bleu" au prix de 25,90 euros.
• La fenêtre de détail du produit s’affiche. Modifiez le prix de 25,90 euros et saisissez
19,90 euros puis ensuite cliquez sur le bouton "Valider".
• De retour sur la liste des produits, vous pouvez constater que le prix de cet article a été mis
à jour.
Fermez le simulateur. L’éditeur de WinDev Mobile est affiché.
Création d’un nouveau produit
Le principe de la création d’un produit va être le suivant :
• Dans la fenêtre de la liste des produits, nous allons ajouter un bouton "Nouveau produit" qui va
permettre d’ouvrir la fenêtre "Fiche du produit".
• Nous modifierons ensuite le code de la fenêtre "Fiche du produit" pour gérer l’ajout dans le
fichier de données Produit.
Pour ajouter un bouton dans la liste des produits :
1. Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur.
2. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur : la forme du
bouton apparaît sous la souris. Cliquez ensuite en bas de la fenêtre pour créer le bouton.
3. Sélectionnez le champ puis tapez sur la touche [ENTREE] du clavier. Le libellé du bouton
passe en édition. Saisissez "Nouveau produit" et appuyez sur la touche [ENTREE] du clavier.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 119
4. Agrandissez la taille du champ (à l’aide des poignées de redimensionnement) pour qu’il
occupe la totalité de la largeur de la fenêtre.

5. Le code de ce bouton va permettre d’ouvrir la fenêtre "Fiche du produit", en mettant ses


champs à vide. Pour saisir ce code :
• Faites un clic droit sur le champ.
• Dans le menu contextuel qui s’affiche, sélectionnez l’option "Code".
• Dans le traitement "Clic sur", saisissez le code suivant :
HRAZ(Produit)
OuvreFenêtreMobile(FEN_Fiche_du_produit)
La fonction HRaz initialise les variables des rubriques du fichier Produit avec les valeurs par dé-
faut pour gérer un nouvel enregistrement.
6. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
7. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).

Maintenant, nous allons modifier la fenêtre de la fiche du produit pour gérer l’ajout d’un
nouvel enregistrement.
1. Affichez la fenêtre "FEN_Fiche_du_produit" sous l’éditeur.
2. Nous allons modifier le code du bouton de validation :
• Faites un clic droit sur le bouton puis sélectionnez l’option "Code" dans le menu contextuel.
• Dans le traitement "Clic sur", remplacez le code par le code suivant :
EcranVersFichier()
SI Produit..NouvelEnregistrement ALORS
HAjoute(Produit)
SINON
HModifie(Produit)
FIN
Ferme()

Examinons ce code :
• La propriété ..NouvelEnregistrement permet de savoir si l’enregistrement en cours doit être
créé.

120 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
• Si la fonction HRaz a été appelée précédemment, la propriété renvoie Vrai (cas du clic sur
"Nouveau produit") et l’enregistrement doit être créé par la fonction HAjoute.
• Dans le cas contraire, l’enregistrement en cours existe déjà et doit être modifié par la fonc-
tion HModifie.

Le code de test du nouvel enregistrement peut être remplacé par la fonction


HEnregistre. Cette fonction permet de tester si l’enregistrement est déjà présent
dans le fichier de données, et selon le cas elle permet soit de l’ajouter, soit de le
Notes

modifier. Le code devient alors :


EcranVersFichier()
HEnregistre(Produit)
Ferme()

3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur de fenêtres. Nous allons ajouter
un bouton pour fermer la fenêtre :
1. Réduisez la taille du bouton "Nouveau produit" à l’aide de la souris.
2. Sous le volet "Création", dans le groupe "Champs usuels", déroulez "Bouton" (cliquez sur la
flèche située sous ).
3. La liste des boutons prédéfinis s’affiche.
4. Cliquez sur "Fermer" : la forme du bouton apparaît sous la souris. Cliquez ensuite en bas de
la fenêtre pour créer le bouton (à droite du bouton "Nouveau produit").
Lancez le test de la fenêtre "FEN_Liste_des_Produits" sous le simulateur ( parmi les
boutons d’accès rapide).
• Dans la liste des produits, cliquez sur le bouton "Nouveau produit".
• Saisissez un nouveau produit.
• Validez. Le nouveau produit apparaît dans la liste des produits.
• Fermez le simulateur.

Utilisation de l’appareil photo et affichage d’une image

Dans cette partie, les différents tests seront réalisés uniquement en mode simu-
Attention!

lation sous WinDev Mobile. En effet, le déploiement de l’application sur l’iPhone


ou l’iPad est relativement long et nécessite l’utilisation d’un Mac.
A la fin de cette leçon, les différentes étapes de la génération du projet Xcode
seront détaillées. Ce projet pourra ensuite être compilé sur un Mac.

Présentation
Nous allons gérer la photo du produit. Nous allons utiliser l’appareil photo du matériel.
Nous allons créer un bouton pour lancer l’appareil photo. La photo sera récupérée sous la forme
d’une image en mémoire et affichée dans le champ image du produit.
Nous allons également créer un bouton permettant de sélectionner une photo dans l’album du
mobile.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 121
Création du bouton prise de photo

Pour créer le bouton de prise de la photo :


1. Affichez la fenêtre "FEN_Fiche_du_produit" sous l’éditeur.
2. Ajoutez un bouton dans la fenêtre :
• Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur : la forme du bou-
ton apparaît sous la souris.
• Cliquez ensuite en haut à droite de l’image du produit pour créer le bouton.
Nous allons modifier le bouton pour lui associer une image représentant un appareil photo :
1. Sélectionnez le bouton et affichez son menu contextuel (clic droit).
2. Sélectionnez "Description". La fenêtre de description du champ apparaît.
3. Dans l’onglet "Général", positionnez-vous sur la zone de saisie "Image" et cliquez sur le
bouton "Catalogue".
4. Le catalogue d’images de WinDev Mobile s’ouvre. Ce catalogue contient des milliers
d’images dans différents domaines, formats et tailles.
5. Dans la zone de recherche en haut, saisissez le mot "photo", puis sélectionnez le thème
"IOS 7" et validez. Plusieurs images apparaissent :

6. Sélectionnez par exemple, la première image en double-cliquant dessus.


7. Dans l’écran qui s’affiche, vous pouvez choisir la taille de l’image, la couleur, l’orientation,
son format et son nom. Indiquez le nom de l’image "AppareilPhoto".
8. Validez la fenêtre.
9. Le chemin de l’image apparaît dans la description du bouton.
10. Donnez un nom au bouton : "BTN_AppareilPhoto".
11. Videz le libellé du bouton.
12. Validez la fenêtre de description.
13. Sous l’éditeur, réduisez la taille du bouton.

122 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prise de photo
Nous allons saisir maintenant le code pour prendre une photo et l’afficher dans le champ Image
de la fiche produit.
Pour gérer la prise de photo :
1. Dans le menu contextuel du bouton (clic droit), sélectionnez l’option "Code".
2. Saisissez le code suivant dans le traitement "Clic sur" :
// Variable locale
sPhoto est une chaîne
// On lance l’appareil photo
sPhoto = VidéoLanceAppli(viCaptureImage)
SI sPhoto <> “” ALORS
IMG_Photo = sPhoto
FIN
Dans ce code, la fonction VidéoLanceAppli permet de lancer l’application caméra native de l’ap-
pareil afin d’enregistrer une vidéo ou de prendre une photo.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).

Sélection d’une photo dans l’album de photos


Nous allons ajouter un bouton pour sélectionner une des photos existantes dans l’album de l’ap-
pareil et l’associer au produit.
Pour créer le bouton de sélection de la photo :
1. Ajoutez un bouton dans la fenêtre "FEN_Fiche_du_produit" :
• sous le volet "Création", dans le groupe "Champs usuels", cliquez sur .
• la forme du bouton apparaît sous la souris.
• créez le bouton sous le bouton précédent.
2. Affichez la fenêtre de description du bouton (double-cliquez sur le champ) :
• Donnez un nom au bouton : "BTN_AlbumPhoto".
• Videz le libellé du bouton.
• Sélectionnez une image dans le catalogue d’images.
3. Validez la fenêtre de description.
4. Sous l’éditeur, réduisez la taille du bouton.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 123
Le code de ce bouton permet d’ouvrir l’album photo de l’appareil et de sélectionner une
image pour l’afficher dans le champ Image de la fiche produit.
1. Dans le menu contextuel du bouton (clic droit), sélectionnez l’option "Code".
2. Saisissez le code suivant dans le traitement "Clic sur" :
// On lance la sélection
// La procédure ImageSélectionnée sera exécutée lors de la
// sélection d’une image dans l’album
AlbumSélecteur(ImageSélectionnée)

Dans ce code, la fonction AlbumSélecteur permet de récupérer la photo sélectionnée dans l’al-
bum photo. Cette fonction appelle la procédure "ImageSélectionnée". Cette procédure permet
d’affecter le champ Image avec l’image sélectionnée.
3. Pour créer la procédure :
• Sélectionnez le mot "ImageSélectionnée".
• Affichez le menu contextuel (clic droit).
• Sélectionnez l’option "Nouveau .. Nouvelle procédure locale".
• Validez le nom de la procédure.
• Saisissez le code suivant :
PROCEDURE ImageSélectionnée(sCheminImage)
// Si une image est sélectionnée
SI sCheminImage <> “” ALORS
// Affiche l’image dans le champ Image
IMG_Photo = sCheminImage
FIN

Examinons ce code : si une image est sélectionnée (c’est-à-dire si le chemin de l’image ne corres-
pond pas à une chaîne vide), alors le chemin est affecté au champ Image.
4. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
5. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).

Gestion du code-barres du produit

Dans cette partie, les différents tests seront réalisés uniquement en mode simu-
Attention!

lation sous WinDev Mobile. En effet, le déploiement de l’application sur l’iPhone


ou l’iPad est relativement long et nécessite l’utilisation d’un Mac. Ce déploie-
ment ne sera proposé qu’à la fin de cette leçon.

Présentation
Le fichier de données "Produit" contient une rubrique "Code_Barres". Cette rubrique permet de
stocker la valeur d’un code-barres. Certains matériels (notamment ceux qui possèdent un appa-
reil photo) peuvent scanner un code-barres pour récupérer sa valeur.
Nous allons gérer le code-barres grâce à l’appareil photo du matériel mais aussi en utilisant une
fonction spécifique du WLangage.

124 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Mise en place

Pour créer le bouton de gestion des codes-barres :


1. Affichez si nécessaire la fenêtre "FEN_Fiche_du_produit" sous l’éditeur.
2. Ajoutez un bouton dans la fenêtre :
• sous le volet "Création", dans le groupe "Champs usuels", cliquez sur .
• la forme du bouton apparaît sous la souris.
• créez le bouton à côté du champ "Code-barres" (redimensionnez le champ de saisie si né-
cessaire).
3. Affichez la fenêtre de description du bouton (double-cliquez sur le champ) :
• Donnez un nom au bouton : "BTN_CodeBarres".
• Videz le libellé du bouton.
• Sélectionnez une image de code-barres dans le catalogue d’images (cherchez par exemple
avec le mot-clé "Code").
4. Validez la fenêtre de description.
5. Sous l’éditeur, réduisez la taille du bouton.

Le code de ce bouton permet de scanner le code-barres.


1. Dans le menu contextuel du bouton (clic droit), sélectionnez l’option "Code".
2. Saisissez le code suivant dans le traitement "Clic sur" :
// Variable locale
cb est un CodeBarres
// Lancement du scan
cb = CBCapture()
SI cb..Contenu <> “” ALORS
SAI_Code_barres = cb..Contenu
FIN

Dans ce code, la fonction CBCapture permet de décoder les informations stockées dans un
code-barres en utilisant la caméra de l’appareil.
4. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
5. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 125
Utilisation du champ Carte
Nous allons voir comment manipuler le champ Carte et les fonctions GPS du langage.
Notre base de données contient un fichier de données "Magasin". Ce fichier contient les adresses
de plusieurs magasins que nous allons localiser sur une carte à l’aide des fonctions de cartogra-
phie.

Création de la fenêtre
Tout d’abord, nous allons créer une fenêtre vierge et lui ajouter un champ de type Carte.
Pour créer la fenêtre :
1. Cliquez sur parmi les boutons d’accès rapide. La fenêtre de création d’un nouvel élément
s’affiche : cliquez sur "Fenêtre" puis sur "Fenêtre". Dans l’assistant, choisissez "Vierge pour
iPhone 4 et supérieur" et validez.
2. Enregistrez la fenêtre. Indiquez le titre de la fenêtre : "Carte des magasins". Son nom est
automatiquement proposé : "FEN_Carte_des_magasins". Validez.

Création du champ Carte

Pour créer le champ Carte :


1. Sous le volet "Création", dans le groupe "Champs graphiques", cliquez sur "Carte". La forme
du champ apparaît sous la souris.
2. Cliquez dans la fenêtre pour créer le champ.
3. Un message concernant la gestion des ascenseurs de la fenêtre apparaît. En effet, la fe-
nêtre comme le champ Carte possèdent chacun leur propre ascenseur. Il y a donc un conflit.
Un seul ascenseur doit être activé. Il est préférable :
• de désactiver l’ascenseur de la fenêtre car la fenêtre a une taille fixe,
• de garder actif l’ascenseur du champ Carte.
4. Cliquez sur "Désactiver l’ascenseur automatique". Le champ Carte apparaît sous l’éditeur
de fenêtres.
5. Affichez la fenêtre de description du champ "Carte" (double-clic sur le champ par exemple).
6. Dans la fenêtre de description du champ, indiquez le nom du champ "CARTE_Magasin" et
validez.
7. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.

126 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Affichage des magasins sur la carte
Principe
Nous allons maintenant ajouter le code qui permet d’afficher sur une carte tous les magasins
présents dans le fichier "Magasin".
Pour cela, nous allons parcourir le fichier "Magasin" avec une boucle POUR TOUT. Ensuite, nous
allons utiliser des variables de type Marqueur. Une variable de type Marqueur permet de définir
une marque qui sera présente sur une carte.
Une marque contient différentes informations. Nous utiliserons uniquement les informations sui-
vantes :
• Nom.
• Latitude.
• Longitude.
La fonction CarteAjouteMarqueur permet d’ajouter la marque sur la carte. Ensuite, il suffit de
régler le niveau de zoom suffisant pour voir tous les marqueurs sur la carte. Si le zoom n’est pas
correctement réglé, certains marqueurs peuvent ne pas être visibles ou bien se chevaucher sur
la carte.
Mise en place
Pour saisir le code permettant d’afficher les magasins :
1. Faites un clic droit à l’extérieur de la fenêtre. Dans le menu contextuel, sélectionnez l’option
"Code". Les différents traitements associés à la fenêtre s’affichent.
2. Saisissez le code suivant dans le traitement "Déclarations globales de ...".
// Variables globales
gMarqueur est un Marqueur
// On charge les magasins
POUR TOUT Magasin
// Coordonnées du marqueur
gMarqueur.Position.Latitude = Magasin.Latitude
gMarqueur.Position.Longitude = Magasin.Longitude
// Nom du marqueur
gMarqueur.Nom = Magasin.Nom
// Ajout du marqueur
CarteAjouteMarqueur(CARTE_MAGASIN,gMarqueur)
FIN
// Zoom par défaut
CARTE_MAGASIN..Zoom = 7
CarteAffichePosition(CARTE_MAGASIN,gMarqueur.Position)

3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 127
Nous pouvons effectuer un test dans le simulateur.
Lancez le test de la fenêtre "FEN_Carte_des_magasins" sous le simulateur ( parmi les
boutons d’accès rapide). Les différents magasins s’affichent immédiatement.

Fermeture de la fenêtre
Nous allons créer un bouton pour fermer cette fenêtre. Nous allons pour cela utiliser un bouton
prédéfini de type "Fermer".
Pour créer le bouton "Fermer" :
1. Redimensionnez le champ Carte pour pouvoir créer un bouton en bas de la fenêtre.
2. Sous le volet "Création", dans le groupe "Champs usuels", déroulez "Bouton" (cliquez sur la
flèche située sous ).
3. Dans la liste des boutons prédéfinis, cliquez sur "Fermer" : la forme du bouton apparaît
sous la souris. Cliquez ensuite en bas de la fenêtre pour créer le bouton.
4. Redimensionnez si nécessaire le bouton créé.
5. Comme pour le champ Carte, il est nécessaire de modifier l’ancrage de ce champ : appli-
quez-lui l’ancrage "Largeur et bas" ( ).

128 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Utilisation d’un champ Zone multiligne
Le champ "Zone multiligne" est un champ très utilisé dans les applications iOS.
Ce champ permet de regrouper différents champs :
• options sur une catégorie,
• regroupement d’informations sur un contact, ...
Ce champ peut contenir à la fois :
• des lignes définies en édition (lignes statiques).
• des lignes définies en exécution, par programmation (lignes dynamiques).
Nous allons utiliser un champ Zone multiligne pour faire le menu principal de notre application.
Nous allons créer une nouvelle fenêtre et y insérer un champ Zone multiligne.
La fenêtre que nous allons réaliser est la suivante :

Création de la fenêtre
Tout d’abord, nous allons créer une fenêtre vierge et lui ajouter un champ de type Zone multiligne.
Pour créer la fenêtre :
1. Créez une nouvelle fenêtre vierge. Cliquez sur parmi les boutons d’accès rapide. La fe-
nêtre de création d’un nouvel élément s’affiche : cliquez sur "Fenêtre" puis sur "Fenêtre". Dans
l’assistant, choisissez "Vierge pour iPhone 4 et supérieur" et validez.
2. Enregistrez la fenêtre. Indiquez le titre de la fenêtre : "Menu". Son nom est automatique-
ment proposé : "FEN_Menu". Validez.

Création du champ Zone multiligne

Pour créer le champ Zone multiligne :


1. Sous le volet "Création", dans le groupe "Données", cliquez sur "Zone multiligne". La forme du
champ apparaît sous la souris.
2. Cliquez dans la fenêtre pour créer le champ.
3. Affichez la fenêtre de description du champ (double-clic sur le champ par exemple).
4. Dans la fenêtre de description, indiquez le nom du champ "ZM_Menu" et validez.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 129
Le champ Zone multiligne contient actuellement une ligne vierge. Nous allons le modifier pour y
ajouter autant de lignes que d’options de notre menu.
Notre menu comporte 3 options :
• Liste des produits,
• Carte des magasins,
• Quitter l’application.

Modification du champ Zone multiligne

Pour modifier le champ Zone multiligne :


1. Affichez la fenêtre de description du champ (double-clic sur le champ par exemple).
2. Cliquez sur le bouton "Nouvelle ligne". Une fenêtre s’ouvre : cette fenêtre contient tous les
modèles prédéfinis de ligne.
3. Sélectionnez le modèle "Ligne simple avec picto" et validez. Répétez cette opération 2 fois.
Le champ Zone multiligne contient donc :
• une ligne "vierge".
• 3 lignes de type "simple avec picto".

4. Nous allons supprimer la ligne vierge qui est inutile dans notre exemple :
• Sélectionnez la ligne vierge (la première ligne) avec la souris.
• Cliquez ensuite sur le bouton "Supprimer".
5. Validez la fenêtre de description. Votre menu est créé.
Chaque ligne est composée d’un champ Image, d’un champ Libellé et d’une image de flèche.
Nous allons maintenant modifier le champ Image et le champ Libellé de chaque ligne afin de
représenter l’action du menu.

130 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Modification de la 1ère ligne : accéder à la liste des produits
Pour modifier l’image de la première ligne du champ Zone multiligne :
1. Cliquez sur la première ligne et sélectionnez le champ Image.
2. Affichez la fenêtre de description de l’image (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom à l’image (par exemple "IMG_ListeDesProduits").
• Cliquez sur le bouton "Catalogue" afin de choisir une image représentant l’action.
• Dans la fenêtre du catalogue d’images, saisissez dans le champ de recherche le mot "Liste"
et appuyez sur la touche [ENTREE].
• Sélectionnez une image par un double-clic.
• Dans la fenêtre de paramétrage de l’image générée :
• Sélectionnez une taille (par exemple 80).
Par défaut, l’image utilisée dans un champ Zone Multiligne est en mode
Notes

"Homothétique étendu centré". L’image sera automatiquement "retaillée"


aux bonnes dimensions.

• Modifiez la luminosité de l’image (par exemple -100% pour obtenir une image noire).
• Donnez un nom à l’image (par exemple "ListeDesProduits").
• Validez.
4. Validez la fenêtre de description.
Pour modifier le champ Libellé de la première ligne du champ Zone multiligne :
1. Cliquez sur la première ligne et sélectionnez le champ Libellé.
2. Affichez la fenêtre de description (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom au champ (par exemple "LIB_ListeDesProduits").
• Changez le libellé (par exemple "Liste des produits").
4. Validez la fenêtre de description.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 131
Modification de la 2ème ligne : accéder à la carte des magasins
Pour modifier l’image de la seconde ligne du champ Zone multiligne :
1. Cliquez sur la seconde ligne et sélectionnez le champ Image.
2. Affichez la fenêtre de description de l’image (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom à l’image (par exemple "IMG_CarteDesMagasins").
• Cliquez sur le bouton "Catalogue" afin de choisir une image représentant l’action.
• Dans la fenêtre du catalogue d’images, saisissez dans le champ de recherche le mot "Carte"
et appuyez sur la touche [ENTREE].
• Sélectionnez une image par un double-clic.
• Dans la fenêtre de paramétrage de l’image générée :
• Sélectionnez une taille (par exemple 80).
• Modifiez la luminosité de l’image (par exemple -100% pour obtenir une image noire).
• Donnez un nom à l’image (par exemple "CarteMagasins").
• Validez.
4. Validez la fenêtre de description.
Pour modifier le champ Libellé de la seconde ligne du champ Zone multiligne :
1. Cliquez sur la seconde ligne et sélectionnez le champ Libellé.
2. Affichez la fenêtre de description (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom au champ (par exemple "LIB_CarteDesMagasins").
• Changez le libellé (par exemple "Carte des magasins").
4. Validez la fenêtre de description.
Modification de la 3ème ligne : sortir de l’application
Pour modifier l’image de la troisième ligne du champ Zone multiligne :
1. Cliquez sur la troisième ligne et sélectionnez le champ Image.
2. Affichez la fenêtre de description de l’image (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom à l’image (par exemple "IMG_Sortir").
• Cliquez sur le bouton "Catalogue" afin de choisir une image représentant l’action.
• Dans la fenêtre du catalogue d’images, saisissez dans le champ de recherche le mot "Fer-
mer" et appuyez sur la touche [ENTREE].
• Sélectionnez une image par un double-clic.
• Dans la fenêtre de paramétrage de l’image générée :
• Sélectionnez une taille (par exemple 80).
• Modifiez la luminosité de l’image (par exemple -100% pour obtenir une image noire).
• Donnez un nom à l’image (par exemple "Fermer").
• Validez.
4. Validez la fenêtre de description.

132 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour modifier le champ Libellé de la troisième ligne du champ Zone multiligne :
1. Cliquez sur la troisième ligne et sélectionnez le champ Libellé.
2. Affichez la fenêtre de description (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom au champ (par exemple "LIB_Quitter").
• Changez le libellé (par exemple "Quitter l’application").
4. Validez la fenêtre de description.

Programmation du menu

Pour terminer, nous allons écrire le code pour effectuer chaque action du menu :
1. Faites un clic droit sur le champ Zone multiligne puis sélectionnez l’option "Code".
Attention : Sélectionnez bien le champ Zone multiligne et non un des champs qui le compose.
2. Sous l’éditeur de code, dans la section de code "Sélection (clic) d’une ligne dans ...", saisis-
sez le code suivant :
SELON ZM_MENU
CAS 1 // Liste des produits
OuvreFenêtreMobile(FEN_Liste_des_produits)
CAS 2 // Carte des magasins
OuvreFenêtreMobile(FEN_Carte_des_magasins)
CAS 3 // Sortir de l’application
Ferme()
FIN
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).

Tester l’application
Il reste un dernier réglage à effectuer, indiquer que la fenêtre de menu est la première fenêtre de
l’application. Pour cela, nous allons indiquer quelle est la première fenêtre du projet (sous iPhone
et sous iPad) et lancer un test complet du projet.
Pour définir la première fenêtre du projet :
1. Sélectionnez la fenêtre "FEN_Menu" dans l’explorateur de projet.
2. Affichez le menu contextuel.
3. Sélectionnez l’option "Première fenêtre pour la plateforme iPhone". Une icône spécifique
(avec un petit 1) apparaît alors devant le nom de la fenêtre, dans l’explorateur de projet.
4. Sélectionnez l’option "Première fenêtre pour la plateforme iPad". Une icône spécifique (avec
un petit 1) apparaît alors devant le nom de la fenêtre, dans l’explorateur de projet.
Jusqu’à présent vous testiez les fenêtres de façon individuelle en cliquant sur parmi les bou-
tons d’accès rapide.
Pour lancer le test du projet :
1. Cliquez sur parmi les boutons d’accès rapide.
2. Votre projet démarre par la fenêtre de menu. Vous pouvez cliquer sur une option de votre
menu pour vérifier que les différents liens sont corrects.
Voilà, notre application est terminée, il faut maintenant la compiler et l’installer sur le matériel afin
de tester.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 133
Générer l’application

Pour générer l’application iOS :


1. Sous le volet "Projet", dans le groupe "Génération", cliquez sur "Générer" (vous pouvez égale-
ment cliquer sur parmi les boutons d’accès rapide).
2. L’assistant de génération d’une application iOS se lance.
3. Le premier écran de l’assistant permet de :
• définir le nom de l’application, la société et le copyright.
• saisir l’identifiant du bundle.

Cet identifiant est l’identifiant unique de votre application auprès de Apple. Il se


définit et s’enregistre sur le compte développeur Apple.
Notes

Cet identifiant permettra d’enregistrer votre application pour pouvoir la tester et


la déployer. Par défaut, WinDev Mobile propose automatiquement un identifiant
respectant les normes de développement Apple actuelles. Vous pouvez modifier
cet identifiant.

4. Passez à l’écran suivant. Indiquez le chemin des différentes icônes de l’application pour
chaque type de matériel.
5. Passez à l’écran suivant. Indiquez le chemin des différentes images de lancement de l’ap-
plication pour l’iPad et pour l’iPhone (images au format PNG). Des images par défaut sont
automatiquement créées pour votre application.
6. Passez à l’écran suivant. Indiquez le numéro de version de l’application générée.
7. Passez à l’écran suivant. Cet écran permet d’intégrer des fichiers spécifiques (fichiers de
données, images, ...).
Dans notre exemple, nous allons intégrer les fichiers de données HFSQL.
• Cliquez sur le bouton "Ajouter".
• Sélectionnez les fichiers de données (.fic, .ndx et .mmo) présents dans le répertoire EXE du
projet. La liste des fichiers apparaît.
• Indiquez que ces fichiers de données doivent être en écriture : cochez la case "Ecriture".

134 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
8. Passez à l’écran suivant. Cet écran permet d’indiquer :
• la version minimale nécessaire d’iOS pour exécuter l’application.
• si le partage des fichiers avec iTunes est possible. Si cette option est cochée, il sera pos-
sible de récupérer les fichiers de l’application sur le Mac lors de la synchronisation. Par
exemple, si des fichiers de données ont été livrés avec l’application, l’application iTunes
permettra de récupérer ces fichiers.
9. Validez l’assistant. La génération est faite dans le dossier EXE du répertoire du projet. Le
répertoire contenant les sources à utiliser sur le Mac s’appelle "Nom_du_projet.xcode.gen"
(pour notre exemple "iOS Gestion Produits.xcode.gen"). C’est ce répertoire qui doit être copié
sur le Mac. Cliquez sur le bouton "Ouvrir le répertoire de génération".

La suite des manipulations doit être effectuée sur le Mac. Nous ne détaillerons pas ici ces mani-
pulations. Pour plus de détails, consultez l’aide en ligne.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 135
Leçon 3.5. Diffusion de l’application

Ce que vous allez apprendre dans cette leçon ...

• Modes de distribution disponibles

Durée estimée : 5 min

136 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Présentation
WinDev Mobile permet le développement d’applications pour le système d’exploitation iOS.
Lorsque les applications sont créées, développées, testées, il ne reste plus qu’à les déployer.

Déploiement
Il existe 3 méthodes pour déployer l’application sur un matériel (Device) de type iPhone ou iPad.
• Via App Store : Ce type de distribution vous permet de distribuer sans limites votre application
via le réseau de vente de l’App Store. Votre application inclura la signature liée à votre certificat
mais ne sera pas liée à un appareil unique.
• Via un réseau In-House : Ce type de distribution vous permet de distribuer votre application via
un serveur Web à un réseau d’utilisateurs faisant partie d’une entreprise. Ce type de distribu-
tion nécessite de s’inscrire au programme iOS Developer Entreprise. Votre application inclura la
signature liée à votre certificat mais ne sera pas liée à un appareil unique.
• Via un réseau Ad Hoc : Ce type de distribution vous permet d’installer l’application sur une flotte
contenant jusqu’à 100 appareils (de type iPhone ou iPad). L’application devra être recompilée
pour le matériel cible en incluant le certificat pour la signature ainsi que l’identifiant unique de
l’appareil.

Attention : Pour pouvoir tester et/ou déployer l’application sur un matériel (iPhone ou iPad), vous
devez vous enregistrer auprès de l’ iOS Developer Program. Cette inscription est payante. Vous
pouvez consulter la liste des programmes d’inscription à l’adresse suivante :
http://developer.apple.com/programs/which-program/
Il existe 3 types d’inscription :
• iOS Developer Program - Individuals
• iOS Developer Program - Organizations
• iOS Developer Enterprise Program

Cette inscription permet d’obtenir un certificat développeur qui permet de signer vos applications
pour les compiler et les rendre distribuables. Ce certificat est actuellement payant. Ce certificat
développeur est nécessaire même pour une simple installation pour test (debug) sur un matériel
(device).

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 137
Leçon 3.6. Questions/Réponses

Ce que vous allez apprendre dans cette leçon ...

• Questions / Réponses

Durée estimée : 10 mn

138 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Questions / Réponses

Question Comment utiliser la messagerie interne au matériel ?

Vous pouvez envoyer des messages en utilisant l’application native d’envoi d’emails de l’appareil.
Vous devez pour cela :
• initialiser les informations de la structure Email.
• utiliser la fonction EmailLanceAppli.

Question Comment envoyer un email directement ?

Vous pouvez envoyer des emails en utilisant les fonctions email du WLangage.

Exemple d’envoi d’emails :


MonMessage est un Email

// Mise à zéro de la variable


EmailRAZ(MonMessage)

MonMessage..Expediteur = SAI_Expediteur
MonMessage..Sujet = SAI_SUJET
MonMessage..Message = SAI_CORPS
Ajoute(MonMessage..Destinataire, SAI_Adr_Destinataire)

// Ouverture une session SMTP


MaSession est un EmailSessionSMTP
MaSession..AdresseServeur = sServeur
SI EmailOuvreSession(MaSession) = Faux ALORS RETOUR

// Envoi du message
EmailEnvoieMessage(MaSession, MonMessage)

// Fermeture de la session
EmailFermeSession(MaSession)

Question Comment dialoguer avec un serveur FTP ?

Le système iOS permet de se connecter à un serveur FTP pour envoyer ou récupérer des fichiers.
Pour cela, vous devez utiliser les fonctions suivantes :
• FTPConnecte pour se connecter au serveur FTP
• FTPDéconnecte pour se déconnecter
• FTPEnvoie pour envoyer un fichier du matériel vers le serveur FTP
• FTPRécupère pour récupérer un fichier du serveur vers le matériel.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 139
Exemple d’envoi de fichiers sur un serveur FTP :
// Connexion à un serveur FTP
nConnexion est un entier
nConnexion = FTPConnecte("Adresse du serveur FTP")
ResEnvoie = FTPEnvoie(NumConnexion, "/sdcard/photo.jpg", ...
"/Temp")
// Déconnexion
FTPDéconnecte(nConnexion)

Question Comment utiliser le GPS de l’appareil et les fonctions de


géolocalisation ?

Le système iOS possède des fonctions de gestion du GPS et de géolocalisation. Selon le matériel,
les fonctions GPS utiliseront la puce GPS du matériel ou un système de triangulation en passant
par les réseaux sans fil.

Pour cela, vous devez utiliser les fonctions suivantes :


• GPSInitParamètre pour initialiser le GPS (choix du système de localisation...)
• GPSRécupèrePosition pour récupérer la position actuelle
• géoDistance pour récupérer la distance entre 2 positions
• géoLanceAppli pour lancer l’application native de cartographie de l’appareil
• géoRécupèreAdresse pour récupérer une adresse ou une liste d’adresses par rapport à un lieu
• etc.

Exemple d’utilisation des fonctions GPS :


// Recherche d’un fournisseur de localisation
// capable de renseigner sur la vitesse
// consommant une quantité moyenne d’énergie et
// fournissant une précision de mesure élevée
GPSInitParamètre(gpsAuto, gpsPrécisionElevée + ...
gpsVitesse + gpsEnergieMoyenne)
MaPosition est une géoPosition
MaPosition = GPSRécupèrePosition()
Info(" Latitude : " + MaPosition..Latitude)
Info(" Longitude : " + MaPosition..Longitude)

Attention :
Au premier lancement d’une fonction GPS, le système demande à l’utilisateur l’autorisation d’ef-
fectuer une géolocalisation. En cas de refus de l’utilisateur, toutes les fonctions GPS utilisées
dans la suite de l’application échoueront.
Pour réautoriser l’utilisation du GPS pour cette application, il est nécessaire de modifier la configu-
ration système de l’application.

140 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Question Comment afficher un graphe dans une application iOS ?

WinDev Mobile possède un champ de type Graphe. Vous pouvez donc à l’aide de ce champ dessi-
ner un graphe de type secteur, histogramme, courbe, ... dans une application iOS.
Le principe est le suivant :
1. Calculez à l’aide d’une requête ou de procédures en WLangage les valeurs à représenter
dans le graphe.
2. Créez un champ Graphe dans une fenêtre (sous le volet "Création", dans le groupe "Champs
graphiques", cliquez sur "Graphe").
3. Dans l’assistant de création du champ Graphe, indiquez la source des données du graphe
(requête, fichier, par programmation...)

Le graphe créé peut ensuite être modifié par programmation grâce aux fonctions du WLangage.
La famille de fonctions manipulant un champ Graphe commence par les lettres "gr" :
• grDessine
• grLégende
• grTitre
• grAjouteDonnée
• etc.

Question Comment appeler du code natif Objective C depuis mon application


iOS ?

Lorsque vous développez une application iOS avec WinDev Mobile, le code natif est en Objective
C. Le WLangage est traduit en Objective C lors de la compilation. Il est donc possible depuis l’envi-
ronnement WinDev Mobile d’intégrer des procédures natives en langage Objective C. Pour cela,
vous devez :
• créer une collection de procédures globales
• créer une procédure globale
• cliquer sur le bandeau de l’entête de la procédure (là où se trouve le mot WL).

Le bandeau d’entête se transforme et devient de couleur bleu pâle. Le mot WL est transformé en
ObjC.

Il ne reste plus qu’à saisir ou copier du code natif Objective C.

Attention : Vérifiez que le code que vous saisissez ou que vous copiez est correctement écrit :
WinDev Mobile ne vérifie pas la complétion. Vous n’aurez des erreurs qu’à la compilation du projet
dans Xcode.

Remarque : Il est également possible d’intégrer des librairies personnelles (.h et .a) ou des librai-
ries système (exemple : MediaPlayer.framework).

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 141
142 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
PARTIE 4

Application
Windows Store
apps
144 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 4.1. Mon premier projet
Windows Store apps

Ce que vous allez apprendre dans cette leçon ...

• Configuration nécessaire
• Créer un projet Windows Store apps
• Ma première fenêtre
• Mon premier test
• Premier déploiement

Durée estimée : 40 min

WinDev Mobile 20 version "Express" :


Le développement d’applications en mode "Windows Store Apps"
n’est pas disponible dans cette version d’évaluation

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 145
Présentation
Pour commencer à utiliser WinDev Mobile, nous allons simplement créer un premier projet. Ce
projet contiendra une fenêtre permettant d’afficher un message.
Ce premier exemple permettra de présenter rapidement les bases du développement avec Win-
Dev Mobile.
Mais avant de créer notre premier projet pour Windows Store apps, une configuration du poste de
développement est nécessaire.

Configuration nécessaire pour les applications Windows


Store apps
Pour développer une application WinDev Mobile pour Windows Store apps, il est nécessaire d’ins-
taller sur le poste de développement les éléments suivants :
• Le SDK Windows 8 de Microsoft. Le SDK pour Windows 8 (Software Development Kit ou Kit de
développement logiciel) est un ensemble de fichiers et d’applications distribué par Microsoft
afin de permettre la compilation d’applications pour le système d’exploitation Windows 8.
• Le pack de librairies redistribuable Microsoft. Ces librairies sont nécessaires pour générer une
application Windows Store apps.
• Une licence développeur pour Windows 8.
Remarque : Le développement d’un projet pour Windows Store apps peut être réalisé sur n’im-
porte quel système. Cependant, le poste de développement doit être sous Windows 8 pour compi-
ler et créer l’application Windows Store apps.
Pour plus de détails (adresses de téléchargement, ...), consultez l’aide en ligne.

Mon premier projet

Création du projet
Nous allons créer notre premier projet en mode Windows Store apps.

Un projet corrigé est disponible. Pour ouvrir ce projet, sous le volet "Accueil",
Corrigé

dans le groupe "Aide en ligne", déroulez "Guide d’auto-formation" puis sélection-


nez "Mon projet Windows Store apps (Corrigé)".

Pour créer un projet :


1. Lancez WinDev Mobile 20 (si ce n’est déjà fait). Si nécessaire, fermez le projet en cours pour
faire apparaître la fenêtre de bienvenue.
2. Dans la fenêtre de bienvenue, cliquez sur l’icône "Créer un projet" puis sur "Application
Windows Store apps".

146 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
L’assistant de création d’un projet se lance. Les différents écrans de l’assistant vont vous ai-
der à créer votre projet. Tous les renseignements indiqués dans cet assistant pourront être
modifiés par la suite.
Astuce : Autre méthode pour créer un projet :
Notes

1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev


Mobile.
2. La fenêtre de création d’un nouvel élément s’affiche : cliquez sur "Projet".

3. Le premier écran de l’assistant permet de saisir le nom du projet, son emplacement et sa


description. Dans notre cas, ce projet va simplement s’appeler "Mon_Projet_WSA". Par défaut,
WinDev Mobile propose de créer ce projet dans le répertoire "\Mes Projets Mobile\Mon_Pro-
jet_WSA". Vous pouvez conserver cet emplacement ou le modifier grâce au bouton [...].

4. Passez à l’écran suivant à l’aide des flèches situées en bas.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 147
5. L’assistant propose d’ajouter des documents. Conservez les options par défaut et passez à
l’écran suivant.
6. L’écran suivant permet de paramétrer le répertoire du SDK Windows 8.

Note : Le chemin du SDK indiqué est mémorisé pour tous les projets futurs.
7. Dans la partie gauche de l’assistant, cliquez sur "Chartes". Cette étape permet de définir
la charte de programmation utilisée. Ne modifiez pas les options proposées. Passez à l’écran
suivant à l’aide des flèches situées en bas.
8. Cette étape permet de définir la charte graphique. Sélectionnez "Win 8 Blue".
9. Les autres étapes de l’assistant n’étant pas importantes pour notre premier projet, dans la
partie gauche de l’assistant, cliquez directement sur "Fin".
10. Cliquez sur le bouton de validation en bas de l’assistant. Le projet est automatiquement
créé. WinDev Mobile affiche les différentes actions possibles.
11. Cliquez sur "Editeur de WinDev Mobile".

Ma première fenêtre

Présentation
La première fenêtre que nous allons créer permet à l’utilisateur d’afficher un message de bienve-
nue grâce au bouton "Afficher".
Vous pouvez être tenté de dire que c’est trop simple, trop basique, mais nous vous conseillons de
réaliser cette fenêtre. Vous risquez d’être surpris par la facilité et l’intuitivité de l’éditeur de Win-
Dev Mobile. De plus, cette fenêtre vous permettra de découvrir des concepts fondamentaux pour
la suite de ce cours et de voir tout le processus de développement d’une application Windows
Store apps avec WinDev Mobile.

Création de la fenêtre

Pour créer la fenêtre :


1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev Mobile :

148 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
2. La fenêtre de création d’un nouvel élément s’affiche. Cette fenêtre permet de créer tous les
éléments pouvant être associés à un projet.
3. Cliquez sur "Fenêtre" puis sur "Fenêtre". L’assistant de création d’une fenêtre s’affiche.
4. Sélectionnez "Vierge" dans la liste des fenêtres affichée sur la gauche. Dans la liste des
gabarits présente sur la droite, le gabarit "Win 8 Blue" est sélectionné par défaut. Vous pouvez
choisir un autre gabarit proposé dans la liste.

Les gabarits permettent de créer rapidement des interfaces professionnelles. Un


Note

gabarit définit le look de la fenêtre mais également le look de tous les champs
qui seront utilisés dans cette fenêtre. Ainsi, aucune faute de goût n’est possible.

5. Validez. La fenêtre est automatiquement créée sous l’éditeur.


Enregistrez la fenêtre en cliquant sur parmi les boutons d’accès rapide. Au premier
enregistrement, une fenêtre spécifique s’affiche. Cette fenêtre propose de saisir :
• le titre de l’élément : saisissez "Bienvenue". Dans notre cas, ce titre sera affiché dans la
barre de titre de la fenêtre.
• le nom de l’élément, qui correspond au nom de la fenêtre. Ce nom sera utilisé en program-
mation. Par défaut, ce nom est composé de "FEN_" qui correspond à la charte de program-
mation et de "Bienvenue" qui correspond au titre de la fenêtre que vous venez de saisir.

Observez bien le nom de la fenêtre que WinDev Mobile propose par défaut : ce
nom commence par les lettres "FEN_". Ce préfixe est automatiquement ajouté
car le projet utilise une charte de programmation.
La charte de programmation permet de définir un préfixe pour chaque type d’ob-
jet et ainsi d’identifier rapidement l’élément manipulé :
Note

• une fenêtre commence par "FEN_",


• un bouton commence par "BTN_",
• etc.
Si vous ne voulez pas utiliser cette charte, il suffit de la débrancher : sous le volet
"Projet", dans le groupe "Autres actions", déroulez l’option "Charte" et décochez
l’option "Utiliser la charte".

• l’emplacement qui correspond au nom du fichier créé pour la fenêtre. La fenêtre est un fi-
chier d’extension "WPW", enregistré dans le répertoire du projet.

Validez en cliquant sur le bouton vert.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 149
Affichage d’un message
Vous allez maintenant créer un bouton permettant d’afficher un message.
Pour créer le bouton "Afficher" :
1. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur . Le bouton appa-
raît en création sous la souris.
2. Déplacez la souris dans la fenêtre vers la position où le champ doit être créé (par exemple
en haut de la fenêtre). Pour poser le champ dans la fenêtre, il suffit de faire un nouveau clic
gauche de souris.
3. Faites un clic droit de la souris sur le champ que vous venez de créer. Le menu contextuel
du champ apparaît. Dans ce menu contextuel, sélectionnez l’option "Description". La fenêtre
de description du bouton s’affiche.
Modifiez les caractéristiques du champ en saisissant les informations suivantes :

1. Ce champ a pour nom : "BTN_Afficher".


2. Ce champ a pour libellé : "Afficher"
Validez la fenêtre de description du champ (bouton vert). Le champ apparaît sous l’éditeur de
fenêtres.
Nous allons afficher un message dans une boîte de dialogue (une mini-fenêtre proposée par
le système). Pour cela, nous allons utiliser notre première fonction WLangage : la fonction
Info.
Notes

Le WLangage est le langage de programmation fourni avec WinDev Mobile. C’est


un langage de 5° génération (L5G), possédant des ordres évolués.

1. Sélectionnez à l’aide de la souris le bouton "Afficher" : il suffit de cliquer dessus.


2. Affichez le menu contextuel du champ (clic droit de la souris).
3. Sélectionnez l’option "Code". Cette option ouvre l’éditeur de code de WinDev Mobile, dans
lequel toutes les instructions WLangage peuvent être saisies.
4. Dans le traitement "Clic sur BTN_Afficher", saisissez le code suivant :
Info(“Bonjour”)

150 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Remarque sur l’aide à la saisie : Dès la saisie des deux premiers caractères, WinDev Mobile pro-
pose tous les mots du vocabulaire WLangage contenant ces caractères. L’assistance au dévelop-
pement est poussée très loin. Vous ne pouvez plus vous tromper en saisissant le nom d’un élé-
ment : les erreurs de syntaxes sont minimisées. Il suffit de sélectionner le mot désiré et de valider
par la touche [ENTREE]. Vous pourrez ainsi vous concentrer sur l’algorithme.

En saisissant ce code sous l’éditeur de code, vous constatez que les différents
éléments saisis utilisent des couleurs différentes. C’est la coloration syntaxique.
L’éditeur de code permet ainsi d’identifier rapidement les différents éléments
manipulés par le code :
• les fonctions du WLangage apparaissent en bleu,
Notes

• les chaînes de caractères (entre guillemets) apparaissent en violet,


• les noms de champs apparaissent en cyan.
Ces couleurs peuvent être modifiées élément par élément dans les options de
l’éditeur de code (sous le volet "Accueil", dans le groupe "Environnement", dérou-
lez "Options" et sélectionnez "Options de l’éditeur de code").

La fonction Info affiche le message passé en paramètre.


Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide ou en
utilisant la combinaison de touches [CTRL]+[S].
Fermez l’éditeur de code (croix en haut à droite de l’éditeur de code). La fenêtre réapparaît.
Premier test
Pour une application Windows Store apps, WinDev Mobile permet de tester directement l’applica-
tion sur le poste de développement grâce au mode simulation. Ce test réalise une simulation d’un
périphérique Windows Store apps sur le poste de développement.
Nous allons tester la fenêtre en mode simulation.
1. Cliquez sur parmi les boutons d’accès rapide (ou utilisez la touche [F9]).
2. Validez si nécessaire le message d’information concernant le mode simulateur.
3. La fenêtre que vous avez créée se lance en exécution, dans une coque correspondant à une
tablette.
4. Cliquez sur le bouton "Afficher".
5. Validez la fenêtre système qui s’affiche.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 151
Tout développeur sait que tester un programme est souvent long, voire fastidieux. Avec
WinDev, en UN CLIC, vous testez la fenêtre, l’état, ou la procédure que vous êtes en train de
réaliser. C’est à la fois simple et rapide !
Cliquez sur le bouton "x" situé dans la coque du simulateur pour fermer la fenêtre.
L’éditeur de WinDev Mobile réapparaît.
Premier déploiement local

Principe
Une application Windows Store apps peut être exécutée directement sur le poste de développe-
ment si le système utilisé est Windows 8. Pour exécuter l’application de manière autonome sur le
poste de développement, il suffit de :
• Générer l’application Windows Store apps sous WinDev Mobile.
• Le programme sera ensuite installé sur le poste. Il fonctionnera de manière autonome.
Nous allons voir en détail ces différentes étapes.

152 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Mise en place

Pour générer l’application Windows Store apps :


1. Sous le volet "Projet", dans le groupe "Génération", cliquez sur "Générer" (vous pouvez égale-
ment cliquer sur parmi les boutons d’accès rapide).
2. WinDev Mobile propose de sélectionner la première fenêtre du projet. Pour notre exemple,
sélectionnez la fenêtre "FEN_Bienvenue" et validez (bouton vert en bas de l’écran).
3. L’assistant de génération d’une application Windows Store apps se lance.
4. Le premier écran de l’assistant permet de sélectionner le mode de génération de l’applica-
tion. Il est possible de :
• Générer et déployer l’application sur une machine locale : nous allons choisir cette option.
• Générer l’application pour Windows Store : cette option permet de générer l’application
pour la diffuser via le store de Windows. Pour plus de détails, consultez l’aide en ligne.

5. Passez à l’écran suivant.


6. Indiquez les informations générales de l’application : le nom de l’application, la société et
le copyright.
7. Passez à l’écran suivant. Cet écran permet de définir le numéro de version de l’application.
8. Passez à l’écran suivant. Indiquez le chemin des différentes images de lancement de l’ap-
plication : image de la tuile, splash screen, ... Des images par défaut sont automatiquement
créées pour votre application. Indiquez également les caractéristiques de la tuile associée à
l’application.
9. Passez à l’écran suivant. Indiquez le message d’erreur personnalisé affiché par l’applica-
tion.
10. Passez à l’écran suivant. Cet écran permet d’intégrer des fichiers spécifiques (fichiers de
données, images, ...). Dans notre exemple, nous n’utiliserons pas cette possibilité. Conservez
les options par défaut.
11. Passez à l’écran suivant. Cet écran permet d’indiquer les fonctionnalités utilisées par l’ap-
plication. Dans cet exemple, ne cochez rien et passez à l’écran suivant.
12. Les applications Windows Store apps doivent être signées pour fonctionner. L’assistant
propose de générer un certificat ou d’utiliser un certificat existant. Dans ce dernier cas, il suf-
fit de sélectionner le certificat voulu.
Attention : Il est nécessaire de posséder et de générer un certificat sur le poste de développe-
ment pour signer l’application.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 153
Pour générer un nouveau certificat :
• Indiquez le nom du certificat à générer.
• Le plan suivant de l’assistant permet de créer le certificat.
• Cliquez sur le bouton "Créer le certificat" et renseignez les différents mots de passe deman-
dés.
• Validez l’installation du certificat sur le poste en cours.
• Saisissez à nouveau un mot de passe.
• L’explorateur Windows s’ouvre et affiche le certificat créé.
• Dans l’explorateur, affichez le menu contextuel du fichier (clic droit) et sélectionnez l’option
"Installer le certificat". L’assistant d’importation du certificat se lance.
• Dans l’assistant, sélectionnez l’emplacement de stockage "Ordinateur local". Cliquez sur
"Suivant".
• Sélectionnez l’option "Placer tous les certificats dans le magasin suivant".
• Cliquez sur le bouton "Parcourir" et sélectionnez le magasin "Autorités de certification ra-
cines de confiance".
• Cliquez sur le bouton "Suivant" jusqu’à la fin de l’assistant. Un message apparaît indiquant
que l’importation a réussi.
• Dans l’assistant, cochez l’option "Le certificat a été installé avec succès" et passez à l’écran
suivant.
13. Validez la génération de l’application Windows 8. L’application est générée et la tuile
correspondante est créée sur l’écran d’accueil de Windows 8. Vous pouvez immédiatement
lancer l’application.
Remarque : L’application générée peut être installée sur une tablette Windows 8. Pour plus de
détails, consultez l’aide en ligne.

154 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 4.2. Interface (IHM)

Ce que vous allez apprendre dans cette leçon ...

• Orientation de la fenêtre
• Gestion du tactile

Durée estimée : 20 min

WinDev Mobile 20 version "Express" :


Le développement d’applications en mode "Windows Store Apps"
n’est pas disponible dans cette version d’évaluation

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 155
Présentation
Les applications Windows Store apps sont disponibles aussi bien sur un PC de bureau (en mode
tuile) que sur des tablettes. WinDev Mobile permet de créer simplement des interfaces s’adaptant
au matériel utilisé.

Orientation de la fenêtre
Sur une tablette, une fenêtre peut avoir une des orientations suivantes :
• Bloquée en mode portrait,
• Bloquée en mode paysage,
• Libre : la fenêtre suit l’orientation du matériel.
Cette orientation est définie dans l’onglet "Détail" de la fenêtre de description de la fenêtre (option
"Description" du menu contextuel de la fenêtre).

Dans les deux premiers cas, aucune manipulation spécifique n’est nécessaire.
Dans le cas d’une fenêtre libre, la disposition des champs et leur taille doit s’adapter à l’orienta-
tion. Il faut utiliser le mécanisme de l’ancrage pour obtenir un résultat satisfaisant.

156 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Exemple pratique

Ouvrez si nécessaire le projet "Mon_Projet_WSA" que vous venez de créer dans la leçon
précédente.

Un projet corrigé est disponible. Pour ouvrir ce projet, sous le volet "Accueil",
Corrigé

dans le groupe "Aide en ligne", déroulez "Guide d’auto-formation" puis sélection-


nez "Mon projet Windows Store apps (Corrigé)".

Dans notre exemple, nous avons testé notre projet en mode portrait sous le simulateur.
Nous allons maintenant le tester en mode paysage sous le simulateur.
Lancez le test du projet ( parmi les boutons d’accès rapide).
1. La fenêtre apparaît en mode portrait.
2. Dans le simulateur, cliquez sur la flèche dans la coque ( ).
3. La fenêtre change d’orientation à l’écran.
4. Dans notre exemple, le bouton ne change pas de place : il ne s’adapte pas à l’orientation
de l’écran.

Nous allons maintenant modifier notre fenêtre pour que le bouton "Afficher" soit centré dans
la fenêtre et reste centré quelle que soit l’orientation du mobile.
Arrêtez le test et revenez sous l’éditeur.
Pour centrer le bouton dans la fenêtre :
1. Sélectionnez le bouton (clic sur le bouton).
2. Sous le volet "Alignement", dans le groupe "Centrage et répartition", cliquez sur "Centrer
dans le parent (horz)".

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 157
Pour que le bouton reste centré dans la fenêtre, nous allons utiliser l’ancrage du champ :
1. Sélectionnez le bouton (clic sur le bouton).
2. Affichez le menu contextuel (clic droit).
3. Sélectionnez l’option "Ancrage" : la fenêtre de définition des ancrages apparaît :

4. Sélectionnez "Centré horizontal" et validez (bouton vert).


Lancez le test du projet ( parmi les boutons d’accès rapide) :
• Le bouton est centré en mode portrait.
• Changez l’orientation du simulateur.
• Le bouton reste centré en mode paysage.

158 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 4.3. Bases de données

Ce que vous allez apprendre dans cette leçon ...

• Bases de données disponibles


• Synchronisation

Durée estimée : 10 min

WinDev Mobile 20 version "Express" :


Le développement d’applications en mode "Windows Store Apps"
n’est pas disponible dans cette version d’évaluation

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 159
Les bases de données disponibles

Présentation
Dans les applications Windows Store apps, seule la base de données HFSQL est accessible en
natif. Le mode Classic et le mode Client/Serveur sont tous les deux possibles.

Base de données de type HFSQL


HFSQL Classic
En mode HFSQL Classic, les fichiers de données sont stockés sur le matériel.
Dans ce cas, l’application est autonome. Il n’est pas nécessaire d’avoir une connexion Wi-Fi ou
3G.
Les données sont stockées dans la mémoire du matériel. La taille maximale de stockage dépend
de la capacité mémoire du matériel.
Dans la leçon "Programmation avancée", nous allons réaliser une application utilisant une base
de données HFSQL Classic.

HFSQL Client/Serveur
En mode HFSQL Client/Serveur, aucune donnée n’est stockée sur le matériel. Les données sont
stockées sur une machine sur laquelle est installé un serveur HFSQL.
Pour accéder à cette machine et donc à la base de données, il est nécessaire d’avoir activé
un moyen de communication avec le serveur dans l’application mobile (Wi-Fi ou 3G) afin de se
connecter via le réseau ou Internet.
Les temps de réponse vont bien entendu dépendre de la qualité du réseau Wi-Fi ou Internet et du
volume des données demandées.
L’accès aux données se fera à l’aide des fonctions WLangage Hxxx et/ou de requêtes SQL.

La synchronisation
Le mécanisme de synchronisation permet de "synchroniser" les données stockées sur un matériel
mobile avec les données stockées sur un serveur. La synchronisation utilise le mécanisme de la
"réplication universelle".
Cette technique est disponible aussi bien en WinDev, WebDev et WinDev Mobile.

Pour plus de détails, consultez l’aide en ligne (mot-clé : "Réplication").

160 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Accès aux données au travers d’un Webservice
Une autre méthode permet également d’accéder à des données sur un serveur depuis un appa-
reil mobile : l’utilisation d’un Webservice.

Dans ce cas, l’appareil mobile doit disposer d’une connexion Wi-Fi ou 3G pour se connecter au
Webservice.
L’application mobile n’accède pas en direct à la base de données. L’application appelle des fonc-
tions du Webservice. Ces fonctions retournent les données.
C’est le Webservice qui accède à la base de données.

Cette technique permet par exemple d’avoir une couche métier (le Webservice) commune à plu-
sieurs types d’applications et d’interfaces (WinDev, WebDev ou WinDev Mobile) et différents types
de systèmes d’exploitation (Windows, Android, iOS, ...).

Pour plus de détail, consultez l’aide en ligne (mot-clé : "Webservice").

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 161
Leçon 4.4. Programmation avancée

Ce que vous allez apprendre dans cette leçon ...

• Créer une application de gestion


• Champs spécifiques : Zone répétée
• Manipulation de la base de données
• Fonctionnalités spécifiques à l’appareil utilisé (Photo, ...)

Durée estimée : 1 h 30 mn

WinDev Mobile 20 version "Express" :


Le développement d’applications en mode "Windows Store Apps"
n’est pas disponible dans cette version d’évaluation

162 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Présentation
Dans cette leçon, nous allons réaliser une application Windows Store apps utilisant une base de
données HFSQL Classic.
Cette application va nous permettre de détailler plusieurs points spécifiques de la programmation
Windows Store apps.

Ouverture du projet

Lancez WinDev Mobile 20 (si ce n’est déjà fait). Si nécessaire, fermez le projet en cours pour
faire apparaître la fenêtre de bienvenue.
Ouvrez le projet "WSA Gestion Produits".
Pour cela, dans la fenêtre de bienvenue, cliquez sur "Cours d’auto-formation" et sélectionnez
le projet "Gestion de Produits Windows Store apps (Exercice)".
Astuce : si la fenêtre de bienvenue n’est pas affichée, il est possible sous le volet "Accueil",
dans le groupe "Aide en ligne" de dérouler l’option "Guide d’Auto-formation" puis de sélection-
ner l’option "Gestion de Produits Windows Store apps (Exercice)".

Un projet corrigé est disponible. Ce projet contient les différentes fenêtres créées
Corrigé

dans cette leçon. Pour ouvrir le projet corrigé, sous le volet "Accueil", dans le
groupe "Aide en ligne", déroulez l’option "Guide d’auto-formation" puis sélection-
nez "Gestion de Produits Windows Store apps (Corrigé)".

Description du projet
Examinons notre projet de départ. Ce projet est un projet déjà créé. Il ne contient aucune fenêtre.
Il contient uniquement l’analyse décrivant les fichiers de données HFSQL Classic que nous allons
utiliser. Dans le répertoire EXE, les fichiers de données correspondants sont fournis avec des
données pour réaliser les différents tests.
Pour visualiser l’analyse associée au projet :
1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev Mobile.
2. L’éditeur d’analyses s’affiche.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 163
3. Cette analyse est composée de 3 fichiers de données :
• Un fichier "Produit", qui contient la description du produit : nom, prix, quantité, ...
• Un fichier "Caractéristique", qui contient les différentes caractéristiques du produit. Par
exemple, si le produit est un t-shirt, ses caractéristiques correspondront à la taille, la cou-
leur, ... Le fichier "Caractéristique" est donc lié au fichier "Produit".
• Un fichier "Magasin", qui contient pour chaque magasin, ses coordonnées GPS.
4. Fermez l’éditeur d’analyses (cliquez sur la croix en haut à droite de l’éditeur).
Nous allons maintenant commencer le développement de notre application.
Attention!

Dans cette partie, les différents tests seront réalisés uniquement en mode simu-
lation sous WinDev Mobile. En effet, le déploiement de l’application Windows
Store apps est relativement long.

Afficher la liste des produits


Nous allons tout d’abord créer une fenêtre permettant de lister les différents produits proposés.
Ces produits vont être affichés dans un champ de type "Zone répétée".

Création de la fenêtre

Pour créer une nouvelle fenêtre :


1. Cliquez sur parmi les boutons d’accès rapide. La fenêtre de création d’un nouvel élément
s’affiche : cliquez sur "Fenêtre" puis sur "Fenêtre". Dans l’assistant, sélectionnez l’onglet "Stan-
dard", choisissez "Vierge" et validez.
2. Enregistrez la fenêtre en cliquant sur parmi les boutons d’accès rapide.
3. Dans la fenêtre qui s’affiche, saisissez le titre de la fenêtre : "Liste des produits". Automati-
quement, le nom et l’emplacement de la fenêtre sont renseignés. Conservez les valeurs par
défaut et validez (bouton vert en bas de l’écran).
4. La fenêtre est ajoutée au projet.

Création du champ Zone répétée


Pour afficher la liste des produits, nous allons utiliser un champ de type "Zone Répétée". Dans ce
champ, les principales informations sur les produits vont être affichées.
Pour créer le champ "Zone répétée" :
1. Sous le volet "Création", dans le groupe "Données", déroulez "Zone répétée" et sélectionnez
"Zone répétée (verticale)". Le champ apparaît sous la souris.
2. Cliquez dans la fenêtre à la position où le champ doit être créé (par exemple en haut).
L’assistant de création d’un champ Zone répétée se lance.
3. Dans l’assistant, sélectionnez l’option "Afficher les données provenant d’un fichier ou d’une
requête". Passez à l’écran suivant.
4. Sélectionnez le fichier "Produit". Passez à l’écran suivant.

164 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
5. Sélectionnez les rubriques à afficher :

6. Conservez les rubriques "Nom", "Description" et "Prix" (une coche doit être présente devant
ces rubriques). Passez à l’écran suivant.
7. Conservez la rubrique de tri proposée (IDProduit). Les produits seront triés dans le champ
Zone répétée suivant cette rubrique. Passez à l’écran suivant.
8. Dans l’écran "Paramètres supplémentaires", conservez les options par défaut. Passez à
l’écran suivant.
9. Conservez le nom par défaut "ZR_Produit" et validez.
10. Le champ Zone répétée apparaît sous l’éditeur de fenêtres. Par défaut, le champ Zone
répétée s’adapte automatiquement à l’espace disponible dans la fenêtre.

Dans la fenêtre affichée sous l’éditeur, des données apparaissent automatique-


ment. Ce concept se nomme "Live Data" : vous voyez les données présentes
Notes

dans vos fichiers de données en temps réel !


Cette fonctionnalité est très utile, notamment pour adapter la taille des champs
à leur contenu.

Enregistrez la fenêtre en cliquant sur parmi les boutons d’accès rapide.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 165
Nous allons effectuer un premier test dans le simulateur pour visualiser le résultat. Cliquez
sur parmi les boutons d’accès rapide (ou utilisez la touche [F9]).

Fermez le simulateur pour revenir sous l’éditeur de fenêtres.


Amélioration de la fenêtre
Nous avons vu dans la leçon précédente, l’importance des ancrages. Nous allons tout de suite
appliquer un ancrage au champ Zone répétée que nous venons de créer afin qu’il soit automati-
quement redimensionné en fonction de l’orientation de la tablette.
Pour ancrer le champ Zone répétée :
1. Sélectionnez le champ Zone répétée.
2. Affichez le menu contextuel du champ (clic droit) et sélectionnez l’option "Ancrage".
3. Dans la fenêtre qui s’affiche, sélectionnez l’option .
4. Validez. Les flèches rouges indiquant les options d’ancrage apparaissent dans la fenêtre.

Création d’un bouton pour fermer la fenêtre


Nous allons maintenant ajouter un bouton "Fermer" : ce bouton permettra à l’utilisateur de fermer
la fenêtre (et dans notre cas de fermer l’application).
Pour créer le bouton "Fermer" :
1. Redimensionnez le champ Zone répétée pour pouvoir créer un bouton en bas de la fenêtre.
2. Sous le volet "Création", dans le groupe "Champs usuels", déroulez "Bouton" (cliquez sur la
flèche située sous ).
3. La liste des boutons prédéfinis s’affiche.

166 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour certains types de champs, WinDev Mobile propose une liste de champs
prédéfinis. Ces champs sont des champs avancés, configurés pour effectuer
Notes

une action spécifique.


Par exemple, le bouton "Fermer" proposé par la liste des champs prédéfinis
contient le code nécessaire à son exécution.

4. Cliquez sur "Fermer" : la forme du bouton apparaît sous la souris. Cliquez ensuite en bas à
gauche de la fenêtre pour créer le bouton.
5. Redimensionnez si nécessaire le bouton créé.
Testez la fenêtre ( parmi les boutons d’accès rapide). Cliquez sur le bouton "Fermer". La
fenêtre se ferme et l’éditeur réapparaît.

Création de la fenêtre fiche


Maintenant, nous allons créer une nouvelle fenêtre servant à afficher la fiche du produit. Ensuite,
cette fenêtre sera lancée depuis la liste des produits pour afficher le détail du produit sélectionné.

Création de la fenêtre

Pour créer la fenêtre fiche :


1. Créez une nouvelle fenêtre vierge.
• Cliquez sur parmi les boutons d’accès rapide.
• La fenêtre de création d’un nouvel élément s’affiche : cliquez sur "Fenêtre" puis sur "Fe-
nêtre". Dans l’assistant, choisissez "Vierge" et validez.
2. Enregistrez la fenêtre. Indiquez le titre de la fenêtre : "Fiche du produit". Son nom est auto-
matiquement proposé : "FEN_Fiche_du_produit". Validez.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 167
Création des champs

Pour créer un champ de saisie :


1. Affichez le volet "Analyse" si nécessaire (sous le volet "Accueil", dans le groupe "Environne-
ment", déroulez "Volets" et sélectionnez "Analyse"). Les différents fichiers de données décrits
dans l’analyse "WSA Gestion Produits" apparaissent dans le volet.
2. Sélectionnez à l’aide de la souris les rubriques du fichier "Produit" affichées dans le volet
(sauf la rubrique "IDProduit").
3. Effectuez un "Drag and Drop" (glisser/déplacer) de ces rubriques vers la fenêtre que vous
venez de créer.

4. Modifiez la taille du champ "Description" afin qu’il soit visible dans la fenêtre.
5. Réorganisez les champs dans la fenêtre. Respectez l’ordre suivant : "Photo", "Nom", "Prix",
"Quantité", "Code-barres", "Date de réapprovisionnement", "Description".

6. Nous allons visualiser l’ordre de navigation dans la fenêtre : appuyez sur la touche [F5]. Les
numéros qui s’affichent représentent l’ordre de navigation dans la fenêtre. Appuyez à nouveau
sur la touche [F5] pour faire disparaître les numéros. L’ordre de navigation s’adapte automati-
quement à l’ordre des champs dans la fenêtre.
7. Enregistrez la fenêtre.

168 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Arrêtons-nous un instant sur l’ancrage des champs de cette fenêtre. Nous allons ancrer le
champ "Nom" et le champ "Description".
1. Pour le champ "Nom" :
• Sélectionnez le champ "Nom" et faites un clic droit de souris.
• Dans le menu contextuel qui s’affiche, sélectionnez l’option "Ancrage".
• Le champ va s’étirer vers la droite : choisissez l’option et validez.
2. Pour le champ "Description" :
• Sélectionnez le champ "Description" et faites un clic droit de souris.
• Dans le menu contextuel qui s’affiche, sélectionnez l’option "Ancrage".
• Le champ va s’étirer vers la droite et vers le bas : choisissez l’option et validez.
Testez la fenêtre ( parmi les boutons d’accès rapide). La fenêtre apparaît avec tous les
champs vides.
Pour afficher les données du produit :
1. Affichez les traitements associés à la fenêtre :
• Dans la zone à côté de la fenêtre, faites un clic droit de souris
• Dans le menu contextuel qui s’affiche, sélectionnez "Code".
• L’éditeur de code apparaît.
2. Dans le traitement "Fin d’initialisation de FEN_Fiche_du_produit", saisissez le code suivant :
FichierVersEcran()

La fonction FichierVersEcran permet d’afficher dans les champs les données présentes dans
le fichier de données pour l’enregistrement en cours.
3. Fermez la fenêtre de code.
4. Enregistrez la fenêtre.

Affichage de la fiche depuis la liste des produits


Nous allons maintenant voir comment afficher la fiche du produit sélectionné dans la liste des
produits.
Effectuez les opérations suivantes :
1. Placez-vous sur la fenêtre "Liste des produits" : cliquez sur le bouton "FEN_Liste_des_pro-
duits" dans la barre des boutons :

2. Faites un clic droit sur le champ Zone répétée et dans le menu qui s’affiche, sélectionnez
l’option "Code".
3. Dans la fenêtre de code qui apparaît, saisissez le code suivant dans le traitement "Sélec-
tion d’une ligne de ..." :
OuvreFenêtreMobile(FEN_Fiche_du_produit)

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 169
Laissez-vous guider par l’assistance à la saisie de code : dès que vous allez ta-
per la parenthèse ouvrante "(", une liste déroulante va s’ouvrir proposant le nom
de toutes les fenêtres existantes dans le projet. Il suffit de sélectionner la fenêtre
Notes

au clavier ou à la souris.
Si vous ne trouvez pas le nom de la fenêtre que vous cherchez dans la liste, c’est
que celle-ci n’a pas été sauvegardée précédemment.

4. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
5. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Testez la fenêtre à nouveau sous le simulateur ( parmi les boutons d’accès rapide).
• Dans la liste des produits, cliquez sur un des produits avec la souris.
• La fenêtre de détail du produit s’affiche.
Fermez le simulateur.
Gestion de la création et de la modification d’un produit
Nous allons maintenant modifier nos deux fenêtres afin de gérer l’ajout et la modification d’un
produit.

Modification de la fiche produit


Nous allons rajouter 2 boutons dans la fenêtre "FEN_Fiche_du_produit" :
• un bouton "Valider" pour gérer la validation des modifications.
• un bouton "Annuler" pour gérer le retour à la liste des produits.
Tout d’abord, affichez si nécessaire la fenêtre "FEN_Fiche_du_produit" sous l’éditeur : cliquez
sur le bouton correspondant dans la barre de boutons.
Pour créer le bouton "Annuler" :
1. Sous le volet "Création", dans le groupe "Champs usuels", déroulez "Bouton" (cliquez sur la
flèche située sous ).
2. La liste des boutons prédéfinis s’affiche.
3. Cliquez sur "Annuler" : la forme du bouton apparaît sous la souris. Cliquez ensuite en bas à
droite de la fenêtre pour créer le bouton.
Nous allons ensuite ajouter le bouton "Valider" sur le même principe.
1. Sous le volet "Création", dans le groupe "Champs usuels", déroulez "Bouton" (cliquez sur la
flèche située sous ).
2. La liste des boutons prédéfinis s’affiche.
3. Cliquez sur "Valider" : la forme du bouton apparaît sous la souris. Cliquez ensuite en bas de
la fenêtre pour créer le bouton.
Nous allons maintenant saisir le code du bouton "Valider".
1. Faites un clic droit sur le bouton puis sélectionnez l’option "Code" dans le menu contextuel.
2. Dans le traitement "Clic sur", saisissez le code suivant :
EcranVersFichier()
HModifie(Produit)
Ferme()

170 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Examinons ce code :
• La fonction EcranVersFichier permet d’initialiser les rubriques avec les valeurs des champs
liés, pour l’enregistrement courant.
• La fonction HModifie permet de mettre à jour les données du fichier pour l’enregistrement
courant.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Lors de la fermeture de la fiche du produit, il est nécessaire de rafraîchir le contenu de la liste
des produits présente dans la fenêtre "FEN_Liste_des_produits" pour prendre en compte les
modifications réalisées dans la fiche.
Il suffit pour cela d’utiliser le traitement "Fermeture d’une fenêtre fille" de la fenêtre "FEN_
Liste_des_produits".
1. Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur de fenêtres.
2. Faites un clic droit sur le fond de la fenêtre et dans le menu qui s’affiche, sélectionnez
l’option "Code". Dans le traitement "Fermeture d’une fenêtre fille", saisissez le code suivant :
ZoneRépétéeAffiche(ZR_Produit, taCourantBandeau)
Examinons ce code :
• Le traitement "Fermeture d’une fenêtre fille" est exécuté à chaque fois qu’une fenêtre fille
de la fenêtre en cours est fermée. Dans notre cas, il est donc exécuté lorsque la fenêtre
"FEN_Fiche_du_produit" est fermée.
• La fonction ZoneRépétéeAffiche permet de mettre à jour les données du champ Zone répé-
tée de la fenêtre "FEN_Liste_des_produits". Grâce à la constante taCourantBandeau, la
mise à jour est effectuée à partir de l’enregistrement en cours dans le fichier de données.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Lancez le test de la fenêtre "FEN_Liste_des_produits" sous le simulateur ( parmi les
boutons d’accès rapide).
• Dans la liste des produits, cliquez sur un des produits avec la souris : par exemple, le pro-
duit "Polo Hibbicus Bleu" au prix de 25,90 euros.
• La fenêtre de détail du produit s’affiche. Modifiez le prix de 25,90 euros et saisissez
19,90 euros puis ensuite cliquez sur le bouton "Valider".
• De retour sur la liste des produits, vous pouvez constater que le prix de cet article a été mis
à jour.
Fermez le simulateur. L’éditeur de WinDev Mobile est affiché.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 171
Création d’un nouveau produit
Le principe de la création d’un produit va être le suivant :
• Dans la fenêtre de la liste des produits, nous allons ajouter un bouton "Nouveau produit" qui va
permettre d’ouvrir la fenêtre "Fiche du produit".
• Nous modifierons ensuite le code de la fenêtre "Fiche du produit" pour gérer l’ajout dans le
fichier de données Produit.
Pour ajouter un bouton dans la liste des produits :
1. Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur.
2. Sous le volet "Création", dans le groupe "Champs usuels", déroulez "Bouton" (cliquez sur la
flèche située sous ).
3. La liste des boutons prédéfinis s’affiche.
4. Cliquez sur "Nouveau" : la forme du bouton apparaît sous la souris. Cliquez ensuite en bas
de la fenêtre pour créer le bouton (à gauche du bouton "Fermer").
5. Sélectionnez le champ puis tapez sur la touche [ENTREE] du clavier. Le libellé du bouton
passe en édition. Saisissez "Nouveau produit" et appuyez sur la touche [ENTREE] du clavier.
6. Agrandissez si nécessaire la taille du bouton (à l’aide des poignées de redimensionnement)
pour que le libellé s’affiche en entier.

7. Le code de ce bouton va permettre d’ouvrir la fenêtre "Fiche du produit", en mettant ses


champs à vide. Pour saisir ce code :
• Faites un clic droit sur le champ.
• Dans le menu contextuel qui s’affiche, sélectionnez l’option "Code".
• Dans le traitement "Clic sur", saisissez le code suivant :
HRAZ(Produit)
OuvreFenêtreMobile(FEN_Fiche_du_produit)

La fonction HRaz initialise les variables des rubriques du fichier Produit avec les valeurs par dé-
faut pour gérer un nouvel enregistrement.
8. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
9. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).

172 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Maintenant, nous allons modifier la fenêtre de la fiche du produit pour gérer l’ajout d’un
nouvel enregistrement.
1. Affichez la fenêtre "FEN_Fiche_du_produit" sous l’éditeur.
2. Nous allons modifier le code du bouton de validation :
• Faites un clic droit sur le bouton puis sélectionnez l’option "Code" dans le menu contextuel.
• Dans le traitement "Clic sur", remplacez le code par le code suivant :
EcranVersFichier()
SI Produit..NouvelEnregistrement ALORS
HAjoute(Produit)
SINON
HModifie(Produit)
FIN
Ferme()

Examinons ce code :
• La propriété ..NouvelEnregistrement permet de savoir si l’enregistrement en cours doit être
créé.
• Si la fonction HRaz a été appelée précédemment, la propriété renvoie Vrai (cas du clic sur
"Nouveau produit") et l’enregistrement doit être créé par la fonction HAjoute.
• Dans le cas contraire, l’enregistrement en cours existe déjà et doit être modifié par la fonc-
tion HModifie.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur de fenêtres.
Lancez le test de la fenêtre "FEN_Liste_des_Produits" sous le simulateur ( parmi les
boutons d’accès rapide).
• Dans la liste des produits, cliquez sur le bouton "Nouveau produit".
• Saisissez un nouveau produit.
• Validez. Le nouveau produit apparaît dans la liste des produits.
• Fermez le simulateur.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 173
Utilisation de l’appareil photo et affichage d’une image

Présentation
Nous allons gérer la photo du produit. Nous allons utiliser l’appareil photo du matériel.
Nous allons créer un bouton pour lancer l’appareil photo. La photo sera récupérée sous la forme
d’une image en mémoire et affichée dans le champ Image du produit.

Création du bouton prise de photo

Pour créer le bouton de prise de la photo :


1. Affichez la fenêtre "FEN_Fiche_du_produit" sous l’éditeur.
2. Ajoutez un bouton dans la fenêtre :
• Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur : la forme du bou-
ton apparaît sous la souris.
• Cliquez ensuite en haut à droite de l’image du produit pour créer le bouton.
Nous allons modifier le bouton pour lui associer une image représentant un appareil photo :
1. Sélectionnez le bouton et affichez son menu contextuel (clic droit).
2. Sélectionnez "Description". La fenêtre de description du champ apparaît.
3. Dans l’onglet "Général", positionnez-vous sur la zone de saisie "Image" et cliquez sur le
bouton "Catalogue".
4. Le catalogue d’images de WinDev Mobile s’ouvre. Ce catalogue contient des milliers
d’images dans différents domaines, formats et tailles.
5. Dans la zone de recherche en haut, saisissez le mot "photo", puis sélectionnez le thème
"Windows 8" et validez. Plusieurs images apparaissent :

6. Sélectionnez par exemple, la première image en double-cliquant dessus.


7. Dans l’écran qui s’affiche, vous pouvez choisir la taille de l’image, la couleur, l’orientation,
son format et son nom.
• Augmentez la luminosité à +100%.
• Indiquez le nom de l’image "AppareilPhoto".
8. Validez la fenêtre.
9. Le chemin de l’image apparaît dans la description du bouton.
10. Donnez un nom au bouton : "BTN_AppareilPhoto".
11. Videz le libellé du bouton.
12. Validez la fenêtre de description.
13. Sous l’éditeur, réduisez la taille du bouton.

174 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prise de photo
Nous allons saisir maintenant le code pour prendre une photo et l’afficher dans le champ image
de la fiche produit.
Pour gérer la prise de photo :
1. Dans le menu contextuel du bouton (clic droit), sélectionnez l’option "Code".
2. Saisissez le code suivant dans le traitement "Clic sur" :
// Variable locale
sPhoto est une chaîne
// On lance l’appareil photo
sPhoto = VidéoLanceAppli(viCaptureImage)
SI sPhoto <> “” ALORS
IMG_Photo = sPhoto
FIN
Dans ce code, la fonction VidéoLanceAppli permet de lancer l’application caméra native de l’ap-
pareil afin d’enregistrer une vidéo ou de prendre une photo.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).

Tester l’application
Il reste un dernier réglage à effectuer, indiquer que la fenêtre "FEN_Liste_des_produits" est la
première fenêtre de l’application. Pour cela, nous allons indiquer quelle est la première fenêtre du
projet et lancer un test complet du projet.
Pour définir la première fenêtre du projet :
1. Sélectionnez la fenêtre "FEN_Liste_des_produits" dans l’explorateur de projet.
2. Affichez le menu contextuel.
3. Sélectionnez l’option "Première fenêtre du projet". Une icône spécifique (avec un petit 1)
apparaît alors devant le nom de la fenêtre, dans l’explorateur de projet.
Jusqu’à présent vous testiez les fenêtres de façon individuelle en cliquant sur parmi les bou-
tons d’accès rapide.
Pour lancer le test du projet :
1. Cliquez sur parmi les boutons d’accès rapide.
2. Votre projet démarre par la fenêtre permettant de lister les produits.

Voilà, notre application est terminée, il faut maintenant la compiler et l’installer sur votre poste
afin de tester.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 175
Générer l’application
Avant de générer l’application, assurez-vous que votre poste de développement est configuré pour
la génération d’applications de type Windows Store apps. Pour plus de détails, consultez "Configu-
ration nécessaire pour les applications Windows Store apps", page 146.
Pour générer l’application Windows Store apps :
1. Sous le volet "Projet", dans le groupe "Génération", cliquez sur "Générer" (vous pouvez égale-
ment cliquer sur parmi les boutons d’accès rapide).

Un message d’avertissement sur le certificat utilisé pour la génération peut ap-


Notes

paraître. Ce message vous informe que le certificat précédemment utilisé pour


générer l’application n’est pas trouvé sur le poste en cours. Il sera nécessaire de
recréer un certificat pendant la génération de l’application.

2. L’assistant de génération d’une application Windows Store apps se lance.


3. Le premier écran de l’assistant permet de sélectionner le mode de génération de l’applica-
tion. Sélectionnez l’option "Générer et déployer l’application sur une machine locale". Passez
à l’écran suivant.
4. Indiquez les informations générales de l’application : le nom de l’application, la société et
le copyright.
5. Passez à l’écran suivant en conservant les options par défaut jusqu’à l’écran intitulé "Inté-
gration de fichiers supplémentaires dans le package".
6. Cet écran permet d’intégrer des fichiers spécifiques (fichiers de données, images, ...). Dans
notre exemple, nous allons ajouter les fichiers de données utilisés par l’application :
• Cliquez sur le bouton "Ajouter".
• Sélectionnez les fichiers "Produit.xxx", "Magasin.xxx" et "Caractéristique.xxx" présents dans
le sous-répertoire EXE du projet.
• Pour pouvoir saisir des informations dans ces fichiers, cochez l’option "Ecriture" pour tous
ces fichiers.

7. Passez à l’écran suivant. Cet écran permet d’indiquer les fonctionnalités utilisées par l’ap-
plication. WinDev Mobile a automatiquement sélectionné les fonctionnalités utilisées dans
l’application (Microphone et Webcam). Conservez ces options et passez à l’écran suivant.

176 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
8. Les applications Windows Store apps doivent être signées pour fonctionner. L’assistant pro-
pose de générer un certificat ou d’utiliser un certificat existant. Si vous avez créé un certificat
lors de la génération de l’exemple "Mon_Projet_WSA" ou si vous possédez déjà un certificat,
sélectionnez ce certificat. Pour générer un nouveau certificat, consultez le paragraphe "Pre-
mier déploiement local", page 152.
9. Validez la génération de l’application Windows 8. L’application est générée et la tuile
correspondante est créée sur l’écran d’accueil de Windows 8. Vous pouvez immédiatement
lancer l’application.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 177
Leçon 4.5. Diffusion de l’application

Ce que vous allez apprendre dans cette leçon ...

• Modes de distribution disponibles

Durée estimée : 20 min

WinDev Mobile 20 version "Express" :


Le développement d’applications en mode "Windows Store Apps"
n’est pas disponible dans cette version d’évaluation

178 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Présentation
WinDev Mobile permet le développement d’applications Windows Store apps.
Lorsque les applications sont créées, développées, testées, il ne reste plus qu’à les déployer.

Déploiement
Une application en mode tuile peut être déployée :
• Directement sur le poste local. Nous avons vu la procédure à suivre dans les chapitres précé-
dents.
• Directement sur une tablette. Les différentes étapes sont détaillées dans l’aide en ligne (mots-
clés : "Installer, Une application sur une tablette"). Si vous possédez une tablette, nous vous
conseillons de réaliser cette installation.
• Via Windows Store. Cette méthode est le mode de diffusion classique d’une application en
mode tuile. L’assistant de génération d’une application Windows Store apps permet de générer
l’application pour un déploiement via Windows store.

Le déploiement via Windows Store nécessite plusieurs étapes :


• La certification locale avec le respect des critères de certification : Une application Windows
Store apps doit être validée par Microsoft avant de pouvoir être déployée sur Windows Store.
Microsoft met à votre disposition un outil de contrôle automatique de vos applications permet-
tant de valider les applications sur le poste de développement. Votre application doit passer
avec succès cette certification locale avant d’être publiée sur le store.
• La création d’un compte développeur Microsoft : Pour soumettre une application, vous devez
disposer d’un compte développeur Microsoft.
• La soumission pour le déploiement sur le store : A partir du tableau de bord de votre compte
développeur, il est possible de déposer une application sur le store. Un assistant vous permet
de saisir les différentes informations nécessaires. Pour finaliser le déploiement, l’application
est soumise à plusieurs tests manuels permettant d’obtenir la certification de l’application. Le
compte-rendu de certification vous sera envoyé par email. Si aucun problème n’est détecté,
l’application devient disponible sur le store.

Pour plus de détails sur les procédures de déploiement, consultez l’aide en ligne.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 179
180 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
PARTIE 5

Application
Windows
Mobile
182 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 5.1. Mon premier projet
Windows Mobile

Ce que vous allez apprendre dans cette leçon ...

• Créer un projet Windows Mobile


• Ma première fenêtre
• Mon premier test
• Premier déploiement

Durée estimée : 1 h

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 183
Présentation
Pour commencer à utiliser WinDev Mobile, nous allons simplement créer un premier projet. Ce
projet contiendra une fenêtre permettant d’afficher un message.
Ce premier exemple permettra de présenter rapidement les bases du développement avec Win-
Dev Mobile.

Mon premier projet

Création du projet
Nous allons créer notre premier projet pour Windows Mobile. Si vous possédez l’appareil mobile
(Smartphone ou Pocket PC) sur lequel l’application doit être exécutée, il est conseillé de connec-
ter cet appareil au poste de développement. Ainsi, les caractéristiques de l’appareil seront auto-
matiquement détectées et proposées lors de la création du projet Windows Mobile.

Un projet corrigé est disponible. Pour ouvrir ce projet, sous le volet "Accueil",
Corrigé

dans le groupe "Aide en ligne", déroulez "Guide d’auto-formation" puis sélection-


nez "Mon projet Pocket (Corrigé)".

Pour créer un projet :


1. Lancez WinDev Mobile 20 (si ce n’est déjà fait). Si nécessaire, fermez le projet en cours pour
faire apparaître la fenêtre de bienvenue.
2. Dans la fenêtre de bienvenue, cliquez sur l’icône "Créer un projet" puis sur "Application
Windows Mobile".

L’assistant de création de projet se lance. Les différents écrans de l’assistant vont vous aider
à créer votre projet. Tous les renseignements indiqués dans cet assistant pourront être modi-
fiés par la suite.

184 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Astuce : Autre méthode pour créer un projet :
Notes
1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev
Mobile.
2. La fenêtre de création d’un nouvel élément s’affiche : cliquez sur "Projet".

3. Le premier écran de l’assistant permet de saisir le nom du projet, son emplacement et


sa description. Dans notre cas, ce projet va simplement s’appeler "Mon_Projet_Pocket". Par
défaut, WinDev Mobile propose de créer ce projet dans le répertoire "\Mes Projets Mobile\
Mon_Projet_Pocket". Vous pouvez conserver cet emplacement ou le modifier grâce au bouton
[...].

4. Passez à l’écran suivant à l’aide des flèches situées en bas.


5. L’assistant propose d’ajouter des documents. Conservez les options par défaut et passez à
l’écran suivant.
6. L’écran suivant permet de détecter les paramètres de l’appareil connecté au PC.

• Si vous avez connecté votre appareil, cliquez sur "Cliquez ici pour détecter automatique-
ment l’appareil".
• Si vous ne possédez pas d’appareil, passez à l’écran suivant pour définir manuellement les
caractéristiques de l’appareil utilisé.
7. Si vous ne possédez pas d’appareil, l’écran suivant permet de choisir l’appareil à utiliser
pour le développement de votre application.
Attention : cet écran est important car la taille de vos fenêtres dépendra du choix effectué.
Pour notre exemple, sélectionnez "Windows Mobile 5 / 6". Passez à l’écran suivant.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 185
8. L’écran de description de votre appareil apparaît.

Passez à l’écran suivant.


9. Cette étape permet de définir la charte de programmation utilisée. Ne modifiez pas les
options proposées. Passez à l’écran suivant à l’aide des flèches situées en bas.
10. Cette étape permet de définir la charte graphique. Sélectionnez "Elegant".
11. Les autres étapes de l’assistant n’étant pas importantes pour notre premier projet, dans
la partie gauche de l’assistant, cliquez directement sur "Fin".
12. Cliquez sur le bouton de validation en bas de l’assistant. Le projet est automatiquement
créé. WinDev Mobile affiche les différentes actions possibles.
13. Cliquez sur "Editeur de WinDev Mobile".

Ma première fenêtre

Présentation
La première fenêtre que nous allons créer permet à l’utilisateur d’afficher un message de bienve-
nue grâce au bouton "Afficher".
Vous pouvez être tenté de dire que c’est trop simple, trop basique, mais nous vous conseillons de
réaliser cette fenêtre. Vous risquez d’être surpris par la facilité et l’intuitivité de l’éditeur de Win-
Dev Mobile. De plus, cette fenêtre vous permettra de découvrir des concepts fondamentaux pour
la suite de ce cours et de voir tout le processus de développement d’une application Windows
Mobile avec WinDev Mobile.

186 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Création de la fenêtre

Pour créer la fenêtre :


1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev Mobile :

2. La fenêtre de création d’un nouvel élément s’affiche. Cette fenêtre permet de créer tous les
éléments pouvant être associés à un projet.
3. Cliquez sur "Fenêtre" puis sur "Fenêtre". L’assistant de création d’une fenêtre se lance.
4. Sélectionnez "Vierge" dans la liste des fenêtres affichée sur la gauche. Dans la liste des
gabarits présente sur la droite, le gabarit "Elegant" est sélectionné par défaut. Vous pouvez
choisir un autre gabarit proposé dans la liste.

Les gabarits permettent de créer rapidement des interfaces professionnelles. Un


Note

gabarit définit le look de la fenêtre mais également le look de tous les champs
qui seront utilisés dans cette fenêtre. Ainsi, aucune faute de goût n’est possible.

5. Validez. La fenêtre est automatiquement créée sous l’éditeur.


Enregistrez la fenêtre en cliquant sur parmi les boutons d’accès rapide. Au premier
enregistrement, une fenêtre spécifique s’affiche. Cette fenêtre propose de saisir :
• le titre de l’élément : saisissez "Bienvenue". Dans notre cas, ce titre sera affiché dans la
barre de titre de la fenêtre.
• le nom de l’élément qui correspond au nom de la fenêtre. Ce nom sera utilisé en program-
mation. Par défaut, ce nom est composé de "FEN_" qui correspond à la charte de program-
mation et de "Bienvenue" qui correspond au titre de la fenêtre que vous venez de saisir.

Observez bien le nom de la fenêtre que WinDev Mobile propose par défaut : ce
nom commence par les lettres "FEN_". Ce préfixe est automatiquement ajouté
car le projet utilise une charte de programmation.
La charte de programmation permet de définir un préfixe pour chaque type d’ob-
jet et ainsi d’identifier rapidement l’élément manipulé :
Note

• une fenêtre commence par "FEN_",


• un bouton commence par "BTN_",
• etc.
Si vous ne voulez pas utiliser cette charte, il suffit de la débrancher : sous le volet
"Projet", dans le groupe "Autres actions", déroulez l’option "Charte" et décochez
l’option "Utiliser la charte".

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 187
• l’emplacement qui correspond au nom du fichier créé pour la fenêtre. La fenêtre est un fi-
chier d’extension "WPW", enregistré dans le répertoire du projet.

Validez en cliquant sur le bouton vert.


Affichage d’un message
Vous allez maintenant créer un bouton permettant d’afficher un message.
Pour créer le bouton "Afficher" :
1. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur . Le bouton appa-
raît en création sous la souris.
2. Déplacez la souris dans la fenêtre vers la position où le champ doit être créé (par exemple
en haut de la fenêtre). Pour poser le champ dans la fenêtre, il suffit de faire un nouveau clic
gauche de souris.
3. Faites un clic droit de la souris sur le champ que vous venez de créer. Le menu contextuel
du champ apparaît. Dans ce menu contextuel, sélectionnez l’option "Description". La fenêtre
de description du bouton s’affiche.
Modifiez les caractéristiques du champ en saisissant les informations suivantes :

1. Ce champ a pour nom : "BTN_Afficher".


2. Ce champ a pour libellé : "Afficher"
Validez la fenêtre de description du champ (bouton vert). Le champ apparaît sous l’éditeur de
fenêtres.

188 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Nous allons afficher un message dans une boîte de dialogue (une mini-fenêtre proposée par
le système). Pour cela, nous allons utiliser notre première fonction WLangage : la fonction
Info.
Notes
Le WLangage est le langage de programmation fourni avec WinDev Mobile. C’est
un langage de 5° génération (L5G), possédant des ordres évolués.

1. Sélectionnez à l’aide de la souris le bouton "Afficher" : il suffit de cliquer dessus.


2. Affichez le menu contextuel du champ (clic droit de la souris).
3. Sélectionnez l’option "Code". Cette option ouvre l’éditeur de code de WinDev Mobile, dans
lequel toutes les instructions WLangage peuvent être saisies.
4. Dans le traitement "Clic sur BTN_Afficher", saisissez le code suivant :
Info(“Bonjour”)

Remarque sur l’aide à la saisie : Dès la saisie des deux premiers caractères, WinDev Mobile pro-
pose tous les mots du vocabulaire WLangage contenant ces caractères. L’assistance au dévelop-
pement est poussée très loin. Vous ne pouvez plus vous tromper en saisissant le nom d’un élé-
ment : les erreurs de syntaxes sont minimisées. Il suffit de sélectionner le mot désiré et de valider
par la touche [ENTREE]. Vous pourrez ainsi vous concentrer sur l’algorithme.

En saisissant ce code sous l’éditeur de code, vous constatez que les différents
éléments saisis utilisent des couleurs différentes. C’est la coloration syntaxique.
L’éditeur de code permet ainsi d’identifier rapidement les différents éléments
manipulés par le code :
• les fonctions du WLangage apparaissent en bleu,
Notes

• les chaînes de caractères (entre guillemets) apparaissent en violet,


• les noms de champs apparaissent en cyan.
Ces couleurs peuvent être modifiées élément par élément dans les options de
l’éditeur de code (sous le volet "Accueil", dans le groupe "Environnement", dérou-
lez "Options" et sélectionnez "Options de l’éditeur de code").

La fonction Info affiche le message passé en paramètre.


Enregistrez les modifications en cliquant sur l’icône parmi les boutons d’accès rapide (à
gauche du ruban) ou en utilisant la combinaison de touches [CTRL] + [S].
Fermez la fenêtre de code (croix en haut à droite de l’éditeur de code). La fenêtre réapparaît.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 189
Premier test
Pour une application Windows Mobile, WinDev Mobile permet de tester directement l’application
sur le poste de développement grâce au mode simulation. Ce test réalise une simulation d’un pé-
riphérique Windows Mobile sur le poste de développement. Ce test est utile quand le développeur
ne dispose pas de périphérique Windows Mobile. Cependant, ce test ne permet pas d’utiliser les
composants matériels de l’appareil (SMS, ...).

Nous allons tester la fenêtre en mode simulation.


1. Cliquez sur parmi les boutons d’accès rapide (ou utilisez la touche [F9]).
2. Validez si nécessaire le message d’information concernant le mode simulateur.
3. La fenêtre que vous avez créée se lance en exécution. La coque du simulateur correspond :
• soit à l’appareil connecté au poste de développement,
• soit à l’appareil choisi dans l’assistant de création de projet.
4. Cliquez sur le bouton "Afficher".
5. Validez la fenêtre système qui s’affiche.

Tout développeur sait que tester un programme est souvent long, voire fastidieux. Avec
WinDev Mobile, en UN CLIC, vous testez la fenêtre, l’état ou la procédure que vous êtes en
train de réaliser. C’est à la fois simple et rapide !
Cliquez sur le bouton "x" situé dans la coque du simulateur pour fermer la fenêtre.
L’éditeur de WinDev Mobile réapparaît.

190 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Premier déploiement sur l’appareil

Principe
Pour exécuter l’application de manière autonome sur l’appareil mobile, il suffit de :
• Connecter l’appareil via un port USB.
• Générer l’application.
• Choisir de copier et de lancer l’exécutable sur le mobile connecté. La copie de l’application peut
prendre quelques secondes.

Mise en place

Pour générer l’application Windows Mobile :


1. Sous le volet "Projet", dans le groupe "Génération", cliquez sur "Générer" (vous pouvez égale-
ment cliquer sur parmi les boutons d’accès rapide).
2. WinDev Mobile propose de sélectionner la première fenêtre du projet. Pour notre exemple,
sélectionnez "FEN_Bienvenue" et validez (bouton vert en bas de l’écran).
3. L’assistant de création d’un exécutable mobile se lance.
4. Le premier écran de l’assistant indique si des tests automatiques ont été créés sur le pro-
jet, et leur état. Dans notre cas, aucun test n’a été effectué. Passez à l’écran suivant à l’aide
des boutons fléchés.
5. L’écran suivant permet de définir le nom et l’icône de l’application.

L’icône de l’exécutable peut être choisie dans le catalogue d’images de WinDev Mobile (bouton
"Catalogue").
Dès qu’une image peut être utilisée (dans un champ, une fenêtre, un état, ...), le
bouton "Catalogue" apparaît dans la fenêtre de description du champ. Ce bouton
permet de sélectionner une image parmi les milliers d’images fournies dans le
catalogue d’images de WinDev, WebDev, WinDev Mobile.
Notes

Pour faire une recherche dans le catalogue d’images :


• indiquez le mot-clé correspondant à la recherche,
• validez. Les images trouvées sont automatiquement affichées.
En double-cliquant sur l’image voulue, celle-ci est générée et intégrée à votre
projet.

6. Les autres écrans ne sont pas nécessaires pour notre application. Cliquez directement sur
le lien "2- Copie sur PPC", à gauche de l’assistant.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 191
7. Cet écran permet de définir les options de copie des fichiers sur le mobile :

8. Les options à choisir dépendent de votre configuration :


• Si vous avez un mobile connecté, vous pouvez sélectionner l’option "Oui : Copier l’exécu-
table sur le Pocket PC" ainsi que "Lancer l’application sur le Pocket PC à la fin de la copie".
Dans ce cas, à la fin de la génération de l’exécutable, l’application sera automatiquement
copiée et lancée sur le mobile.
• Si vous ne possédez pas de mobile connecté, sélectionnez l’option "Non : Ne pas copier
l’exécutable sur le Pocket PC". Dans ce cas, l’application pourra ensuite être déployée sur
les mobiles grâce à une procédure d’installation.
9. Validez.
Voilà, notre première application est générée et exécutée sur le périphérique Windows Mobile.

192 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 5.2. Bases de données

Ce que vous allez apprendre dans cette leçon ...

• Bases de données disponibles


• Synchronisation

Durée estimée : 30 mn

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 193
Format des bases de données
Une application Windows Mobile peut manipuler des données. Le format de ces bases de don-
nées peut être :
• HFSQL (en mode Classic ou Client/Serveur), système de base de données livré en standard
avec WinDev Mobile.
• CEDB, système de base de données utilisable sous terminal mobile (Pocket PC).
• AS/400, base de données de type AS/400 utilisable sous terminal mobile (Pocket PC).
• ...

Base de données de type HFSQL


HFSQL Classic
En mode HFSQL Classic, les fichiers de données sont stockés sur le matériel (iPhone ou iPad).
Dans ce cas, l’application est autonome. Il n’est pas nécessaire d’avoir une connexion Wi-Fi ou
3G.
Les données sont stockées dans la mémoire du matériel. La taille maximale de stockage dépend
de la capacité mémoire du matériel.
Dans la leçon "Programmation avancée", nous allons réaliser une application utilisant une base
de données HFSQL Classic.

HFSQL Client/Serveur
En mode HFSQL Client/Serveur, aucune donnée n’est stockée sur le matériel. Les données sont
stockées sur une machine sur laquelle est installé un serveur HFSQL.
Pour accéder à cette machine et donc à la base de données, il est nécessaire d’avoir activé
un moyen de communication avec le serveur dans l’application mobile (Wi-Fi ou 3G) afin de se
connecter via le réseau ou Internet.
Les temps de réponse vont bien entendu dépendre de la qualité du réseau Wi-Fi ou Internet et du
volume des données demandées.
L’accès aux données se fera à l’aide des fonctions WLangage Hxxx et/ou de requêtes SQL.

Les exemples "Pocket Notes", "Pocket Présence" et "Pocket Téléphonie", livrés en


Exemple

standard avec WinDev Mobile, manipulent des fichiers de données HFSQL.


Ces exemples sont accessibles depuis le volet "Assistants, Exemples et Compo­
sants", catégorie "Mobile".

Lors du test (en mode simulation) d’une application WinDev Mobile manipulant
Notes

des fichiers de données HFSQL, les fichiers de données manipulés sont ceux
présents sur le poste PC.

194 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
CEDB
Le format CEDB est un format de base de données utilisable sur les terminaux mobiles (Pocket
PC).
Une base de données CEDB correspond à un fichier ".CDB". Une base de données CEDB peut
conte­nir plusieurs fichiers de données (appelés également "tables").
Deux types de bases de données CEDB existent :
• les bases de données CEDB standard, qui correspondent aux bases de données présentes
par défaut sur le terminal mobile. Il s’agit des bases de données contenant les fichiers de
don­nées "Tâches", "Contacts", "RendezVous", ...
• les autres bases de données CEDB (appelées personnalisées), qui correspondent à des
bases de données Access (fichier ".MDB") préalablement exportées depuis un poste PC.
Remarque : Lors de la copie d’une base de données Access (fichier ".MDB") sur un terminal mo-
bile (à l’aide de l’explorateur de fichiers), cette base de données se transforme automatiquement
en base de données CEDB (fichier ".CDB").
Une base de données CEDB peut être manipulée :
• à partir d’une application WinDev Mobile.
• à partir d’une application WinDev standard.
Ces manipulations sont réalisées à l’aide des fonctions cdbXXX du WLangage.
Attention : A partir de Windows Mobile 5, l’accès à une base de données stan­
dard (tâches, contacts, rendez-vous, ...) n’est plus possible depuis une applica­
tion Windows (et donc depuis une application WinDev standard).
Notes

Les bases CDB sont accessibles depuis le PC, depuis le simulateur, depuis le
terminal mobile.
Les bases de données standard sont accessibles uniquement depuis le terminal
mobile.

Attention : La structure des bases de données CEDB n’est pas adaptée au traite­
Notes

ment de gros volumes de données. Il est donc conseillé d’utiliser des bases de
données HFSQL. De plus, avec HFSQL, vous bénéficiez de toutes les fonctionnali-
tés disponibles sur WinDev Mobile (RAD, liaison fichier, ...).

Lors du test (en mode simulation) d’une application Windows Mobile manipulant
Notes

une base de données CEDB, la base de données manipulée est présente sur le
Pocket PC.

AS/400
Ce format de base de données est accessible via un Accès Natif par les applications Windows
Mobile. Pour utiliser cet Accès Natif, il est nécessaire de posséder un module complémentaire à
WinDev Mobile.
Pour plus de détails, contactez le service commercial de PC SOFT.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 195
Partage de données entre deux applications
Une application WinDev Mobile pour Windows Mobile peut partager des données avec une appli-
cation WinDev stan­dard.
Il est ainsi possible par exemple d’utiliser :
• une application WinDev standard permettant de manipuler l’ensemble de la base de don­
nées.
• une application WinDev Mobile permettant de manipuler l’ensemble ou une partie de cette
même base de données.
Lorsque deux applications partagent les mêmes données, les fichiers de données peuvent être
gérés de deux façons différentes :
• Manipulation des mêmes fichiers de données :
Les deux applications manipulent les mêmes fichiers de données. Ces fichiers de données
sont présents sur le poste PC. L’application WinDev Mobile accède aux fichiers de données
par Wi-Fi, par infrarouge, par GPRS, ... La fonction HSubstRep permet d’indiquer le
réper­toire de données à utiliser.

Par exemple : application de prises de commandes dans un restaurant. Les nouvelles


com­mandes sont automatiquement envoyées dans la base de données présente sur le
poste PC.
• Copie des fichiers de données sur le terminal mobile :
L’ensemble des fichiers de données (ou une partie) est préalablement copié sur chaque
terminal mobile (Poc­ket PC par exemple). Chaque application manipule ses fichiers
respectifs. Pour prendre en compte les modifications réalisées dans chaque application,
une synchronisation (automatique ou non) des fichiers de données est nécessaire.
PC Windows Terminal Mobile

Connexion : USB, Wi-Fi, Bluetooth...


ActiveSync

Synchronisation par ActiveSync

Fichier 1
Fichier 1
Fichier 3
Fichier 2

Fichier 2

196 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Par exemple : application de sondage effectué dans la rue. Les réponses aux sondages
sont disponibles dans l’application WinDev standard uniquement après la synchronisation
des fichiers de données.

Manipulation des mêmes fichiers de données


Pour permettre à l’application WinDev Mobile d’accéder aux fichiers de données présents sur le
poste PC :
• les terminaux mobiles doivent disposer d’un accès au réseau (carte Ethernet, Wi-Fi, ...).
• les données présentes sur le poste PC doivent être accessibles en lecture et en écriture via
un chemin UNC (le répertoire utilisé doit être partagé).
La manipulation des données (ajout, modification et suppression) se fait ensuite tout simplement
avec les fonctions HFSQL.
Bases de données au format HFSQL (sur le Pocket PC et sur le poste PC)
Exemple

L’exemple "Taches en reseau", livré en standard avec WinDev Mobile, est com­
posé d’un projet utilisable sur un terminal Windows Mobile (Pocket Taches en re-
seau) et d’un projet utilisable sous PC (PC Taches en reseau). Ces deux exemples
manipulent les fichiers de données présents sur le poste PC.

Copie des fichiers de données sur le terminal mobile (Pocket PC par exemple)
Pour mettre à jour les fichiers de données présents sur le poste PC avec les données saisies sur
les terminaux mobiles, une simple synchronisation des fichiers est nécessaire.
Si les fichiers de données manipulés sont au format HFSQL, il suffit de connecter un à un l’en-
semble des terminaux mobiles au poste PC. La synchronisation automatique HFSQL par Active­
Sync s’occupe du reste.
Si les fichiers de données manipulés ne sont pas au format HFSQL, il est nécessaire de pro­
grammer l’ensemble de la synchronisation entre l’application WinDev Mobile et l’application Win­
Dev standard. Pour plus de détails sur ce type de synchronisation, consultez les exemples livrés
en standard avec WinDev Mobile.

Bases de données au format HFSQL (sur le terminal mobile et sur le poste PC)
Exemple

L’exemple "Stocks", livré en standard avec WinDev Mobile, est composé d’un pro-
jet utilisable sur terminal mobile (Pocket PC par exemple) et d’un projet utilisable
sous PC. Cet exemple présente la synchronisation des données saisies dans les
deux projets.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 197
Leçon 5.3. Programmation avancée

Ce que vous allez apprendre dans cette leçon ...

• Créer une application de gestion


• Manipulation de la base de données

Durée estimée : 1 h

198 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Présentation
Dans cette leçon, nous allons réaliser une application Windows Mobile utilisant une base de don-
nées HFSQL Classic.
Cette application va nous permettre de détailler plusieurs points spécifiques de la programmation
pour Windows Mobile.

Ouverture du projet

Lancez WinDev Mobile 20 (si ce n’est déjà fait). Si nécessaire, fermez le projet en cours pour
faire apparaître la fenêtre de bienvenue.
Ouvrez le projet "Pocket Gestion Produits".
Pour cela, dans la fenêtre de bienvenue, cliquez sur "Cours d’auto-formation" et sélectionnez
le projet "Gestion de Produits Pocket (Exercice)".
Astuce : si la fenêtre de bienvenue n’est pas affichée, il est possible sous le volet "Accueil",
dans le groupe "Aide en ligne" de dérouler l’option "Guide d’Auto-formation" puis de sélection-
ner l’option "Gestion de Produits Pocket (Exercice)".

Un projet corrigé est disponible. Ce projet contient les différentes fenêtres créées
Corrigé

dans cette leçon. Pour ouvrir le projet corrigé, sous le volet "Accueil", dans le
groupe "Aide en ligne", déroulez l’option "Guide d’auto-formation" puis sélection-
nez "Gestion de Produits Pocket (Corrigé)".

Description du projet
Examinons notre projet de départ. Ce projet est un projet déjà créé. Il ne contient aucune fenêtre.
Il contient uniquement l’analyse décrivant les fichiers de données HFSQL Classic que nous allons
utiliser. Dans le répertoire EXE, les fichiers de données correspondants sont fournis avec des
données pour réaliser les différents tests.
Pour visualiser l’analyse associée au projet :
1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev Mobile.
2. L’éditeur d’analyses s’affiche.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 199
3. Cette analyse est composée de 3 fichiers de données :
• Un fichier "Produit", qui contient la description du produit : nom, prix, quantité, ...
• Un fichier "Caractéristique", qui contient les différentes caractéristiques du produit. Par
exemple, si le produit est un t-shirt, ses caractéristiques correspondront à la taille, la cou-
leur, ... Le fichier "Caractéristique" est donc lié au fichier "Produit".
• Un fichier "Magasin", qui contient pour chaque magasin, ses coordonnées GPS.
4. Fermez l’éditeur d’analyses (cliquez sur la croix en haut à droite de l’éditeur).
Nous allons maintenant commencer le développement de notre application.

Afficher la liste des produits


Nous allons tout d’abord créer une fenêtre permettant de lister les différents produits proposés.
Ces produits vont être affichés dans un champ de type "Table".

Création de la fenêtre

Pour créer une nouvelle fenêtre :


1. Cliquez sur parmi les boutons d’accès rapide. La fenêtre de création d’un nouvel élément
s’affiche : cliquez sur "Fenêtre" puis sur "Fenêtre".
2. Dans l’assistant, affichez l’onglet "Standard", choisissez "Vierge" et validez.
3. Enregistrez la fenêtre en cliquant sur parmi les boutons d’accès rapide.
4. Dans la fenêtre qui s’affiche, saisissez le titre de la fenêtre : "Liste des produits". Automati-
quement, le nom et l’emplacement de la fenêtre sont renseignés. Conservez les valeurs par
défaut et validez (bouton vert en bas de la fenêtre de dialogue).
5. La fenêtre est ajoutée au projet.

Création du champ Table


Pour afficher la liste des produits, nous allons utiliser un champ de type "Table". Dans ce champ,
les principales informations sur les produits vont être affichées.
Pour créer le champ "Table" :
1. Sous le volet "Création", dans le groupe "Données", déroulez "Table" et sélectionnez "Table
(Verticale)".

2. Le champ apparaît sous la souris.


3. Cliquez dans la fenêtre à la position où le champ doit être créé (par exemple en haut).
L’assistant de création d’un champ Table se lance.

200 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
4. Dans l’assistant, sélectionnez l’option "Afficher des données d’un fichier ou d’une requête
existante". Passez à l’écran suivant.
5. Sélectionnez le fichier "Produit". Passez à l’écran suivant.
6. Sélectionnez les rubriques à afficher :

7. Conservez les rubriques "Nom", "Description" et "Prix" (une coche doit être présente devant
ces rubriques). Passez à l’écran suivant.
8. Conservez la rubrique de tri proposée (IDProduit). Les produits seront triés dans le champ
Table suivant cette rubrique. Passez à l’écran suivant.
9. Dans l’écran "Paramètres supplémentaires", conservez les options par défaut. Passez à
l’écran suivant.
10. Sélectionnez l’orientation "Vertical" et passez à l’écran suivant.
11. Conservez le nom par défaut "TABLE_Produit" et validez.
12. Le champ Table apparaît sous l’éditeur de fenêtres.
13. Redimensionnez le champ et ses colonnes à l’aide des poignées pour que le contenu soit
affiché dans la fenêtre.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 201
Dans la fenêtre affichée sous l’éditeur, des données apparaissent automatique-
Notes ment. Ce concept se nomme "Live Data" : vous voyez les données présentes
dans vos fichiers en temps réel !
Cette fonctionnalité est très utile, notamment pour adapter la taille des champs
à leur contenu.

Enregistrez la fenêtre en cliquant sur parmi les boutons d’accès rapide.


Nous allons effectuer un premier test dans le simulateur pour visualiser le résultat. Cliquez
sur parmi les boutons d’accès rapide (ou utilisez la touche [F9]).

Fermez le simulateur pour revenir sous l’éditeur de fenêtres.


Création de la fenêtre fiche
Maintenant, nous allons créer une nouvelle fenêtre servant à afficher la fiche du produit. Ensuite,
cette fenêtre sera lancée depuis la liste des produits pour afficher le détail du produit sélectionné.

Création de la fenêtre

Pour créer la fenêtre fiche :


1. Créez une nouvelle fenêtre vierge. Cliquez sur parmi les boutons d’accès rapide. La fe-
nêtre de création d’un nouvel élément s’affiche : cliquez sur "Fenêtre" puis sur "Fenêtre".
2. Dans l’assistant qui se lance :
• Sélectionnez l’onglet "Standard".
• Choisissez "Vierge".
3. Validez l’assistant.
4. Enregistrez la fenêtre. Indiquez le titre de la fenêtre : "Fiche du produit". Son nom est auto-
matiquement proposé : "FEN_Fiche_du_produit". Validez.

202 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Création des champs

Pour créer un champ de saisie :


1. Affichez le volet "Analyse" si nécessaire (sous le volet "Accueil", dans le groupe "Environne-
ment", déroulez "Volets" et sélectionnez "Analyse"). Les différents fichiers de données décrits
dans l’analyse "Pocket Gestion Produits" apparaissent dans le volet.
2. Sélectionnez à l’aide de la souris les rubriques du fichier "Produit" affichées dans le volet
(sauf la rubrique "IDProduit").
3. Effectuez un "Drag and Drop" (glisser/déplacer) de ces rubriques vers la fenêtre que vous
venez de créer.

4. Modifiez la taille des champs ("Nom", "Codebarre", "Date de réappro.", "Description") afin
qu’ils soient visibles dans la fenêtre :
• Sélectionnez le champ voulu.
• Utilisez les poignées de redimensionnement (carrés noirs) pour modifier la taille du champ.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 203
5. Réorganisez les champs dans la fenêtre.

Respectez l’ordre suivant : "Photo", "Nom", "Prix", "Quantité", "Code-barres", "Date de réap-
pro.", "Description".
6. Nous allons visualiser l’ordre de navigation dans la fenêtre : appuyez sur la touche [F5]. Les
numéros qui s’affichent représentent l’ordre de navigation dans la fenêtre. Appuyez à nouveau
sur la touche [F5] pour faire disparaître les numéros. L’ordre de navigation s’adapte automati-
quement à l’ordre des champs dans la fenêtre.
7. Enregistrez la fenêtre.
Testez la fenêtre ( parmi les boutons d’accès rapide). La fenêtre apparaît avec tous les
champs vides.
Fermez la fenêtre de test pour revenir sous l’éditeur.
Pour afficher les données du produit :
1. Affichez les traitements associés à la fenêtre :
• Dans la zone à côté de la fenêtre, faites un clic droit de souris
• Dans le menu contextuel qui s’affiche, sélectionnez "Code".
• L’éditeur de code apparaît.
2. Dans le traitement "Fin d’initialisation de FEN_Fiche_du_produit", saisissez le code suivant :
FichierVersEcran()

La fonction FichierVersEcran permet d’afficher dans les champs les données présentes dans le
fichier de données, pour l’enregistrement en cours.
3. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
4. Enregistrez la fenêtre.

204 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Affichage de la fiche depuis la liste des produits
Nous allons maintenant voir comment afficher la fiche du produit sélectionné dans la liste des
produits.
Effectuez les opérations suivantes :
1. Placez-vous sur la fenêtre "Liste des produits" : cliquez sur le bouton "FEN_Liste_des_pro-
duits" dans la barre des boutons :

2. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur : la forme du bou-
ton apparaît sous la souris. Cliquez ensuite en bas de la fenêtre pour créer le bouton.
3. Sélectionnez le champ puis tapez sur la touche [ENTREE] du clavier. Le libellé du bouton
passe en édition. Saisissez "Modifier l’élément" et appuyez sur la touche [ENTREE] du clavier.
4. Redimensionnez si nécessaire le bouton (à l’aide des poignées) pour que le libellé s’affiche
complètement dans le bouton.
5. Faites un clic droit sur le bouton et dans le menu qui s’affiche, sélectionnez l’option "Code".
6. Dans la fenêtre de code qui apparaît, saisissez le code suivant dans le traitement "Clic sur" :
Ouvre(FEN_Fiche_du_produit)
TableAffiche(TABLE_Produit,taCourantBandeau)

Laissez-vous guider par l’assistance à la saisie de code : dès que vous allez ta-
per la parenthèse ouvrante "(", une liste déroulante va s’ouvrir proposant le nom
de toutes les fenêtres existantes dans le projet. Il suffit de sélectionner la fenêtre
Notes

au clavier ou à la souris.
Si vous ne trouvez pas le nom de la fenêtre que vous cherchez dans la liste, c’est
que celle-ci n’a pas été sauvegardée précédemment.

7. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
8. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Testez la fenêtre à nouveau sous le simulateur ( parmi les boutons d’accès rapide).
• Dans la liste des produits, cliquez sur un des produits avec la souris.
• Cliquez sur le bouton "Modifier l’élément".
• La fenêtre de détail du produit s’affiche.
Fermez le simulateur.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 205
Gestion de la création et de la modification d’un produit
Nous allons maintenant modifier nos deux fenêtres afin de gérer l’ajout et la modification d’un
produit.

Modification de la fiche produit


Nous allons rajouter un bouton dans la fenêtre "FEN_Fiche_du_produit" : un bouton "Valider" pour
gérer la validation des modifications.

Dans les applications pour Windows Mobile, l’utilisation d’un bouton "Annuler"
Notes

n’est pas nécessaire. En effet, il suffit que l’utilisateur clique sur la croix en haut
à droite de la fenêtre pour annuler la saisie effectuée.

Pour créer le bouton "Valider" dans la fenêtre "FEN_Fiche_du_produit" :


1. Affichez si nécessaire la fenêtre "FEN_Fiche_du_produit" sous l’éditeur : cliquez sur le bouton
correspondant dans la barre de boutons.
2. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur : la forme du bou-
ton apparaît sous la souris. Cliquez ensuite dans la fenêtre pour créer le bouton (par exemple
à côté de l’image).
3. Sélectionnez le champ puis tapez sur la touche [ENTREE] du clavier. Le libellé du bouton
passe en édition. Saisissez "Valider" et appuyez sur la touche [ENTREE] du clavier.

4. Redimensionnez si nécessaire le bouton (à l’aide des poignées) pour que le libellé s’affiche
complètement dans le bouton.
Nous allons maintenant saisir le code du bouton "Valider".
1. Faites un clic droit sur le bouton puis sélectionnez l’option "Code" dans le menu contextuel.
2. Dans le traitement "Clic sur", saisissez le code suivant :
EcranVersFichier()
HModifie(Produit)
Ferme()

206 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Examinons ce code :
• La fonction EcranVersFichier permet d’initialiser les rubriques avec les valeurs des champs
liés, pour l’enregistrement courant.
• La fonction HModifie permet de mettre à jour les données du fichier pour l’enregistrement
courant.
• La fonction Ferme permet de fermer la fiche et de revenir à la fenêtre "FEN_Liste_des_pro-
duits".
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur de fenêtres et lancez son test
sous le simulateur ( parmi les boutons d’accès rapide).
• Dans la liste des produits, cliquez sur un des produits avec la souris : par exemple, le pro-
duit "Polo Hibbicus Bleu" au prix de 25,90 euros.
• Cliquez sur "Modifier l’élément".
• La fenêtre de détail du produit s’affiche. Modifiez le prix de 25,90 euros et saisissez
19,90 euros puis ensuite cliquez sur le bouton "Valider".
• De retour sur la liste des produits, vous pouvez constater que le prix de cet article a été mis
à jour.
Fermez le simulateur. L’éditeur de WinDev Mobile est affiché.
Création d’un nouveau produit
Le principe de la création d’un produit va être le suivant :
• Dans la fenêtre de la liste des produits, nous allons ajouter un bouton "Nouveau produit" qui va
permettre d’ouvrir la fenêtre "Fiche du produit".
• Nous modifierons ensuite le code de la fenêtre "Fiche du produit" pour gérer l’ajout dans le
fichier de données Produit.
Tout d’abord, affichez si nécessaire la fenêtre "FEN_Liste_des_produits" sous l’éditeur :
cliquez sur le bouton correspondant dans la barre de boutons.
Pour créer un nouveau bouton :
1. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur : la forme du bou-
ton apparaît sous la souris. Cliquez ensuite dans la fenêtre pour créer le bouton (par exemple à
côté du bouton "Modifier l’élément").
2. Sélectionnez le champ puis tapez sur la touche [ENTREE] du clavier. Le libellé du bouton
passe en édition. Saisissez "Nouveau produit" et appuyez sur la touche [ENTREE] du clavier.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 207
3. Redimensionnez si nécessaire le bouton (à l’aide des poignées) pour que le libellé s’affiche
complètement dans le bouton.
4. Le code de ce bouton va permettre d’ouvrir la fenêtre "Fiche du produit", en mettant ses
champs à vide. Pour saisir ce code :
• Faites un clic droit sur le bouton "Nouveau produit".
• Dans le menu contextuel qui s’affiche, sélectionnez l’option "Code".
• Dans le traitement "Clic sur", saisissez le code suivant :
HRAZ(Produit)
Ouvre(FEN_Fiche_du_produit)
TableAffiche(TABLE_Produit)

La fonction HRaz initialise les variables des rubriques du fichier Produit avec les valeurs par dé-
faut pour gérer un nouvel enregistrement.
La fonction Ouvre permet d’ouvrir la fenêtre fiche.
La fonction TableAffiche permet de mettre à jour le contenu du champ Table : le nouvel enregis-
trement saisi sera affiché dans le champ.
5. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
6. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).

Maintenant, nous allons modifier la fenêtre de la fiche du produit pour gérer l’ajout d’un
nouvel enregistrement.
1. Affichez la fenêtre "FEN_Fiche_du_produit" sous l’éditeur.
2. Nous allons modifier le code du bouton de validation :
• Faites un clic droit sur le bouton puis sélectionnez l’option "Code" dans le menu contextuel.

208 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
• Dans le traitement "Clic sur", remplacez le code par le code suivant :
EcranVersFichier()
SI Produit..NouvelEnregistrement ALORS
HAjoute(Produit)
SINON
HModifie(Produit)
FIN
Ferme()
Examinons ce code :
• La propriété ..NouvelEnregistrement permet de savoir si l’enregistrement en cours doit être
créé.
• Si la fonction HRaz a été appelée précédemment, la propriété renvoie Vrai (cas du clic sur
"Nouveau produit") et l’enregistrement doit être créé par la fonction HAjoute.
• Dans le cas contraire, l’enregistrement en cours existe déjà et doit être modifié par la fonc-
tion HModifie.

Le code de test du nouvel enregistrement peut être remplacé par la fonction


HEnregistre. Cette fonction permet de tester si l’enregistrement est déjà présent
dans le fichier de données, et selon le cas elle permet soit de l’ajouter, soit de le
Notes

modifier. Le code devient alors :


EcranVersFichier()
HEnregistre(Produit)
Ferme()

3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur de fenêtres et lancez son test
sous le simulateur ( parmi les boutons d’accès rapide).
• Dans la liste des produits, cliquez sur le bouton "Nouveau produit".
• Saisissez un nouveau produit.
• Validez. Le nouveau produit apparaît dans la liste des produits.
• Fermez le simulateur.

Création d’une fenêtre de menu


Nous allons maintenant créer une fenêtre pour mettre en place le menu de l’application.

Création de la fenêtre
Tout d’abord, nous allons créer une fenêtre vierge avec un menu.
Pour créer la fenêtre :
1. Créez une nouvelle fenêtre vierge. Cliquez sur parmi les boutons d’accès rapide. La fe-
nêtre de création d’un nouvel élément s’affiche : cliquez sur "Fenêtre" puis sur "Fenêtre".
2. Dans l’assistant de création de fenêtres, cliquez sur l’onglet "Standard".
3. Choisissez "Assistant" et validez.
4. L’assistant de création d’une fenêtre Windows Mobile se lance.
5. Sélectionnez "Maximisée" et passez à l’écran suivant.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 209
6. Dans l’écran des paramètres avancés, sélectionnez "Avec menu et barre d’outils".

Passez à l’écran suivant.


7. Indiquez le titre de la fenêtre : "Menu".
8. Validez l’assistant. La fenêtre apparaît sous l’éditeur.
9. Enregistrez la fenêtre. Le nom saisi dans l’assistant est automatiquement proposé dans la
fenêtre de sauvegarde. Validez.

Personnalisation du menu
Nous allons modifier le menu pour appeler la fenêtre de liste des produits et pour quitter l’appli-
cation.
Pour modifier l’option de menu :
1. Faites un clic droit sur l’option pour afficher le menu contextuel.
2. Sélectionnez "Description de l’option". La fenêtre de description apparaît.
3. Modifiez le libellé de l’option qui devient "Produit". Validez la fenêtre de description.
4. Sélectionnez à nouveau l’option de menu.

210 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
5. Affichez le menu contextuel (clic droit) :

6. Sélectionnez l’option "Transformer pour dérouler un sous-menu".


7. Dans la zone de saisie qui s’affiche, saisir "Liste des produits" et validez.

8. Faites un clic droit sur la nouvelle option saisie et dans le menu contextuel affiché, sélec-
tionnez "Ajouter avant".
9. Dans la zone de saisie qui apparaît, saisissez "Quitter" et validez.

Programmation du menu
Nous allons maintenant saisir le code de ces deux options de menu.
Pour définir le code WLangage de l’option "Quitter" :
1. Sous l’éditeur de fenêtres, affichez l’option "Quitter". Il suffit de dérouler le menu, comme en
exécution.
2. Affichez le menu contextuel de l’option "Quitter" (clic droit) et sélectionnez l’option "Code".
3. Saisissez le code suivant :
Ferme()
La fonction Ferme permet de fermer la fenêtre en cours. Comme la fenêtre "Menu" est la seule
fenêtre, l’application est automatiquement fermée.
Pour définir le code WLangage de l’option "Liste des produits" :
1. Sous l’éditeur de fenêtres, affichez l’option "Liste des produits". Il suffit de dérouler le menu,
comme en exécution.
2. Affichez le menu contextuel de l’option "Liste des produits" (clic droit) et sélectionnez l’op-
tion "Code".

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 211
3. Saisissez le code suivant :
Ouvre(FEN_Liste_des_produits)

4. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
5. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).

Tester l’application
Il reste un dernier réglage à effectuer, indiquer que la fenêtre de menu est la première fenêtre de
l’application. Pour cela, nous allons indiquer quelle est la première fenêtre du projet et lancer un
test complet du projet.
Pour définir la première fenêtre du projet :
1. Sélectionnez la fenêtre "FEN_Menu" dans l’explorateur de projet.
2. Affichez le menu contextuel.
3. Sélectionnez l’option "Première fenêtre du projet". Une icône spécifique (avec un petit 1)
apparaît alors devant le nom de la fenêtre, dans l’explorateur de projet.
Jusqu’à présent vous testiez les fenêtres de façon individuelle en cliquant sur parmi les bou-
tons d’accès rapide.
Pour lancer le test du projet :
1. Cliquez sur parmi les boutons d’accès rapide.
2. Votre projet démarre par la fenêtre de menu. Vous pouvez cliquer sur une option de votre
menu pour vérifier que les différents liens sont corrects.
Voilà, notre application est terminée, il faut maintenant la compiler et l’installer sur le matériel afin
de tester.

Créer l’exécutable

Pour générer l’application Windows Mobile :


1. Sous le volet "Projet", dans le groupe "Génération", cliquez sur "Générer" (vous pouvez égale-
ment cliquer sur parmi les boutons d’accès rapide).
2. L’assistant de création d’un exécutable mobile se lance.
3. Le premier écran de l’assistant indique si des tests automatiques ont été créés sur le pro-
jet, et leur état. Dans notre cas, aucun test n’a été effectué. Passez à l’écran suivant à l’aide
des boutons fléchés.
4. L’écran suivant permet de définir le nom et l’icône de l’application. L’icône de l’exécutable
peut être choisie dans le catalogue d’images de WinDev Mobile (bouton "Catalogue").
5. Les autres écrans ne sont pas nécessaires pour notre application. Cliquez directement sur
le lien "2- Copie sur PPC", à gauche de l’assistant.

212 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
6. Cet écran permet de définir les options de copie des fichiers sur le mobile :

7. Les options à choisir dépendent de votre configuration :


• Si vous avez un mobile connecté, vous pouvez sélectionner l’option "Oui : Copier l’exécu-
table sur le Pocket PC" ainsi que "Lancer l’application sur le Pocket PC à la fin de la copie".
Dans ce cas, à la fin de la génération de l’exécutable, l’application sera automatiquement
copiée et lancée sur le mobile.
• Si vous ne possédez pas de mobile connecté, sélectionnez l’option "Non : Ne pas copier
l’exécutable sur le Pocket PC". Dans ce cas, l’application pourra ensuite être déployée sur
les mobiles grâce à une procédure d’installation.
8. Passez à l’écran suivant.
9. Si vous avez sélectionné l’option "Oui : Copier l’exécutable sur le Pocket PC", l’assistant pro-
pose les fichiers à copier sur le Pocket PC :

10. Validez la sélection de fichiers proposés.


Voilà, votre application est générée et exécutée sur le périphérique Windows Mobile.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 213
Leçon 5.4. Diffusion de l’application

Ce que vous allez apprendre dans cette leçon ...

• Modes de distribution disponibles

Durée estimée : 20 min

214 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Présentation
WinDev Mobile permet le développement d’applications pour Windows Mobile.
Plusieurs méthodes sont proposées pour installer une application WinDev Mobile sur un terminal
sous Windows Mobile (Pocket PC par exemple) :
• installation au format CAB. Ce programme d’installation est exécuté directement sur le terminal
mobile.
• installation au format MSI. Ce programme d’installation est exécuté sur un poste PC sous Win-
dows connecté à un terminal mobile (Pocket PC par exemple).
• installation par copie directe de l’exécutable du poste PC vers le Pocket PC (nous l’avons vu
dans les leçons précédentes).
Ces différentes modes d’installation sont disponibles directement via l’assistant de création d’ins-
tallation.
Pour lancer l’assistant d’installation :
1. Sous le volet "Projet", dans le groupe "Génération", cliquez sur "Procédure d’installation".
L’assistant de création d’exécutable et d’installation se lance.
2. L’exécutable ayant déjà été créé, cliquez sur "2-Installation" à gauche de l’assistant.
3. Dans la boîte de message qui s’affiche, cliquez sur "Accéder aux options d’installation".
4. L’écran de la description de l’application s’affiche. Passez à l’écran suivant grâce aux bou-
tons fléchés.
5. Vous pouvez choisir le mode d’installation de votre application mobile :

6. Pour notre exemple, nous allons choisir une installation par ActiveSync : cochez l’option
correspondante et passez à l’écran suivant.
7. L’assistant demande le répertoire d’installation de l’application. Conservez l’option par dé-
faut. Passez à l’écran suivant.
8. Spécifiez les fichiers à installer. L’assistant propose par défaut l’exécutable. Il est néces-
saire d’installer également les fichiers de données de l’application. Cliquez sur le bouton
"Ajouter" et sélectionnez les fichiers HFSQL (fichiers .fic, .ndx et .mmo) présents dans le réper-
toire EXE de votre projet.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 215
9. Passez à l’écran suivant.
10. Décochez les options de paramétrages des bases de données. Passez à l’écran suivant.
11. L’assistant propose l’installation des modules complémentaires. Nous n’en sélectionne-
rons aucun. Passez à l’écran suivant.
12. Le répertoire de génération de l’installation est proposé.
13. Validez. L’installation est générée.
14. WinDev Mobile propose de lancer directement l’installation ou d’ouvrir le répertoire de
génération.

Installation au format CAB

Installation initiale
Cette installation consiste à :
• créer l’exécutable de l’application sur le poste de développement grâce à WinDev Mobile.
• générer le programme d’installation de l’application sur le poste de développement grâce à Win-
Dev Mobile. Ce programme d’installation correspond à un fichier ".CAB".
• copier ce programme d’installation sur les terminaux mobiles des clients finaux (grâce à une
carte mémoire, par GPRS à partir d’un site Internet ou directement par l’explorateur de fichiers).
• lancer ce programme d’installation sur les terminaux mobiles. Ce programme installe tous les
fichiers nécessaires à l’application. A la fin de l’installation, le fichier ".CAB" est automatique-
ment supprimé du terminal.

216 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour utiliser l’application installée, lancez l’application sur le terminal mobile (par exemple,
double-clic sur le fichier ".EXE").

Mise à jour au format CAB


Le format CAB permet 2 types de mises à jour :
• mise à jour par réinstallation complète de l’application. Dans ce cas, la mise à jour est identique
à une installation initiale. Voir le paragraphe précédent.
• mise à jour par Internet (protocole HTTP). Cette mise à jour consiste à :
• créer l’exécutable de l’application sur le poste de développement grâce à WinDev Mobile.
• générer le programme d’installation de l’application sur le poste de développement grâce à
WinDev Mobile. Ce programme d’installation correspond à un fichier ".CAB".
• copier par FTP ce programme d’installation sur un répertoire Web.
• récupérer et installer la mise à jour sur le terminal mobile.

Installation au format MSI

Installation initiale
Cette installation consiste à :
• créer l’exécutable de l’application sur le poste de développement grâce à WinDev Mobile.
• générer le programme d’installation de l’application sur le poste de développement grâce à Win-
Dev Mobile. Ce programme correspond à un fichier ".MSI".
• fournir ce programme d’installation aux clients finaux.
• lancer ce programme d’installation sur les postes PC. L’application sera automatiquement ins-
tallée sur le terminal mobile actuellement connecté au poste en cours, grâce à ActiveSync.
Remarque : Si aucun terminal mobile n’est connecté, l’installation sera effectuée lors de la pro-
chaine synchronisation entre le PC et le terminal mobile.

Pour utiliser l’application installée, lancez l’application sur le terminal mobile (par exemple,
double-clic sur le fichier ".EXE").

Mise à jour au format MSI


Le format MSI permet 2 types de mises à jour :
• mise à jour par réinstallation complète de l’application. Dans ce cas, la mise à jour est identique
à une installation initiale.
• mise à jour par Internet (protocole HTTP) au format CAB. Cette mise à jour consiste à :
• créer l’exécutable de l’application sur le poste de développement grâce à WinDev Mobile.
• générer le programme d’installation de l’application sur le poste de développement grâce à
WinDev Mobile. Ce programme d’installation correspond à un fichier ".CAB".
• copier par FTP ce programme d’installation sur un répertoire Web.
• récupérer et installer la mise à jour sur le terminal mobile.

(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 217
218 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Conclusion
Le cours est maintenant terminé !

Ce cours a abordé un ensemble de sujets, mais pas la totalité des fonctionnalités de WinDev
Mobile, loin s’en faut !
Vous êtes maintenant familiarisé avec les principaux concepts.
Nous vous conseillons de consacrer une journée supplémentaire à explorer les différents choix de
menu de WinDev Mobile, pour chacun des modules.

Explorez également les exemples livrés avec WinDev Mobile : certains sont simples et ne traitent
que d’un sujet, d’autres sont très complets. Ces exemples vous montreront les différentes fa-
cettes de WinDev Mobile, ainsi que le développement pour les différentes plateformes. La lecture
du code source sera également instructive en général.

Faute de place, nous n’avons pas pu aborder tous les sujets (il y en a des centaines, voire des
milliers !). WinDev Mobile offre de nombreuses possibilités non abordées ou non approfondies
dans ce cours :
• fonctions sockets, HTTP, ...
• requêtes, requêtes paramétrées, ...
• impression, ...

Pour plus de détails sur toutes ces possibilités, n’hésitez pas à consulter l’aide en ligne.

Rappel : Pour recevoir directement des mises à jour intermédiaires et des conseils d’utilisation,
abonnez-vous à la LST (revue trimestrielle + DVD), en français.

Nous vous souhaitons de bons développements avec WinDev Mobile 20 !

Conclusion 219
220 Conclusion

Vous aimerez peut-être aussi