Securing Windows Store Applications and REST Services with Active Directory (3-518)

Session animée par Vittorio Bertocci

L’objectif de la session est de montrer comment sécuriser son app avec un AD on-premise ou dans Azure (du coup dans un contexte business).

Comment faire face aux ressources déportées en dehors du réseau interne, aux apps dans le cloud qui ont besoin de l’AD, au BYOD ou aux devices hors domaine… sans rendre fou l’IT ?

# Accéder aux ressources hors du réseau d’entreprise

Il  commence par expliquer les principes d’un serveur d’authentification avec un endpoint d’authentification + un endpoint  de jeton d’accès qu’on pourra ensuite utiliser pour accéder aux ressources.

Puis les jetons de refresh pour ne pas avoir à redemander ses credentials à l’utilisateur toutes les 5 minutes.

On passe maintenant à Windows Azure Active Directory qui, dans un contexte business, sera une projection de votre AD on-premise.

Azure AD dispose :

  • de différents endpoints d’authentification : OAuth2, SAML, WS-Federation, Metadata
  • un portail web de gestion des comptes
  • une API Graph pour récupérer les permissions

Début des démos.

1ère démo : présentation de la gestion de l’AD sur le portail Azure avec la configuration d’une app

2ème démo : une app de test pour montrer les différents types d’appels

Windows Server 2012 R2 ADFS supporte maintenant OAuth2.

# Authentification et session

Windows Azure Authentication Library (AAL) pour aider le développeur pour gérer les échanges de token , le cache… Dispo via un package NuGet.

AAL fonctionne avec Windows Azure AD et Windows Server ADFS.

On nous montre les quelques lignes de codes pour un appel sécurisé depuis une app Win8 (récupération d’un token et appel d’un service REST avec ce token).

AAL wrappe le WebAuth broker. Nouveauté avec Win8.1 on a la possibilité d’implémenter la sélection d’un compte dans les settings (plus de details dans la session 3-113)

# Device hors domaine

Nouveauté 8.1 : Workplace-join pour configurer un accès à un AD qu’on peut ensuite utiliser dans une app

On est en retard, les slides vont très vite…

Session intéressante, à creuser pour voir comment mettre tout ça en œuvre.

Pierre-Yves Hemery

Building Apps That Integrate with People and Events (3-007)

Session animée par Zainab Hakim

Cette session permettra de découvrir comment lire et/ou écrire dans les contacts et dans le calendrier.

Ces manipulations vont se faire en implémentant des contrats.

On a maintenant la possibilité d’ afficher une carte de contact dans les applications. Cette carte affiche les infos essentielles et permet des actions type déclencher un appel ou envoyer un message. Nos applications peuvent se déclarer comme cible pour ces actions avec une déclaration dans le manifeste.

Une syntaxe de recherche permet de récupérer le contact selon les infos dont on dispose dans l’appli. Avec la preview de 8.1, le contrat se comportera systématiquement comme si le contact n’existe pas, a savoir que la carte de contact affiche les informations qui ont été fournies par l’application.

Une application n’a pas accès aux informations des contacts car la carte est gérée par le système. On peut préciser la position a laquelle la carte sera affichée.

Il y a également un contact picker qui permet de sélectionner un contact.

Les interactions avec le calendrier fonctionne exactement de la même façon.

Guillaume Leborgne

What’s New in .NET Development (2-303)

Session animée par Habib Heydarian

Asp.net est maintenant délivré par NuGet plutôt qu’avec .net. Les outils Visual Studio évoluent à un rythme différent.

On revient sur l’évolution de asp.net et le fait qu’il n’y a qu’un seul asp.net avec différentes briques, d’où le nouveau wizard de création de projet.

Une autre grosse nouveauté concerne le mode d’authentification qui va maintenant être base sur OWIN.

On voit ensuite une quantité de, petites démos sur les différentes parties et sur vs 2013.

Session agréable mais un peu creuse.

Guillaume Leborgne

Power up your desktop App with Windows 8.1 (3-017)

Session animée par James Clarke

Évolution des appareils

  • High DPI (plus de tailles d’écrans et de formes d’écrans)
  • Amélioration des interaction avec les utilisateurs avec plus de précision sur les TouchPad
  • Meilleurs écrans tactiles, stylet
  • Grande variétés de processeurs

