Le Post Infeeny

Les articles des consultants et experts Infeeny

Archives de Catégorie: [Evt] Microsoft Build 2014

Build 2014 – Migration d’une application Windows Phone et Windows 8 vers les Universal Apps (Channel 9) : Stéphanie Hertrich, expert technique Microsoft France, reçoit John Thiriet, MVP client dev chez MCNEXT – via @ch9

Build 2014 – Applications Windows Phone 8.1 en HTML et en Javascript (Channel 9) : David Rousset, Microsoft France, reçoit Guillaume Leborgne, MCNEXT – http://bit.ly/1pX4SDs via @ch9

Build 2014 – Applications universelles en HTML5 / Javascript (Channel 9) : David Rousset, Microsoft France, reçoit Guillaume Leborgne, MCNEXT

 

 

Retour sur la //Build 2014

Cette année les annonces se sont orientées autour de 5 grands axes, Windows Phone 8.1, Windows 8.1 Update 1, les Universal Apps, Microsoft Azure et .NET.

 

Windows Phone 8.1

La mise à jour prochaine de Windows Phone 8.1 sera disponible sur tous les téléphones Windows Phone 8 actuels et embarquera un grand nombre de nouveautés dont certaines ont été très remarquées.

« Hi, I’m Cortana »

Cortana est votre assistant personnel intégré à Windows Phone 8.1. Il se situe comme un concurrent à Siri présent sur iPhone enrichi de fonctionnalités supplémentaires.
Elle remplace la recherche Bing intégrée dans Windows Phone 8 et l’améliore en apprenant à vous connaître comme le ferait un assistant personnel humain. En effet, quel meilleur assistant que celui qui sait quelles informations vous êtes susceptibles de trouver intéressantes !
En plus de vous aider dans vos recherches Cortana peux prendre des rendez-vous, vous signaler d’éventuels conflits et de vous proposer comment les résoudre.
Ce ne sont bien entendu pas ses seules fonctionnalités alors n’oubliez pas de lire les prochains numéros pour plus d’informations sur le sujet !

Centre d’actions

Windows Phone se voit enfin doté d’un centre d’actions. En glissant à tout moment votre doigt vers le bas depuis le haut de l’écran vous pouvez le faire apparaître et gérer l’activation du Wifi, du Bluetooth, du mode avion ou de la rotation automatique de l’écran. Ces différents raccourcis sont ceux par défaut mais vous pouvez bien entendu configurer les actions qui vous intéressent parmi une liste d’actions possibles. Vous pouvez également accéder directement à la liste de tous les paramètres systèmes. Vous y trouverez la liste de toutes les notifications que vous auriez manquées ou la liste des mails non lus. Certains considéreront que cette fonctionnalité arrive relativement tard mais mieux vaut tard que jamais d’autant plus qu’elle s’intègre parfaitement bien à l’ergonomie Windows Phone.

wp_ss_20140428_0002

L’entreprise

L’intégration de votre Windows Phone dans votre entreprise s’est également fortement améliorée. Votre service informatique dispose désormais de la possibilité de gérer l’activation ou la désactivation de certaines applications, de supprimer à distance les fichiers liés à l’entreprise, de la connexion VPN ou encore de la lecture des mails cryptés S/MIME.

wp_ss_20140428_0003

Internet Explorer 11

Internet Explorer 11 fait également son arrivée dans Windows Phone 8.1 proposant une meilleure et plus réactive navigation sur internet. Cette version d’Internet Explorer prend en charge un certain nombre de fonctionnalités liées à WebGL ouvrant ainsi la porte à la 3D dans le Web sur Windows Phone.
Cette arrivée bénéficie bien entendu à la navigation sur internet en particulier sur des sites de partages de vidéos tels que YouTube dont le rendu est maintenant parfaitement satisfaisant. En effet les vidéos se lisent directement dans la page web, supportent les différentes orientations du téléphones et peuvent se mettre en plein écran. Pour rappel, seule cette dernière fonctionnalité était disponible sur Windows Phone 8.

wp_ss_20140428_0004

Windows gratuit !

