de a à z: développer une application windows phone 7.5 connectée à un service odata
DESCRIPTION
Découvrez comment développer une application pour Windows Phone 7.5 permettant de manipuler des données au format OData. Après une première maquette simple créée from scratch, nous profiterons des conseils d’un expert pour améliorer la qualité de notre application (ergonomie, réactivité, nouveautés de la plateforme, …). --- Cette session est la 4ème du parcours « De A à Z : Concevoir et développer une solution applicative ». Elle peut être suivie de manière totalement indépendante puisque seul le scénario métier sert de fil rouge dans le parcours. La session se déroule en 2 temps : 1. Développement d’une application Windows Phone simple 2. Intervention d’un expert de la plateforme qui va proposer d’améliorer l’application ou l’expérience en utilisant des techniques nouvelles ou plus avancées ou peu connues et pourtant si pratiques. Le parcours "de A à Z" se déroule sur une journée . Il permet de couvrir chacun des aspects techniques de la solution : l’architecture, l’accès aux données et leur publication sous forme de service, la migration vers Azure, l’application Windows Phone, l’application Silverlight avec Pivot Viewer.TRANSCRIPT
![Page 1: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/1.jpg)
palais des congrès Paris
7, 8 et 9 février 2012
![Page 2: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/2.jpg)
07/02/2012
Rudy HuynMVP Windows PhoneOrange Business Services
De A à Z : Développer une application Windows Phone 7.5 connectée à un service OData(WP7203)
Stéphanie HertrichRelations Techniques DéveloppeursMicrosoft
![Page 3: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/3.jpg)
1. Présentation de l’application2. Ma première application WP7 + OData3. Authentification avec ACS et le Toolkit Azure4. Blendez-moi tout ça !5. De la pub avec Advertising SDK6. Intégration au hub photo7. Le partage social mais pas que…8. Background Agent9. Des belles tuiles10.Synthèse
Agenda
![Page 4: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/4.jpg)
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
![Page 5: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/5.jpg)
Service
WP7
WCF Data Services
Silverlight
Rappel de l’architecture
Client
Serveur
DonnéesSql Server
Entity Framework
WCF Data Services
SQL Azure DB
Access Control Services
BlobsFile System
Photo Upload Service
File System Blob Client
http://caveavins.cloudapp.net/CaveAVinsDataService.svc
![Page 6: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/6.jpg)
Demo : Ma 1ère application WP7 + OData
![Page 7: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/7.jpg)
Access Control Services + Windows Phone + OData
NB : Le userId stocké dans le token = id du propriétaire du vin dans la BDD
1 credentials
2 token
OData Service
3 http Requestwith token
4 request with token5 request + claims
7 OData results or security exception
6 Compute results or security exception
OAuth Protection modules
WS-Federation
OpenID
![Page 8: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/8.jpg)
Démo : Access Control Services dans WP
![Page 9: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/9.jpg)
Blend moi ça
![Page 10: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/10.jpg)
![Page 11: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/11.jpg)
Activer le tiltEffect
toolkit:TiltEffect.IsTiltEnabled="True"
![Page 12: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/12.jpg)
Attention aux thèmes sombre/clair
Jean Dujardin : meilleur acteur masculin illustrant une diapositive powerpoint
![Page 13: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/13.jpg)
![Page 14: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/14.jpg)
Comment faire ?
if (((Visibility)this.Resources["PhoneLightThemeVisibility"]) == Visibility.Visible) ForceDarkTheme();
private void ForceDarkTheme(){ ((SolidColorBrush)Resources["PhoneForegroundBrush"]).Color = Color.FromArgb(0xFF, 0xFF, 0xFF, 0xFF); ((SolidColorBrush)Resources["PhoneBackgroundBrush"]).Color = Color.FromArgb(0xFF, 0x00, 0x00, 0x00);
….
![Page 15: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/15.jpg)
Thème sombre Thème clair
![Page 16: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/16.jpg)
Personnalisation de la status bar
![Page 17: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/17.jpg)
Comment faire ?
shell:SystemTray.IsVisible="True" shell:SystemTray.Opacity="0" shell:SystemTray.ForegroundColor="White"
YOU FAILED !
![Page 18: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/18.jpg)
Personnalisation de la status barWINDOWS
PHONE
Y CAN’T I USE WHITE ?
![Page 19: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/19.jpg)
#FFFFFF
#FFFFFE
![Page 20: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/20.jpg)
![Page 21: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/21.jpg)
Pensez au mode paysage !
![Page 22: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/22.jpg)
Animez la rotation de la page
![Page 23: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/23.jpg)
32 bits
BitsPerPixel=« true »
![Page 24: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/24.jpg)
De l’animation !
![Page 25: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/25.jpg)
LET’S DO IT
Animations
![Page 26: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/26.jpg)
Microsoft Advertising
![Page 27: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/27.jpg)
Money, money, money…
![Page 28: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/28.jpg)
Advertising SDK for Windows Phone
![Page 29: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/29.jpg)
DEMO
Advertising SDK for Windows Phone
![Page 30: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/30.jpg)
new LicenseInformation().IsTrial()
Le mode trial
![Page 31: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/31.jpg)
Photos
![Page 32: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/32.jpg)
Intégration au hub photo
![Page 33: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/33.jpg)
WMAppManifest.xaml
Comment faire ?
![Page 34: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/34.jpg)
Intégration au hub photo
![Page 35: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/35.jpg)
COMMENT ?
Intégration au hub photo
![Page 36: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/36.jpg)
Comment faire ?
Dans WMManifest.xaml
![Page 37: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/37.jpg)
Partage social
![Page 38: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/38.jpg)
Partager, mais pas que…
![Page 39: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/39.jpg)
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
![Page 40: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/40.jpg)
Le partage grâce au nuage
Je recommande un vinMa coordonnée GPS Recommande moi un vin
Ma coordonnée GPS
J’ai trouvé !!!
Le vin
![Page 41: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/41.jpg)
DEMO ?
Scheduled Agent
![Page 42: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/42.jpg)
Scheduled Agent
![Page 43: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/43.jpg)
toutes les 30 minutes25 secondes max
6Mo de mémoire
Limite de 2 semainesDésactivé au bout de la 2ème fois s’il crashe ou de fini pas dans les temps
Scheduled Agent
![Page 44: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/44.jpg)
LET’S GO !
Scheduled Agent
![Page 45: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/45.jpg)
Live Tile
![Page 46: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/46.jpg)
Live Tile
![Page 47: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/47.jpg)
+ « 121 »=121
![Page 48: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/48.jpg)
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
Et aussi…
![Page 49: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/49.jpg)
Questions ?
![Page 50: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/50.jpg)
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
![Page 51: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/51.jpg)
Play time!
Quel est l’âge du capitaine ?
![Page 52: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/52.jpg)
Chaque semaine, les DevCampsALM, Azure, Windows Phone, HTML5, OpenDatahttp://msdn.microsoft.com/fr-fr/devcamp
Téléchargement, ressources et toolkits : RdV sur MSDNhttp://msdn.microsoft.com/fr-fr/
Les offres à connaître90 jours d’essai gratuit de Windows Azure www.windowsazure.fr
Jusqu’à 35% de réduction sur Visual Studio Pro, avec l’abonnement MSDN www.visualstudio.fr
Pour aller plus loin
10 février 2012
Live Meeting
Open Data - Développer des applications riches avec le protocole Open Data
16 février 2012
Live Meeting
Azure series - Développer des applications sociales sur la plateforme Windows Azure
17 février 2012
Live Meeting
Comprendre le canvas avec Galactic et la librairie three.js
21 février 2012
Live Meeting
La production automatisée de code avec CodeFluent Entities
2 mars 2012
Live Meeting
Comprendre et mettre en oeuvre le toolkit Azure pour Windows Phone 7, iOS et Android
6 mars 2012
Live Meeting
Nuget et ALM
9 mars 2012
Live Meeting
Kinect - Bien gérer la vie de son capteur
13 mars 2012
Live Meeting
Sharepoint series - Automatisation des tests
14 mars 2012
Live Meeting
TFS Health Check - vérifier la bonne santé de votre plateforme de développement
15 mars 2012
Live Meeting
Azure series - Développer pour les téléphones, les tablettes et le cloud avec Visual Studio 2010
16 mars 2012
Live Meeting
Applications METRO design - Désossage en règle d'un template METRO javascript
20 mars 2012
Live Meeting
Retour d'expérience LightSwitch, Optimisation de l'accès aux données, Intégration Silverlight
23 mars 2012
Live Meeting
OAuth - la clé de l'utilisation des réseaux sociaux dans votre application
Prochaines sessions des Dev Camps
![Page 53: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/53.jpg)
Attention aux alignements
![Page 54: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/54.jpg)
Attention aux alignements
![Page 55: De A à Z: Développer une application Windows Phone 7.5 connectée à un service OData](https://reader033.vdocument.in/reader033/viewer/2022051514/54836504b4af9fdf2d8b4687/html5/thumbnails/55.jpg)
PM> Install-Package MetroGridHelper
MetroGridHelper