Windows 10 – Microsoft modifie la date de sortie officielle de la 1809

Le calendrier de maintenance pour Windows 10 1809 devait commencer en octobre 2018. Toutefois, en raison de la pléthore de bogues identifiés et signalés, cette version de Windows a dû être retardée pour permettre à Microsoft de déterminer ce qu’il fallait corriger.

Maintenant que la livraison de Windows 10 1809 a repris, le calendrier de maintenance a été changé par l’éditeur.

Lire la suite

[Evt] Microsoft //Hackathon //Publish/ dans les locaux de MCNEXT Centre-Est les 16-17 mai 2014 ! Inscrivez-vous vite!

bandeau publish lyon 2014

Développeurs(ses) passionnés(es), n’oubliez pas de vous inscrire
au Hackathon //Publish/ organisé par Microsoft les 16-17 mai  !

Rejoignez le Satellite lyonnais
dans les locaux de MCNEXT Centre-Est !

66 rue du Président Edouard Herriot 69002 Lyon
_____

L’Hackathon Microsoft //Publish/ Windows est un grand moment de rassemblement des développeurs du monde entier intéressés pour développer leurs applications Windows Phone 8 et Windows 8.1 et échanger avec les coachs Microsoft, les experts de la communauté et les MVP (Microsoft Most Valuable Professional) . Les experts et MVP de MCNEXT organisent le satellite lyonnais de cet événement et vous invitent à y participer !

48h pour optimiser et publier vos applis et vos jeux  ! Et, de superbes lots sont à gagner !

« L’équipe MCNEXT est heureuse d’accompagner cet événement international organisé par Microsoft pour la communauté des développeurs. Si vous avez une idée ou une application à terminer pour la publier, n’hésitez pas à vous inscrire ! Nous sommes prêts à vous accueillir dans nos locaux lyonnais ! »  souligne avec enthousiasme Hubert de Charnacé, PDG de MCNEXT.

Apportez votre(vos) application(s) ou votre(vos) jeu(x) au Hackathon //Publish/ pour coder avec des développeurs du monde entier. Collaborez et obtenez de l’aide pour votre application que ce soit au niveau du design, de la performance ou de la publication. Cet événement sera organisé sur deux jours qui seront dédiés à faire que votre application fonctionne parfaitement sur Windows Phone, tablette et PC.

Vous êtes arrêtés dans votre application ? Pas de panique ! Que vous soyez bloqués en HTML/JS, en XAML ou au niveau du design, nos experts seront là pour vous aider à finaliser votre projet. Vous aurez à votre disposition une gamme d’appareils afin de tester et de faire tester votre application. Connectez-vous aux développeurs et spécialistes Microsoft des autres événements mondiaux afin d’échanger et d’obtenir de l’aide ou des conseils. Et enfin n’oubliez pas de faire la démonstration de votre projet dans le « App Showcase ».

Des prix seront décernés aux vainqueurs par Microsoft et nous avons quelques surprises afin de vous motiver à publier votre application durant l’événement. N’oubliez pas que seules les applications publiées sur les stores Windows ou Windows Phone avant le premier juin 2014 sont éligibles pour vous faire gagner encore plus de récompenses grâce au concours //Publish/ Developer Contest.

Date //Publish/ Satellite
Le 16 et 17 mai 2014

Lieu
//Publish/ Satellite lyonnais
MCNEXT Centre-Est
66 rue du Président Edouard Herriot
69002 Lyon


Comment s’inscrire ?

La page d’inscription du //publish/ lyonnais est la suivante : https://publishwindows.com/view/63d374568e8d4887bde4b8e078599f77


Agenda / Plus de détails à venir

Matin : Enregistrement et Bienvenue
Milieu de matinée : Session de développement / Support d’un expert
Midi : Déjeuner / Webcast
Après-midi : Session de développement / Support d’un expert
Fin de journée : Démonstration des applications / Evaluations et résultats


Pour plus d’informations sur l’événement :

Une page décrivant le contexte de l’événement se trouve ici :
http://www.microsoft.com/france/msdn/nouveautes-developpeurs-printemps-2014/concours-applis.aspx

La page de l’événement //publish/ est la suivante :
https://publishwindows.com/

 

A bientôt,
L’équipe MCNEXT

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 !

Windows Phone 8 : Enterprise Development

Et voilà, ma dernière session pour la build. La salle est pleine…

Le but est de permettre aux entreprises de déployer de manière sécurisé et privée des applications.

-> Pas d’interaction avec Microsoft

-> Contrôle de quelle app sont déployées sur quel phone

