Guide d`accélération du développement d`apps en interne

Transcription

Guide d`accélération du développement d`apps en interne
Guide d’accélération du
développement d’apps en interne
Présentation
Comment donner vie à vos idées d’apps internes.
Votre entreprise est unique, tout comme vos utilisateurs. Il existe d’innombrables possibilités pour
répondre à leurs besoins avec des apps mobiles innovantes qui peuvent transformer leur façon
de travailler. La plupart des équipes de développement en entreprise sont aussi soumises à des
contraintes. Qu’il s’agisse de contraintes touchant au budget, à l’organisation ou aux ressources, vous
devez vous attacher à développer des apps satisfaisant à vos exigences spécifiques.
iOS est un outil formidable pour y parvenir. Le développement iOS peut être rapide et très
enrichissant en vous permettant de créer des apps qui procureront des avantages immédiats à vos
utilisateurs. Nul besoin d’un processus onéreux ni de ressources excessives pour faire la différence.
Sans doute vous faudra-t-il néanmoins concentrer vos efforts différemment que dans le cadre d’un
projet de développement interne classique.
Ce guide va vous y aider. Il décrit les bonnes pratiques permettant de développer des apps mobiles
fantastiques. Vous y trouverez également des conseils et des ressources qui vous aideront à organiser
votre projet pour une efficacité maximale.
Comment utiliser ce guide
Check-list. La check-list
proposée dans chaque chapitre
vous permet de passer en revue
et de vérifier les étapes les plus
importantes du processus de
développement.
Astuces. Les astuces
contiennent des informations
essentielles pour le processus
sous une forme facile à
comprendre.
Check-list Déploiement
À la fin de la phase de déploiement, vous devriez avoir :
créé les certificats d’entreprise et les profils d’approvisionnement
mis en place un serveur web de distribution ou une solution pour distribuer
les apps sans fil
annoncé la solution aux utilisateurs finals
Astuce : Apps de taille moyenne
• Les apps simples, rapides et bien exécutées
génèrent une demande interne, et limitent la
portée et l’investissement.
• Les apps de taille moyenne peuvent
constituer un menu complet. Les utilisateurs
créent leurs propres « solutions », ce qui
laisse une plus grande marge de manœuvre
à vos collaborateurs.
Ce guide se compose des quatre sections suivantes :
Planification - Définissez votre projet et ses exigences, planifiez votre processus de
développement.
Conception - Appuyez-vous sur les concepts de création d’une interface iOS pour que vos
apps internes rencontrent un vif succès auprès de vos utilisateurs.
Exemples. Lisez les exemples
d’autres entreprises ayant
développé des apps en interne
pour iPhone et iPad pour y
trouver l’inspiration et des idées.
« Nous devions trouver un moyen
d’appliquer très rapidement les
mises à jour et les modifications.
C’est pourquoi nous avons
adopté une approche mixte, à
base d’éléments d’interface natifs
hébergés sur le téléphone. Le
reste était toutes les pages web
proprement dites. »
- Giancarlo De Lio, Mt. Sinai Hospital
Développement - Développez vos apps internes et tirez pleinement parti des outils Apple,
comme le SDK iOS.
Déploiement - Distribuez vos apps internes dans votre entreprise et créez votre propre
service de distribution sans fil.
Raccourcis. Ces liens vous
permettent d’en apprendre plus
sur le développement d’apps
iOS en interne.
Raccourcis
FAQ sur l’inscription au programme
http://developer.apple.com/support/ios/enrollment.html
FAQ sur le programme pour développeurs iOS en entreprise (iOS
Developer Enterprise Program)
http://developer.apple.com/support/ios/enterprise.html
C’est parti.
Présentation
2
Planification
La création d’une app fantastique requiert un plan fantastique. Il est important que les personnes
de votre entreprise qui participent au projet se sentent en phase avec ses objectifs et prennent
activement part à la formulation du plan. Plus votre équipe comprendra la répartition des tâches
tout au long du processus et les étapes nécessaires à la mise en œuvre du plan, plus elle se montrera
efficace et pourra créer quelque chose d’exceptionnel.
Dans le cadre de ce plan, votre équipe et vous-même devez vous pencher sur les points suivants :
• Identifier les besoins professionnels et les besoins des utilisateurs. Assurez-vous que votre solution
répond à de véritables besoins professionnels. Permet-elle de gagner du temps ou de faire des
économies, accroît-elle la productivité du personnel ou répond-elle d’une autre manière à une
nécessité de faire progresser l’entreprise ?
• Évaluer les ressources/l’infrastructure existante. Vous pouvez optimiser les ressources utiles en
réaffectant une précédente réalisation, dont vous tirerez parti pour l’environnement mobile.
• Explorer la simplicité de mise en œuvre. Commencez par les solutions les plus faciles à mettre en
œuvre : tournez-vous vers les projets générant des retombées rapides, pour lesquels vous pourrez faire
plus rapidement et plus facilement la preuve des fruits de vos efforts.
En gardant ces concepts de planification à l’esprit, vous renforcerez la cohérence de votre projet. Ce
chapitre présente les étapes que vous pouvez suivre pour démarrer rapidement un projet en restant
organisé.
Impliquez les utilisateurs
Mettez-vous dans la peau de vos utilisateurs. Passez du temps dans leur espace de travail en assistant
à quelques réunions ou en vous rendant sur le terrain. Vous vous forgerez ainsi un aperçu très
précieux de leurs habitudes de travail, des goulets d’étranglement affectant le flux de production et
des difficultés rencontrées par les collaborateurs ou les clients. Invitez les utilisateurs les plus avisés ou
passionnés à rejoindre votre équipe afin de bénéficier de leurs idées tout au long du projet.
Identifiez un problème dont la résolution par une app mobile profiterait un maximum à vos
utilisateurs et à votre entreprise en un minimum de temps.
Ne soyez pas trop gourmand quand vous commencez à développer des apps mobiles. Affinez vos
idées à partir de ce que vous pourriez créer pour arriver uniquement à ce que vous devriez créer.
Planification • Conception • Développement • Déploiement
Check-list Planification
Reportez-vous à cette check-list tout au long de la phase de planification
de votre projet. À la fin de phase de planification, vous devriez avoir établi
le cahier des charges incluant les points suivants :
Inventaire de l’ensemble des besoins/exigences professionnels potentiels
Inventaire des besoins des utilisateurs (à aligner avec les exigences
professionnelles)
Exigences relatives à l’infrastructure informatique pour soutenir le projet
Énoncé de la définition de l’application décrivant l’app et l’objectif de
la solution
Chronologie générale et principales étapes du projet
Équipe identifiée des intervenants, dont les rôles et les responsabilités
sont définis
Début du processus d’inscription au programme pour développeurs iOS
en entreprise (iOS Developer Enterprise Program)
« Nous avons mis en place une
communication directe entre les
développeurs et la force de vente.
Nous nous sommes même rendus aux
visites des commerciaux. Nous avons
enfilé nos chaussures de sécurité et nos
casques, et nous avons assisté aux visites
commerciales pour savoir exactement ce
dont ils avaient besoin et comment ils
allaient utiliser l’app. »
- Dean Moore, Sunbelt Rentals
3
Réfléchissez à quelques tâches simples que la majorité de vos utilisateurs font fréquemment et pensez
à la façon dont une app mobile pourrait simplifier ces tâches. Voici quelques exemples :
• Une app simple qui permet à un employé de valider une note de frais ou un bon de commande
pendant un déplacement
• Un annuaire d’entreprise ou un plan de campus que tout le monde peut consulter
• Un système de réservation de salle de réunion que les employés peuvent facilement utiliser quand ils
ne sont pas à leur bureau
• Une app simple de suivi des heures travaillées qui serait rattachée à votre système de gestion du
temps ou de facturation
Dressez l’inventaire de vos actifs
Souvent, la meilleure manière de développer efficacement une app interne est de tirer parti de la
technologie existante. Vous pouvez faire l’inventaire de vos sites web d’entreprise afin de déterminer
s’il serait pertinent de les optimiser pour l’iPhone ou l’iPad. Ou peut-être disposez-vous de systèmes
back-end dont les données pourraient facilement être adaptées à l’environnement mobile ? Et
n’oubliez pas les apps de l’App Store : il est possible qu’une app répondant à vos besoins y soit déjà
disponible. Lisez l’exemple d’inventaire des actifs (à droite) pour découvrir d’autres questions qui
pourront vous aider à explorer votre environnement existant.
Définissez votre app
Une fois que vous avez parfaitement identifié les besoins de vos utilisateurs et les solutions mobiles
qui pourraient y répondre, vous devez affiner ces concepts dans un plan de projet concis, que vous
pourrez communiquer aux parties prenantes.
L’élément le plus important de votre plan de projet est l’énoncé de la définition de l’application - une
définition concise de l’objectif de votre app. L’énoncé de la définition de l’application peut vous aider
à éviter deux pièges courants :
• Vous disposez déjà d’une application de bureau que vous souhaitez transférer vers l’environnement
mobile et, avec elle, une longue liste de fonctionnalités.
• Vous avez une idée géniale pour une nouvelle app mobile, mais vous vous attelez directement aux
fonctionnalités avant de peaufiner l’objectif principal de l’app.
Planification • Conception • Développement • Déploiement
Exemple : Inventaire des actifs
Répondez à ces questions pour savoir si vous pouvez réutiliser la technologie
existante dans votre app mobile :
• Quels systèmes les éléments les plus mobiles de votre personnel utilisent-ils
au quotidien ?
• Quelles tâches vos collaborateurs mobiles doivent-ils effectuer le plus
souvent ?
• Quels processus manuels pourraient être automatisés ou simplifiés grâce à
des apps mobiles ?
• Avez-vous des systèmes non mobiles qui pourraient être utiles à vos
collaborateurs mobiles ?
• Quelles fonctions de ces systèmes sont utilisées le plus fréquemment ?
• Quel type d’accès aux données les systèmes de votre entreprise autorisentils ? Les données sont-elles facilement accessibles via les services web ?
• Disposez-vous de sites web internes auxquels vos collaborateurs accèdent
chaque jour ? Pourraient-ils être facilement transformés en apps mobiles ?
« Nous avons passé en revue les
différentes gammes de produits et nous
nous sommes demandés : dans quels
domaines la mobilité est-elle vraiment
utile ? Quels sont les meilleurs profils ?
Quels sont les premiers succès que
nous voulons réaliser ? Et nous sommes
partis de là. Nous avons examiné notre
portefeuille de produits et réfléchi à ce
qui était le plus pertinent. »
- James Blomberg, General Electric
4
Formuler l’énoncé de la définition d’une application
Pour commencer, rédigez l’énoncé de la définition de l’application, qui doit comprendre les éléments
suivants :
• Objectif de l’app
• Personnes auxquelles l’app est destinée et comment elles l’utiliseront
• Principale fonctionnalité de l’app
Votre énoncé doit définir une solution et seulement sa principale fonctionnalité - et non un ensemble
détaillé de fonctionnalités. L’énoncé de l’objectif doit être parfaitement clair afin que vous puissiez
filtrer toutes les idées de fonctionnalité. Demandez-vous si chaque fonctionnalité sert l’objectif
visé. Choisissez ensuite un nombre limité de fonctionnalités. Il s’agit des fonctionnalités le plus
fréquemment utilisées et les mieux adaptées à un environnement mobile. Vous ne devez pas dresser
une liste longue et vague de fonctionnalités qui sont difficiles à exécuter ou ne résolvent pas le
problème. En ciblant votre app, vous optimiserez la productivité de vos utilisateurs avec une solution
simple d’emploi.
Planifiez le processus de développement
La plupart des projets de développement de logiciels d’entreprise mobilisent d’énormes ressources
pendant la phase de développement. Grâce au SDK iOS et aux frameworks Cocoa Touch de haut
niveau, vos équipes de développement consacreront moins de temps au codage et plus de temps à
concevoir l’expérience utilisateur idéale. Ce processus vous permettra non seulement de développer
plus rapidement une app pour vos collaborateurs, mais aussi de créer des solutions qui dépasseront les
attentes de vos utilisateurs.
Exemple : Énoncé de la définition de l’application
Voici ce à quoi pourrait ressembler l’énoncé de la définition d’une application,
avec pour exemple une app de suivi des heures travaillées pour avocats :
• Objectif : suivre le temps passé et les heures facturables pour chaque dossier
• Pour qui : les avocats du cabinet qui ont besoin de suivre les heures facturables
• Comment sera-t-elle utilisée : à chaque réunion client, le temps passé
facturable sera décompté
• Principale fonctionnalité : suivre et consigner le temps passé dans le système
CRM
• Énoncé consolidé de la définition : app pour avocats permettant de suivre le
temps passé et les heures facturables pour chaque client
• Fonctionnalités entrant dans le champ de la définition : chronomètre ;
suivi/traitement en arrière-plan ; intégration serveur avec le système CRM ;
interrogation des dossiers client afin d’associer les heures enregistrées avec
le client/dossier correspondant ; synchronisation en ligne/hors ligne selon la
connectivité réseau
• Exemples de fonctionnalités n’entrant pas dans le champ de la définition :
alertes des nouveaux dossiers ; interrogation des documents à des fins
juridiques ; carte de localisation des clients ; interface de recherche brevetée
Que vous ayez recours à un processus de développement souple ou à une méthode en cascade plus
traditionnelle, veillez à prévoir le temps et les ressources à investir dans le processus de conception
comme un élément central et continu de votre effort de développement.
Établissez un calendrier approximatif du processus prévu et des rôles de chaque partie prenante pour
chaque étape du projet. Il ne doit pas forcément être gravé dans le marbre, mais il peut constituer une
référence commune à toutes les personnes concernées.
Astuce : Crowdsourcing
Genentech savait que, dans le domaine des apps, les bonnes idées peuvent
venir de n’importe où et de n’importe qui. La société a donc créé un modèle
de crowdsourcing qui permet aux salariés de suggérer les apps qu’ils
souhaiteraient voir développées en interne. Depuis, la société a créé les cinq
apps les plus demandées à la plus grande satisfaction des utilisateurs, ce qui
a considérablement dopé le niveau d’adoption.
Planification • Conception • Développement • Déploiement
5
Établir le cahier des charges
Exemple : Équipe de projet classique
Pour vous aider à rester concentré et à communiquer le processus, votre plan doit comprendre un
cahier des charges, qui présente l’ensemble des ressources, objectifs, délais et principaux livrables
du projet. Ce document constitue un important guide sur le projet pour tous les participants. Le
cahier des charges peut inclure les prescriptions techniques préliminaires de votre app, ainsi que des
organigrammes ou des diagrammes visuels qui vous permettront d’expliquer le but du concept de
l’app durant la phase de développement.
Code
Requirements
Release
• Training
• Coding of app
• Design and graphics
• Test cases
• Unit testing
• Scope project
• Obtain approvals
• Assemble team
Design
• Architecture design
• Project plan built
• Initial wireframes
• Developer sizings
• Internal release of app
• Stakeholder signoff
• Maintenance plan
Verification
• Testing on devices
• Automated UI tests
• Bug fixes
• Design review/tweaks
• Stakeholder walkthrough
Constituez votre équipe
Line-of-Business Owner
Primary stakeholder and
app user
Executive Sponsor
Primary stakeholder,
responsible for strategic plan
Project Leader
Tracks schedules, timelines,
and overall scope of work
Product Manager
Delivers the app, manages
requirements, and reconciles
business needs with solutions
User Experience Architect
Responsible for framework
of user interaction model and
user process flow/journey
Technical Architect
Responsible for infrastructure,
security, and data access
models
Development Manager
Technical lead and project
manager
User Interface Designer
Responsible for app visual
design, graphics, and identity
IT Manager
Responsible for deployment
and life-cycle management
of apps
Developer
Responsible for overall
technical architecture
and coding
Comme pour tout projet, vous devez constituer une équipe d’intervenants qui ont tous un intérêt
dans le succès et le résultat de votre projet. Certains participants peuvent être des clients internes
(propriétaire d’une branche d’activité ou groupe d’utilisateurs), tandis que d’autres seront chargés
de parties spécifiques du processus de développement proprement dit (concepteurs, développeurs,
architectes techniques, etc.). Enfin, vous devez aligner les rôles et responsabilités des membres de
l’équipe avec le calendrier et les étapes du projet mentionnés à l’étape précédente. Par exemple,
la conception étant l’un des éléments centraux de tout projet de développement iOS, vous devez
impérativement disposer d’une équipe de conception (ou des ressources correspondantes). Les
participations et les intérêts peuvent varier selon le groupe. Aussi est-il conseillé de documenter ces
rôles afin que chacun reste au fait des différentes responsabilités tout au long du processus.
Planification • Conception • Développement • Déploiement
6
Externaliser le développement
Si vous ne disposez pas de ressources internes suffisantes, vous pouvez externaliser tout ou partie du
travail de développement. Les développeurs externes peuvent en outre vous présenter un portfolio de
leurs travaux qui pourrait susciter de nouvelles idées.
Bien sûr, la clé du succès réside dans une parfaite compréhension de votre projet - tout ce que
vous avez défini pendant la phase de planification - de la part de l’équipe externalisée. Celle-ci doit
également interagir régulièrement avec vous et votre équipe interne. Parlez de vos besoins et assurezvous qu’elle comprend vos objectifs. Passez en revue l’énoncé de la définition de l’application et
examinez avec soin les détails du projet. Dès le début, vous devez mettre en place un dialogue clair et
un processus de contact.
Vous devez définir le rôle que jouera votre prestataire externe, comme vous le feriez pour un membre
de votre équipe interne. Alignez ses rôles et responsabilités sur le plan et le calendrier du projet de
manière à pouvoir communiquer clairement les aspects du projet sur lesquels il interviendra.
Release
Requirements
Astuce : Choisir un fournisseur externe
• Contactez plusieurs fournisseurs.
• Examinez leurs réalisations passées, y compris les apps disponibles sur l’App
Store ; notez le classement des apps et les commentaires des utilisateurs.
• Évaluez leurs compétences et leurs capacités ; par exemple, le codage est-il
entièrement effectué en interne ?
• Demandez des références.
• Évitez les solutions standardisées ou les approches basées sur une
multiplate-forme générique.
• Concentrez votre attention sur la conception de l’interface, la qualité des
visuels et le « cheminement » de l’app.
• Abordez la question de la maintenance et du cycle de vie de l’app au-delà
de la version 1.0.
• Interrogez les fournisseurs sur leur expérience en matière d’infrastructure
informatique.
In-house team responsibilities
Outsourced developer responsibilities
Design
Code
Verification
Certains partenaires externes peuvent vous épauler pour tous les éléments du projet, des prescriptions
initiales au déploiement final. D’autres se cantonneront à l’écriture du code. Il est recommandé
d’étudier ces capacités et prestations avec votre partenaire, que vous fassiez finalement affaire avec lui
ou non. Cela vous permettra d’évaluer ses forces et vous renseignera sur la forme que pourra revêtir
votre relation.
« Nous faisons appel à des sous-traitants externes pour les différents
éléments. Et tout dépend des besoins de l’app. Si son apparence
est très spécifique, nous nous adressons à des sous-traitants qui
ont réalisé des choses similaires, car nous savons qu’ils possèdent
l’expertise requise. De cette manière, nous pouvons offrir un
produit de qualité supérieure à nos collaborateurs ou à nos
clients. »
- Todd Schofield, Standard Chartered Bank
Planification • Conception • Développement • Déploiement
7
Premiers pas dans le programme pour développeurs iOS en entreprise (iOS
Developer Enterprise Program)
Après avoir défini les prescriptions, sollicité les utilisateurs et défini le plan de votre application et
de votre projet, la dernière étape avant la phase de conception est l’inscription au programme pour
développeurs iOS en entreprise. Ce programme propose un processus complet et intégré pour
développer, tester et diffuser des applications iOS au sein de votre organisation. Une fois inscrit au
programme, vous avez accès aux outils et ressources mentionnés ci-contre.
Nous vous présentons ci-après le processus d’inscription. Découvrez ensuite comment faire vos
premiers pas. Pour plus d’informations, visitez le site http://developer.apple.com/programs/ios/
enterprise.
Conditions requises pour l’inscription
Avant de vous inscrire au programme, vérifiez que vous remplissez les conditions suivantes :
• Vous envisagez de distribuer des apps iOS uniquement au sein de votre entreprise ou de votre
organisation. Le programme pour développeurs iOS en entreprise est conçu pour les développeurs qui
souhaitent développer et distribuer leurs apps iOS aux salariés de leur entreprise ou organisation.
• Votre entreprise possède un numéro Dun & Bradstreet (D-U-N-S). Vous devrez le communiquer à
Apple au cours de la procédure d’inscription. Vous devez également connaître la dénomination sociale
de votre entreprise ou organisation. Pour demander ou obtenir un numéro D-U-N-S, visitez le site
http://dbfrance.dnb.com/French/default.htm.
• Vous êtes habilité à signer les contrats au nom de votre société. Pendant la procédure d’inscription,
vous devrez indiquer les coordonnées d’un contact juridique, qui doit être mesure de vérifier que vous
êtes habilité à signer le contrat de licence du programme pour développeurs iOS en entreprise au
nom de votre entreprise.
• Vous avez la capacité technique de signer des applications dans Xcode. En tant que personne inscrite,
vous serez « l’agent » de votre équipe, ce qui vous rend responsable de l’approvisionnement des apps
et des tâches administratives afférentes au compte technique.
Coup d’œil : Ressources du programme pour développeurs iOS
en entreprise (iOS Developer Enterprise Program)
En adhérant au programme pour développeurs iOS en entreprise, vous
bénéficiez des avantages suivants :
• Accès au centre de développement iOS (iOS Dev Center)
• Accès au SDK iOS
• Sélection de versions bêta de logiciels et d’outils
• Possibilité de créer votre équipe de développement à la section Équipe du
Member Center
• Accès aux forums développeurs Apple
• Assistance technique (deux incidents par année d’adhésion au programme)
• Possibilité de tester les applications directement sur iPad, iPhone et
iPod touch
• Distribution ad hoc de votre app sur 100 appareils enregistrés au maximum
• Distribution interne de votre app sur un nombre illimité d’appareils de
collaborateurs
Astuce : Préparez votre boîte à outils de développement
Le SDK iOS nécessite avant tout un Mac à processeur Intel. La plupart des
développeurs optent pour un MacBook Air ou un MacBook Pro en raison de
la portabilité et de la liberté qu’ils procurent. Mais un iMac ou un Mac mini
fera tout aussi bien l’affaire, en particulier si vous disposez d’un laboratoire de
développement interne. Assurez-vous également d’avoir des appareils de test
disponibles. Pour garantir une compatibilité totale, vous devez également
disposer d’appareils de précédente génération, par exemple un iPhone 3GS
ou un iPad de première génération.
Présentation du processus d’inscription
1. S’inscrire en tant que développeur Apple. Pour commencer la procédure d’inscription, vous
devez vous enregistrer auprès d’Apple en créant un nouvel identifiant Apple spécialement pour ce
programme. Nous vous conseillons de créer une adresse électronique qui servira uniquement pour ce
compte. De cette manière, votre organisation pourra l’affecter à plusieurs personnes si nécessaire.
Planification • Conception • Développement • Déploiement
8
2. Entrer les informations relatives à l’entreprise, les coordonnées de contact et les informations
juridiques. Ces informations sont nécessaires pour valider votre statut d’entité professionnelle. La
principale condition à remplir est de disposer d’un numéro D-U-N-S valide. Vérifiez que le nom et
l’adresse de votre société correspondent aux informations figurant dans la base de données Dun &
Bradstreet. Dans le cadre de la procédure de vérification de l’identité, il vous faudra le cas échéant
fournir à Apple des documents professionnels tels que les statuts de votre société, un contrat
d’exploitation ou un permis d’exploitation.
3. Soumettre la demande à Apple. Après avoir transféré votre demande d’inscription, vous pouvez
vérifier son statut en vous connectant au Member Center à l’adresse http://developer.apple.com/
membercenter. Authentifiez-vous avec l’identifiant Apple que vous avez créé à l’étape 1. Durant cette
étape, Apple examine l’app et vous contacte, vous-même ou votre équipe juridique, si nécessaire.
4. Accepter les termes du contrat de licence du programme entreprise. Pour poursuivre la procédure
d’inscription, vous devez accepter les termes du contrat de licence du programme. Vous pouvez lire le
contrat et en faire part à votre équipe juridique à cette étape.
5. Acheter le programme. Après avoir accepté les termes du contrat, vous recevez les instructions
d’achat de l’adhésion sur l’Apple Store en ligne. Si vous souhaitez utiliser un bon de commande,
contactez votre Apple Store pour savoir s’il existe des options d’achat institutionnel.
6. Activer votre abonnement. Vous recevrez une confirmation de commande après avoir acheté le
programme. Vous recevrez un e-mail d’activation de la part d’Apple dans un délai de 24 heures. Cet
e-mail contient un code vous permettant d’activer votre adhésion. Lorsque l’adhésion est activée, vous
pouvez accéder à l’ensemble des ressources du programme.
Coup d’œil : Formation de l’équipe
Les agents et les administrateurs peuvent ajouter de nouveaux membres
- qui pourront être soit administrateurs, soit membres - sous l’onglet
Personnes de l’Apple Developer Member Center. Ouvrez la section
Invitations et cliquez sur le bouton Inviter une personne pour inviter de
nouveaux membres à rejoindre votre équipe.
Agent
Admins
Members
Admin Setup and Distribution
Member Setup and Approvals
Development
Distribution Certificate
Development Certificates
Development Certificates
Enterprise Provisioning
Development Provisioning
Development Provisioning
Création de votre équipe
Une fois que votre entreprise est inscrite au programme pour développeurs iOS en entreprise, vous
devez créer votre équipe de développement à la section Équipe du Member Center.
Rôles et responsabilités des membres de l’équipe
Une équipe de développement se compose de personnes assumant les rôles suivants :
Agent. Principal contact de l’équipe de développement, en charge d’accepter tous les contrats pour
développeurs iOS ; c’est également le principal utilisateur qui a inscrit votre entreprise au programme.
Responsable de la gestion du certificat de distribution en entreprise utilisé pour l’approvisionnement
des apps en vue de leur déploiement à grande échelle auprès des salariés.
Administrateur(s). Les administrateurs gèrent leurs propres équipes et certificats de développement.
Ils ont besoin de l’intervention de l’agent pour gérer la distribution en entreprise.
Astuce : Enregistrer des appareils pour le développement
Les administrateurs peuvent entrer plusieurs ID d’appareils simultanément
en téléchargeant un fichier .deviceids, généré par l’Utilitaire de configuration
iPhone. Dans l’Utilitaire de configuration iPhone, sélectionnez les appareils
que vous souhaitez télécharger, puis cliquez sur le bouton Exporter. Un fichier
.deviceids est créé.
Vous pouvez télécharger l’Utilitaire de configuration iPhone à l’adresse
www.apple.com/fr/support/iphone/enterprise.
Membres. Principaux développeurs au sein de l’organisation. Les membres reçoivent l’autorisation des
administrateurs d’approvisionner les apps et les appareils à des fins de test et de développement. Ils
ont besoin de l’intervention de l’agent pour gérer la distribution en entreprise.
Planification • Conception • Développement • Déploiement
9
Ressources d’apprentissage
Après avoir créé votre équipe, visitez le centre de développement iOS (iOS Dev Center) à l’adresse
http://developer.apple.com/devcenter/ios, où vous trouverez un ensemble complet de ressources.
Vous pouvez les enregistrer dans vos signets ou en faire votre page d’accueil pour tout votre
processus de développement. Voici quelques ressources très utiles qui vous sont proposées.
Forums
Communiquez avec d’autres développeurs en entreprise, échangez des idées et des bonnes
pratiques. Il est toujours utile de savoir qu’une communauté de développeurs partageant
vos préoccupations est accessible à portée de doigt.
Bibliothèque de référence
Une encyclopédie, un manuel et un support de formation tout-en-un. Interrogeable et
classée, elle offre en outre un accès direct aux informations dont vous aurez besoin pour
développer vos apps.
Exemples de code
Ces exemples peuvent vous donner des idées de développement pour vos propres apps.
Vous pouvez même copier et coller les exemples de code directement dans votre projet.
Guides de mise en route
Si vous faites vos premiers pas dans le monde du développement iOS, ces guides
permettront à votre équipe de découvrir les concepts et bonnes pratiques de base du
développement iOS.
« Les exemples proposés sur Apple.com
nous permettent de découvrir très
facilement une fonctionnalité spécifique,
comme l’accès en mode descendant,
les cartes ou l’intégration à une base de
données SQL locale ».
- Keith Debickes, JM Family Enterprises, Inc.
Raccourcis
FAQ sur l’inscription au programme
http://developer.apple.com/support/ios/enrollment.html
FAQ sur le programme pour développeurs iOS en entreprise (iOS
Developer Enterprise Program)
http://developer.apple.com/support/ios/enterprise.html
Étape suivante
Lorsque vous avez terminé votre processus de planification, reportez-vous à la check-list Planification,
présentée au début de ce chapitre. Si vous avez effectué toutes les étapes, vous avez toutes les
chances que votre direction vous soutienne, que votre équipe soit pleinement impliquée et que
votre plan de projet soit parfaitement clair pour chaque intervenant. Votre équipe a toutes les cartes
en main pour passer à la phase suivante du processus : explorer les bonnes pratiques en matière de
conception et de développement et comprendre les bases des concepts de développement iOS.
Planification • Conception • Développement • Déploiement
10
Conception
La conception, c’est important. Il est très facile de créer une app basique pour iPhone ou iPad. Mais
les apps qui connaissent un vif succès demandent un peu plus d’effort. Quelle est la clé du succès des
apps les plus populaires ? Elles sont dotées d’un design attrayant, elles exploitent à la perfection les
couleurs et les éléments audio, elles sont simples d’emploi, elles font ce qu’elles sont supposées faire,
elles impliquent et fidélisent l’utilisateur. En prêtant une attention particulière à la conception lorsque
vous développez une nouvelle app ou améliorez une app existante, vous renforcerez son attrait,
créerez une expérience utilisateur plus captivante et donnerez aux utilisateurs l’envie de l’utiliser.
Ce chapitre présente quelques stratégies que vous pourrez mettre en œuvre pour affiner votre idée,
réexaminer vos choix de conception et opter pour une conception qui augmentera la productivité de
vos utilisateurs.
Check-list Conception
À la fin de la phase de conception, vous devriez avoir :
lu les Directives sur l’interface utilisateur iOS (iOS Human Interface
Guidelines) d’Apple
dressé une brève liste des fonctionnalités directement alignée sur l’énoncé
de la définition de votre application principale
hiérarchisé la liste des objets, tâches et concepts et établi leurs relations
réciproques
créé un ensemble de base de représentations filaires et de compositions
sommaires vous permettant de visualiser le cheminement de l’app
Concevoir une app pour la technologie tactile
La conception d’une interface utilisateur destinée à une interaction avec la souris est très différente de
la conception pour la technologie tactile. Pour concevoir une app, vous devez avant tout comprendre
ce qui rend les appareils iOS si uniques. Prenez le temps de vous familiariser avec l’iPhone ou l’iPad, de
découvrir l’interaction utilisateur et les conventions de conception des interfaces.
Au niveau basique, l’interaction tactile requiert plus de pixels pour représenter un bouton
sélectionnable par le doigt qu’avec la souris dans un environnement de bureau. Par exemple, la taille
minimale de confort des éléments d’interface à toucher est de 44 x 44 points. Les éléments comme les
menus déroulants ou les barres de défilement, très courants sur les ordinateurs de bureau, ne sont pas
adaptés aux appareils mobiles conçus pour la technologie tactile.
Lisez les Directives sur l’interface utilisateur (Human Interface Guidelines, HIG)
Les Directives sur l’interface utilisateur iOS exposent les principes qui vous permettront de doter
votre app iOS d’une interface exceptionnelle et de créer une expérience utilisateur optimale. Ces
principes sont aussi importants pour les apps développées en entreprise que pour celles proposées
sur l’App Store.
Planification • Conception • Développement • Déploiement
« Pour garantir la cohérence de nos apps, nous appliquons
notamment les Directives sur l’interface utilisateur (Human
Interface Guidelines, HIG) d’Apple. Elles nous aident vraiment
à assurer la cohérence d’une app à l’autre. Nous avons quand
même le choix entre de nombreux styles de conception et nous
veillons à ce qu’ils aient tous un thème commun. Mais le respect
des HIG est très important pour nous. »
- Todd Schofield, Standard Chartered Bank
11
Simplifier
Le plus souvent, les apps que vous développerez en interne seront tirées d’un environnement de
bureau existant ou reposeront sur des systèmes métier dont dépendent vos utilisateurs. Vouloir
transférer chaque fonctionnalité et fonction de l’application de bureau vers l’appareil mobile est un
piège dans lequel il est facile de tomber. Cette approche ne parvient généralement pas à créer le type
d’expérience que l’on attend sur un appareil mobile. N’oubliez pas que les utilisateurs effectuent leurs
tâches différemment sur un appareil mobile, sur lequel certaines tâches ne peuvent pas être exécutées
du tout. Les petites tâches aisées sont mieux adaptées à l’environnement mobile. C’est pourquoi
il est important de continuer à filtrer les fonctionnalités au moyen de l’énoncé de la définition de
l’application à mesure que vous affinez votre app. Astuce : Apps de taille moyenne
• Les apps simples, rapides et bien exécutées
génèrent une demande interne, et limitent la
portée et l’investissement.
• Les apps de taille moyenne peuvent
constituer un menu complet. Les utilisateurs
créent leurs propres « solutions », ce qui
laisse une plus grande marge de manœuvre
à vos collaborateurs.
Voici quelques questions que vous pouvez vous poser concernant les éléments de l’interface
utilisateur de votre app afin d’en simplifier la conception :
• Est-il nécessaire que cet élément apparaisse à l’écran ?
• Cet élément donne-t-il accès à une fonctionnalité essentielle ?
• Est-il souvent utilisé ? Presque toujours ?
• L’utilisateur a-t-il besoin de cet élément à chaque sélection ?
• Étant donné le flux de l’app, est-il important d’afficher cet élément maintenant ?
Si vous répondez par la négative à certaines de ces questions, vous pouvez peut-être envisager de
ne pas inclure l’élément concerné dans votre app ou de combiner la fonctionnalité avec un autre
élément.
Les utilisateurs de l’iPhone et de l’iPad sont habitués à l’apparence et au comportement des apps
intégrées fournies avec ces appareils. Vous n’êtes pas obligé de reproduire chaque détail des
apps intégrées, mais il est utile de comprendre les schémas de conception qu’elles suivent et de
réfléchir à la manière dont vous pourriez les appliquer à vos propres apps dans une conception
simple, fonctionnelle et conviviale. Étudiez les commandes, les événements tactiles (par exemple,
le pincement et le zoom) et les animations que l’on rencontre fréquemment dans ces apps et
demandez-vous comment appliquer ces concepts à votre app de manière cohérente.
Planification • Conception • Développement • Déploiement
« Notre philosophie est que les apps
développées en interne doivent être
aussi élégantes et belles que la meilleure
app du commerce. Aussi, quand nous
nous sommes attaqués à la conception
de l’interface utilisateur, nous ne
voulions pas seulement résoudre le
problème sur le plan fonctionnel, nous
voulions le résoudre... de la manière la
plus propre qui soit. »
- Mark McWilliams, Razorfish
12
Définir les priorités
Lorsqu’une app iOS reste axée sur sa fonction principale, elle donne toute satisfaction et est agréable
à utiliser. Chaque élément de votre app doit être optimisé dans ce but. Pour parvenir à créer une
interface utilisateur organisée et ciblée, vous pouvez dresser la liste des objets, tâches et concepts
impliqués, puis les classer en fonction de leur pertinence par rapport à la fonction ou à l’objectif
principal de votre app. Cette étape vous aidera également à réfléchir au flux de production ou au
processus d’interaction de votre app, ce qui éclairera vos décisions relatives à la conception de
l’interface utilisateur.
Liste des objets, tâches et concepts
Astuce : Écran Retina
L’écran Retina de l’iPhone 4 ou ultérieur vous permet
d’afficher des versions haute résolution de vos visuels et
icônes. Si vous vous contentez de redimensionner vos
visuels existants, vous passerez à côté de la possibilité
d’offrir à vos utilisateurs les images superbes et captivantes qu’ils sont en droit d’attendre. Il est préférable de
retravailler vos images pour en créer des versions plus grandes de meilleure
qualité, à la texture plus riche, plus détaillées et plus réalistes.
• Objets. Ce sont les principaux éléments fonctionnels de votre app. Par exemple, une app de calendrier
comporte des éléments tels que des jours, des mois, des rendez-vous et des rappels.
• Tâches. Il s’agit d’actions qui sont généralement exécutées sur des objets, par exemple le filtrage, la
programmation, l’édition et la création.
• Concepts. Ce sont des flux de production ou, dans certains cas, une série de tâches apparentées
formant un concept plus large. Dans notre exemple de calendrier, un concept peut être une recherche
englobant plusieurs tâches.
Objects
Calendars
Tasks
Scheduling
Concepts
Searching
Days
Create
Search
Weeks
Edit
Filter
Months
Search
Appointments
Reminders
Lorsque vous aurez créé ces listes, vous constaterez des relations entre les éléments de chaque
catégorie. Vous pourrez ainsi regrouper les objets, tâches, et concepts liés dans une hiérarchie qui doit
permettre de simplifier la manière dont ils se présentent à l’utilisateur.
Planification • Conception • Développement • Déploiement
13
Adoptez une approche descendante
Placez les éléments le plus souvent utilisés (généralement de niveau supérieur) près du haut de
l’écran, où ils sont le plus visibles et faciles d’accès. Comme les utilisateurs balaient l’écran de haut en
bas, les éléments doivent s’afficher progressivement conformément aux critères suivants :
• Fréquence d’utilisation : les éléments le plus fréquemment utilisés doivent apparaître dans la partie
supérieure de l’écran, alors que les éléments utilisés moins souvent doivent être placés dans la partie
inférieure de l’écran.
• Importance pour l’utilisateur : les éléments les plus importants doivent être disposés dans la partie
supérieure de l’écran.
• Mise en exergue sur le plan visuel : les éléments que vous voulez mettre en évidence doivent
apparaître dans la partie supérieure de l’écran.
La même approche s’applique également aux informations contenues dans votre app. Il doit y avoir
une progression des informations plus générales en haut de l’écran aux informations plus spécifiques
en bas de l’écran.
Optimiser
Astuce : Esquissez votre app
Couchez-la sur papier.
Souvent, la meilleure manière
d’exprimer sa vision est de
créer des croquis au début
du processus de conception.
Cela vous aidera à mettre
en forme et à affiner votre
conception sans devoir
passer par le développement
du code. Vous pouvez
acheter sur Internet des
modèles très pratiques, qui vous aideront à créer et à peaufiner vos croquis.
Créez votre app avec une app. Vous trouverez également sur l’App Store
des apps, par exemple iMockup et App Layout, qui sont conçues pour
vous aider à créer des maquettes d’interface utilisateur pour iOS avec des
commandes et des fenêtres standard.
Une conception de qualité est un processus itératif. Plus vous travaillerez vos concepts de conception
de l’interface à un stade précoce du processus (avant d’écrire la première ligne de code), meilleur sera
le résultat final.
Il est également important d’optimiser votre conception en fonction de votre public cible et de
l’appareil auquel il est destiné. Les apps de qualité savent adapter les concepts d’interaction utilisateur,
qui varient selon les caractéristiques uniques de l’appareil. Pour optimiser votre app, vous devez affiner
et répéter ces concepts afin que le résultat final enchante vos utilisateurs.
Répétez
Avant de vous attaquer au développement d’une app, vous devez réunir un ensemble solide de
plans. Vous pouvez commencer avec quelques croquis, puis affiner vos idées au fur et à mesure. À
chaque étape, vous en apprendrez plus sur la manière dont vos utilisateurs pourront interagir avec
l’app et découvrirez de nouvelles idées - sans consacrer du temps, de l’argent ou des ressources au
développement proprement dit. Pensez à dessiner ou à esquisser l’intégralité du flux de votre app, du
début à la fin, pour ressentir pleinement l’expérience utilisateur et la fonctionnalité créée par votre
conception.
Planification • Conception • Développement • Déploiement
14
iPad ou iPhone
Si vous souhaitez développer une app à la fois pour iPhone et pour iPad, vous devez adapter votre
conception à chaque appareil. Si la plupart des éléments d’interface sont disponibles sur tous les
appareils, la présentation générale est souvent très différente. Par exemple, les utilisateurs attendent
généralement des visuels de meilleure qualité dans les apps pour iPad que dans les apps pour
iPhone. Il est déconseillé de se contenter de redimensionner une app pour iPhone de manière à
remplir l’écran de l’iPad . Votre app pour iPad doit au contraire éveiller l’intérêt de l’utilisateur en tirant
pleinement parti de son grand écran et de ses capacités. De plus, nous vous rappelons que l’iPhone 4
(ou ultérieur) prend en charge une résolution plus élevée grâce à l’écran Retina, ce qui impose de
doubler la résolution de vos visuels. Les différences se situent également dans les gestes disponibles
et les modes de rotation. En outre, les deux appareils prennent en charge des éléments d’interface
différents. Les contrôleurs flottants ou les contrôleurs de vue fractionnée sont par exemple disponibles
uniquement sur l’iPad.
« L’iPad nous offre vraiment un espace d’affichage plus grand,
dont nous voulions tirer parti. C’était essentiel pour nous. Le
but n’était pas de faire tout en trois fois plus grand avec tous
ces pixels, mais d’utiliser à bon escient tout cet espace…
Quand nous devons convertir une app pour iPhone en app
pour iPad, nous la repensons. Il y a probablement 60 % des
fonctionnalités principales qui restent identiques, mais pour
le reste ? Comment pouvons-nous rendre l’app plus efficace,
comment réduire le nombre de clics ou de fenêtres pour
accéder à l’ensemble du contenu ? »
- James Blomberg, General Electric
Apps universelles
Le SDK iOS prend en charge le développement d’applications universelles. Une app universelle est
optimisée pour fonctionner sur tous les appareils iOS. Pour l’essentiel, il s’agit d’une app iPhone et
d’une app iPad regroupées au sein d’un même fichier binaire.
Une app universelle identifie l’appareil sur lequel elle est exécutée afin d’en exploiter tout le potentiel.
Les apps universelles de qualité tirent parti des fonctionnalités matérielles spécifiques de l’appareil,
offrent le meilleur choix d’éléments d’interface et n’utilisent que les fonctionnalités prises en charge
par cet appareil.
Lorsque vous concevez une app universelle pour appareils iOS, il est important de réfléchir à la
manière dont vous allez séparer l’interaction utilisateur du code d’application sous-jacent. Les classes
du SDK iOS et les API s’appuient sur un paradigme modèle-vue-contrôleur (model-view-controller,
MVC), qui favorise une séparation claire entre les données de l’app et la logique des modes d’affichage
utilisés pour présenter ces données. Si, par exemple, vous développez votre interface utilisateur avec
Interface Builder, vous profiterez de cette flexibilité dans votre projet (voir chapitre suivant).
La première étape du développement d’une app universelle consiste à créer des conceptions
d’interface utilisateur pour chacun des facteurs de forme - une conception pour les iPad et une
autre pour les iPhone/iPod touch. Une grande partie de votre conception sera influencée par les
fonctionnalités que vous voulez associer à chaque facteur de forme. Demandez-vous comment les
utilisateurs pourraient utiliser l’orientation ou les gestes différemment selon les appareils. Pensez
aux capacités matérielles de chaque appareil, par exemple l’appareil photo. Les différences entre les
modes d’utilisation doivent vous éclairer sur la manière dont vous pourrez développer une conception
cohérente pour chaque appareil et les cas où vous devrez préférer un codage conditionnel.
Planification • Conception • Développement • Déploiement
15
Accessibilité
Dans un environnement professionnel, il est important que tous les utilisateurs bénéficient du même
accès aux outils et à la technologie mobile. iOS intègre plusieurs fonctionnalités prêtes à l’emploi
garantissant l’accessibilité et la simplicité d’emploi à tous les utilisateurs. Il est malgré tout important
que vous optimisiez l’accessibilité de vos apps internes afin que les utilisateurs souffrant de handicaps
visuels, auditifs ou physiques puissent, eux aussi, les utiliser et en profiter.
iOS inclut l’interface de programmation de l’accessibilité de l’interface, une API allégée qui vous aide
à fournir toutes les informations dont VoiceOver a besoin pour décrire l’interface de manière que
les personnes malvoyantes puissent utiliser l’app. L’interface de programmation de l’accessibilité de
l’interface vous permet d’ajouter une fine couche de fonctionnalité, qui ne modifie pas l’apparence
de votre app et n’interfère pas avec sa logique principale. Cela signifie que, si vous utilisez des
commandes et des affichages standard, la majeure partie du travail nécessaire pour garantir
l’accessibilité de votre app est fait à votre place. Selon le niveau de personnalisation de votre app, il
vous suffit pour cela d’ajouter des descriptions précises et utiles des éléments accessibles de votre
interface utilisateur.
Le SDK iOS met également les outils suivants à votre disposition :
• Fenêtre Inspecteur d’Interface Builder : elle vous permet de fournir en toute simplicité des
informations d’accessibilité descriptives lorsque vous créez les fichiers nib
• Inspecteur d’accessibilité : il affiche les informations d’accessibilité intégrées dans l’interface utilisateur
de votre app et vous permet de vérifier ces informations lorsque vous exécutez l’app dans le
Simulateur iOS
Astuce : Intégration de la prise en charge de VoiceOver
Rendre votre app iOS accessible aux
utilisateurs de VoiceOver est une
excellente idée. Cela peut également
contibuer au respect des directives
d’accessibilité édictées par divers
organes de direction.
Pour être certain que les utilisateurs de
VoiceOver pourront utiliser votre app,
il n’est pas nécessaire d’apporter la
moindre modification à la conception
visuelle de votre interface. Si vous
utilisez des éléments standard, vous avez très peu de travail supplémentaire à
faire, voire aucun.
Cependant, vous devrez le cas échéant ajouter quelques informations
descriptives concernant les fenêtres et les commandes de votre interface
utilisateur. Plus votre interface utilisateur est personnalisée, plus vous devrez
fournir d’informations afin que VoiceOver soit en mesure de décrire votre app
avec précision.
Vous pouvez également utiliser VoiceOver pour tester l’accessibilité de votre app.
Étape suivante
En vous appuyant sur des bonnes pratiques de conception des interfaces utilisateur, vous êtes prêt à
passer à la phase de développement de votre projet. Cependant, comme nous l’avons indiqué dans le
chapitre consacré à la planification, la conception est un processus itératif qui se poursuit tout au long
du cycle de vie du développement de l’app. Créer une conception de qualité en vous concentrant sur
l’expérience utilisateur doit être une stratégie délibérée, y compris lorsque votre équipe s’attaquera à
l’écriture du code. Les outils et les concepts abordés dans le chapitre suivant vous aideront justement
à développer un code à toute épreuve, tout en vous permettant d’offrir à vos utilisateurs des apps
parfaitement conçues.
Planification • Conception • Développement • Déploiement
16
Développement
Avec iOS, vous pouvez diffuser du contenu et des informations par de nouveaux moyens simples mais
puissants pour aider vos collaborateurs à être plus productifs. En tirant parti du SDK iOS, votre équipe
de développement pourra créer des apps avec les mêmes outils utilisés par les ingénieurs Apple pour
développer le système d’exploitation et les apps fournis sur tous les iPhone et iPad. Vous pourrez ainsi
créer des apps présentant une apparence, une convivialité et un comportement tout en élégance et en
efficacité.
Check-list Développement
À la fin de la phase de développement, vous devriez maîtriser les bases :
des outils du SDK iOS, à savoir Xcode, Interface Builder, Instruments et le
Simulateur
Avec les outils iOS, vous pouvez tirer parti des frameworks de haut niveau, qui vous permettent
de profiter pleinement de la plate-forme. Nous allons étudier les principales API destinées au
développement interne afin de vous donner des idées d’intégration de ces capacités dans vos apps.
Nous verrons également comment vous pouvez utiliser les technologies web avec les langages HTML5,
CSS et JavaScript. En dotant votre solution des fonctionnalités de sécurité adaptées, ces technologies
s’associent pour créer une base puissante et sécurisée soutenant vos besoins professionnels.
des principaux frameworks et API utilisés pour le développement d’apps
en interne
Enfin, avant de mettre votre app à la disposition de vos utilisateurs, vous devrez la tester et la déboguer
de manière approfondie. Il vous faudra aussi valider ses performances sur différents appareils. Nous vous
expliquerons comment les outils iOS vous aident à effectuer ces tâches et vous présenterons les bonnes
pratiques vous permettant de vous assurer que votre app fonctionne comme vous le souhaitez.
du test, du débogage et de la validation des performances de vos apps
du développement d’apps web
de l’architecture iOS permettant d’accéder aux données dans les systèmes
de back-office
des bonnes pratiques en matière de sécurité des apps internes
Développement natif
Le développement interne, c’est avant tout mettre en œuvre la vision de votre app en tirant
pleinement parti des capacités de l’appareil dans un environnement organisé et efficace. Le SDK
iOS inclut Xcode, l’IDE pour coder, développer et déboguer votre app, Interface Builder pour créer
l’interface utilisateur, Instruments pour analyser le comportement et la performance de l’app, ainsi que
des dizaines d’autres outils.
« D’après l’expérience de mon équipe, le SDK et Xcode sont de
fantastiques outils de programmation d’une simplicité enfantine,
même pour les développeurs qui n’ont pas une formation Mac. »
- Hans-Christian Pahlig, Axel Springer
Xcode est la pierre angulaire de votre expérience de développement. Xcode met à votre
disposition des fonctions de saisie assistée du code, d’analyse statique en temps réel et de
débogage instantané sur l’appareil.
Interface Builder vous permet de créer très facilement un prototype de votre app. Il vous suffit
de faire glisser des éléments pour créer une interface utilisateur complète, sans écrire une
seule ligne de code. Avec Xcode 4, Interface Builder s’intègre directement dans l’IDE Xcode.
Instruments recueille et affiche les données en temps réel, par exemple l’utilisation
des disques, de la mémoire et du processeur, ce qui permet de localiser facilement les
problèmes.
Le Simulateur exécute votre app presque comme un appareil iOS. Vous pouvez ainsi vérifier
et tester votre code directement à partir de votre environnement de bureau.
Planification • Conception • Développement • Déploiement
17
Principales API pour les développeurs en entreprise
Les outils du SDK iOS vous permettent d’écrire presque toutes les fonctionnalités imaginables.
Beaucoup de ces outils comprennent également des exemples de code et de ressources pour vous
mettre le pied à l’étrier. Intéressons-nous à quelques-unes des milliers d’API disponibles dans le SDK
iOS. Un simple coup d’œil peut nourrir votre imagination compte tenu de l’incroyable éventail de
fonctionnalités que vous pouvez intégrer facilement dans vos apps internes.
Multitâche. Les développeurs ont accès à sept services de traitement multitâche,
permettant d’effectuer des tâches en arrière-plan tout en préservant les performances et en
économisant la batterie. Il s’agit de fonctions telles que la voix sur IP, le son en arrière-plan,
les services de localisation en arrière-plan, les notifications push et locales, la finalisation des
tâches et le basculement rapide entre les apps.
Notification push. Le service de notification push d’Apple permet d’alerter les utilisateurs de
l’arrivée de nouvelles informations, même lorsque l’app n’est pas en cours d’exécution. Vous
pouvez envoyer des messages de notification, déclencher des alertes sonores ou ajouter un
badge numéroté à l’icône de votre app.
Accessoires. Les applications peuvent communiquer avec des accessoires par le biais du
connecteur dock 30 broches ou de l’interface sans fil Bluetooth. Vous pouvez développer
une app qui récupère des données à partir de capteurs externes ou contrôle des accessoires
au moyen d’une interface Multi-Touch perfectionnée. Créez une app d’inventaire pour
votre lecteur de codes à barres ou encore une app qui consigne les données d’un
cardiofréquencemètre associé. Vous pouvez aussi créer vos propres protocoles personnalisés
afin d’échanger des données et des commandes avec votre app. Pour savoir comment
intégrer des fonctions de prise en charge des accessoires à vos apps iOS, découvrez le
programme de licences MFi à l’adresse http://developer.apple.com/programs/mfi.
Avec ses fonctions de saisie assistée du code, d’analyse statique en temps réel et de
débogage instantané sur l’appareil, Xcode est la pierre angulaire de votre expérience
de développement.
Services de localisation. Utilisez le framework Core Location pour déterminer la longitude
et la latitude actuelles d’un appareil afin de configurer et de programmer la livraison
d’événements basés sur la localisation. Le framework exploite le matériel disponible
pour calculer la position de l’utilisateur par triangulation des signaux à proximité. iOS 4
(ou ultérieur) améliore la localisation avec l’API MapKit. MapKit prend en charge les
fonctions de panoramique et de zoom, d’annotations personnalisées, d’identification de la
position actuelle et de géolocalisation pour sélectionner des sections de la carte et afficher
des informations complémentaires.
Planification • Conception • Développement • Déploiement
18
Intégration de données partagées. iOS met à votre disposition de puissantes options de
connectivité permettant de partager des informations entre les apps. À l’aide d’une syntaxe
basée sur des URL, vous pouvez accéder à des données provenant du Web et lancer des
actions dans d’autres apps installées, par exemple Mail, Calendrier, Contacts, etc. Votre app
peut aussi déclarer un schéma URL unique pour permettre à d’autres applications de la lancer.
• Mail. iOS vous permet de présenter une interface de composition d’e-mails ou de SMS
standard depuis votre app. Dans les deux cas, vous pouvez préconfigurer par programme
le message avec des destinataires et du contenu, que l’utilisateur pourra modifier avant
d’envoyer le message. Les e-mails et SMS sortants sont automatiquement traités par les
files d’attente de messages du système.
• Contacts. Avec les API de Carnet d’adresses pour données partagées, vous pouvez créer
un nouveau contact ou obtenir les données d’un contact existant. En accédant à la liste
de contacts intégrée, votre app peut permettre à l’utilisateur d’associer un contact ou une
adresse professionnelle à une tâche ou un processus d’application.
• Calendriers. Event Kit permet aux apps iOS d’accéder aux informations des événements
à partir de la base de données Calendrier d’un utilisateur. Récupérez les événements en
fonction d’une période ou d’un identifiant unique, recevez des notifications lorsque les
données des événements sont modifiées, et permettez aux utilisateurs de créer et de
modifier les événements dans tous leurs calendriers. Les modifications apportées avec
Event Kit aux événements figurant dans la base de données Calendrier d’un utilisateur
sont automatiquement synchronisées avec le calendrier approprié, y compris les
calendriers professionnels hébergés sur des serveurs CalDAV et Exchange.
Interface Builder, qui est directement intégré à l’IDE Xcode 4, vous permet de créer
très facilement un prototype de votre app. Il vous suffit de faire glisser des éléments
pour créer une interface utilisateur complète, sans écrire une seule ligne de code.
• Photos. UIKit permet d’accéder à la photothèque de l’utilisateur. L’interface de sélection
de photos comprend des commandes permettant de naviguer dans la photothèque et
de sélectionner une photo afin de la transférer dans votre app. Vous avez par ailleurs la
possibilité d’activer les commandes de retouche pour que l’utilisateur puisse rogner la
photo transférée ou en faire un panoramique. Cette fonction peut également servir à
ajouter une interface à l’appareil photo afin que les photos prises puissent être chargées
directement dans votre app.
Core Animation
Audio et vidéo. Les technologies multimédia du SDK iOS vous permettent d’intégrer des
fonctionnalités audio et vidéo sophistiquées dans votre app. Le framework Media Player
prend en charge la lecture en plein écran de fichiers vidéo et la prise en charge intégrée de
la diffusion HTTP en direct simplifie la diffusion sans fil de contenus audio et vidéo de qualité
supérieure au moyen de serveurs web standard. Votre app peut également faire appel à Core
Audio pour créer, enregistrer, mixer, traiter et lire des contenus audio. Core Animation ajoute
un mouvement souple et une réaction dynamique à l’interface utilisateur. Vous pouvez aussi
vous servir d’OpenGL ES pour créer des graphiques 2D et 3D hautes performances.
Planification • Conception • Développement • Déploiement
19
Développement web
Les apps web - une toute nouvelle catégorie d’applications mobiles - ouvre un univers de possibilités
pour l’entreprise. Les apps web sont des pages web personnalisées exploitant les langages HTML,
CSS et JavaScript avancés pour offrir aux utilisateurs d’appareils iOS une expérience d’immersion
incomparable. Et comme vous créez des apps en utilisant le langage HTML, vous pouvez développer
des applications web dans n’importe quel environnement de développement web. Pour déployer
une application web, vous avez seulement besoin d’héberger une page web. Vous pouvez gérer les
modifications ou les mises à jour à partir du serveur sur lequel réside la page. Jetons un coup d’œil
aux technologies permettant de développer des applications web pour appareils iOS.
HTML5 est la dernière spécification de HTML, le principal standard déterminant la façon
dont le contenu web interagit avec les navigateurs modernes. HTML5 permet aux
développeurs d’intégrer du média enrichi directement dans des pages web standard, ce qui
réduit le temps de développement et garantit une interactivité optimale pour la création
d’apps web.
Les animations et effets visuels CSS3 vous permettent de créer des interfaces graphiques
utilisateur sophistiquées pour les apps web. Les effets visuels disponibles vont des dégradés,
masques et reflets à des effets plus complexes en 2D et 3D. Lorsque vous combinez
ces effets visuels avec des événements tactiles, vous pouvez créer des apps web qui
interagissent davantage comme des apps natives sur iPhone et iPad
WebKit est un moteur de navigation web open source. À la base de Safari sur iPhone et iPad,
WebKit simplifie le développement web et favorise l’innovation. Ensemble d’outils open
source que chacun peut utiliser gratuitement, WebKit fournit le moteur de rendu HTML pour
apps web sur iPhone et iPad.
Dashcode est inclus dans le SDK iOS. L’environnement intégré de Dashcode vous permet
de créer la mise en page, d’écrire le code et même de tester les apps web. Dashcode met
également à votre disposition des modèles très pratiques qui donneront vie à vos apps web.
Le Simulateur exécute votre app presque comme un appareil iOS. Vous pouvez ainsi
vérifier et tester votre code directement à partir de votre environnement de bureau.
Et comme le Simulateur inclut le navigateur Safari pour iOS, vous pouvez aussi tester
et vérifier vos apps web avant leur déploiement.
« Le SDK nous a entre autres permis d’apporter des modifications
rapidement. On peut le faire très vite à l’écran et, grâce au
Simulateur, on peut voir ce que ça donne presque instantanément.
Et pour nous, cela veut dire donner un feed-back direct. »
- Todd Schofield, Standard Chartered Bank
Safari 5 pour Mac et Windows propose un ensemble d’outils puissants qui simplifient le
débogage, le peaufinage et l’optimisation des apps web pour une compatibilité et des
performances maximales. Pour accéder à ces outils, activez le menu Développement dans
les préférences de Safari sur votre Mac ou votre PC.
Planification • Conception • Développement • Déploiement
20
Intégration de contenu web dans des apps natives Avec le SDK iOS, vous pouvez aussi fournir un accès à du contenu web dans une app iOS à l’aide
de Web View. Vos applications web peuvent ainsi accéder à des fonctionnalités iOS telles que les
notifications push, l’appareil photo intégré, la détection des mouvements 3D, etc. Grâce à cette
fonctionnalité, vous pouvez améliorer votre app en effectuant des ajustements sur votre serveur web
sans avoir à déployer de nouveau l’application. L’utilisation de contenu web dans votre app native
constitue en outre un excellent moyen de se lancer dans le développement natif sans devoir revenir
en arrière ou abandonner vos investissements en conception web.
Accès aux systèmes de back-office
« Nous devions trouver un moyen
d’appliquer très rapidement les mises
à jour et les modifications. C’est
pourquoi nous avons adopté une
approche mixte, à base d’éléments
d’interface natifs hébergés sur le
téléphone. Le reste était toutes les
pages web proprement dites. »
- Giancarlo De Lio, Mt. Sinai Hospital
Il arrivera souvent que votre app d’entreprise doive accéder aux systèmes de back-office et aux
entrepôts de données existants. Si toute app mobile de qualité se doit d’offrir une expérience
utilisateur exceptionnelle côté client, la même attention doit être accordée au détail et à l’architecture
pour intégrer l’expérience client aux données des serveurs back-end. Le SDK iOS inclut une puissante
gamme d’outils et de frameworks permettant de stocker, de consulter et de partager les données
résidant sur les serveurs de données de l’entreprise.
Services web
Avec le SDK iOS, vous pouvez travailler avec des données XML pour établir une communication entre
votre application client et le serveur. Présentant un format léger et structuré, les fichiers XML peuvent
être facilement lus et écrits par votre app et s’intègrent aisément au système de fichiers iOS. Avec
SOAP, vous pouvez créer et analyser vos propres opérations de données ou utiliser des bibliothèques
tierces telles que gSOAP ou Axis2. Si vous implémentez REST, vous pouvez intégrer XML directement
dans votre app pour en accroître la performance. Par ailleurs, de nombreuses apps iOS utilisent
JSON pour permettre un échange simple des données, ainsi que des bibliothèques tierces comme le
framework JSON.
Astuce : Web View
Pour intégrer du contenu web, il vous suffit d’insérer un objet UIWebView
dans votre app native, de le lier à une fenêtre et de lui envoyer une requête
afin de charger le contenu web. Vous pouvez aussi utiliser cette classe pour
naviguer dans l’historique des pages web. Vous pouvez même définir des
propriétés du contenu web par programme.
Réseau
iOS offre un large éventail de technologies réseau modernes, perfectionnées et simples d’emploi.
BSD Sockets est la principale interface de programmation réseau iOS, sur laquelle sont basés tous les
frameworks de haut niveau. C’est le choix idéal pour un maximum de performance et de flexibilité.
BSD étant le standard de fait de la programmation réseau sous UNIX, le transfert de code réseau à
partir d’autres plates-formes ne pose généralement aucun problème.
Bonjour est le puissant protocole d’Apple qui permet de trouver automatiquement des systèmes et
des services sur un réseau local sans configuration fastidieuse. Votre app accède à ces fonctionnalités
par le biais de frameworks de haut niveau, qui simplifient la connexion aux informations, leur livraison
et l’interaction avec ces dernières, partout dans le monde.
Planification • Conception • Développement • Déploiement
21
Stockage local
Inclus dans iOS, Core Data et SQLite aident votre app à gérer les données stockées sur l’appareil luimême et à interagir avec elles.
• Core Data. Le framework Core Data offre des solutions généralisées et automatisées aux tâches
courantes associées au cycle de vie d’un objet et à la gestion du graphique d’un objet, y compris
la persistance. Core Data est une solution généraliste de gestion des données conçue pour traiter
les besoins en matière de modèle de données de tous les types d’applications, quelle que soit leur
taille. Vous pouvez rapidement définir le modèle de données de vos apps sous forme graphique et y
accéder facilement à partir de votre code. Cet outil met à votre disposition une infrastructure traitant
les fonctionnalités courantes, par exemple enregistrer, restaurer, annuler et rétablir, ce qui vous permet
de vous concentrer sur l’innovation. Comme Core Data utilise la bibliothèque de données SQLite
intégrée, il n’est pas nécessaire d’installer un système de base de données distinct.
• SQLite. iOS inclut la populaire bibliothèque SQLite, un moteur de base de données relationnelle
léger mais puissant, qui peut facilement être intégré à une app. Utilisé dans une multitude d’apps
sur de nombreuses plates-formes, SQLite est considéré comme le standard de l’industrie pour la
programmation de bases de données SQL intégrées. Contrairement au framework Core Data, qui est
orienté objet, SQLite fait appel à une API procédurale orientée SQL pour manipuler directement les
tables de données. Vous pouvez même utiliser SQLite dans une app web basée sur JavaScript.
Exemple : Services web centralisés
La centralisation des services web est une solution idéale pour simplifier
le développement back-end, en particulier si votre app doit interagir avec
plusieurs systèmes de back-office. Par exemple, Sunbelt Rentals a utilisé les
serveurs d’application .Net pour écrire des scripts pouvant invoquer des
procédures stockées sur des systèmes AS/400 existants et des bases de
données Microsoft CRM. Ils ont pu ensuite fournir les données récupérées par
.Net via XML et celles-ci ont pu être traitées très facilement par l’app mobile.
AS/400
MS SQL Servers
MS CRM
Sécurisation de votre app
Il est fort probable que votre app interne utilise des données d’entreprise sensibles, qui doivent
être protégées et sécurisées. La plupart des dispositifs de sécurité de base au niveau de l’appareil,
par exemple les politiques de mot de passe et l’effacement à distance, peuvent être gérés par vos
responsables informatiques. Mais quelles que soient les fonctionnalités de sécurité, il est conseillé de
mettre en place une stratégie de sécurisation des données stockées dans vos apps internes.
Pour soutenir ce processus de sécurisation des données, iOS adopte une approche de « bac à sable »
(sandboxing) et exige que les apps soient signées afin qu’elles ne puissent pas être falsifiées. iOS
comprend aussi un framework qui facilite le stockage sécurisé des informations d’identification des
apps dans un trousseau chiffré. De plus, il intègre des frameworks de haut niveau permettant de
chiffrer les données des apps et de sécuriser les connexions réseau. Vous pouvez exploiter toutes ces
capacités dans votre propre processus de développement pour garantir la sécurité de vos apps sans
entraver l’expérience utilisateur.
« La sécurité a joué un rôle décisif dans notre
choix de développer des applications pour
iPhone. L’iPhone met à notre disposition
la sécurité HTTPS et le trousseau d’accès
pour garantir la confidentialité de certains
éléments. Nous avons également pu chiffrer
les données. »
- Keith DeBickes, JM Family
Planification • Conception • Développement • Déploiement
22
Apps
Astuce : Trousseau d’accès partagé
Core Services
CF Network
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Security Services
Keychain
Services
Certificate,
Key, and Trust
Services
Randomization
Services
Core OS
LibSystem
CommonCyrpto
Vous pouvez partager des éléments du trousseau d’accès entre plusieurs
apps. Ce partage permet aux apps d’une même suite d’interagir de façon
plus fluide. Vous pouvez par exemple utiliser cette fonctionnalité pour
partager des mots de passe ou d’autres
éléments plutôt que d’exiger leur saisie par
l’utilisateur dans chaque application. L’accès à
des éléments partagés lors de l’exécution passe
par l’utilisation de l’interface de programmation
des services Keychain avec les groupes d’accès
définis pendant le développement. Pour savoir
comment accéder au trousseau, consultez le
guide de programmation des services Keychain
(Keychain Services Programming Guide) sur le portail développeurs iOS.
Architecture
Les API de sécurité d’iOS sont situées dans la couche Core Services du système d’exploitation et
s’appuient sur des services de la couche Core OS (noyau) sous-jacente du système d’exploitation. Les
apps appellent directement les API de services de sécurité sans passer par les couches Cocoa Touch
ou Media. Les apps réseau peuvent également accéder à des fonctions réseau sécurisées par le biais
de l’API CFNetwork, elle aussi située au niveau de la couche Core Services. CFNetwork est une API C de
haut niveau permettant de créer, d’envoyer et de recevoir très facilement des messages HTTP sérialisés.
Comme CFNetwork repose sur Secure Transport, vous pouvez chiffrer le flux de données à l’aide de
l’une des nombreuses versions des protocoles SSL ou TLS.
Sécurité réseau
Sans nécessiter la moindre écriture de code, iOS prend en charge les services VPN, qui permettent
aux apps internes de communiquer avec les réseaux d’entreprise en toute sécurité. Les services
informatiques peuvent configurer les réglages VPN intégrés pour IPSec, L2TP ou PPTP ou demander
aux utilisateurs de télécharger les apps client VPN SSL de Juniper, Cisco ou F5 sur l’App Store.
Pour les configurations utilisant l’authentification par certificat, iOS est compatible avec le VPN à la
demande. Le protocole VPN à la demande établit automatiquement une connexion lorsqu’une app
accède à des domaines prédéfinis, offrant ainsi une connexion fluide dans les apps internes. Pour les
apps nécessitant un accès Wi-Fi, iOS prend en charge le protocole WPA2 Enterprise avec authentification
802.1X. iOS prend également en charge les méthodes d’authentification standard, comme les certificats
numériques, les jetons de sécurité, par exemple SecurID ou CRYPTOCard, et l’authentification par mot
de passe.
Planification • Conception • Développement • Déploiement
23
Sécurité des données
Les apps internes peuvent protéger les données sensibles en faisant appel aux fonctionnalités de
chiffrement intégrées disponibles sur les appareils Apple de dernière génération. La protection des
données associe le code unique de chaque appareil au chiffrement matériel de l’appareil pour générer
une clé de chiffrement sécurisée.
Lorsque votre app interne indique qu’un fichier est protégé, le système le stocke sur l’appareil sous un
format chiffré. Tant que l’appareil est verrouillé, le contenu du fichier est inaccessible aussi bien pour
l’app que pour tout intrus potentiel. Lorsque l’utilisateur déverrouille l’appareil, iOS crée une clé de
déchiffrement qui permet à l’app d’accéder au fichier. Vous devez concevoir votre app de manière à ce
qu’elle sécurise les données au moment de leur création et réagisse aux changements d’accès à ces
données quand l’utilisateur verrouille et déverrouille l’appareil.
Authentification sécurisée
iOS fournit un trousseau chiffré sécurisé pour stocker les identités numériques, les noms d’utilisateur
et les mots de passe. Le système d’exploitation segmente les données du trousseau afin que
les informations d’identification stockées par des applications tierces soient inaccessibles aux
applications ayant une identité différente. Ce mécanisme permet à iOS de sécuriser les informations
d’authentification dans un large éventail d’applications et de services au sein de l’entreprise. Sous
iOS, les Services de trousseau vérifient la signature d’une app avant de lui donner accès au trousseau
et traitent tous les accès au trousseau sans faire intervenir l’utilisateur. Vos apps internes peuvent
interagir avec le trousseau via l’API Services de trousseau.
Test et validation
Les tests de validation des performances, de l’optimisation de l’interface utilisateur, du réseau et de
l’utilisation de l’app dans des conditions réelles doivent faire partie intégrante de votre processus de
développement. La devise « Test précoce et fréquent » est en effet la clé du succès de tout projet de
développement d’une app iOS. Vous pouvez vous assurer que la conception et le code de votre app
sont sur la bonne voie en les testant et en les validant à un stade précoce du processus. Vous disposez
pour cela de plusieurs méthodes. Nous vous présentons ci-après une synthèse des outils de test iOS
que vous pouvez utiliser à des fins d’analyse et de débogage.
Analyse statique. Pour repérer les bugs dans votre code avant d’exécuter l’application, demandez
à l’outil intégré d’analyse statique Xcode d’analyser des milliers de chemins de code en quelques
secondes et d’identifier les bugs potentiels, qui auraient pu ne jamais apparaître ou qui sont presque
impossibles à reproduire.
Planification • Conception • Développement • Déploiement
Astuce : Bibliothèque d’authentification
Pour intégrer un dispositif de sécurité élégant à vos apps iOS, vous pouvez
créer une bibliothèque d’authentification partagée, que vous pourrez utiliser
pour toutes vos apps internes. Vous pouvez intégrer cette bibliothèque
d’authentification à vos services d’annuaire existants (LDAP ou Active
Directory). De cette manière, à chaque fois que vous créerez une nouvelle
app, vous n’aurez pas besoin d’écrire un nouveau code d’authentification. Les
informations d’identification étant stockées dans le trousseau d’accès partagé, l’expérience des utilisateurs est améliorée, car il ne leur est pas nécessaire
de se connecter à chaque app qu’ils utilisent. Votre bibliothèque peut aussi
définir des délais d’expiration selon vos directives informatiques internes. Le
partage de ce type de code entre vos apps internes renforce la cohérence
de vos politiques comme de l’expérience utilisateur - un avantage aussi bien
pour les utilisateurs que pour le service informatique.
« Nous avons adopté un système
d’authentification par signature
unique pour toutes les apps et mis en
place des listes de contrôle d’accès
pour les apps privées. Ainsi, même
si vous téléchargez une app avec
l’authentification par signature unique,
la procédure transitera par une zone
de notre application où nous vérifions
si vous possédez un droit d’accès. Dans
l’affirmative, vous pourrez télécharger
l’app. Dans le cas contraire, vous ne
pourrez pas y accéder. »
- James Blomberg, General Electric
24
Débogage en temps réel sur l’appareil. Branchez votre appareil pour utiliser le débogueur graphique
Xcode ou recueillez les données de performance en temps réel en mode timeline dans Instruments.
Ces puissants outils d’optimisation vous permettent d’identifier et de résoudre rapidement tous les
problèmes de performance. Vous pouvez afficher des valeurs variables en pointant la souris.
Instruments. L’application Instruments est un puissant outil de mesure de la performance, qui vous
permet d’observer votre code pendant qu’il est exécuté et de recueillir d’importants indicateurs sur
ses performances. Vous pouvez consulter et analyser les données recueillies par Instruments en temps
réel ou les enregistrer pour les analyser ultérieurement.
Enregistrement des données. Indiquez à Instruments l’app que vous voulez analyser et les
instruments que vous voulez utiliser. Cliquez sur le gros bouton rouge pour lancer l’enregistrement.
Les données sont collectées et enregistrées en vue d’une analyse ultérieure.
Comparaison visuelle. Les données étant enregistrées et affichées dans la durée, il est facile
d’identifier les relations entre les différents types de données recueillies et les mêmes données
recueillies au cours de plusieurs sessions.
Analyse descendante. Repérez les pics de données sur le graphique pour identifier le code exécuté au
moment de leur survenue, puis faites appel à Xcode pour résoudre le problème.
Lecture répétée. Créez une batterie de tests ad hoc en enregistrant un utilisateur qui interagit
avec votre app, puis repassez l’enregistrement pour comprendre en quoi les changements de code
affectent la performance.
Test automatisé de l’interface utilisateur. L’instrument d’automatisation intégré travaille à partir de
scripts (écrits en JavaScript) que vous fournissez pour effectuer la simulation d’événements de votre
app. Ces événements simulés sont générés au moyen des interfaces d’accessibilité intégrées à iOS.
Vous pouvez utiliser cet instrument pour améliorer le processus de test et travailler les éléments de
l’interface utilisateur de votre app pendant qu’elle est exécutée sur un appareil connecté.
Étape suivante
Comme indiqué dans ce chapitre, les outils et ressources fournis dans le SDK iOS vous permettent
de créer rapidement des apps époustouflantes, qui tirent pleinement parti des capacités d’iOS et de
l’appareil. De plus, avec le SDK iOS, vos apps sont immédiatement prêtes à être déployées. Beaucoup
d’équipes de développement en entreprise adoptent en effet une approche itérative au cours du
processus de développement : elles développent et déploient fréquemment les apps tout au long du
cycle de vie du projet. Avec les outils de test et de validation intégrés associés à un modèle de sécurité
qui protège les données de votre entreprise, vous pouvez déployer vos apps auprès d’utilisateurs et
de groupes de toute taille. Le chapitre suivant vous guide à travers chaque étape du processus de
distribution des apps et vous aide à mettre sur pied une stratégie adaptée à votre environnement
professionnel spécifique.
Planification • Conception • Développement • Déploiement
L’application Instruments recueille et affiche les données en temps réel, par exemple
l’utilisation des disques, de la mémoire et du processeur, ce qui permet de localiser
facilement les problèmes.
« Static Analyzer a été un outil très
précieux pour nous. Il peut rechercher
les problèmes sans qu’il soit nécessaire
d’exécuter les apps. Static Analyzer a
été capable de trouver immédiatement
ce que nous aurions pu mettre des
semaines ou des mois à déboguer ou
que nous n’aurions peut-être jamais
trouvé. »
- Mark McWilliams, Razorfish
25
Déploiement
Lorsque le développement et le test du code de votre app sont terminés, vous devez effectuer
quelques tâches importantes avant que l’app ne soit prête à être utilisée. Pour préparer votre app à
la distribution, vous devez obtenir un certificat de distribution en entreprise auprès d’Apple et signer
votre code dans Xcode. Une fois votre projet Xcode prêt à être déployé, vous pouvez héberger votre
app interne sur votre propre serveur web en toute sécurité et la distribuer directement par Wi-Fi et 3G.
Ce chapitre décrit les processus de déploiement et de gestion du cycle de vie de votre app.
Préparation du lancement
Check-list Déploiement
À la fin de la phase de déploiement, vous devriez avoir :
créé les certificats d’entreprise et les profils d’approvisionnement
mis en place un serveur web de distribution ou une solution pour
distribuer les apps sans fil
annoncé la solution aux utilisateurs finals
Pour initier le processus de déploiement, vous devez certifier et approvisionner votre app dans le
cadre du programme pour développeurs iOS en entreprise (iOS Developer Enterprise Program), puis
signer et assembler votre projet dans Xcode. En suivant un processus simple en trois étapes, vous
serez prêt à distribuer votre app directement depuis Xcode.
1. Créer et télécharger un certificat de distribution. Pour distribuer votre app iOS, l’agent désigné
lors de votre adhésion au programme pour développeurs doit créer un certificat de distribution. Seul
l’agent de votre équipe est autorisé à créer ce certificat et seul ce certificat permet la distribution
de l’app en entreprise. Vous trouverez de plus amples informations et les instructions de création et de
téléchargement d’un certificat de distribution en entreprise sur le portail d’approvisionnement iOS, à
l’adresse http://developer.apple.com/ios/manage/overview/.
2. Créer et télécharger un profil d’approvisionnement. Lorsque vous êtes prêt à déployer votre app,
vous devez créer un profil d’approvisionnement en entreprise. Ces profils pouvant être installés sur
n’importe quel appareil, cette méthode est adaptée à la distribution à grande échelle au sein de votre
entreprise.
Coup d’œil : Portail d’approvisionnement
Le portail d’approvisionnement iOS vous accompagne tout au long des étapes
vous permettant de tester vos apps sur des appareils iOS et de les préparer
en vue de leur distribution. Vous utiliserez le portail d’approvisionnement iOS
pour de nombreuses étapes décrites dans ce chapitre, notamment pour la
création des certificats et des profils d’approvisionnement. Visitez le Member
Center du centre de développement iOS (iOS Dev Center) pour trouver
le portail, sur lequel des informations complémentaires utiles vous sont
également proposées.
Les profils d’approvisionnement correspondent à votre certificat de distribution, ce qui vous permet
de créer des apps que les utilisateurs peuvent exécuter sur leurs appareils iOS. Vous créez un profil
d’approvisionnement pour une app particulière ou plusieurs apps, en indiquant l’identifiant AppID
autorisé par le profil. Si un utilisateur dispose d’une app sans posséder le profil qui autorise son
utilisation, il ne pourra pas utiliser l’app. Puisque ces profils sont liés à votre certificat, l’application ne
s’exécutera plus si vous révoquez le certificat ou si celui-ci expire.
Il existe deux types de profils d’approvisionnement : Ad hoc et Entreprise. Les profils
d’approvisionnement Ad hoc sont limités à des identifiants d’appareils spécifiques. Ils ne peuvent
donc s’appliquer qu’aux appareils ayant été identifiés (au moyen de leur identifiant) et transférés sur
le portail du programme pour développeurs. Les profils Ad hoc sont plus adaptés aux procédures de
test interne ou aux programmes bêta limités, car ils ne peuvent pas aller au-delà de 100 appareils et
génèrent un coût administratif important (puisqu’il faut ajouter les identifiants des appareils sur le
portail du programme).
Planification • Conception • Développement • Déploiement
26
Il est important de souligner qu’un profil d’approvisionnement n’est pas un mécanisme de sécurité.
S’il requiert une autorisation de base permettant d’exécuter une app, il n’implique pas une
authentification de l’utilisateur ni une quelconque protection des données utilisées ou consultées
dans votre app. Il est toujours recommandé de sécuriser l’app elle-même par des mécanismes
internes. Comme expliqué au chapitre « Développement » de ce guide, vous pouvez mettre en
œuvre une multitude de fonctionnalités de sécurité et de frameworks iOS dans votre app interne.
Par exemple, l’un des moyens les plus efficaces de sécuriser votre app est de créer une bibliothèque
standard pour l’authentification des utilisateurs.
3. Signer et assembler dans Xcode. Après avoir installé le certificat de distribution et le profil
d’approvisionnement, vous devez signer votre code dans Xcode. Pour plus d’informations
sur le processus de signature de code, suivez les instructions pas à pas publiées sur le portail
d’approvisionnement pour développeurs.
Lorsque vous avez signé votre app, Xcode l’assemble en vue de sa distribution en entreprise selon un
processus d’exportation simple. Xcode Organizer vous permet de partager un projet qui a été ajouté
à votre archive et de sélectionner les options de distribution en entreprise. Ce processus assemble
automatiquement l’app, le profil d’approvisionnement et d’autres éléments requis pour la distribution
sans fil.
Distribution
Une fois l’app assemblée, vous pouvez la distribuer en l’hébergeant sur un simple serveur web interne,
en créant votre propre catalogue d’apps internes ou en faisant appel à une solution tierce de gestion
des appareils mobiles.
La solution la mieux adaptée à votre cas dépend de vos besoins spécifiques, de votre infrastructure et
du niveau de gestion des apps que vous recherchez.
Planification • Conception • Développement • Déploiement
Coup d’œil : Xcode Organizer
L’Organizer est une fenêtre unique permettant de gérer les projets Xcode, les
référentiels SCM, les apps archivées et les appareils - incluant la configuration
en un clic des nouveaux appareils iOS utilisés pour le développement.
Concernant la distribution des apps, l’Organizer est la bibliothèque centrale
à partir de laquelle les apps peuvent être partagées (exportées) afin d’être
distribuées dans l’entreprise. L’Organizer peut également servir à installer des
apps internes et des profils d’approvisionnement sur les appareils connectés.
27
Processus de distribution d’app sans fil
La méthode de distribution la plus simple est l’hébergement de l’app sur un serveur web. Il vous suffit
de procéder comme suit :
1. Hébergez votre app sur un serveur web auquel vos collaborateurs ont accès.
2. Informez vos utilisateurs - par e-mail, SMS, notification push ou toute autre méthode disponible sur
les appareils iOS - que l’app est disponible. N’oubliez pas d’indiquer l’URL de l’app.
3. Touchez l’URL pour installer l’app. Une boîte de dialogue demande aux utilisateurs s’ils souhaitent
procéder à l’installation.
Pour savoir comment créer votre propre service de distribution d’apps sans fil, visitez le site
http://developer.apple.com/library/ios/navigation/.
Catalogue d’apps internes
Votre équipe peut aussi créer un catalogue interne, offrant un portail pour la distribution sans
fil de vos apps iOS. Ce modèle en libre-service demande un minimum d’effort de la part des
collaborateurs pour télécharger et installer les apps. Le catalogue peut fournir directement les URL de
téléchargement des apps, ce qui permet d’installer et de mettre à jour plusieurs apps simultanément,
tout en accélérant le déploiement et la configuration. Une app web ou native - optimisée pour
l’iPhone ou l’iPad - représente une méthode encore plus simple de mettre les URL à disposition de
manière organisée et conviviale. À titre informatif, découvrez un exemple de catalogue d’apps internes
ci-contre, à la section « Étude de cas : L’App Store interne de GE ».
Gestion des mises à jour
Les apps d’entreprise développées et distribuées en interne ne sont pas mises à jour automatiquement.
Vous devez informer vos collaborateurs qu’une mise à jour est disponible et les inviter à installer l’app.
Si l’identifiant d’application affecté à l’app dans Xcode n’a pas changé, l’app sera reconnue comme une
app existante et la mise à jour sera installée, les données de l’app stockées localement et les préférences
étant conservées. Pour plus de commodité, pensez à intégrer une fonction dans l’app qui contacte le
serveur pour vérifier si des mises à jour sont disponibles quand l’app est exécutée.
Dans le cadre de la distribution d’apps sans fil, vous pouvez fournir un lien vers l’app mise à jour
directement dans votre app. Si vous créez une application de catalogue d’apps natives, vous pouvez
utiliser les services de notification push pour informer les utilisateurs que des mises jour sont
disponibles au moyen d’une alerte ou d’un indicateur sur l’icône.
Gestion des appareils mobiles
De nombreuses solutions tierces de gestion des appareils mobiles proposent des options de
distribution sans fil prêtes à l’emploi. La gestion des apps internes dans un environnement géré
permet notamment de contrôler les versions et de vérifier quelles versions de votre app sont
exécutées par les différents utilisateurs. Beaucoup de solutions de gestion des appareils mobiles
Planification • Conception • Développement • Déploiement
Étude de cas : L’App Store interne de GE
Le groupe de travail mobile interne de GE, le
Mobile Center for Excellence, ne se contente pas de
développer des apps de pointe. Il a aussi créé un
portail web interne, l’App Store interne de GE, afin de
simplifier le téléchargement des apps développées
par la société pour les plus de 300 000 salariés
qu’elle emploie.
« Nous avions besoin d’un outil efficace pour
distribuer les applications mobiles en interne »,
explique James Blomberg, directeur du département
Nouveaux médias et technologies émergentes chez
GE. « Nous avons des apps sur l’App Store d’Apple,
mais nous avions aussi besoin d’une plate-forme privée pour les applications de GE
qui ne doivent pas être partagées avec le monde entier. »
Depuis son lancement en 2009, l’App Store de GE a vu passer des dizaines de milliers
de visiteurs internes et enregistré plus de 100 000 téléchargements. Lorsque de
nouvelles apps sont disponibles, le groupe en fait la promotion sur un portail Intranet
de la société, ainsi que par le biais des messages et du bouche-à-oreille au sein
du Mobile Center of Excellence de GE, composé de 200 membres issus de tous les
principaux secteurs d’activité du groupe.
Le succès de l’App Store s’explique en partie par son design à la fois simple
et efficace. « L’interface est riche, mais très facile à utiliser », commente Dayan
Anandapa, directeur du département Technologies numériques et collaboration chez
GE. « Une fois que vous êtes enregistré, il vous suffit de cliquer sur une URL pour être
guidé à travers le processus de téléchargement. Comme les appareils sont intuitifs,
nous voulons que l’installation soit, elle aussi, intuitive. »
Dans une société aussi grande et diversifiée que GE, toutes les apps développées en
interne ne s’adressent pas à tous les utilisateurs. Pour que les apps soient accessibles
aux seuls utilisateurs autorisés, la société a mis en place un système d’accès à deux
niveaux. « Nous avons adopté un système d’authentification par signature unique
pour toutes les apps, complété par des listes de contrôle d’accès pour les apps
privées », précise Blomberg.
L’App Store interne de GE contribue à sensibiliser l’ensemble des collaborateurs aux
ressources mobiles de GE, tout en simplifiant le processus de téléchargement des
apps. Mais il présente d’autres avantages.
« Il sert de référentiel, de plate-forme centralisée de partage des connaissances
entre nos différents secteurs d’activité », poursuit Blomberg. « Et il crée vraiment de
nouvelles relations. Des personnes qui ne se connaissaient pas travaillent aujourd’hui
ensemble. Dans l’ensemble du groupe GE, on voit se développer une multitude de
collaborations et de communications grâce aux technologies mobiles. »
28
proposent en outre des services de notification push, servant à informer les utilisateurs de la
disponibilité de mises à jour et de nouvelles apps. Et comme les solutions de gestion des appareils
mobiles peuvent mettre en place des configurations réseau et des politiques de sécurité, c’est le
moyen idéal de transférer les réglages directement sur l’appareil, au moment où l’app est installée (par
exemple, certificats VPN ou Wi-Fi). Pour plus d’informations sur les solutions de gestion des appareils
mobiles, rendez-vous l’adresse www.apple.com/fr/iphone/business/integration/mdm.
Lancement de votre solution
Félicitations ! Vous avez conçu, développé et déployé une app iOS pour vos collaborateurs. Il ne vous
reste plus qu’à le faire savoir au sein de votre organisation. Si les utilisateurs ne savent pas qu’elle
existe, même une app de qualité très innovante ne sera pas adoptée ou ne générera pas le retour
sur investissement attendu. Vous disposez de nombreux moyens pour informer vos utilisateurs. Voici
quelques idées qui pourront inspirer votre campagne de lancement et de communication :
• Vous pouvez faire la promotion de vos dernières apps sur l’Intranet de votre entreprise.
• Sur votre Intranet, créez un site dédié aux apps iOS, où les utilisateurs pourront publier des
commentaires, participer à des forums, etc.
• Proposez aux utilisateurs une vidéo de démonstration présentant l’app en action pour qu’ils
comprennent les avantages de la solution.
• Envoyez des e-mails et des lettres d’information pour sensibiliser les utilisateurs à vos solutions.
• Accrochez des affiches et d’autres visuels à des endroits stratégiques afin que vos collaborateurs
découvrent l’app quand ils se déplacent dans votre bureau ou sur le campus de votre entreprise.
Exemple : Communications internes
En annonçant à ses utilisateurs le lancement de nouvelles apps développées
en interne, Genentech fait de la communication des fonctionnalités et
des avantages de chaque solution une priorité absolue. Tout comme un
développeur commercial mettrait au point une campagne de lancement,
Genentech a créé des supports marketing internes uniques pour chaque
nouvelle app maison. Ces efforts ont eu un impact immédiat, contribuant à
faire découvrir et adopter les nouvelles apps par le plus grand nombre.
• Dans la mesure du possible, envoyez aux utilisateurs des notifications push pour les informer de la
disponibilité de nouvelles apps ou de mises à jour logicielles importantes.
• Enrichissez votre catalogue d’apps internes de captures d’écran et de vidéos de démonstration de
votre app pour leur faire découvrir son utilité.
Étape suivante
Le déploiement et lancement de votre app ne marquent pas la fin du processus - en fait, ce n’est que
le début. À chaque fois que l’une de vos apps rencontrera un succès, les utilisateurs en réclameront
d’autres à cor et à cri. Ce guide n’est qu’un point de départ pour votre équipe de développement.
Outre ce guide, le programme pour développeurs iOS met à votre disposition une mine de ressources
d’apprentissage, de bonnes pratiques, de conseils et de techniques. Entrez en contact avec d’autres
développeurs dans les forums développeurs ou téléchargez des vidéos pour découvrir plus de
fonctionnalités avancées de la plate-forme. Les possibilités sont illimitées.
Planification • Conception • Développement • Déploiement
29
Ressources d’apprentissage complémentaires
Vous souhaitez faire passer vos efforts de développement en interne à la vitesse supérieure ? Les
ressources d’apprentissage avancées présentées ci-après approfondissent le sujet et proposent
des informations techniques détaillées sur les principaux aspects du développement d’apps en
interne. Vidéos WWDC
Pour découvrir des vidéos où les ingénieurs et experts Apple expliquent comment innover
avec les dernières technologies Apple, visitez le site http://developer.apple.com/videos/
wwdc/2010/ Podcast de l’université de Stanford
Découvrez les outils et API requis pour développer des apps pour iPad, iPhone et iPod
touch. Le podcast « Développement d’apps pour iOS » de l’université de Stanford étudie
la conception d’interfaces utilisateur pour les appareils mobiles, les interactions utilisateur
uniques permises par la technologie Multi-Touch, Core Animation et bien plus. Cette série
est disponible sur iTunes ou à l’adresse http://itunes.apple.com/fr/itunes-u/developing-appsfor-ios-hd/id395605774
Big Nerd Ranch
Profitez d’une introduction complète au développement iOS avec ce cours de sept jours qui
vous enseignera les bases d’Objective-C et du SDK iOS. Pour plus d’informations sur l’offre
de Big Nerd Ranch en Europe, visitez le site www.bignerdranch.com/locations/netherlands
Pragmatic Studio
Des podcasts sur la création d’apps iOS complètes pour développeurs de niveau débutant
ou intermédiaire sont disponibles sur iTunes. Pour en savoir plus, rendez-vous à l’adresse
https://itunes.apple.com/fr/podcast/pragmatic-studio-bonus-tracks/id312552710?mt=2
© 2013 Apple Inc. Tous droits réservés. Apple, le logo Apple, Bonjour, Cocoa Touch, Dashcode, iMac, Instruments, iPad, iPhone, iPod, iPod touch, iTunes, le logo
iTunes, Keychain, Mac, MacBook, MacBook Air, Safari et Xcode sont des marques d’Apple Inc., déposées aux États-Unis et dans d’autres pays. Multi-Touch
est une marque d’Apple Inc. Apple Store est une marque de service d’Apple Inc., déposée aux États-Unis et dans d’autres pays. App Store est une marque
de service d’Apple, Inc. Le terme et les logos Bluetooth® sont des marques déposées détenues par Bluetooth SIG, Inc. et utilisées sous licence par Apple.
Intel et Intel Core sont des marques d’Intel Corp. aux États-Unis et dans d’autres pays. UNIX est une marque déposée de The Open Group. Les autres noms
de produits et de sociétés mentionnés sont des marques de leurs sociétés respectives. Les informations contenues dans ce document sont fournies à titre
indicatif uniquement ; Apple n’assume aucune responsabilité quant à leur utilisation.
30

Documents pareils