Présentation de la formation WinDev Mobile 20 pour ios Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan La présentation du formateur Le cursus des formations PC Soft Le plan de formation Le public concernés Les prérequis
Présentation du formateur Patrick Antouly Développeur indépendant Chef de projet, expert sur les technologies PC SOFT Consultant et formateur indépendant Mes références : Mon profil LinkedIn : http://fr.linkedin.com/in/patrickantouly Site de l entreprise : http://www.antouly.fr Mon profil Alphorm: http://www.alphorm.com/formateur/patrick-antouly
Cursus A.G.L. PCSOFT version 20 mobile Les fondamentaux Les fondamentaux Android Le gestionnaire de code source Avancé Avancé ios / Apple Base HFSQL Confirmé Expert Windows CE mobile Expert Les nouveautés de la version 20
Le plan de formation Création d un logiciel pour gérer son budget Le projet «Gérer Mon Budget» Présentation de WINDEV Mobile et ios Configurer l'environnement Démonstration de XCode La compilation d une application sur Mac La base de données Base de données HFSQL Locale. Base de données HFSQL C/S. Réplication entre 2 bases HFSQL Accès à une base via un webservice L'interface homme-machine La charte graphique (règles d IHM sous ios). Les ancrages et les agencements Le champ zone répétée. Le champ zone multiligne. Le champ Action Bar / NavBar Les fenêtres coulissantes Les gestures et le balayage Dessiner dans l'application (signature). La programmation Les règles de programmation sous ios Débogage de l application Le champ carte. Gérer les coordonnées GPS. Consommer un Webservice. Utilisation de code natif Objective-C. Envoyer un email. Écrire et décoder un code-barres et un QR Code. Prendre des photos. Les notifications locales Les notifications push La gestion multi-plateformes Le déploiement Installation de l application et de ses données. Les méthodes de déploiement de l application
Publics concernés Tous les développeurs souhaitant développer sur ios Les décideurs ayant des projets en mobilité Tous les chefs et directeurs de projets
Connaissances requises De bonnes notions en développement informatique Avoir suivi la formation «WinDev 19, les fondamentaux» http://www.alphorm.com/formation/formation- windev-19-les-fondamentaux
Les autres formations PC Soft sur Alphorm
Les autres formations dev sur Alphorm
Are youready?
Présentation de la formation Présentation du projet "Gérer Mon Budget" Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr
Les objectifs Cas pratique Utilisable au quotidien Rendre la formation plus concrète Permettre d appliquer certains éléments de la formation
Les fonctionnalités «Gérer son budget en suivant ses comptes» Gestion des comptes bancaires Fiche d un compte, liste des comptes Gestion des mouvements bancaires Création d un débit (dépense), d un crédit (revenu) Calcul des soldes Gestion du paramétrage Catégories, options
La base de données
Autresexemples Différentes pages d exemples divers Intégrées ou pas à l application Gérer mon budget
Cequ ona couvert La présentation de notre projet «Gérer Mon Budget» qui va nous suivre tout au long de la formation Présentation des autres exemples
La configuration et la compilation Configurer l'environnement de développement Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Configuration de la machine de développement sous Windows Configuration de la machine de compilation sous Mac Xcode WinDev Mobile iphone ipad
Configuration de la machine Windows Installation de WinDev Mobile 20 Installation de itunes Création d un partage sur le dossier Mes Projets Mobile
Configuration du Mac Installation de Xcode Installation d itunes Connexion de l appareil (iphone ou ipad)
Cequ ona couvert L installation des logiciels indispensables pour développer une application ios
La configuration et la compilation Utilisation de Xcode Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Compte développeur Apple Lancement de Xcode Création d un mini application de démonstration Test sur le simulateur
Utilisationde Xcode Outils Navigateur Editeur Débogage
Cequ ona couvert Utilisation de Xcode Création d un mini projet de test Test du projet sur le simulateur
La configuration et la compilation La compilation d'une application Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Création du projet «Gérer Mon Budget» Les options du projet Création d une fenêtre de test Génération du projet Options de génération Compilation sur le Mac Test sur le simulateur Test sur le téléphone
Créationd un projet
Cequ ona couvert Création d un projet mobile Génération du projet Compilation du projet
La base de données HFSQL en local Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Présentation et particularités Création de la base de données «Gérer mon budget» Utilisation des bases locales
La base de donnéesmon budget
Cequ ona couvert Création de la base de données Création des fichiers physiques Emplacement des fichiers dans WinDev Mobile Emplacement des fichiers dans le simulateur Utilisation en local
La base de données HSQL Client/Serveur Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Création de la base de données sur le serveur HFSQL Connexion en WLangage Gestion des problèmes de connexion
Centre de contrôle HFSQL
Cequ ona couvert Utilisation d une base de données sur un serveur HFSQL C/S Connexion à la base en WLangage Gestion de la reconnexion en cas d erreur
La base de données La réplication entre bases HFSQL Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Principes Installation du serveur de réplication Définition de la réplication Gérer la synchronisation
Installation du serveur de réplication
Résumé Installer le serveur de réplication Créer la base de données sur le serveur HFSQL Créer un fichier de données local à partir de celui du serveur HFSQL Définir la réplication avec ReplicEdit Enregistrer la réplication (fichier wer) sur le serveur de réplication Copier le fichier wer dans le répertoire des données de l application Ecrire le code des synchronisation (ReplicOuvre et RéplicSynchronise)
Cequ ona couvert Principes de fonctionnement Installation du serveur de réplication Configuration de la réplication
La base de données Accès à une base via un webservice Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Principes Installer le Webservice d accès aux bases tierces Configurer l accès à la base de données (ODBC) Utiliser les fonctions SQL pour manipuler la base de données
Principes Le Webservice tourne sur une version spéciale (réservée) de WebDev Le Webserviceaccède à la base de donnée par accès direct, natif ou ODBC L application WinDev ou WinDev Mobile accède à la base de données au travers du Webservice à l aide de fonctions SQL du WLangage.
Installer le Webservice <Rep_Installation_WM20>\Install\WDServeurR\WX200PACKRSRV.exe
Manipuler les données SQLConnecteWS pour se connecter Utiliser les fonctions SQL du Wlangage Les fonctions SQLBloqueet SQLTransactionne sont pas disponibles
Cequ ona couvert Installation du serveur d accès aux bases tierces Configuration des bases Accès aux bases depuis WinDev Mobile
L interface homme-machine Les règles d IHM sous ios Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Conseils d Apple Ergonomie générale Eléments WinDev Mobile correspondants
Conseils Apple Conseils d Apple https://developer.apple.com/library/ios/documentation/userexperience/con ceptual/mobilehig/
Eléments WinDev Mobile Zone répétée Zone multiligne Action bar Barre d outils Fenêtre interne à balayage
Charte graphique et polices
Cequ ona couvert Revue des règles d IHM pour ios Description des éléments à utiliser
L interface homme-machine Les ancrages et les agencements Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan L intérêt des ancrages Les différents types d ancrages Les agencements
A quoi servent les ancrages? Adaptation du contenu des fenêtres selon : Différents résolutions sur iphone Résolution des ipads Mode portrait et paysage
A quoi servent les ancrages? En mode portrait En mode paysage sans ancrages En mode paysage avec ancrages
Les différents types d ancrage Propriétés des champs Par programmation Propriété..Ancrage ancrebas ancredroite ancrelargeur ancrehauteur ancrehautgauche TauxAncrageHauteur Etc.
Les agencements
Cequ ona couvert Les ancrages de champs Les agencements de fenêtres
L interface homme-machine Le champ zone répétée Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Description des zones répétées La notion d attribut La programmation
Description des zones répétées Zone répétée horizontale ou verticale Mémoire: Données défini par programmation Fichier: Données provenant d un fichier/requête
Programmation des zones répétées ZoneRépétéeAffiche ZoneRépétéeAjoute ZoneRépétéeInsère ZoneRépétéeSelect ZoneRépétéeOccurence Etc.
Cequ ona couvert Création d une zone répétée Programmation
L interface homme-machine Le champ zone multiligne Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Description de la zone multiligne Les différents types de lignes La programmation
Description d une zone multiligne Zone multiligne d action ou de sélection
Cequ ona couvert Création d une zone multiligne Programmation
L interface homme-machine Le champ Action Bar Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Présentation du champ, de ses options et possibilités Programmation du champ
Création et options d une action bar
Cequ ona couvert Création d une action bar Description des différentes options Programmation
L interface homme-machine Les fenêtres coulissantes Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Les fenêtres internes Mise en œuvre d une fenêtre coulissante La programmation
Les fenêtres coulissantes Définition dans les propriété de la fenêtre Liaison avec l action bar Effets d ouverture
Programmation des fenêtres coulissantes FenCoulissanteVisible FenTailleUtile MaFenêtreCoulissanteDroite, MaFenêtreCoulissanteGauche Permet de manipuler la fenêtre coulissante depuis la fenêtre en cours
Cequ ona couvert Création et utilisation des fenêtres internes Utilisation dans le projet de démonstration Programmation
L interface homme-machine Gestureset balayage Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Description des gestures Programmation Gestures automatiques sur certains champs Images et graphes Zones répétées Gestion du balayage dans une fenêtre
Les gestures Sur un champ image Sur une zone répétée
Les fenêtres internes Zone de balayage Programmation : FIListeAjoute ChangeFenêtreSource Etc.
Cequ ona couvert Description des gestures Création de fenêtres internes à balayage Programmation
L interface homme-machine Dessiner dans l application Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Utilisation du champ image pour dessiner Création d une zone de dessin au doigt Programmation
Cequ ona couvert Création d une zone de dessin sous ios
La programmation Les règles de programmation sous ios Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Les éléments non disponibles Les particularités Les limites La charte graphique, les polices de caractères
Les éléments non disponibles Composants Les champs suivants : Liste d images, combo avec table, arbre, séparateur, ascenseur, spin, boite à outils, champs ActiveX, champ forme, champ caméra, champ publicité Les propriétés des cadres des champs Ouvre (fenêtres modales non supportées par ios) Utiliser OuvreFille ou OuvreFenêtreMobile
Les éléments non disponibles Dans les propriétés : Identifiables par des zones grisées Champ Combo sous WinDev Champ Combo sous WinDev Mobile
Particularités(1) Base de données HFSQL Pas d accents dans les noms de fichiers «externes» Pas de fenêtres modales OuvreFenêtreMobile ou OuvreFille Ascenseurs automatiques dans les fenêtres Unicode par défaut Exécution : 10 secondes maxi
Particularités(2) Gestion des répertoires Défaut : répertoire Documents Gestion de l orientation Libre Bloqué Portrait Bloqué Paysage Polices Apple
Chartegraphiqueet polices
Cequ ona couvert Les particularités du développement ios avec WinDev mobile
La programmation Débogage des applications Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Dans le simulateur WinDev Mobile Dans le simulateur sous Xcode Sur le mobile
Débogage dans WinDev Mobile Pas à pas Points d arrêt Lecture et modification des variables Traces
Débogage sous Xcode Trace dbgsortiestandard Journal sous XCode Lecture des dossiers de l appareil depuis XCode
Cequ ona couvert Différentes méthodes de débogage d une application ios
La programmation Le champ carte Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Description du champ carte Utilisation Programmation
Le champ carte CarteAffichePosition CarteAjouteItinéraire CarteAjouteMarqueur CarteInfoPosition CarteInfoXY CarteRécupèrePosition CarteSuitDéplacement Etc.
Cequ ona couvert Utilisation du champ carte Programmation
La programmation Gérer les coordonnées GPS Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Les différentes fonctions GPS Utilisation en programmation
Les fonctions GPS et géographie GPSInitParamètre GPSEtat GPSRécupèrePosition GPSDernièrePosition géoazimut géodistance géolanceappli géorécupèreadresse Etc. Le type«géoposition» Altitude AltitudeValide DateMesure(heure locale sur l'appareil) Direction (en degrés Est à partir du Nord géographique) DirectionValide Latitude Longitude Précision (en metre) PrécisionValide Vitesse (en mètre/sec) VitesseValide
Cequ ona couvert Utilisation des fonctions GPS
La programmation Consommer un Webservice Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Le principe des Webservices Présentation du format XML Consommer un Webservice avec WinDev Mobile
Description des Webservices Principes WSDL
Le format XML
Utilisation des Webservices Exemple de récupération de données météo
Cequ ona couvert Consommation d un Webservice dans une application ios
La programmation Utilisation du code natif Objective C Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Pourquoi utiliser du code Objective C dans WinDev mobile? Ecrire une procédure en Objective C Appeler des classes Objective C Appeler une procédure Wlangage en Objective C
Ecrire une procédure en Objective C Passage des paramètres uniquement par valeur Types simples pour les paramètres (entier, chaine )
Cequ ona couvert Utilisation du code natif Objective C dans WinDev Mobile
La programmation Envoyer un email ou un SMS Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Les fonctions Email Structure Email Lancement de l application email native Envoi (limité) de SMS
Envoyer un email sous IOS EmailOuvreSession EmailEnvoieMessage EmailFermeSession
Récupérer les emails sous IOS EmailOuvreSession EmailLitPremier EmailLitSuivant Etc.
Lancer l application native EmailLanceAppli
Envoyer un SMS SMSLanceAppli
Cequ ona couvert Envoyer des emails sous ios Lancer l application native Envoyer des SMS par l application native
La programmation Codes-barres et QR Codes Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Affichage d un code-barres ou d un QR code Lecture d un code-barres ou d un QR code La programmation
Les gestion des code-barres Types gérés Code128 Code39 Code93 EAN13 EAN8 PDF417 UPC-A UPC-E QR Code
Cequ ona couvert Création des code-barres Lire des code-barres et des QR Codes
La programmation Prendre des photos Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Prendre des photos ou filmer des vidéos Accéder à l album de l appareil La programmation
Programmation VidéoLanceAppli AlbumSélecteur
Cequ ona couvert Prendre des photos sous ios Programmation
La programmation Les notifications locales Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Les vibrations Les LEDs Les messages furtifs (Toast) Les notifications locales Les badges
Cequ ona couvert Notifier l utilisateur «en local»
La programmation Les notifications push Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Principe Préparation Utilisation des exemples
Les notifications push 4) Stockage des ids 3) L App transmet l id au serveur a) Envoi du message avec les ids Serveur 1) Enregistrement auprès d APNS 2) APNS renvoie un token (registration id) B) Envoi du message aux appareils APNS Apple Push Notification Services
Préparation Sur le site developer.apple.com Création du CSR (Certificate Signing Request) Création de l App ID Création du certificat Push
Utilisation des exemples Dans le dossier C:\WinDev Mobile 20\Exemples\Multiplateforme\Push Mobile Configuration et installation du Web service Configuration et création de l App de test Envoi de push avec l application WinDev Type Notification NotifPushActive NotifPushEnvoie NotifPushProcédure NotifSupprime Etc.
Cequ ona couvert Principe des notifications push Création des certificats Utilisation des exemples de test
La programmation La gestion multi-plateforme Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Les configurations de projets Le code cible conditionnel Les agencements
La gestion des configurations de projets Inclure ou exclure des éléments de la configuration Gestion des configurations
Le code cible conditionnel
Les agencements
Cequ ona couvert Les configurations de projets Le code cible conditionnel Les agencements
Le déploiement Installation sur iphone ou ipad Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Description des différents répertoires itunes File Sharing
Principaux répertoires Documents Fichiers de données créés par l utilisateur Library tmp Fichiers de l application non accessibles à l utilisateur Fichiers non persistants
Gestion des répertoires frepdonnées frepencours frepdonnéesutilisateur frepertoiretemp fextraitressource Etc. Sélection du répertoire lors de la génération du projet XCode
Cequ ona couvert Gestion des différents répertoires Utilisation de itunes file Sharing
Le déploiement Les différentes méthode de déploiement Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Plan Présentation des différentes méthodes de déploiement Via App Store Via un réseau Ad-Hoc Via un réseau In-House Démo des étapes de déploiement sur l App Store Utilisation d itunes Connect
Ad Hoc et In House Ad Hoc Sur le matériel perso Pour une flotte de 100 appareils maxi La compilation inclut l'identifiant de l'appareil Déploiement par email ou serveur In-House Distribution par serveur Web pour une entreprise Nécessite de s'inscrire au programme ios Developer Enterprise Au delà de 100 appareils
App Store Inscription au programme développeur Apple Génération de l application Préparation au déploiement Déploiement
Cequ ona couvert Les différentes méthodes de déploiement d une application ios.
WinDev Mobile 20 ios Conclusion Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Patrick Antouly Formateur, Développeur et Consultant patrick@antouly.fr indépendant
Des questions? Patrick Antouly Développeur indépendant Chef de projet, expert sur les technologies PC SOFT Consultant et formateur indépendant Mes références : Mon profil LinkedIn : http://fr.linkedin.com/in/patrickantouly Site de l entreprise : http://www.antouly.fr Mon profil Alphorm: http://www.alphorm.com/auteur/patrickantouly
Bilan Utiliser l environnement de développement WinDev Mobile Utiliser Xcodeet ses outils Compiler et déployer une application Utiliser différentes bases de données Utiliser les principaux champs Connaitre les principales fonctions du WLangage Développer en multiplateforme Installer et déployer les applications
A bientôt A bientôt sur les autres formations PCSOFT