-> Mécanisme d’enrôlement sécurisé

  • L’installation nécessite la confirmation de l’utilisateur mais pas les mises à jour
  • Les deux types d’applications (entreprise et marketplace) sont séparées et les données aussi
  • L’entreprise à le contrôle de ses apps pas celle du marketplace

Création du compte et obtention du certificat :

–  C’est la première étape : l’entreprise doit disposer d’un compte (Microsoft portail)

  • Prix 99/Year

–  Le certificat est obtenu auprès de symantec (le certificat servira à signer les apps)

  • Le certificat contient
    • un PublisherId qui identifie l’entreprise
    • Un Publisher Name
    • Une période de validité
  • Prix 299/year

Enrolement et déploiement de l’application

– Il y a une différence entre le fait que le téléphone soit géré ou pas par un serveur d’entreprise :

  • Cela affecte la méthode de déploiement, la capacité de faire l’inventaire des applications, la possibilité de faire des updates silencieux …

Managed Enrolment :

– Au niveau du téléphone on rentre un compte d’entreprise et l’adresse du serveur de gestion du parc

Il n’y a pas de certification pour les applications d’entreprise, l’entreprise est responsable et ne passe pas le MarketPlace. On peut utiliser le kit de test.

Processus de déploiement :

  • L’application est NGENée
  • Signée
  • Déployée dans le store de l’entreprise
  • Déployée sur le téléphone avec un protocole sécurisé

Quand une application est lancée : il y a une vérification d’effectuée pour savoir si le publisher est autorisé puis le téléphone peut contacter (une fois par jour) la plateforme de gestion qui valide l’application / device

Sujet suivant : mettre en place un Hub d’entreprise

  • Il faut d’abord générer un token qui va identifier l’entrerprise
  • On part d’unpfx
  • On utilise un outil AETGenerator
  • On obtient un fichier aetx à déployer sur les phones.
  • L’ensemble des app doivent être signés
  • Lors de la signature on signe les dll,exe et le XAP (XAPSignTool)

Installer / lister les applications :

  • On peut installer/lister les apps avec InstallationManager.AddPackageAsync / FindPackagerForCurrentPublisher()

Cet appel est effectué depuis une application installée sur le device et signée avec le même certificat.

Roch

Windows Phone 8 : App to App communication

On commence par une introduction sur le mode “sandbox” introduit par Windows phone et les conséquences : à savoir que les applications ne peuvent pas directement interagir directement ensemble. Cependant au fur et à mesure certaines fonctionnalités ont été autorisées.

-> Une des premières fonctionnalités sont l’association d’applications à des URI au travers d’un préfix (scheme) custom.

-> Les possibilités sont par exemple d’activer skype.

Une autre fonctionnalité est l’association avec des types de fichiers qui permet d’activer directement l’application en fonction du type de document.

Première démo : intégration de lien vers des documents office dans une application et ouverture dans office.

-> On utilise Launcher.LaunchFileAsync

NB : il s’agit ici d’une fonctionnalité de visualisation

Attention il n’est pas possible de connaitre la liste des applications installées et dans le cas ou l’application cible n’est pas installée c’est l’OS qui propose de rechercher une App adéquate sur le store.

Deuxième démonstration :

  • Lancement d’un jeu à partir d’un SMS

Exemple ici : activation d’un niveau dans le jeu par sms

Exemple sms : unite :level=10

Quand on reçoit le sms le texte est en fait un lien …

  • Les protocoles se déclarent dans le manifest dans la balise Extensions.
  • On utilise ensuite un URIMapper pour résoudre l’URI

On revient ensuite sur l’explication du fonctionnement des associations  de fichier.

  • Le principe est que l’application source obtient un token de partage de son fichier avec le « Data Sharing Service » et passe l’uri avec un token au « Execution Manager ». Cela permet de ne partager une copie du fichier qu’avec l’application cible.

Démonstration : gestion d’un  type de fichier custom

-> Dans le manifest on crée dans la partie Extensions une entrée SupportedFileType qui contient les différents types de fichiers associés (type mime + extension)

-> On crée ensuite un UriMapper pour associer l’Uri entrante avec une page et passer le token du fichier

-> On appel le SharedStorageAccessManager pour récuperer le fichier avec le token

Sujet suivant : il est possible avec la même technique de lancer une application sur un autre téléphone avec les fonctionnalités  Proximity (NFC)

-> Cela se fait de la même manière. Il n’y a pas de besoin d’utiliser les api Proximity sur l’application cible

-> Sur l’application source on utilise PublishUriMessage (api Proximity)

Roch

Key technologies for Windows Store Business apps

