SlideShare une entreprise Scribd logo
1  sur  55
palais des
congrès
Paris




7, 8 et 9
février 2012
De A à Z : Développer une
application Windows Phone
7.5 connectée à un service
OData
(WP7203)
07/02/2012

Rudy Huyn           Stéphanie Hertrich
MVP Windows Phone   Relations Techniques
Orange Business     Développeurs
Services            Microsoft
Agenda
1. Présentation de l’application
2. Ma première application WP7 + OData
3. Authentification avec ACS et le Toolkit Azure
4. Blendez-moi tout ça !
5. De la pub avec Advertising SDK
6. Intégration au hub photo
7. Le partage social mais pas que…
8. Background Agent
9. Des belles tuiles
10.Synthèse
Présentation de l’application :
Le besoin
 Application Ma Cave à Vins
 - Gestion du stock de
   bouteilles
 - Notation du vin
 - Aide à l’achat
 - Scan de code barre
 - Partager/recommander
   un vin
Rappel de l’architecture
                                         Silverlight
                               WP7

                                         WCF Data
                                         Services                                     Client

                                      Access
                                      Control
                                      Services

                                              http://caveavins.cloudapp.net/CaveAVinsDataService.
                                              svc                                     Serveur
               Photo Upload Service
                                                             WCF Data Services

   Service File System     Blob Client


                                                              Entity Framework




   File System               Blobs                                      SQL Azure     Données
                                                        Sql Server
                                                                          DB
Demo :
Ma 1ère application WP7 + OData
Access Control Services +
Windows Phone + OData
                      1 credentials



                             2 token
                                                                        WS-Federation

                                                                           OpenID

                                              OAuth Protection
                     3 http Request              modules
                     with token     5
                                    request                4 request with token
                                    + claims
                                                                 6 Compute
                                                                 results or
                                                                 security
                  7 OData results or                             exception
                  security exception       OData Service
NB : Le userId stocké dans le token = id du propriétaire du vin dans la BDD
Démo :
Access Control Services dans
WP
Blend moi ça
Activer le tiltEffect




  toolkit:TiltEffect.IsTiltEnabled="True"
Attention aux thèmes
sombre/clair




     Jean Dujardin : meilleur acteur masculin illustrant une diapositive powerpoint