Microsoft a décidé de rendre Windows gratuit pour les appareils dont la taille d’écran est inférieure à 9 pouces. Cela bénéficiera non seulement aux téléphones, aux appareils embarqués mais aussi aux petites tablettes. On peut s’attendre à voir des réductions de prix de l’ordre de 50 dollars sur chacun de ces appareils. Ceci est non négligeable et montre la volonté de Microsoft de concurrencer frontalement Android.

Autres nouveautés

Windows Phone est en plus enrichi d’un nouveau type de clavier, le clavier Wordflow. Il permet une frappe plus rapide et Windows Phone 8.1 a d’ailleurs été reconnu le clavier le plus rapide du marché par le Guinness des records !
Un certain nombre d’API supplémentaires font leurs apparitions dans Windows Phone pour gérer le Bluetooth LE, les nouvelles tâches de fond ou encore l’intégration avec Cortana.

Nouveaux téléphones

A l’occasion de l’annonce de Windows Phone 8.1 Nokia a dévoilé non pas 2 mais 3 nouveaux téléphones !
Les deux premiers sont en fait très similaires, il s’agit des Lumia 630 et 635. Dignes successeurs de l’actuel Lumia 620 ils en sont une version améliorée et remise au goût du jour. On notera tout particulièrement que le Lumia 630 est le premier Windows Phone disposant d’une version supportant deux cartes SIM !
Le dernier est le Lumia 930. Successeur du 920 il présente des caractéristiques techniques très haut-de-gammes.

 

Windows 8.1 Update 1

Cette mise à jour mineure de Windows 8.1 apporte une nette amélioration de l’expérience utilisateur pour les utilisateurs utilisant le clavier et la souris avec en autres l’apparition de la barre des tâches pour les applications Windows Store.
Il devient possible d’accéder à un menu contextuel lors du clic droit de la souris sur une tuile afin d’en modifier la taille, de l’épingler dans la barre des tâches ou encore de désactiver le côté dynamique de cette tuile.
Elle offre aussi maintenant aux développeurs d’applications Modern UI la possibilité d’interagir avec des composants développés en .NET standard. Cela signifie qu’il sera désormais possible de réutiliser votre code métier ou votre couche d’accès aux données historique dans une application Modern UI. L’option n’étant pas disponible pour les applications à destination du store ceci n’est possible que dans le cadre d’applications d’entreprises et qui ne seront donc pas déployées dans le Store.

toolbar

Applications universelles (Universal Apps)

Probablement la principale annonce de cette //Build pour les développeurs d’applications Windows 8 et Windows Phone, les Universal Apps sont la dernière étape dans la direction prise par Microsoft pour la convergence entre les téléphones, les tablettes et les pc équipés de Windows.
Il existait auparavant de nombreuses techniques pour partager du code entre les différentes plateformes mais ce partage se limitait bien souvent au code métier de l’application et non aux vues. Avec les Universal Apps il est désormais possible de partager le code lié à votre interface graphique tout en pouvant personnaliser l’interface en fonction du facteur de forme sur lequel votre application fonctionnera.
Cette convergence entre plateforme s’applique aussi au niveau des langages de développement. Depuis Windows 8 il était devenu possible de développer des applications Modern UI en utilisant XAML et C# comme sur Windows Phone mais aussi XAML et C++ ou encore HTML et Javascript. Grâce aux Universal Apps ces différents langages sont désormais supportés dans Windows Phone et il devient donc possible de développer votre application Windows Phone en HTML et Javascript.
Une chose importante à noter est que pour l’instant les Universal Apps sur Windows Phone ne couvrent pas toutes les API disponibles en Silverlight pour Windows Phone. Ainsi il ne vous sera pas possible de vous intégrer complètement au système notamment dans l’écran de verrouillage du téléphone.

 

Microsoft Azure

De nouvelles fonctionnalités font leurs apparitions dans Azure dont certaines vont changer au quotidien la vie du développeur et de l’administrateur.

IaaS