Après avoir poser la question, le Self Service Portal doit sortir en beta dans les prochains jours (d’abord avec Windows InTunes, puis SSCM).

Autre remarque pour Guillaume : l’application Directors Desk par Nasdaq utilise le composant FoxIt Reader pour les PDF.

Il y a trop de gens : on change de salle !!

Session par Robert Green, technical evangelist.

L’agenda : data, sécurité & authentification, test, déploiement

# Où stocker ses données ?

On fait le tour des solutions avec les scénarios associés :

  • locales (App Data API, IndexDB, SQLite… pas d’annonce de version SQL Server)
  • distantes

On trouve des samples sur dev.windows.com

Première démo : My expenses

L’app se connecte via du WCF sur SQL Azure, et on nous montre comment rajouter un mode offline avec du SQLite en gérant la synchro par code.

Détection de la connectivité avec NetworkInformationProfile.GetInternetConnexionProfile()

Démo avec l’app W8 Fabrikam Fiber

Il existe une version du Sync Framewok « synctoolkitwinrt » pour créer les config de synchro, mettre à jour sa base avec les tables de tracking et générer le code de synchro côté client ET serveur.

Le sample sera livré « bientôt »

# Sécurité & authentification

On fait maintenant le tour des modes d’authentification : Integrated, certificate, form, ADFS, SSO, OAuth…

Démo d’une authentification sur une machine dans le domaine (directement) et une qui n’y est pas avec affichage de l’interface de login Windows

On affiche la fenêtre de login via un CredentialsPicker et on remplit app.WindowsAuthUserName, app.WindowsAuthPassword et app.WindowsAuthDomain

Démo avec une authentification via une Smart Card + le code qui va avec + les étapes de config

Démo avec une authentification Microsoft Live Account via le OnlineIdAuthenticator

On a aussi tout ce qui faut pour protéger/crypter les données.

# Test

Il n’y a pas encore de Coded UI Tests pour W8, mais ça devrait venir.

On peut toujours faire des tests manuels avec l’aide de Test Manager 2012.

Démo de debug en remote

Il faut d’abord installer les Remote Tools fo VS2012 sur la machine cible et démarrer le debugger

# Déploiement

Démo avec du powershell sur une tablette RT

2 mots avec SCCM 2012

On nous dit qu’on peut tout faire, mais ça reste pas très clair

# Q&R

On ne peut pas forcer l’installation d’une app sur une tablette RT

Quand le certificat de l’app expire, l’app ne peut plus se lancer, ça peut être un moyen de bloquer une app

Pour faire du QA, il faut utiliser des licences développeurs

Bonne session notamment les démos sur l’authentification !

Pierre-Yves

Unit Testing Windows Store Apps

Cette session commence par un état des lieux du test logiciel :

  • Peu utilisent une méthodologie de Test-First
  • Certains testent pour éviter les régressions
  • Pas mal de tests sont ajoutés à du code existant pour que le management se sente mieux.
  • La majorité du code est non testé afin que le management se sente mieux.

Il existe plusieurs MSTest :

  • .Net
  • Native C++
  • Managed Code Windows Store Apps
  • Native Code Windows Store Apps

S’ensuit une démo des tests unitaires pour une application Windows Store. Dans cette démo on nous parle des ordre de priorité des tests (Echoué, Passé, Réussi). Il y a un CTP à télécharger pour avoir toutes les options disponibles pour les tests. Ajout du sppport de xUnit, NUnit, Specflow. Il est possible d’utiliser tous ces framework en même temps et d’avoir les résultats dans Visual Studio.

Quelques mots sont donnés sont les améliorations de la performance et du test continu disponible. On a la possibilité de filtrer et trier  les test en fonction du projet, du nom, du temps d’exécution et autres.

Un nouvel attribut, Owner, permet d’ajouter un groupe dans le test explorer et donc de grouper plus facilement les tests. On a aussi l’attribut Property qui permet aussi de créer des groupes dans le test explorer mais personnalisés cette fois.

On a maintenant la possibilité de Profiler les tests et d’avoir un rapport sous forme de tableaux et graphiques permettant de comprendre ce qu’il se passe avec détail lors d’un test.

S’ensuit un peu d’évangélisation sur le MVVM et en quoi cela permet de bien tester une application (grâce aux commandes et à certains Mock).

On a aussi la possibilité de faire des listes de paramètres à passer aux tests grâce aux attributs DataTestMethod et DataRow. Sachant que l’on peut mettre plusieurs DataRow cela permet de tester la même méthode avec de multiples jeux de paramètres.

On a aussi désormais la possibilité de tester si une méthode renvoie une exception !

John