5.2 · WinDev Mobile : applications iOS & Android

Niveau 5 · WebDev, WinDev Mobile & certification

5.2WinDev Mobile : applications iOS & Android

Objectif : Concevoir une application mobile réellement adaptée au terrain avec WinDev Mobile, en réutilisant l'analyse et en traitant le hors ligne, la synchronisation et les stores.
Temps estimé : 11 min · lecture autonome · Si vous n'avez que 5 min : lisez « L'essentiel en 30s » + le schéma.

L'essentiel en 30 secondes

  • WinDev Mobile réutilise le WLangage et l'analyse, mais le mobile est un usage différent : Yacine ne transpose pas les dizaines d'écrans de gestion, il garde quelques tâches terrain.
  • Petit écran et tactile imposent de repenser l'interface et la saisie : listes, valeurs par défaut et scan de codes-barres remplacent la frappe.
  • La connexion incertaine est la difficulté majeure : base locale, file de modifications et synchronisation avec stratégie de conflits, sans jamais perdre une saisie.

Mini-cas filé — Yacine équipe les techniciens d'une application mobile

Yacine développe l'application de gestion d'une PME de négoce de matériel électrique à Oran. Les techniciens et magasiniers veulent, sur le terrain, scanner un article, consulter sa fiche, saisir un inventaire et faire signer un bon de livraison. Yacine crée une application WinDev Mobile en réutilisant l'analyse et les procédures métier existantes, mais il ne reprend que ces quelques tâches : il ne transpose pas les écrans denses du bureau. L'application stocke les relevés dans une base locale HFSQL et les marque comme non synchronisés. Dans l'entrepôt, sans réseau, le technicien continue de saisir. Au retour de la connexion, l'application envoie les relevés en attente. Yacine a défini une règle de conflit : le serveur gagne sur les quantités de stock, mais la signature et la photo du bon restent conservées. Il prévoit aussi les règles de publication sur les stores.

Cas autonome de cette section : il revient dans le cours, le schéma, le code et le défi 48h de la section 5.2.

1. Réutiliser, pas transposer

WinDev Mobile cible Android et iOS avec le même WLangage, la même analyse et les mêmes éditeurs. Yacine réutilise donc le modèle de données et une partie des procédures métier. Mais il ne transpose pas l'application de bureau : une application de gestion complète comporte des dizaines d'écrans, alors que le terrain n'en réclame qu'une poignée. Le mobile n'est pas une version réduite, c'est un usage différent : scanner un article, saisir un inventaire, faire signer un bon. Le périmètre est la première décision à prendre.

2. Interface tactile et saisie

Un écran dense conçu pour un ordinateur et un clavier est inutilisable sur un téléphone. Yacine hiérarchise l'information, découpe les écrans, agrandit les zones de touche et réduit la saisie au strict minimum. Taper du texte sur un petit clavier est lent et pénible : il privilégie les listes de choix, les valeurs par défaut, le scan de codes-barres, la photo, le GPS ou la signature à l'écran. Les capteurs du téléphone remplacent avantageusement de nombreuses saisies manuelles. L'objectif est que le technicien fasse le bon geste en quelques touches, même avec des gants.

3. Hors ligne, synchronisation et stores

Sur le terrain, le réseau est incertain : sous-sol, entrepôt, zone blanche. Une application qui exige une connexion permanente sera abandonnée. Yacine prévoit une base locale (HFSQL est disponible sur mobile), une file de modifications horodatées et une synchronisation au retour du réseau. Le point difficile reste le conflit : pendant qu'un technicien modifiait une fiche hors ligne, quelqu'un l'a aussi modifiée au siège. La stratégie doit être explicite et adaptée au métier, avec une règle absolue : ne jamais perdre une saisie du terrain. Enfin, la publication passe par les stores (Google Play, App Store), dont les règles et validations évoluent : il faut maintenir l'application dans la durée.