Il est désormais possible de créer, gérer, supprimer et même déboguer des machines virtuelles situées sur Azure directement depuis Visual Studio.
Il est aussi possible de prendre un Snapshot d’un ensemble de VM et de base Azure. Cela permet par exemple de faire des copies de votre infrastructure cloud pour effectuer de nombreux tests d’intégration ou de charge en parallèle. Cela permet aussi de déployer votre infrastructure vers un autre Datacenter Azure. Cette fonctionnalité est disponible sous forme de ligne de commande.

Mobile Services

Mobile Services a également le droit à sa mise à jour. Un des reproches fait à Mobile Services était que ces services devaient être développés en Javascript et qu’il était difficile de les intégrer à un contrôle de code source. Ceci est maintenant corrigé car vous avez dorénavant le choix entre .NET et Javascript.
Mobile Services supporte à présent l’authentification sur votre domaine Active Directory et cela fonctionne sur n’importe quel appareil grâce à l’utilisation de token OAuth.

azure

SQL Azure

La taille maximales des bases de données Azure a été augmentée et est maintenant de 500 Go par rapport aux 150 Go précédent. Cette augmentation est assortie d’une promesse d’une disponibilité de 99.95%.
Une autre fonctionnalité annoncée est la sauvegarde automatique et journalière des bases de données et conservés durant un mois. Ceci parlera entre autres à tous ceux ayant par mégarde supprimé une table ou toute une base.
La réplication géographique des bases de données était aussi très attendue. Elle consiste à répliquer toutes les modifications fait depuis une instance dite primaire vers des instances secondaires situées dans des data center différents. Ceci est très utile afin de limiter la latence de vos applications en positionnant vos données aux plus près de vos utilisateurs ou encore d’éviter de perdre vos données en cas de catastrophe, naturelle ou non, dans un data center donné.

Portail Azure

Le portail Azure a été complètement repensé. Il ressemble plus à une application Windows 8 qu’à un dashboard standard. Le terme de « Blade » est utilisé pour définir les éléments graphiques assimilables à des pages qui s’empilent de gauche à droite.
La gestion de la facturation est maintenant bien plus précise. On voit plus facilement quel sont les coûts de chaque élément ce qui permet de mieux prévoir et affiner son budget.
AppInsights est dorénavant intégré dans le portail. Grâce à cela on peut éditer du code, l’archiver dans git ou TFS et même publier directement le site ainsi mis à jour. Les analyses de vos sites sont aussi intégrées. Temps de réponse moyens, disponibilité… Tout y est.

 

.NET

Roslyn

Auparavant, il existait un compilateur pour VB.NET et un autre pour C#. Cela n’est plus le cas avec Roslyn. Roslyn est le nouveau compilateur .NET et supporte ces deux langages. Mais en fait Roslyn est plus qu’un simple compilateur. C’est ce que l’on pourrait appeler « Compilateur as a Service ». Il est en effet désormais possible depuis son application .NET d’intéragir avec le compilateur pour lui faire analyser ou générer du code ! De plus Roslyn a été publié en open source sur Codeplex avec une licence Apache 2.0 ce qui permettra une meilleure intégration de .NET dans des projets libres tels que Mono.

En route vers le natif !

Une autre annonce intéressante est celle de .NET Native. Cet outil va compiler votre code .NET en code machine de façon à avoir des performances proches de celle de C++. Les premiers chiffres annoncés sont encourageants car il est fait état d’un démarrage 60% plus rapide et d’un gain de mémoire de l’ordre de 15% à 20% pour des applications Windows Store. .NET Native est actuellement disponible en version Developer Preview pour les applications Windows Store.

.NET Foundation

Comme pour affirmer ce regain clair d’intérêt pour l’Open Source, Microsoft a annoncé la création de la .NET Foundation. Elle a pour but de regrouper une grande partie des projets Open Source .NET populaires avec entre autre Roslyn, ASP.NET MVC, Entity Framework, Rx, SignalR et d’autres bibliothèques non issues de Microsoft comme les bibliothèques Mimekit et Mailkit de Xamarin.

dotnetfoundation

Xamarin

