iPhone : Créez votre propre AppStore !

Depuis iOS4, Apple a beaucoup amélioré l'utilisation de son iPhone pour l'entreprise. La supervision de la flotte a été revue et de nombreuses autres améliorations ont été apportées pour aider les RSSI et le support de nos chères DSI rendant l'iPhone de plus en plus proche du BlackBerry.

Une avancée majeure réalisée par Apple avec l'iOS4 concerne la possibilité de déployer des applications Over-The-Air sans passer par l'AppStore.

En effet, il est désormais possible de créer son propre AppStore interne à votre entreprise pour proposer et installer des applications sur les iPhones / iPod Touch de vos collaborateurs.

Comment faire ? Pour qui ? Pour quoi ? Quelles sont les limites ? C’est ce que nous allons voir dans cet article.

Le constat

L'AppStore s'est imposé comme la plateforme de référence pour la diffusion d'applications pour smartphones. Ce modèle, parfaitement adapté à de la diffusion de masse vers le grand public, est cependant loin d'être idéal dans le cadre d'applications internes.

En effet, aucune entreprise ne veut exposer à ses concurrents (via l'AppStore) ce qu'elle réalise pour ses employés pour améliorer sa productivité ou sa qualité.

En réponse à cette problématique, Apple avait prévu depuis le lancement de l'AppStore un programme Entreprise (In House deployment) ouvert aux entreprises de plus de 500 employés. Ce programme permet la diffusion d'applications à destination d'un cercle restreint sans passer par l'AppStore. Pour les autres, il est possible, avec le programme standard, de diffuser ses applications dans une limite de 100 terminaux identifiés (AdHoc deployment).

Pour installer l'application sur les iPhones de vos collaborateurs il fallait envoyer des fichiers qui devaient ensuite être synchronisés avec l'iPhone via iTunes ou l'utilitaire de  configuration iPhone (iPCU). Or iTunes ne fait généralement pas bon ménage avec nos parcs informatiques (bloquages proxy, nécessite les droits d'installation, ...), iPCU est réservé à un public averti et le tout nécessite d'avoir un ordinateur branché avec son iPhone. Au mieux l'installation est laborieuse, au pire impossible.

La solution

Avec iOS4 et le déploiement Over-The-Air, plus besoin d'un Mac ou PC pour installer les applications, plus besoin d'iTunes, vous pouvez tout faire depuis votre iPhone comme sur l'AppStore. Vous allez donc être capable de proposer à vos employés votre propre Store d'applications.

Ce déploiement concerne cependant uniquement vos propres applications et pas les applications diffusées par des tiers sur l'AppStore. Le déploiement Over-The-Air ne fonctionne que pour la publication AdHoc ou InHouse.

Si lors de vos développements vous avez voulu envoyer des versions beta à des testeurs, vous vous êtes probablement déjà retrouvé à devoir les aider par téléphone ou bien à les voir débarquer dans votre bureau. Tout ceci est fini, tout devient plus facile.

De quoi ai-je besoin ?

Pour pouvoir déployer Over-The-Air votre application il vous faut :

  • XCode en version 3.2.3
  • Votre code source
  • Le profil de distribution Ad Hoc ou In House
  • Un serveur Web pour héberger les fichiers
  • Un iPhone avec iOS4

Comment faire ?

Pour pouvoir distribuer votre application, il faut d’abord ouvrir votre projet avec XCode. Désignez la cible de compilation « Device » et la configuration adaptée.

Choix de la cible de compilation

Une fois cette cible désignée, il faut compiler et construire l’archive. Il suffit d’aller dans le menu « Build > Build and Archive ».

Compilation et création d'archive

Une fois l’archive construite, l’application Organizer se lance avec votre dernière archive. Sélectionnez la puis cliquez sur « Share Application »

Affichage des archives

Il vous faut alors choisir le profil qui va signer l’application. Choisissez soit le profil AdHoc soit le profil InHouse puis cliquez sur « Distribute for Enterprise »

Signature d'une archive

L’écran suivant apparait. Vous devez impérativement rentrer l’URL à partir de laquelle l’application sera distribuée. Cette URL doit être suffixée par le nom de l’application suivi de .ipa (cf exemple ci-dessous). Vous devez également remplir le nom de l’application dans le champ « Title ».

Informations de déploiement

Il ne vous reste plus qu’à enregistrer les fichiers sur votre disque dur en donnant le même nom que l’application.

Enregistrement des fichiers

Vous trouverez donc deux fichiers sur votre disque dur :

  • Un fichier .ipa : C’est le binaire de votre application
  • Un fichier .plist : C’est le descriptif de votre application qui va vous permettre de le faire télécharger par l’iPhone

Il vous reste une dernière étape : créer le fichier HTML

Ce fichier doit faire un lien vers le fichier PLIST pour permettre à l’application de s’installer mais il doit également proposer un lien vers le provisionning profile qui a servi à signer l’application et que les utilisateurs doivent installer préalablement à l’application. Vous devrez donc ajouter à ces deux fichiers le .mobileprovision

Voici un exemple de code HTML :

< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">

La ligne 10 est particulièrement importante puisqu’elle donne l’ordre à l’iPhone de télécharger le fichier. Il ne vous reste plus qu’à publier les 4 fichiers (ipa, mobileprovision, plist et html) sur le serveur web à l’adresse désignée dans les informations de déploiement et le tour est joué, vous avez une application ready for a Over-The-Air deployment !

Le site généré par ce code n'est pas des plus esthétique, vous pouvez télécharger un exemple plus élaboré en cliquant ici.

Illustration

Une fois que vous avez déployé l’application sur le serveur Web, il ne vous reste plus qu’à envoyer le lien vers la page HTML créée ci-dessus et de leur demander de télécharger les deux fichiers.

Voici l’illustration du processus d’installation de l’application :

EDIT : Le 13 juillet 2012

Depuis la publication de cet article, OCTO a développé et mis en service Appaloosa, une solution d'Enterprise App Store et de Mobile Application Management, qui permet à nos équipes, à nos clients mais également à tous ceux qui le souhaitent, de distribuer leurs applications privées over-the-air en reproduisant la même expérience utilisateur que les stores publics.

Retrouvez aussi notre infographie qui vous aide à mieux comprendre les différents certificates iOS.