PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Présentation
  • Les différentes étapes
  • Etape 1 : Certificat de distribution
  • Etape 2 : Identifiant d'application
  • Etape 3 : Profil d'approvisionnement
  • Etape 4 : Configuration du serveur Web
  • Etape 5 : Génération de l'application
  • Etape 6 : Compilation dans Xcode
  • Etape 7 : Installation de l'application
  • Etape 8 : Piloter Xcode (facultatif)
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Présentation
Le déploiement In-House proposé par Apple permet de s'affranchir de la plupart des contraintes des deux autres modes (déploiement par l'App Store et déploiement "Ad Hoc") et de distribuer à grande échelle une application sans avoir besoin de référencer à l'avance les périphériques clients.
Avantages :
  • Déploiement à grande échelle (pas de limite du nombre de clients).
  • Pas de contrôle par Apple des applications distribuées.
Inconvénients :
  • nécessite un serveur HTTPS pour la distribution de l'application.
  • nécessite un niveau d'abonnement plus coûteux dans le compte développeur Apple.
Note : le déploiement In-House était précédemment nommé "Enterprise". Le terme "Enterprise" se retrouve encore dans certaines documentations.
Les différentes étapes

Etape 1 : Certificat de distribution

Cette étape est à réaliser une seule fois.
Le certificat de distribution peut être utilisé pour toutes les applications de la société.
Le certificat de distribution identifie l'entreprise qui distribue une application. Il est composé d'une clé publique et d'une clé privée :
  • la clé privée est conservée par le développeur et utilisée pour signer les packages d'installation de l'application.
  • la clé publique est distribuée avec l'application et doit être signée par Apple.
Remarque : Les certificats de distribution sont valables trois ans. Un certificat expiré ne peut pas être renouvelé. À l'expiration, il est nécessaire de générer un nouveau certificat.
La création d'un certificat de distribution s'effectue grâce à un compte Apple Developer depuis le site "https://developer.apple.com/".
Cette opération se déroule en deux étapes :
  1. Création de la clé privée et de la clé publique sur le Mac.
  2. Envoi de la clé publique pour la faire signer par Apple sous la forme d'une requête de signature pour un certificat (Certificate Signing Request ou CSR).
Remarque : il est conseillé de réaliser cette opération sur le Mac utilisé pour la compilation. Tous les fichiers générés seront ainsi installés sur le poste et prêts à être utilisés par Xcode lors des opérations de compilation.
Création des clés sur le Mac
Pour créer la clé privée et le CSR, il est nécessaire d'utiliser l'application Apple "Trousseau d'Accès", disponibles dans le groupe "Applications" du Mac (dans les "Utilitaires").
Dans le menu principal de l'application, choisissez l'option "Assistant de certification .. Demander un certificat à une autorité de certification".
Suivez alors les étapes de l'assistant pour créer un CSR.
Signature du CSR sur le site
Sur le site "Apple Developer" :
  1. Cliquez sur "Certificates, Identifiers & Profiles" dans le menu à gauche.
  2. Cliquez ensuite sur le bouton "+" pour créer un nouveau certificat (dans la partie "Software", choisissez "In-House and Ad Hoc").
  3. Lorsque le CSR est généré, il doit être envoyé sur le site de Apple.
  4. Cliquez sur "Choose file" et sélectionnez le fichier CSR généré par l'assistant.
Apple va alors signer le CSR et retourner un certificat de distribution qui doit être :
  • téléchargé via le bouton "Download",
  • installé sur le Mac (via un double-clic sur le fichier précédemment téléchargé).
Attention : il est important de noter que le déploiement In-House n'est pas destiné à commercialiser des applications mais seulement à faire du déploiement à usage interne de l'entreprise à grande échelle.

Etape 2 : Identifiant d'application