Ne faisant pas partie des axes principaux il semble néanmoins intéressant de noter la présence remarquée de Xamarin lors de cette //Build. Miguel de Icaza, le créateur de Xamarin et de Mono sur lequel il est basé, a en effet participé à une des Keynotes et a eu une session très remplie où il a présenté son produit. Xamarin est un SDK permettant de développer en C# des applications à destination de iOS, MacOS et Android. Compatible avec les PCL (Portable Class Libraries) il permet de partage une très grande partie du code métier entre toutes les plateformes mobiles comme Windows Phone, Windows 8, iOS ou Android.

 

Conclusion

Riches en nouveautés surtout du point de vue des développeurs, cette Build aura marqué les esprits. L’unification amorcée des modèles de développement et de consommation des applications est amenée à se poursuivre dans le futur et chacun y trouvera de quoi faire.
L’orientation Cloud de Microsoft est confirmée avec un investissement non négligeable de la société dans le développement du nouveau portail Azure, l’ouverture continue à d’autres plateformes et langages.
Avec des outils tels que Xamarin vous pouvez désormais réutiliser vos compétences et votre code .NET pour cibler d’autres plateformes que celles de Microsoft.
Que vous soyez un développeur natif, .NET ou Web il n’y a maintenant plus aucunes excuses pour ne pas regarder ce que l’écosystème Microsoft peut apporter à votre succès et à ceux de vos projets !

[Build 14] – Microsoft Build Developer Conference | April 2 – 4, 2014

Envoyée par Alexandru

BUILD 2014

 

 

[Build 14] – How to Analyze Performance Issues in Your Windows and Windows Phone Apps

Mail de John
Samedi 5 avril 2014 20:33
How to Analyze Performance Issues in Your Windows and Windows Phone Apps

La performance est un problème d’expérience utilisateur. C’est l’utilisateur qui jugera. Avoir une application performante améliore les notes dans le store.

Les outils :
– Visual Studio
– WP 8.1 SDK VS Dev Power Tools
o Tracer l’application
– Windows Performance Toolkit
o Tracer l’application et faire une analyse approdonfie
o http://aka.ms/downloadWPT

Identifier les scenarii :
– Se focaliser les scenarii qui
o Ont une vraie valeur pour les utilisateurs
o Sont les clefs de l’utilisation de l’application
o Ont des problèmes de performances visibles
– Fast scenarios
o App launch
o Page navigation
o User Interaction
– Fluid scenarios
o Glitch free animation
o Glitch free panning
o Keeping up with the panning

Demo :
– Capturer une trace
– Localiser un scenario dans la trace
– Investiguer les problèmes de vitesse
– Investiguer les problèmes de fluidité

Cette démonstration utilise à la fois de XAML et du HTML pour montrer que WPA fonctionne dans les deux environnements à la fois sur Windows et sur Windows Phone.
John

[Build 14] – Windows Phone 8.1 Security Features

Mail de John
Samedi 5 avril 2014 20:33

 

Windows Phone 8.1 Security Features 

 

Les objectifs :
– Minimiser le temps nécessaire aux utilisateurs de ré-entrer leurs identifiants
– Offrir aux développeurs un modèle de programmation riche
– Transformer le téléphone en un appareil d’authentification

Microsoft Account :
– Suppression du vieux protocole d’authentification du Windows Phone hérité de Windows Mobile et remplacement par celui de WinRT
– C’est le principal fournisseur d’identité sur Windows Phone
– La majorité des utilisateurs sont authentifiés avec leur compte MSA
– Ajout du Single Sign ON
– Windows.Security.Authentication.OnlineId est le namespace pour ces nouvelles API
– Convergés avec Windows

Avantages de MSA :
– Roaming des données entre les appareils
– Les utilisateurs n’auront probablement pas besoin de ré-entrer leurs identifiants
– MSA évolue indépendamment de l’OS
– Meilleure robustesse et sécurité

Trois options pour utiliser MSA :
– OnlineId – Meilleure méthode
– Web Authentication Broker (OAuth)
– Live SDK – Permet d’accéder à OneDrive

Démonstration d’une authentification utilisant OnlineId

Web Authentication Broker

Description du fonctionnement du processus d’authentification OAuth avec schemas à l’appui.
Auparavant avec une webview :
– Pas de single sign-on
– Pas d’isolation des identifiants
– Ne fonctionne pas dans les cas de faible mémoire