Comment faire ?

 private void ForceDarkTheme()
 {
   ((SolidColorBrush)Resources["PhoneForegroundBrush"]).Color =
     Color.FromArgb(0xFF, 0xFF, 0xFF, 0xFF);

      ((SolidColorBrush)Resources["PhoneBackgroundBrush"]).Color =
        Color.FromArgb(0xFF, 0x00, 0x00, 0x00);

 ….




  if (((Visibility)this.Resources["PhoneLightThemeVisibility"]) ==
 Visibility.Visible)
                 ForceDarkTheme();
Thème sombre   Thème clair
Personnalisation de la status
bar
Comment faire ?


shell:SystemTray.IsVisible="True"
shell:SystemTray.Opacity="0"
shell:SystemTray.ForegroundColor="White"
Personnalisation de la status
bar
Pensez au mode paysage !
Animez la rotation de la page
32 bits

      BitsPerPixel=« true »
De l’animation !
Animations




      LET’S DO IT
Microsoft Advertising
Money, money, money…
Advertising SDK for Windows
Phone
Advertising SDK for Windows
Phone




           DEMO
Le mode trial

 new LicenseInformation().IsTrial()
Photos
Intégration au hub photo
Comment faire ?

  WMAppManifest.xaml
Intégration au hub photo
Intégration au hub photo




     COMMENT ?
Comment faire ?
  Dans WMManifest.xaml
Partage social
Partager, mais pas que…
Le partage social

  var shareLinkTask = new ShareLinkTask(){
     Title = "J’aime boire",
     LinkUri = new
  Uri("http://www.contoso.com", UriKind.Absolute),
     Message = "du jus d’orange avec mes amis "
  };

  shareLinkTask.Show();



  Alternative :   ShareStatusTask
Le partage grâce au nuage
                       J’ai trouvé !!!




Je recommande un vin
  Ma coordonnée GPS                       Recommande moi un vin
                                          Ma coordonnée GPS

                                 Le vin
Scheduled Agent




         DEMO ?
Scheduled Agent
Scheduled Agent

 toutes les30 minutes
 25 secondes max
 6Mo de mémoire
 Limite de 2 semaines

 Désactivé au bout de la 2ème fois s’il crashe ou
 de fini pas dans les temps
Scheduled Agent




       LET’S GO !
Live Tile
Live Tile
121


+   « 121 »   =
Et aussi…

    Scanner un code-barre ou un QR code depuis le flux
    vidéo live : il y a une assembly pour ça (aussi !)
    Factoriser le code métier pour tous les types de client
    dans le service OData grâce aux Interceptors.
 Ex: conversion de l’adresse géographique en
 latitude/longitude
Questions ?
Vous voulez développer une appli Windows Phone ?                           Inscrivez-vous !


Profitez d’un programme d’accompagnement pour développeurs, à la carte et sans engagement

    –     Un guide vous contacte et vous accompagne personnellement

    –     Il met à votre disposition des ressources : accès gratuits* Marketplace, prêts/dons* de téléphone…

    –     Il vous propose du coaching technique et design

    –     Il vous aide à rendre visible votre application en ligne et à des événements




        *Dans la limite des quantités disponibles
Play time!

Quel est l’âge du capitaine ?
Pour aller plus loin

                                               Prochaines sessions des Dev Camps
  Chaque semaine, les                            10
                                                          Live     Open Data - Développer des applications riches avec le
                                               février
  DevCamps                                      2012

                                                 16
                                                         Meeting   protocole Open Data


  ALM, Azure, Windows Phone, HTML5, OpenData   février
                                                          Live
                                                         Meeting
                                                                   Azure series - Développer des applications sociales sur
                                                                   la plateforme Windows Azure
                                                2012
  http://msdn.microsoft.com/fr-fr/devcamp
                                                 17
                                                          Live     Comprendre le canvas avec Galactic et la librairie
                                               février
                                                         Meeting   three.js
                                                2012

  Téléchargement, ressources                     21
                                               février
                                                          Live     La production automatisée de code avec CodeFluent
                                                         Meeting   Entities
  et toolkits : RdV sur MSDN                    2012

                                               2 mars     Live     Comprendre et mettre en oeuvre le toolkit Azure pour
  http://msdn.microsoft.com/fr-fr/              2012     Meeting   Windows Phone 7, iOS et Android

                                               6 mars     Live
                                                                   Nuget et ALM
                                                2012     Meeting

  Les offres à connaître                       9 mars
                                                2012
                                                          Live
                                                         Meeting
                                                                   Kinect - Bien gérer la vie de son capteur


         90 jours d’essai gratuit de Windows   13 mars
                                                2012
                                                          Live
                                                         Meeting
                                                                   Sharepoint series - Automatisation des tests

         Azure                                 14 mars    Live     TFS Health Check - vérifier la bonne santé de votre
          www.windowsazure.fr                   2012     Meeting   plateforme de développement

                                               15 mars    Live     Azure series - Développer pour les téléphones, les
                                                2012     Meeting   tablettes et le cloud avec Visual Studio 2010
         Jusqu’à 35% de réduction sur Visual   16 mars    Live     Applications METRO design - Désossage en règle d'un
         Studio Pro, avec l’abonnement MSDN     2012     Meeting   template METRO javascript

                                               20 mars    Live     Retour d'expérience LightSwitch, Optimisation de
          www.visualstudio.fr                   2012     Meeting   l'accès aux données, Intégration Silverlight

                                               23 mars    Live     OAuth - la clé de l'utilisation des réseaux sociaux dans
                                                2012     Meeting   votre application
Attention aux alignements
Attention aux alignements
MetroGridHelper


 PM> Install-Package MetroGridHelper

Contenu connexe

Plus de Microsoft

Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Microsoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à ZMicrosoft
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Microsoft
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Microsoft
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Microsoft
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryMicrosoft
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Microsoft
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Microsoft
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Microsoft
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursMicrosoft
 
Les nouveautés de C# 7
Les nouveautés de C# 7Les nouveautés de C# 7
Les nouveautés de C# 7Microsoft
 
La 3D sur le web avec Babylon.js pas à pas
La 3D sur le web avec Babylon.js pas à pasLa 3D sur le web avec Babylon.js pas à pas
La 3D sur le web avec Babylon.js pas à pasMicrosoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Le développement web : tour d'horizon
Le développement web : tour d'horizonLe développement web : tour d'horizon
Le développement web : tour d'horizonMicrosoft
 

Plus de Microsoft (20)

Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 
Les nouveautés de C# 7
Les nouveautés de C# 7Les nouveautés de C# 7
Les nouveautés de C# 7
 
La 3D sur le web avec Babylon.js pas à pas
La 3D sur le web avec Babylon.js pas à pasLa 3D sur le web avec Babylon.js pas à pas
La 3D sur le web avec Babylon.js pas à pas
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Le développement web : tour d'horizon
Le développement web : tour d'horizonLe développement web : tour d'horizon
Le développement web : tour d'horizon
 

De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData

  • 1. palais des congrès Paris 7, 8 et 9 février 2012
  • 2. De A à Z : Développer une application Windows Phone 7.5 connectée à un service OData (WP7203) 07/02/2012 Rudy Huyn Stéphanie Hertrich MVP Windows Phone Relations Techniques Orange Business Développeurs Services Microsoft
  • 3. Agenda 1. Présentation de l’application 2. Ma première application WP7 + OData 3. Authentification avec ACS et le Toolkit Azure 4. Blendez-moi tout ça ! 5. De la pub avec Advertising SDK 6. Intégration au hub photo 7. Le partage social mais pas que… 8. Background Agent 9. Des belles tuiles 10.Synthèse
  • 4. Présentation de l’application : Le besoin Application Ma Cave à Vins - Gestion du stock de bouteilles - Notation du vin - Aide à l’achat - Scan de code barre - Partager/recommander un vin
  • 5. Rappel de l’architecture Silverlight WP7 WCF Data Services Client Access Control Services http://caveavins.cloudapp.net/CaveAVinsDataService. svc Serveur Photo Upload Service WCF Data Services Service File System Blob Client Entity Framework File System Blobs SQL Azure Données Sql Server DB
  • 6. Demo : Ma 1ère application WP7 + OData
  • 7. Access Control Services + Windows Phone + OData 1 credentials 2 token WS-Federation OpenID OAuth Protection 3 http Request modules with token 5 request 4 request with token + claims 6 Compute results or security 7 OData results or exception security exception OData Service NB : Le userId stocké dans le token = id du propriétaire du vin dans la BDD
  • 8. Démo : Access Control Services dans WP
  • 10.
  • 11. Activer le tiltEffect toolkit:TiltEffect.IsTiltEnabled="True"
  • 12. Attention aux thèmes sombre/clair Jean Dujardin : meilleur acteur masculin illustrant une diapositive powerpoint
  • 13.
  • 14. Comment faire ? private void ForceDarkTheme() { ((SolidColorBrush)Resources["PhoneForegroundBrush"]).Color = Color.FromArgb(0xFF, 0xFF, 0xFF, 0xFF); ((SolidColorBrush)Resources["PhoneBackgroundBrush"]).Color = Color.FromArgb(0xFF, 0x00, 0x00, 0x00); …. if (((Visibility)this.Resources["PhoneLightThemeVisibility"]) == Visibility.Visible) ForceDarkTheme();
  • 15. Thème sombre Thème clair
  • 19.
  • 20.
  • 21. Pensez au mode paysage !
  • 22. Animez la rotation de la page
  • 23. 32 bits BitsPerPixel=« true »
  • 25. Animations LET’S DO IT
  • 28. Advertising SDK for Windows Phone
  • 29. Advertising SDK for Windows Phone DEMO
  • 30. Le mode trial new LicenseInformation().IsTrial()
  • 33. Comment faire ? WMAppManifest.xaml
  • 35. Intégration au hub photo COMMENT ?
  • 36. Comment faire ? Dans WMManifest.xaml
  • 39. Le partage social var shareLinkTask = new ShareLinkTask(){ Title = "J’aime boire", LinkUri = new Uri("http://www.contoso.com", UriKind.Absolute), Message = "du jus d’orange avec mes amis " }; shareLinkTask.Show(); Alternative : ShareStatusTask
  • 40. Le partage grâce au nuage J’ai trouvé !!! Je recommande un vin Ma coordonnée GPS Recommande moi un vin Ma coordonnée GPS Le vin
  • 41. Scheduled Agent DEMO ?
  • 43. Scheduled Agent toutes les30 minutes 25 secondes max 6Mo de mémoire Limite de 2 semaines Désactivé au bout de la 2ème fois s’il crashe ou de fini pas dans les temps
  • 44. Scheduled Agent LET’S GO !
  • 47. 121 + « 121 » =
  • 48. Et aussi… Scanner un code-barre ou un QR code depuis le flux vidéo live : il y a une assembly pour ça (aussi !) Factoriser le code métier pour tous les types de client dans le service OData grâce aux Interceptors. Ex: conversion de l’adresse géographique en latitude/longitude
  • 50. Vous voulez développer une appli Windows Phone ? Inscrivez-vous ! Profitez d’un programme d’accompagnement pour développeurs, à la carte et sans engagement – Un guide vous contacte et vous accompagne personnellement – Il met à votre disposition des ressources : accès gratuits* Marketplace, prêts/dons* de téléphone… – Il vous propose du coaching technique et design – Il vous aide à rendre visible votre application en ligne et à des événements *Dans la limite des quantités disponibles
  • 51. Play time! Quel est l’âge du capitaine ?
  • 52. Pour aller plus loin Prochaines sessions des Dev Camps Chaque semaine, les 10 Live Open Data - Développer des applications riches avec le février DevCamps 2012 16 Meeting protocole Open Data ALM, Azure, Windows Phone, HTML5, OpenData février Live Meeting Azure series - Développer des applications sociales sur la plateforme Windows Azure 2012 http://msdn.microsoft.com/fr-fr/devcamp 17 Live Comprendre le canvas avec Galactic et la librairie février Meeting three.js 2012 Téléchargement, ressources 21 février Live La production automatisée de code avec CodeFluent Meeting Entities et toolkits : RdV sur MSDN 2012 2 mars Live Comprendre et mettre en oeuvre le toolkit Azure pour http://msdn.microsoft.com/fr-fr/ 2012 Meeting Windows Phone 7, iOS et Android 6 mars Live Nuget et ALM 2012 Meeting Les offres à connaître 9 mars 2012 Live Meeting Kinect - Bien gérer la vie de son capteur 90 jours d’essai gratuit de Windows 13 mars 2012 Live Meeting Sharepoint series - Automatisation des tests Azure 14 mars Live TFS Health Check - vérifier la bonne santé de votre www.windowsazure.fr 2012 Meeting plateforme de développement 15 mars Live Azure series - Développer pour les téléphones, les 2012 Meeting tablettes et le cloud avec Visual Studio 2010 Jusqu’à 35% de réduction sur Visual 16 mars Live Applications METRO design - Désossage en règle d'un Studio Pro, avec l’abonnement MSDN 2012 Meeting template METRO javascript 20 mars Live Retour d'expérience LightSwitch, Optimisation de www.visualstudio.fr 2012 Meeting l'accès aux données, Intégration Silverlight 23 mars Live OAuth - la clé de l'utilisation des réseaux sociaux dans 2012 Meeting votre application