Erreur d'interprétation fréquente : « Il suffit de recompiler l'application WinDev pour obtenir une application mobile, tous les écrans peuvent être repris, et le hors ligne se réglera plus tard ». Non, triple erreur. WinDev Mobile réutilise le langage et l'analyse, mais il faut repenser le périmètre et l'interface. Un écran dense au clavier est inutilisable au doigt. Et le hors ligne n'est pas un détail : c'est la difficulté majeure, à traiter dès la conception avec une stratégie de synchronisation et de conflits. Yacine garde quelques tâches terrain, pas une copie réduite de la gestion complète.
Le mobile de terrain Du geste utile à la synchronisation, sans perdre la saisie. Périmètre Quelquestâches utilesBase locale Saisiehors ligneFile d'attente ModificationshorodatéesSynchronisation Conflitsarbitrés
Du geste utile à la synchronisation, sans perdre la saisie.
Version texte du schéma (SEO / lecteurs d'écran / traduction) : 1) Yacine, développeur dans une PME de négoce de matériel électrique à Oran, équipe techniciens et magasiniers d'une application mobile. 2) Il réutilise l'analyse et les procédures WinDev, mais limite le périmètre à quelques tâches terrain (scan, inventaire, bon de livraison) et repense l'interface pour le tactile. 3) L'application stocke les relevés en base locale HFSQL avec un indicateur de synchronisation, puis envoie les modifications au retour du réseau selon une règle de conflit explicite. Leçon : le mobile réutilise le socle WinDev mais exige un périmètre, une interface et un hors ligne pensés pour le terrain.

🔎 Exemple concret — 🔎 Exemple concret — Saisir un inventaire hors ligne

Yacine enregistre un relevé localement sans dépendre du réseau :

// Saisie hors ligne d'un relevé d'inventaire
HAjoute(ReleveStock)
ReleveStock.CodeArticle = SAI_CodeArticle
ReleveStock.QuantiteComptee = SAI_Quantite
ReleveStock.DateReleve = SysDateHeure()
ReleveStock.Synchronise = Faux
HModifie(ReleveStock)

Résultat : le technicien travaille dans l'entrepôt même sans connexion.

Réflexe : marquer la ligne comme non synchronisée pour la rejouer plus tard.

Vocabulaire de la section

WinDev Mobile
Membre de la gamme PC SOFT pour les applications Android et iOS, partageant WLangage, analyse et éditeurs avec WinDev.

Exemple simple : Yacine crée l'application de scan et d'inventaire pour ses techniciens.

Ce que ce n'est pas : apprendre séparément le natif Android et iOS.

Réflexe : mobile = même socle, autre usage.

Périmètre mobile
Ensemble restreint des tâches réellement utiles sur le terrain, choisi avant de concevoir l'application.

Exemple simple : Yacine garde scan, inventaire et bon de livraison.

Ce que ce n'est pas : recopier tous les écrans de gestion sur le téléphone.

Réflexe : le mobile n'est pas une version réduite du bureau.

Mode hors ligne
Capacité à consulter et saisir sur l'appareil sans connexion, grâce à une base de données locale.

Exemple simple : Le relevé de Yacine est enregistré dans l'entrepôt sans réseau.

Ce que ce n'est pas : imposer une connexion permanente pour saisir.

Réflexe : hors ligne = base locale et saisie conservée.

Synchronisation
Envoi des modifications locales vers le serveur et réception des mises à jour au retour du réseau.

Exemple simple : Les relevés en attente partent dès que le technicien ressort de l'entrepôt.

Ce que ce n'est pas : laisser les données locales sans jamais les remonter.

Réflexe : synchroniser = rejouer la file d'attente.

Conflit de synchronisation
Situation où une même donnée a été modifiée hors ligne et sur le serveur ; il faut une règle explicite.

Exemple simple : Yacine décide que le serveur gagne sur les quantités de stock.

Ce que ce n'est pas : laisser chaque appareil écraser les autres sans règle.

Réflexe : le conflit se décide selon le métier, pas au hasard.

En pratique — En pratique — Concevoir une application mobile

  1. Définissez le périmètre mobile : quelles tâches ont vraiment du sens sur le terrain (consulter, scanner, saisir un inventaire, faire signer).
  2. Repensez l'interface pour le petit écran et le tactile : zones de touche généreuses, saisie minimale, listes de choix et scans.
  3. Traitez le hors ligne : base locale, file de modifications horodatées et synchronisation avec une règle de conflit explicite.
  4. Exploitez les capteurs utiles (photo, code-barres, GPS, signature) et anticipez les règles de publication et de maintenance sur les stores.
Vous concevez une application mobile réellement adaptée au terrain plutôt qu'une copie réduite de l'application de bureau.