Maintenant avec le WAB :
– Utilisation de OAuth
– Avantages
o Single Sign On
o API simple
o Isolation des identifiants
– Windows.Security.Authentication.Web
– API similaire à Windows mais optimisée pour les situations à faible mémoire

Démonstration du Web Broker et du « Continuation Pattern »

Stockage des identifiants :
– Utilisation du Credential Locker
– Windows.Security.Credentials
o PasswordVault
o WebAccount non supporté sur Phone
– Roaming des identifiants avec le Credential Locker

Crypto et certificats :
– Convergence avec WinRT
– Nouveaux namespaces

Virtual Smart Card :
– Autorise l’authentification “two factor” pour le S/MIME et les scenarii de navigation sécurisée
– Les clefs d’authentification sont liées au matériel et ne peuvent être accéder tant que l’utilisateur n’a pas fourni son code PIN
– VSC est construit au-dessus de TPM (Trusted Platform Module)

Présentation de l’architecture de VSC
Démonstration de VSC

Applications sur carte SD :
– Pas d’API mais les développeurs peuvent désactiver le stockage de leurs applications sur carte SD depuis le manifest
– Cryptage des fichiers de l’application sur la carte SD (différentes clefs entre le programme et les données de l’application)
– Contrôle d’accès pour FAT
John

[Build 14] – Dealing with Data : Storage, Roaming, and Backup on Windows and Windows Phone

Mail de John
Samedi 5 avril 2014 20:32
Dealing with Data : Storage, Roaming, and Backup on Windows and Windows Phone
Les problèmes à résoudre :
– Chaque localisation a une API différente
– Les interactions avec les localisations des utilisateurs sont limitées.
– Créer des applications cross-device est difficile.
– Les données précieuses des données sont piégées dans les vieux appareils des utilisateurs

StorageFile and StorageFolder :
La plupart des contenus des fichiers sont gérés par ces classes
o Fichiers/Dossiers locaux
o File activation
o Media libraries
o Share contract
o Pickers
Les métadonnées disponibles varient par fichier.

Description du modèle de fichiers :
– Roaming
– Local
– LocalCache
– Temp

Dans Windows Phone 8, les fichiers existants dans l’IsolatedStorage sont disponibles avec l’API WinRT.


Accéder aux contenus de l’utilisateur

Les données de l’utilisateur sont exposées via KnownFolders (RemovableDevices, MusicLibrary, PicturesLibrary, VideosLibrary) et protégées par des capabilities.


Access Cache

Il est utilisé pour maintenir l’accès aux fichiers partagés (file activation, share contract, file picker). Il est mémorisé par le système même après une suppression. Il faut quand même copier le fichier si on veut le modifier.


Storage for Windows Phone Silverlight 8.1

Nouveau modèle de données :
– Roaming/Temp/Local
– IsolatedStorage == Local Folder
– IsolatedStorage APIs fonctionnent toujours

Les KnownFolders APIs sont disponibles pour les media et cartes SD. Les API XNA fonctionnent toujours.
Démonstration (Stockage de fichiers, CommonFileQuery, Pagination, Possibilité de préciser dans l’émulateur un dossier simulant une carte SD).

Roaming
OneDrive stocke jusqu’à 100Ko, si la taille est supérieur la synchronisation s’arrête. La synchronisation entre Windows 8 et Windows Phone fonctionne.

Bonnes pratiques pour le roaming :
– Settings
– Rester sur des types WinRT
– Eviter les dépendances entre le roaming et les fichiers

Démonstration du roaming entre une application Windows et une application Windows Phone (attention il faut que les appxmanifest des deux applications aient le même PackageFamilyName)

Backup/Restore
Les données du dossier AppData sont sauvegardées une fois par jour et ce même si le Roaming est désactivé. OneDrive ne maintient qu’un seul Backup par device et par application. La taille du backup compte dans la taille du stockage OneDrive de l’utilisateur.