Introduction de la DirectComposition

  • Unification des api Windows WM_POINTER

Invité : Jerry Harris Principal Scientist, Photoshop Development a Adobe

Présentation des améliorations de Photoshop et Lightroom sur Windows 8.1

Nouvelles fonctionnalités liées au dpi

  • Nouveau scale factor à 200%
  • Per monitor optimiser desktop scaling
  • API permettant d’activer la gestion du DPI par écran

Support du DPI dans les applications desktop

  • Photo
  • Rendre l’application consciente du DPI
  • Prévoir des assets pour les scale factor 125%, 150%, 200%
  • Support du multi-écran

Ensuite présentation d’ajout du support du dpi dans le cas d’un poste multi-écran

Composition et animations dans Windows

Présentation et démonstration du DirectComposition qui est le moteur de composition de Windows

  • Il permet de faire des animations et des effets de transitions fluides.
  • Il est optimisé pour une utilisation avec Direct2D ou DXGL et offre une interopérabilité

avec les technologies Win32

Demo en C++ montrant l’utilisation de DirectComposition dans une application Desktop.

Gestion des entrées

  • Fast and fluid panning and zooming
  • DirectManipulation : panning and zooming s’accrochent correctement aux doigts
  • Les entrées sont gérées indépendement par délégation au système.
  • DirectComposition est designé pour que tout soit très fluide de bout en bout.
  • Initialisiation des manipulations et ajout du panning et du zoom.

Demos panning et touchpad de précision et gestion des gestures Windows depuis le touchpad.

Une session intéressante mais très orientée C++ contrairement à ce que son titre aurait pu laisser penser.

John Thiriet

Upgrading Windows 8 Apps to Windows 8.1 (3-077)

Session animée par Polita Paulus – PM

Pas de C++, mais comment passer à la version 8.1 avec une app XAML ou JS.

# Pourquoi ?

On peut toujours installer des apps 8 sur 8.1 et profiter d’une meilleure performance sans changer une seule ligne de code au démarrage, dans la navigation et avec certains contrôles.

Mais il y a plein de nouveautés sur Windows 8.1 pour faire de meilleurs apps et surtout les premières apps 8.1 seront mises en avant dans le store

# Comment ?

Repackager en 8.1 > Ajouter des fonctionnalités 8.1 > Soumettre la nouvelle version

Il vaut mieux créer une branche pour maintenir les versions 8 et 8.1 en parallèle, plutôt que partager des références.

Comme on pouvait s’y attendre, il faut VS2013 pour faire du 8.1 (et on ne peut plus créer d’app 8 avec VS2013).

On ouvre son projet Windows 8 avec VS2013, et on fait Retarget to Windows 8.1 (sur un projet WinJS ça change aussi les références dans les fichiers HTML).

Et le boulot commence après !

Normalement l’app doit se lancer, mais attention aux changements de propriétés dans les contrôles WinJS, au mode IE DOCMODE11 (il n’y a pas de mode IE10 compatibilité comme dans le navigateur) et aux API dépréciées (warning à la compil en XAML, et à l’exécution en WinJS).

L’autre changement important est la gestion des orientations, et surtout la gestion des tailles d’écrans. On ne gère plus d’états, mais il faut demander directement la taille de l’écran et agir en conséquence. Par défaut, une app 8.1 a n’importe quelle taille supérieure à 500px, mais on peut descendre la limite à 320px (comme le snapped Win8), on choisit 320 ou 500 dans le manifeste.

Dans le store, on a une seule fiche pour l’app, mais avec des onglets pour ce qui est commun et ce qui ne l’est pas : description, features et screenshots.

NB : il ne faut pas que le n° de version du package 8 dépasse celui du package 8.1 (on ne sait pas ce qui se passe sinon, mais il ne faut surtout pas le faire !)

Pierre-Yves Hemery

What’s new in WinJS (2-165)

Session animée par Paul Gusmorino

Windows 8.1 introduit WinJS 2.0

Beaucoup des applications Microsoft sont faites en WinJS, y compris avec les nouvelles apps.

Les nouveautés concernent les perfs, les contrôles, les pattern ux (drag and drop, …), usability