Script pas-à-pas — synchroniser les relevés (10 min)

Yacine rejoue les relevés non synchronisés dès que le réseau revient.

La synchronisation ne supprime rien avant confirmation : une saisie du terrain reste conservée jusqu'à son envoi réussi.

Modèle copier-coller — mon application mobile

// Application WinDev Mobile — terrain Yacine
// Analyse partagée : Article, Stock, BonLivraison, ReleveStock
// Périmètre : scan article, inventaire, signature du bon
// Base locale : HFSQL mobile
// File d'attente : ReleveStock.Synchronise = Faux
// Conflit : le serveur gagne sur les quantités, les preuves restent
// Capteurs : code-barres, photo, signature
// Stores : règles à vérifier avant chaque publication

Inventaire d'entrepôt

Yacine fait saisir les quantités comptées hors ligne par les magasiniers.

Scan en clientèle

Yacine fait scanner un article chez le client pour consulter sa fiche et son stock.

Bon de livraison signé

Yacine capture la signature du client sur l'écran du téléphone.

Synchronisation différée

Yacine envoie les relevés au retour du réseau, avec une règle de conflit adaptée au stock.

✓ Bonnes pratiques

  • Choisir un périmètre mobile restreint aux tâches du terrain.
  • Privilégier scan, listes et valeurs par défaut plutôt que la frappe.
  • Prévoir base locale, file d'attente et règle de conflit dès la conception.

✗ Pièges fréquents

  • Transposer tous les écrans denses du bureau sur le téléphone.
  • Exiger une connexion permanente pour saisir.
  • Laisser les conflits de synchronisation sans règle explicite.

Points clés à retenir

  • WinDev Mobile réutilise WLangage et analyse pour Android et iOS.
  • Le mobile est un usage différent : périmètre et interface doivent être repensés.
  • Le hors ligne et la synchronisation sont la difficulté majeure.
  • Les stores imposent des règles qui évoluent et une maintenance dans la durée.

Défi 48h — appliquez demain

Comme Yacine, choisissez trois tâches terrain de votre application (consulter, scanner, saisir) et esquissez les écrans mobiles correspondants. Créez une petite table locale avec un indicateur Synchronise, saisissez deux relevés hors ligne, puis écrivez la boucle de synchronisation. Rédigez enfin la règle de conflit que vous appliquerez si la même donnée change au siège.

Checklist sortie de section
  • Je peux expliquer ce que WinDev Mobile réutilise et ce qu'il faut repenser.
  • Je sais définir un périmètre mobile utile au terrain.
  • Je sais organiser une saisie hors ligne et sa synchronisation.
Auto-évaluation 1-5 : est-ce que je distingue mobile et copie réduite du bureau ?Auto-évaluation 1-5 : ai-je prévu une règle de conflit explicite ?

Questions fréquentes

Peut-on simplement porter son application WinDev sur mobile ?

Non. WinDev Mobile réutilise le WLangage et l'analyse, mais transposer telle quelle une application de bureau donne un résultat inutilisable. Il faut repenser le périmètre, l'interface et le fonctionnement hors ligne. Ce qui se réutilise : le langage, le modèle de données, une partie des procédures métier et les concepts de l'atelier. Ce qui doit être repensé : les tâches réellement utiles sur le terrain, les écrans tactiles, les modes de saisie (scan, listes, photo), la connexion incertaine et la synchronisation. Yacine garde quelques gestes métier, pas toute l'application.

Comment gérer le mode hors ligne et la synchronisation ?

En stockant les données localement sur l'appareil, en enregistrant les modifications avec leur horodatage, puis en synchronisant au retour du réseau. Le point difficile est le conflit : si la même fiche a été modifiée au siège et sur le téléphone, il faut une règle explicite. Les stratégies courantes sont le serveur gagne, le mobile gagne ou la dernière modification l'emporte, mais le bon choix dépend du métier. Yacine réduit les conflits en privilégiant les ajouts de relevés et en conservant toujours les preuves (signature, photo) même lorsque le serveur impose ses quantités.

Vérifiez votre compréhension

Quelle est la difficulté majeure d'une application mobile professionnelle ?

Ressources supplémentaires (optionnel, pour aller plus loin)

Examen du niveau 5Questions inédites et durcies pour valider vos acquis