Cette étape est à réaliser une seule fois pour chaque application à distribuer sauf si les conditions de distribution décrites dans l'App ID varient.
Un identifiant d'application (App ID) permet d'identifier de façon unique une application. Les différentes versions d'une même application auront toutes le même App ID.
La création de l'identifiant d'application est réalisée également depuis le site Apple Developer :
  1. Dans la partie "Certificates, Identifiers & Profiles", sélectionnez la deuxième entrée du menu de gauche : "Identifiers",
  2. Cliquez sur "+" pour créer un nouvel App ID,
  3. Dans "Register a New Identifier", choisissez "App ID" puis cliquez sur "Continue".
  4. Décrivez l'application pour créer l'App ID.
    • Platform : sélectionnez iOS, tvOS, watchOS pour une application WINDEV Mobile.
    • Description : ce champ est libre et permet de saisir une description de l'application.
    • Bundle ID : sélectionnez "Explicit" et saisissez un identifiant de bundle. Cet identifiant est libre. Il devra être saisi dans l'assistant de génération de WINDEV Mobile (voir l'étape 5). Par convention, cet identifiant correspond le plus souvent à une syntaxe dite de "nom de domaine renversé". Par exemple pour une application "WMShopping" distribué par la société "precilia.com", le "Bundle ID" recommandé est : "com.precilia.wmshopping".
      Note : les "Bundle ID" de type "Wildcard" (c’est-à-dire avec une étoile au lieu d'un nom d'application comme "com.precilia.*") permettent d'avoir un seul App ID pour plusieurs applications ce qui peut être utile pour distribuer un grand nombre d'applications. Toutefois, il n'est pas possible d'utiliser les notifications Push ou les achats InApp dans une application identifiée par un "Bundle ID" de type "Wildcard".
  5. Indiquez dans la liste "Capabilities" les fonctionnalités utilisées par l'application (par exemple les notifications Push).
  6. Cliquez sur "Continue".
  7. Dans la page suivante, indiquez de quelle façon l'application sera déployée (pour que l'App ID généré soit compatible avec le In-House).
  8. Sélectionnez le choix "Yes. I have details on this app and plans for distribution".
  9. Indiquez le nombre approximatif de postes clients visés.
  10. Sélectionnez alors la méthode de déploiement de l'application :
    • soit par un site Web sécurisé (le cas de cet article),
    • soit par une solution MDM (Mobile Device Management, c'est-à-dire une infrastructure de gestion d'un parc d'appareils mobiles)
  11. Indiquez ensuite de quelle façon l'accès à l'application est sécurisé :
    • soit par un mécanisme de login/mot de passe,
    • soit en forçant l'utilisateur à se connecter à un Intranet ou un VPN spécifique.
  12. Enfin, indiquez le public visé par l'application :
    • des employés de l'entreprise,
    • des contractants.
  13. Pensez à cocher la case confirmant que toutes les informations fournies sont correctes (en bas de page).
  14. Cliquez sur "Continue" pour créer l'App ID.

Etape 3 : Profil d'approvisionnement

Cette étape est à réaliser une fois par application à distribuer.
Un profil d'approvisionnement est une description qui fait le lien entre une application (représentée par son App ID) et un distributeur (représenté par un Certificat de Distribution). Il sert à compiler le package qui sera installé sur les appareils iOS.
La création du profil d'approvisionnement s'effectue depuis le site "Apple Developer" :
  1. Dans la partie "Certificates, Identifiers & Profiles", cliquez sur "Profiles" et sur "+" pour créer un nouveau profil,
  2. Choisissez "In-House" dans la section "Distribution" et cliquez sur "Continue",
  3. Sélectionnez l'App ID créé pour l'application dans la liste déroulante et cliquez sur "Continue".
  4. Choisissez le certificat de distribution à utiliser. À la compilation, l'application devra être signée avec la clé privée de ce certificat (voir étape 5). Cliquez ensuite sur "Continue".
    Note : La clé publique devra être acceptée par l'utilisateur de l'application avant qu'il puisse lancer l'application sur son iPhone/iPad (voir étape 7).
  5. Saisissez un nom pour le profil d'approvisionnement et cliquez sur "Generate".
  6. Lorsque le profil est prêt, cliquez sur le bouton "Download" pour le télécharger et effectuez un "double-clic" pour l'installer dans Xcode

Etape 4 : Configuration du serveur Web

Pour permettre l'installation d'applications In-House, une solution simple est de créer une page Web avec un lien pointant sur le fichier "manifest.plist" (qui sera généré par Xcode, à l'étape 6).
La syntaxe de ce lien est la suivante :
<a href="itms-services://?action=download-manifest&url=
https://wmshopping.precilia.com/manifest.plist" id="text">Téléchargement application iOS</a>
L'adresse du serveur Web est à adapter selon votre configuration et le texte dans la balise est bien entendu totalement libre.
Type MIME
Par défaut, les serveurs Web ne savent pas toujours comment gérer les fichiers de type ".plist" et ".ipa". Si ces extensions sont inconnues du serveur, le téléchargement ne fonctionnera pas.
Pour déclarer ces extensions dans IIS, utilisez le "Gestionnaire des services Internet (IIS)" :
  1. Sélectionnez le serveur et cliquez sur "Types MIME" dans la vue de droite (dans la section "IIS").
  2. Si les extensions ".ipa" et ".plist" ne sont pas déclarées sur votre serveur, ajoutez-les en cliquant sur "Ajouter" (dans le menu à droite de la fenêtre) :
    • l'extension ".ipa" est associée au type MIME "application/octet-stream",
    • l'extension ".plist" est associée au type MIME "application/x-plist".

Etape 5 : Génération de l'application

Sous WINDEV Mobile, lancez l'assistant de génération de l'application iOS : sous le volet "Projet", dans le groupe "Projet", cliquez sur "Générer".
  • Dans la première étape de l'assistant, renseignez le Bundle ID de l'application.
Attention : Il faut bien utiliser le même Bundle ID que celui qui a été saisi lors de la création de l'App ID (étape 2).
  • Dans l'étape "Signature", il est possible de demander à WINDEV Mobile de générer automatiquement les éléments nécessaires pour la signature de l'application. Pour cela, il suffit de renseigner votre identifiant d'équipe (Team ID). Cet identifiant est affiché en haut à droite sur toutes les pages du site Apple Developer lorsque vous êtes connecté.
  • Terminez l'assistant pour générer le projet Xcode et copiez le résultat sur votre Mac de compilation.

Etape 6 : Compilation dans Xcode

Pour compiler votre projet WINDEV Mobile sous Xcode :
  1. Chargez le projet dans Xcode.
  2. Sélectionnez la cible "Generic iOS Device" dans la barre d'outils.
  3. Sélectionnez alors l'entrée "Archive" du menu "Product".
  4. Quand la création de l'archive logicielle est terminée, cliquez sur le bouton "Distribute App".
  5. Pour faire du déploiement In-House, sélectionnez la méthode de distribution "Enterprise" et validez en cliquant sur le bouton "Next".
    Astuce : Dans les options de distribution, il est possible de réduire la taille du package si tous les appareils clients sont du même modèle.
    Pour cela, choisissez le modèle dans la liste déroulante "App Thinning".
  6. Assurez-vous de bien laisser cochée la case "Include manifest for over-the-air installation".
  7. Cliquez sur "Next".
  8. Indiquez les informations du manifeste de déploiement avant de valider ("Next") :
    • Name : indiquez le nom de l'application
    • App URL : indiquez l'adresse à laquelle vous souhaitez mettre à disposition le package d'installation. Ce package est un fichier d'extension .ipa et il est obligatoire que l'accès se fasse en HTTPS.
    • Display Image URL : indiquez l'adresse d'une image de 57x57 pixels qui servira d'icône d'installation pour l'application. Le protocole doit obligatoirement être HTTPS.
    • Full Size Image URL : indiquez l'adresse d'une image de 512x512 pixels qui servira de grande icône pour l'application. Le protocole doit obligatoirement être HTTPS.
  9. Pour une distribution In-House, le package d'installation doit être à nouveau signé après sa génération.
    Lors de cette étape, vous pouvez choisir de laisser Xcode gérer automatiquement la signature (en se basant sur les informations données dans le profil d'approvisionnement).
    En cas de gestion manuelle de la signature, une étape supplémentaire demande de confirmer le certificat de distribution à utiliser (c'est le certificat qui a été créé à l'étape 1) ainsi que le profil d'approvisionnement (profil créé à l'étape 3).
  10. Après validation (bouton "Next"), Xcode construit l'archive d'installation de l'application puis signe cette archive avec la clé privée du certificat de distribution.
    Remarque : cette opération peut être assez longue (plusieurs minutes).
  11. Quand l'archive de distribution est créée, Xcode propose d'exporter le résultat de la génération. Xcode génère alors plusieurs fichiers dans ce répertoire. Deux d'entre eux sont nécessaires pour distribuer l'application :
    • le fichier manifest.plist,
    • le fichier .ipa (son nom a été choisi dans l'assistant de création d'archive).
  12. Copiez ces deux fichiers sur le serveur Web (configuré à l'étape 4) à l'URL renseignée lors de la génération.

Etape 7 : Installation de l'application

Pour installer l'application sur un iPhone/iPad :
  1. Naviguez avec Safari vers la page Web créée précédemment et cliquez sur le lien d'installation.
  2. Safari va alors afficher une boîte de confirmation indiquant que le site Web souhaite installer une application : cliquez sur "Installer".
Lors du premier lancement de l'application, un message d'erreur peut s'afficher indiquant que l'entreprise qui a signé cette application n'est pas approuvée par l'utilisateur.
Pour approuver un certificat sur un appareil :
  1. Rendez-vous dans les "Réglages" de l'iPhone/iPad, partie "Général",
  2. Cliquez sur "Gestion des profils et de l'appareil",
  3. Cliquez sur le nom du certificat de distribution dans la partie "App d'entreprise" (c'est le certificat qui a été créé à la première étape),
  4. Cliquez sur "Faire confiance à ..." et validez.
Il sera alors possible d'installer et de lancer toutes les applications In-House signées par cette entreprise (c'est-à-dire utilisant le même Certificat de Distribution) sur cet appareil.

Etape 8 : Piloter Xcode (facultatif)

Il est possible de piloter Xcode via des lignes de commandes pour déclencher la génération par programmation (par exemple en SSH depuis un plan d'action dans la fabrique logicielle).
Les principales lignes de commandes utiles dans ce cas sont les suivantes :
  • Nettoyage du cache de compilation :
    xcodebuild clean
  • Archivage :
    xcodebuild -scheme <mon_scheme>-sdk iphoneos-archivePath <chemin_archive> archive

    Les paramètres sont les suivants :
    • <mon_scheme> : valeur d'un scheme du projet (voir dans Xcode les schemes de votre application).
    • <chemin_archive> : chemin destination.
  • Construction de l'IPA :
    xcodebuild -exportArchive-archivePath <mon_scheme>.xarchive
    -exportOptionsPlist exportOptions.plist-exportPath <chemin_export>

    Les paramètres sont les suivants :
    • <mon_scheme> : valeur d'un scheme du projet.
    • <chemin_export> : chemin destination.
Pour plus de détails sur l'utilisation de xcode build et le fonctionnement en ligne de commande, reportez-vous à la documentation de Apple : "https://developer.apple.com/library/archive/technotes/tn2339/_index.html".
Version minimum requise
  • Version 17
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire