Comment lier une application Windows 8.1 à une application Windows Phone 8.1 (Universal app)

Les applications Universelles ou Universal Apps offrent la possibilité aux développeurs de créer une application qui cible différentes plateformes, du Windows Phone 8.1 au Windows 8.1 en passant par Windows RT.

En réalité lors de la création d’un projet Universal App, Visual Studio va créer deux projets (l’app Windows 8.1 + l’app Windows Phone 8.1) et un espace de partage.

On peut intégrer dans cet espace de partage tous les fichiers susceptibles d’être communs : les vues, le code business… Dans beaucoup d’applications, l’ergonomie va être spécifique pour chaque plateforme et le partage du code d’IHM risque donc d’être très compliqué, voir impossible.

Il est maintenant possible avec Windows Phone 8.1 de développer des applications en HTML5/JS, mais il faut obligatoirement passer par le modèle Universal App.

Et voici les étapes pour lier une application W8.1 à une app WP8.1 :

Étape 1 : Le store

  1. Se connecter au backoffice du store Windows Phone : http://dev.windowsphone.com avec le même compte que celui utilisé pour le backoffice du store Windows http://dev.windows.com.
  2. Aller sur le Dashboard.
  3. Cliquer sur le bouton Submit App.
  4. Cliquer sur le chiffre 1 pour renseigner les informations de l’application.
  5. Il suffit maintenant de choisir le nom de l’application dans la liste (NB: il ne faut pas le renseigner manuellement) et de cliquer sur le bouton « Associate app ».store1store2
  6. Choisir une catégorie et enregistrer les modifications.

 

 

Étape 2 : Visual Studio

Pour transformer une application Windows 8 .1 en Universal App, il suffit de faire un clic droit sur le projet et choisir « Add Windows Phone 8.1 »

vs1

Deux nouveaux projets sont alors créés : l’application Windows Phone et le projet Shared.

vs2

Clic droit sur le nouveau projet Windows Phone, aller dans « Store » et cliquer sur « Associate App with the Store ».

vs3

 

Une fenêtre s’affiche, il faut se connecter avec le compte du store pour obtenir la liste des applications créées dans le dashboard.

vs4

On sélectionne la bonne application et on valide.

Il ne reste plus qu’à faire les développements et soumettre l’application pour la certification 🙂 !

 

Windows Phone 8 – Déploiement d’applications d’entreprise

Windows Phone 8 offre la possibilité de déployer vos applications d’entreprises sans passer par le store. Ce type de déploiement nécessite néanmoins un peu de préparation.
Préparation

Tout d’abord assurez-vous d’avoir le SDK Windows Phone 8 d’installé sur votre machine. S’il n’est pas présent vous pourrez le télécharger et l’installer sur le lien suivant :
https://dev.windowsphone.com/downloadsdk

Achat du certificat Symantec

Afin de pouvoir déployer des applications d’entreprise hors store il faut au préalable que votre entreprise achète un certificat particulier auprès de Symantec en utilisant le lien suivant :
https://products.websecurity.symantec.com/orders/enrollment/microsoftCert.do
Une fois que l’achat aura été validé vous recevrez plusieurs certificats dont au format pfx.

Génération du jeton de déploiement (Application Enrollment Token ou EAT)

Grace au fichier pfx nous allons pouvoir générer un fichier d’extension eatx. Ce fichier devra être installé sur tous les téléphones où vous souhaiterez déployer votre application d’entreprise. C’est en effet lui qui fait le lien entre votre compte entreprise et les téléphones qui peuvent utiliser vos applications.
Pour générer ce fichier il faut ouvrir une invite de commande en mode administrateur :
 
SearchDeveloperCommandPrompt

Ensuite exécutez les lignes de commandes suivantes :

cd %ProgramFiles(x86)%\Microsoft SDKs\Windows Phone\v8.0\Tools\AETGenerator
AETGenerator.exe “CheminVersLeFichierPFX.pfx” VotreMotDePasseIci

Cette dernière ligne de commande génère divers fichiers dont le fichier eatx dont nous allons nous servir pour chiffer le xap de notre application d’entreprise.

Chiffrement du xap

Dans le SDK Windows Phone il existe un script PowerShell permettant de chiffrer le xap en utilisant le fichier eatx précédemment généré.
Avant d’exécuter ce script il faut que votre poste dispose de l’autorisation nécessaire pour exécuter les scripts PowerShell. Pour l’autoriser il faut lancer PowerShell en mode administrateur et exécuter la commande suivante :

Set-ExecutionPolicy Unrestricted

Il faut aussi les certificats au format cer aient été installés sur la machine. Dans le cas de MCNEXT nous disposons de deux certificats à installer :
– Symantec_Enterprise_Mobile_Root_for_Microsoft.cer
– Symantec_Enterprise_Mobile_CA_for_Microsoft_Cert.cer
Le premier est à installer dans les autorités de certification racine et le second dans les autorités de certification intermédiaire.
Voir les captures d’écrans ci-après pour importer le premier certificat.

Ce diaporama nécessite JavaScript.

Le poste étant dorénavant prêt il n’y a plus qu’à exécuter le script PowerShell qui va chiffrer le xap. Pour cela il faut lancer une invite de commande PowerShell en mode administrateur et executer les commandes suivantes en remplacant les chemins et les mots de passe par ce qui convient :

cd “C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Tools\MDILXAPCompile”
.\BuildMDILXap.ps1" -xapfilename "CheminVersLeXap.xap" –pfxfilename "CheminversLeCertificatSuivant\Symantec_Enterprise_Mobile_Cert_for_MCNEXT.pfx" –password VotreMotDePasse

Le nouveau xap est généré dans le même dossier que le xap source et est du même nom avec l’ajout du suffixe _new (exemple MonApp.xap donne MonApp_new.xap).

Déploiement du xap

Il existe diverses manières de déployer un xap d’entreprise. Vous pouvez l’envoyer par mail ou le mettre à disposition sur un site internet ou intranet. Vous pouvez aussi choisir de développer un Hub d’entreprise qui contiendra la liste de toute vos applications et proposera à vos utilisateurs une expérience ce rapprochant du store Windows Phone. Un Hub d’entreprise étant une application comme une autre vous pouvez également vouloir afficher des news sur la société etc… Si cette méthode vous intéresse je vous invite à aller visiter la page suivante :
http://www.windowsphone.com/fr-FR/business/custom-hub
Dans le cadre de cet article néanmoins nous allons nous en tenir au déploiement basique par mail.
Avant de déployer le xap il faut avoir installé le fichier eatx précédemment généré sur le téléphone. Par soucis de simplicité il peut être intéressant de grouper l’envoi du fichier eatx et du xap dans le même mail par exemple :

DeployMail1

En cliquant sur le fichier AET.aetx en pièce jointe la popup suivante s’ouvre proposant d’ajouter le compte entreprise :

DeployMail2

Il ne reste plus qu’à cliquer sur le xap en pièce jointe pour l’installer :

DeployMail3

Vous ne recevrez aucune information concernant le succès ou l’échec de l’installation. Il n’y a plus qu’à aller voir dans la liste des applications si l’application est présente et se lance correctement. Si oui, félicitations vous savez maintenant déployer des xap pour votre flotte d’entreprise !