La listview améliore le layout (utilise ces donc probablement flexbox), les perfs et permet le drag and drop. 30 a 50% plus performante. Les possibilités de layout sont impressionnantes. On peut maintenant ajouter ou réorganiser les items en drag and drop.

Améliorations de la appbar pour s’adapter à la résolution et gérer correctement les manipulations au clavier.

Un nouveau contrôle Hub permet de gérer différent types de layout. Un contrôle navigationbar permet de proposer un Menu dans les appbars.

Un contrôle searchbox permet d’intégrer la recherche.

Un Schedule permet d’orchestrer les tâches au lieu de recourir au setimmediate, ou pour organiser le chargement des écrans.

Les objets WinJS sont maintenant disposable pour faciliter la gestion mémoire.

On va maintenant avoir la callstack pour debugger les opérations asynchrones.

Dans les buildings blocks, les Template ont été améliorés, notamment sur les perfs. Un contrôle repeater permet de générer des listes, éventuellement imbriquée. Un contrôle itemcontainer permet de gérer les opérations sur des items hors listview (sélections, tap, …).

Guillaume Leborgne

Lighting up your site on Windows 8.1 (3-071)

Session animée par Jacob Rossi – PM Internet Explorer

L’objectif de cette session sera de montrer comment intégrer au maximum son site web dans Windows 8.1 : tile, touch, share…

1/ Mieux répondre aux interaction avec l’utilisateur

Avec les évènements Pointer (que ce soit du touch, un stylet ou la souris)

Et quelques bonnes pratiques : avoir des zones de clics d’au moins 40 pixels, pas de hover, utliser les types HTML5 (numérique, email…) qui aident à la saisie

Il faut aussi utiliser le scroll (-ms-scroll-**, windows.scrollTo()) et le zoom (document.documentElement.msZoomTo) natif qui seront toujours plus fluides et performants !

2/ Proposer une lecture optimisée

Entre les résolutions à supporter et le fait que l’utilisateur peut snapper jusqu’à 4 apps et déplacer le curseur là où il veut, pas de secret, il faut abuser du responsive design et des media queries.

IE 11 ajoute -ms-device-fixed pour garder un élément fixe même en zoomant.

3/ S’intégrer à Windows

  • Avec Win 8, on pouvait déjà définir une image pour épingler son site sur l’écran de démarrage, avec Win 8.1 on peut désormais définir toutes tailles de tuiles.
  • On peut aussi maintenant animer les tuiles de la même manière qu’une app. C’est le même schéma XML que pour les apps. Il existe un service buildmypinnedsite.com qui transforme un flux RSS en live tile.
  • On peut utiliser les markup Open Graph pour s’intégrer au contrat de partage
  • On peut définir une navigation sur le swipe en définissant les meta <link rel=next|prev />

Pierre-Yves Hemery

What’s new in Windows Runtime for Windows 8.1 (2-075)

Session animée par : Neena Kamath, John Lam

Beaucoup d’améliorations, une grosse poignée de nouvelles API (speech, Wifi direct, diagnostics, scanning, …) et une modification des API utilisables depuis les applications desktop.

La session va être construite en faisant des enrichissements sur une app, et en pointant sur les autres sessions qui vont détailler les différents points. L’application utilise le nouveau contrôle XAML de Hub. De nouveaux contrôles sont disponibles pour Xaml et pour Winjs

On voit ensuite le fait que l’application soit capable de projeter un contenu sur un autre écran. Ce nouvel écran possède son propre thread UI.

On voit ensuite les corrections apportées à la webview, en xaml et html.

On voit également l’usage de périphérique externe, en l’occurrence un lecteur de CB.

WinRT intègre aussi une couche http qui contient un httpclient identique a celui de .net, qui permet également une gestion de cache client.

Epic Fail ensuite sur une démo de Sphero, un petit robot-balle. On voit tout de même le code qui établit une socket sur le robot à travers Bluetooth, et la synthèse vocale.

On aborde aussi l’affichage et l’interaction avec les contacts et les événements calendrier, puis les améliorations sur le talisman de périphérique qui contient maintenant des catégories, et le playto

Une session d’overview intéressante pour avoir un aperçu des nouveautés et identifier les autres sessions intéressantes.

Guillaume Leborgne