La fonctionnalité de sauvegarde est activée par défaut pour toutes les applications 8.1 mais pas pour les applications 8.0 ou pour les applications d’entreprise ou side-loadée. On peut désactiver ce backup soit en sauvegardant le contenu dans le dossier LocalCache ou en décochant la fonctionnalité dans le manifest.

Startscreen
Dans Windows Phone 8.1 le StartScreen avec ses tuiles est aussi sauvegardé et peut donc être restauré suite à une installation. Certaines tuiles peuvent faire références à des fichiers du stockage local qui n’existeraient plus suite à une restauration. Il faut donc s’assurer que les applications que l’on développe ne plantent pas dans ce cas.
John

 

[Build 14] – IE11’s developer tools just got nicer

Mail de Mehdi
Samedi 5 avril 2014 11:00
IE11’s developer tools just got nicer 
Speaker : Andy Sterland
On commence directement par une démo.

Nouveautés : on a un maintenant un bouton step qui nous permet de faire un step et ne debugger que notre code sans accéder aux bibliothèques (jquery par exemple) cette fonction est configurable par défaut sur les fichiers mimifé, sinon on peut choisir les fichiers js qu’on définit comme librairie ou pas.

Maintenant nous avons la possibilité de faire un break dans les exceptions déclenchées par notre code et d’ignorer les exceptions des librairies.

Le debug des fichiers type script fonctionne !!! Plus besoin de passer le code JavaScript généré ! Il existe un bouton pour faire le passage entre les fichiers TS et les fichiers JS.

Le debugger garde maintenant les paramètres même si on ferme la page courante !
(exemple : plusieurs points d’arrêts dans un fichier JS => on ferme notre page => on la ré ouvre => on ouvre le debugger avec F12, nos breaks points sont toujours là !)

Avec console.log on peut inspecter un objet maintenant !

Les erreurs peuvent être enregistrées même avant l’ouverture de la console.

Nouvelle commande dans la console « $_ » pour récupérer la dernière expression.

On passe au dom explorer : Nouveauté : on a des indicateurs avec des couleurs pour les changements dans les css (orange = modifier, rouge = supprimer, vert= nouvelle)

On un onglet « changes » qui rassemble aussi les changements des css qu’on a appliqué en live ! Le copier-coller des valeurs dans cet onglet permet de recopier les bonnes valeurs = ce qui est modifié est gardé ce qui est supprimé est effectivement supprimé dans le copier (cool !)

Maintenant on peut forcer le mode hover et visited dans le dom !

On passe rapidement sur WP, une seule info à retenir, on a accès aux mêmes options de debug.
Mehdi

[Build 14] – Avoiding Windows Store App Failures

Mail de Mehdi
Samedi 5 avril 2014 10:35
Avoiding Windows Store App Failures
Speakers : Andrew Richards, Maarten Van De Bospoort
Getting your failures

Le speaker nous dit que pour relever les erreurs de l’application, le developpeur doit activer l’option telemetry data dans la section account info du dashbord du store.

Toujours dans le dashboard, dans les détails d’une application nous trouvons plusieurs graphiques qui représentent les données de l’appli (crash, unresponsaive, javascript errors …)

Le speaker nous montre l’outil (WinDbg) pour ouvrir et analyser les fichiers de report de crash (dmp) mais le speaker tape plein de commandes compliquées (il faut revoir la vidéo pour suivre cette partie) …

Ensuite on passe sur un slide avec le top des exceptions CLR.

La plus fréquente est Null reference et nous montre comment la gérer avec un if obj !=null (commentaire perso : youpi, une session pour voir ça …)

Il nous alerte sur le fait que quand on fait des appels web, on tombera tôt ou tard sur des exceptions. Donc il faut faire attention.

Il nous parle aussi des exceptions du parseur XML (une des plus fréquentes) il faut bien gérer les try catch.

Il nous montre comment bien gérer correctement les Baground tasks (avec une note : si un crash se produit ici, aucune information ne peut remonter vers les serveurs de MS)

Ensuite on nous dit quand on enregistre l’état de l’application avant le suspend, il faut faire attention parce qu’il y a des objets qu’on ne peut pas sérialiser et du coup cela provoque une exception.

Mehdi