ATTENTION : Dans le cadre de la livraison mensuelle, du 26 octobre 2022, une mise à jour de sécurité concernant les téléversements de fichiers a été diffusée. Pour éviter toute interruption du téléversement de fichiers dans votre application mobile, veillez à créer la nouvelle version de votre application mobile personnalisée et de la distribuer via les boutiques d’applications ou via vos systèmes de Gestion des Appareils Mobiles(Mobile Device Management). Veuillez noter que la version doit être basé sur la version 4.9.1 ou ultérieure.
ATTENTION: Si vous publiez votre application sur Apple App Store ou via un système Mobile Device Management (MDM), veuillez noter que pour re-signer et publier votre application, vous devez télécharger et exécuter la nouvelle version du script resign.sh (.sh, 6KB). Ce fichier est également joint au chapitre Re-signer le .ipa plus loin dans cet article
Introduction
Votre plateforme vous permet de créer une application mobile personnalisée pour l’apprentissage en temps réel de vos utilisateurs. Ainsi, vos apprenants peuvent faire leurs formations sur une application mobile personnalisée pour votre entreprise.
En savoir plus sur la manière de créer et de configurer votre application personnalisée, de générer une version et de télécharger un paquet afin de publier la version personnalisée de votre application Go.Learn sur les app stores. En savoir plus sur les critères techniques et les informations demandées pour créer votre propre application personnalisée.
Si vous publiez votre application dans l’iOS App Store, les éléments suivants seront demandés Export Compliance et Self-Classification Report for Encryption afin d’être en conformité avec les règles suivantes U.S. Encryption and Export Administration Regulations (EAR) (s'ouvre dans un nouvel onglet). En savoir plus sur comment produire et présenter le rapport Export Compliance and Self-Classification.
Cet article explique comment re-signer et publier votre application mobile personnalisée. Une fois que vous avez créé votre application personnalisée, afin de la publier sur le store de l’application (Google Play pour Android ou App Store pour iOS), vous devez remplacer la signature digitale temporairement appliquée par Docebo avec votre propre signature générée en interne (pour Android) ou avec le certificat de signature attribué par l’App Store (pour iOS).
Si vous n’appliquez pas la nouvelle signature, le paquet ne peut pas être téléchargé sur l’app store. Veuillez vous référer aux paragraphes suivants pour plus d’informations sur le processus de re-signature pour Android et iOS.
Veuillez noter que l’Éditeur d’application mobile personnalisée est une fonctionnalité très technique. Nous vous suggérons de contacter un membre de l’équipe IT de votre entreprise pour effectuer la configuration correctement.
Veuillez noter également que Docebo n’est pas responsable du contenu des documents externes rédigés par d’autres entreprises (ie. Apple etc.). Il est de votre responsabilité de vérifier si ces documents sont à jour ou s’ils ont été modifiés de quelque manière.
Play Store Android Google
Le processus de re-signature pour le Play Store Android Google est composé de deux étapes. Vous devez d’abord créer un keystore si vous n’en n’avez pas encore. Si vous avez déjà publié une application Android, vous pouvez utiliser le même keystore. Vous devez ensuite re-signer le Android Package (APK) ou le Android App Bundle (AAB) en fonction du format du paquet que vous avez choisi lors de la configuration des détails techniques dans la section Paramètres de l’onglet application Android.
Créer un Keystore
Commencez par créer un keystore à l’aide de l’utilitaire fourni avec toute distribution JDK standard et situé à l’adresse %JAVA_HOME%\bin. Sur Windows, cela est généralement C:\Program Files\Java\jre8\bin Vous n’avez pas besoin de vous soucier du chemin d’accès sur Mac OS.
Sur Windows, ouvrez une invite de commande et passez dans ce répertoire. Sur un Mac, ouvrez simplement un terminal. Puis entrez une commande comme ceci :
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Le Keytool vous invite à fournir des mots de passe pour le keystore, il vous sera ensuite demandé de fournir les champs Distinguished Name :
Champs | Notes |
commonName |
Nom d'une personne, par exemple "Susan Jones" |
organizationUnit |
Nom d'une petite organisation (par exemple département ou division), par exemple "Purchasing" |
organizationName |
Nom d'une grande organisation, par exemple "ABC Systems, Inc." |
localityName |
Nom de la ville, par exemple "Palo Alto" |
stateName |
Nom de l'état ou de la province, par exemple "California" |
country |
Code à deux lettres du pays, par exemple "CH" |
Enfin, entrez le mot de passe pour votre clé (si nécessaire). Le keystore est alors généré sous la forme d’un fichier nommé my-release-key.keystore enregistré dans le répertoire dans lequel vous vous situez actuellement. Le keystore et la clé sont protégés par les mots de passe que vous avez entrés. Le keystore contient une seule clé qui est valide pour une période de 10 000 jours (tel qu’indiqué dans le paramètre -validity). L’alias est le nom que vous utiliserez plus tard pour vous référer à ce keystore lorsque vous signez votre application.
A noter : Enregistrez le keystore et le mot de passe pour un usage ultérieur, vous en aurez besoin à chaque fois que vous publiez une mise à jour.
Pour en savoir plus sur Keytool, veuillez vous référer à ce document Oracle (s'ouvre dans un nouvel onglet). Vous pouvez également retrouver un document détaillé sur ce sujet sur Stack Overflow (s'ouvre dans un nouvel onglet).
Re-signer le .aab ou le .apk
Afin d’attribuer une nouvelle signature à un AAB ou un APK, vous devez supprimer le META-INF de votre AAB ou votre APK puis le signer à nouveau. Veuillez noter que vous ne devez pas extraire les fichiers, vous devez juste supprimer l’entrée de l’archive.
Vous pouvez le faire de plusieurs façons, mais la manière la plus rapide est d’utiliser le shell du système. Supposons que vous ayez un fichier MyApp.aab (ou un fichier MyApp.apk) et un keystore nommé ‘my-release-key.keystore’, l’alias est ‘alias_name‘, le mot de passe du keystore est secret’ et le mot de passe de la clé est ‘password123‘. Si vous n’avez pas de keystore, veuillez vous référer au paragraphe ci-dessus Créer un Keystore pour plus d’information sur la manière d’en créer. Suivez ces étapes pour re-signer le fichier .aab ou .apk :
1. Supprimez le répertoire META-INF de l’archive (pour Windows et Mac) :
zip -d MyApp.aab META-INF/\* ou zip -d MyApp.apk META-INF/\*
2. Réajustez l’application afin qu’elle soit conforme aux exigences techniques du Play Store. L’objectif est de s’assurer que toutes les données non compressées commencent avec un alignement particulier par rapport au début du fichier. (à noter : suivez cette étape pour les fichiers .apk uniquement).
Pour WIndows :
zipalign -f -v 4 MyApp.apk MyAppAligned.apk
Pour Mac:
/Users/{YOUR_USER_NAME}/Library/Android/sdk/build-tools/{SDK_VER}/zipalign -f -v 4 ./MyApp.apk MyAppAligned.apk
3. Signez à nouveau :
Pour Windows:
- AAB
jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore ./my-release-key.keystore ./MyAppSigned.aab alias_name
- APK
apksigner sign -v --out ./MyAppSigned.apk --ks ./my-release-key.keystore --ks-key-alias alias_name ./MyAppAligned.apk
Pour Mac:
- AAB
jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore ./my-release-key.keystore ./MyAppSigned.aab alias_name
- APK
/Users/{YOUR_USER_NAME}/Library/Android/sdk/build-tools/{SDK_VER}/apksigner sign -v --out ./MyAppSigned.apk --ks ./my-release-key.keystore --ks-key-alias alias_name ./MyAppAligned.apk
L'historique du shell ne présente aucun risque pour la sécurité car les mots de passe de votre keystore et de votre clé sont demandés sur la console. Vous pouvez maintenant télécharger le .aab sur le Play Store Android Google ou distribuer le .apk.
Publier
- Plus d'informations de la Google Play Console Help sur la manière de téléverser une application (s'ouvre dans un nouvel onglet)
- Lorsque vous mettez à jour votre application, créant ainsi une nouvelle version de l'application pour le Android Google Play Store (mais également lorsque vous créez votre application pour la première fois), vous pouvez suivre ce guide pour compléter le formulaire dans Google Play Console sur les types de données collectées dans votre application (PDF, 67KB). Veuillez noter que ce guide se réfère à la configuration de l'application Go.Learn, veuillez vérifier chaque section car votre application peut être différente de Go.Learn (par exemple, si vous n'avez pas connecté votre application à Firebase, ne renseignez pas d'informations sur la partie analytics ; si vous n'avez pas le module Discover, Coach & Share, renseignez cette partie en conséquence). Si vous n'envoyez pas ce formulaire, vous verrez un message d'alerte dans la Messages Area de votre Google Play Developer Console.
Apple App Store
Prérequis
Afin d’effectuer le processus de re-signature pour l’Apple App Store, vous avez besoin des éléments suivants :
Elément à Préparer | Notes |
Mac | Il est nécessaire d'utiliser un Mac car il n'est pas possible d'utiliser un PC Windows ne peut pas être utiliser pour re-signer un paquet .ipa |
XCode | Installé depuis le Mac App Store |
Provisioning Profile | Téléchargé sur Apple Developer Console |
Distribution Certificate | Téléchargé sur Apple Developer Console et installé dans la keyChain |
resign.sh script | Script que vous allez exécuter |
.ipa file | Créé par le service de l’Éditeur d'application mobile personnalisée |
’Re-signer le .ipa
Afin de re-signer le paquet iOS .ipa, une série d’outils qui ne sont disponibles que sur Mac OS X sont nécessaires, par conséquent vous ne pouvez pas re-signer une application iOS en utilisant un PC Windows. Un .ipa est un fichier zip. Afin de le modifier, vous devez l’extraire, le signer de nouveau et le re-compresser.
Suivez ces étapes pour re-signer votre fichier .ipa :
- Déplacez MyApp.ipa dans un dossier de votre choix.
- Créez et téléchargez le nouveau profil Provisioning embedded.mobileprovision depuis la Apple Developer Console et enregistrez-le dans le dossier .ipa (voir le point ci-dessus). Suivez les étapes indiquées dans cet article de la KB Apple (s'ouvre dans un nouvel onglet).
- L'exécution de security find-identity vous donnera une liste d’identités à partir desquelles vous pouvez choisir celle que vous souhaitez (vous devez cherchez celle qui commence par "Apple Distribution") :
security find-identity -v -p codesigning
Le résultat sera comme suit :
-
7D2A35B002F0577B66689713044BF66B4EEAC70F "Apple Developer: Donald Duck (4J2CJZQ799)
-
C45CFD22CCC7BD2E84ED43D07719D709BC901322 "Apple Distribution: A.C.M.E. (8YX56B3FLL)
- Déplacez le script resign.sh (.sh, 6KB) vers le même dossier et exécutez-le (exécutez le script sans arguments pour avoir plus d’informations) :
$./resign.sh ./MyApp.ipa ./embedded.mobileprovision “Apple Distribution: A.C.M.E. (8YX56B3FLL)"
A noter : Si vous recevez le message d’erreur permission denied comme illustré dans l’image ci-dessous, exécutez la commande chmod 777 ./resign.sh
Vous pouvez ensuite exécuter le script resign.sh sans recevoir de message d’erreur. Ce .ipa est maintenant signé avec votre nouveau profil et vous êtes prêt à le télécharger sur l’Apple Store en utilisant l’application Transporter (vous pouvez la trouver dans votre dossier Application). Si vous n’avez pas encore Transporter, vous pouvez l’installer depuis votre Mac App Store. Veuillez vous référer aux articles How to re-sign iOS builds (s'ouvre dans un nouvel onglet), Inside Code Signing (s'ouvre dans un nouvel onglet) et Application Code Signing (s'ouvre dans un nouvel onglet) pour en savoir plus sur la manière d’attribuer une nouvelle signature à un fichier .ipa Apple.
Publier
Vous avez également besoin des métadonnées suivantes pour finir l’installation de l’application dans iTunesConnect :
Informations Spécifiques de l’Application
Informations Spécifiques App |
Notes |
Title (Titre) |
Nom de l'App. Il peut compter jusqu'à 30 caractères. |
Subtitle (Sous-titre) |
Sous-titre de l'app apparaît sous le nom de l'app. Il peut compter jusqu'à 30 caractères. Il s'agit d'une information facultative. |
Privacy Policy URL (URL Politique de Confidentialité) |
URL du document concernant la politique de confidentialité que vous trouverez sur votre site web |
Primary Category (Première Catégorie) |
Première catégorie que vous attribuez à votre application. C’est la catégorie dans laquelle l’application apparaît lorsque les utilisateurs naviguent par catégorie ou filtrent les résultats de recherche. |
Secondary Category (Seconde Catégorie) |
Seconde catégorie que vous assignez à votre app. Il s'agit d'une information facultative. |
Price (Prix) |
Prix de votre app. Vous pouvez le régler sur l'option Free. |
Territories (Territoires) |
Par défaut, tous les territoires, mais la liste peut être éditée pour la rendre disponible uniquement pour certains pays. |
Informations Spécifiques de la Version
Informations Spécifiques Version |
Notes |
App previews (videos) and screenshots (Prévisualisations de l'app et copies écran) |
Spécifications copie écran, spécifications Prévisualisation Facultative |
Promotional text (Texte promotionnel) |
Texte promotionnel qui est affiché avant la description. Il peut compter jusqu'à 170 caractères. Il s'agit d'une information facultative. |
Description (Description) |
La description met en évidence les fonctionnalités de votre application. C’est un paragraphe informatif suivi d’une courte liste de fonctionnalités principales. |
Keywords (Mots-clés) |
Les mots-clés aident à déterminer où votre application s’affiche dans les résultats de recherche. Ils peuvent compter jusqu’à 100 caractères au total et les éléments sont séparés par des virgules et sans espaces. |
Support URL (URL du Support) |
URL de la page Web de votre entreprise où vous pouvez demander de l’aide |
Marketing URL (URL Marketing) |
Il s’agit de l’URL de la page Web de votre entreprise où vous pouvez télécharger des supports marketing et un dossier de presse. Il s'agit d'une information facultative. |
Version number (Numéro de version) |
La version par défaut pour une nouvelle app est 1.0, tandis que la version Docebo est 1.1.8 |
Copyright text (Texte Copyright) |
Ceci est le texte du copyright de votre application |
Contact info at your company in case of issues (Coordonnées d'un contact dans votre entreprise en cas de problème) |
Ces coordonnées sont utilisées pour soumettre des commentaires. |
App Review Info (Informations Aperçu App) |
Identifiants de connexion et étapes à suivre pour ouvrir une session ou utiliser l’application |
En savoir plus sur les spécifications concernant les captures d’écran (s'ouvre dans un nouvel onglet), les spécifications en matière d’aperçu facultatif (s'ouvre dans un nouvel onglet) et la création d'une Page Produit pour votre App Store (s'ouvre dans un nouvel onglet).
Notes Importantes sur le Processus de Publication
- Lorsque vous mettez à jour votre application, créant ainsi une nouvelle version pour Apple App Store (mais également lors de la création de l’application, la première fois), vous devez remplir le formulaire concernant les types de données collectées dans votre application. Instructions sur comment remplir les informations liées à la confidentialité dans votre application sur l'App Store (PDF, 42KB). Veuillez noter que ce guide fait référence à la configuration de l'application Go.Learn. Veuillez vérifier chaque section car votre application peut être différente de Go.Learn (par ex. si vous n'avez pas connecté votre application à Firebase, ne renseignez pas d'informations sur les analytics).
- Lorsque vous téléversez votre application personnalisée sur Apple App Store, si vous utilisez un SSO (Single Sign On) personnalisé, Apple peut demander une explication pour savoir pourquoi vous utilisez un processus de connexion non-standard.
- Lorsque vous publiez votre application personnalisée sur Apple App Store, vous pouvez recevoir des questions sur le contenu et les services payants. Vous retrouverez les réponses qui s’appliquent à l’application personnalisée que vous avez créée avec l’Éditeur d’application mobile personnalisée de Docebo (PDF, 33 Ko) (veuillez vous référer à la première section du document si vous utilisez l’application E-Commerce de Docebo pour vendre des cours en ligne sur votre plateforme, référez-vous à la deuxième section si vous ne l’utilisez pas). Une fois que vous avez répondu à ces questions, vous pouvez continuer le processus de publication.