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 !

Comment lier une application Windows 8.1 à une application Windows Phone 8.1 (Universal app)

Les applications Universelles ou Universal Apps offrent la possibilité aux développeurs de créer une application qui cible différentes plateformes, du Windows Phone 8.1 au Windows 8.1 en passant par Windows RT.

En réalité lors de la création d’un projet Universal App, Visual Studio va créer deux projets (l’app Windows 8.1 + l’app Windows Phone 8.1) et un espace de partage.

On peut intégrer dans cet espace de partage tous les fichiers susceptibles d’être communs : les vues, le code business… Dans beaucoup d’applications, l’ergonomie va être spécifique pour chaque plateforme et le partage du code d’IHM risque donc d’être très compliqué, voir impossible.

Il est maintenant possible avec Windows Phone 8.1 de développer des applications en HTML5/JS, mais il faut obligatoirement passer par le modèle Universal App.

Et voici les étapes pour lier une application W8.1 à une app WP8.1 :

Étape 1 : Le store

  1. Se connecter au backoffice du store Windows Phone : http://dev.windowsphone.com avec le même compte que celui utilisé pour le backoffice du store Windows http://dev.windows.com.
  2. Aller sur le Dashboard.
  3. Cliquer sur le bouton Submit App.
  4. Cliquer sur le chiffre 1 pour renseigner les informations de l’application.
  5. Il suffit maintenant de choisir le nom de l’application dans la liste (NB: il ne faut pas le renseigner manuellement) et de cliquer sur le bouton « Associate app ».store1store2
  6. Choisir une catégorie et enregistrer les modifications.

 

 

Étape 2 : Visual Studio

Pour transformer une application Windows 8 .1 en Universal App, il suffit de faire un clic droit sur le projet et choisir « Add Windows Phone 8.1 »

vs1

Deux nouveaux projets sont alors créés : l’application Windows Phone et le projet Shared.

vs2

Clic droit sur le nouveau projet Windows Phone, aller dans « Store » et cliquer sur « Associate App with the Store ».

vs3

 

Une fenêtre s’affiche, il faut se connecter avec le compte du store pour obtenir la liste des applications créées dans le dashboard.

vs4

On sélectionne la bonne application et on valide.

Il ne reste plus qu’à faire les développements et soumettre l’application pour la certification 🙂 !

 

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 !

[Blend] Opérations sur les Path

Dans un précédent article je vous avais présenté comment convertir un objet en Path. Dans cet article nous allons voir comment combiner plusieurs objets en un seul Path.

Nous partirons d’une page contenant un canvas et 3 rectangles.

Etat initial

Etat initial

Dans l’onglet « Objects and Timeline » nous allons sélectionner chacun des rectangles en utilisant la combinaison Ctrl + Clic gauche. On commence par le vert, puis le rouge et enfin le bleu. L’ordre de sélectionner a en effet un impact sur le résultat de l’opération suivante.

Sélection des rectangles

Sélection des rectangles

Lorsque chacun des rectangles a été sélectionné on va les fusionner. Pour cela il faut naviguer dans le menu « Object » et dans le sous-menu « Combine » on sélectionne « Unite ».

Sélection de l'opération d'union

Sélection de l’opération d’union

Le résultat est un Path qui représente l’union des trois rectangles. On remarque que la couleur et le nom de l’élément choisis par Blend correspond au dernier rectangle sélectionné. Ici c’est donc le bleu qui l’emporte.

Résultat de l'union

Résultat de l’union

Vous avez sans doute remarqué d’autres opérations disponibles dans le menu Combine. Voici donc un description de chaque opération. Le résultat, en sélectionnant toujours le rectangle rouge en dernier, est quant à lui visible dans le diaporama en dessous.

Substract

La soustraction va retirer du dernier rectangle sélectionné l’union des deux autres.

Intersect

L’intersection va conserver la forme correspondant à la zone où tous les rectangles se superposent.

Divide

La division va découper la forme résultant de l’union des rectangles avec les bords de chaque rectangle laissant ainsi l’aspect général intact mais fournissant plus de bords.

Exclude Overlap

Cette opération va conserver à l’écran toutes les zones qui ne se superposent pas dans sélection.

Pour mieux comprendre le résultat vous pouvez d’abord effectuer l’opération sur bleu et vert, puis sur la forme résultant et rouge.

Manipulation des Path

Certaines opérations sur les Path sont disponibles dans le menu « Object » et le sous-menu « Path ». Une opération intéressante est « Release Compound Path ». Cette opération va générer autant de Path que possible en suivant les divisions d’une forme.

Diaporama des résultats


Conclusion

Blend dispose de capacités de manipulations d’objets très puissantes et qui sont malheureusement assez peu connues.
Maintenant c’est à vous de tester tout cela et de créer des interfaces toujours plus riches.

Liens utiles :

http://msdn.microsoft.com/en-us/library/vstudio/jj171064.aspx

[Blend] Convertir des objets en Path et les manipuler

Blend est un outil pleins de possibilités. Aujourd’hui je vais vous présenter une fonctionnalité assez méconnue et pourtant très pratique.

Pour ceux qui ne connaitrait pas, un Path est un objet XAML permettant décrivant un forme arbitraire. On peut s’en servir pour dessiner un rectangle, une croix ou même une théière, bref tout ce que l’on veux.  Ce Path peut servir de différentes manières. En WPF on peut s’en servir pour générer des Brush. On peut aussi s’en servir pour faire du clipping avec les PathGeometry. Dans WinRT 8.1 on peut les utiliser pour dessiner les formes des boutons des AppBarButton grâce aux PathIcon. Je vous renvoie à la MSDN pour plus d’informations sur les Path.

Mise en pratique

Supposons que comme moi le design n’est pas votre fort mais vous avez quand même cependant besoin d’un Path dans votre application.

Blend vous offre la possibilité d’en créer à partir de la plupart des objets XAML y compris des TextBlock.

Nous allons donc nous servir d’un TextBlock pour générer un joli Path en forme de X. Pour cela on va glisser un TextBlock sur la surface de travail et changer quelques-unes de ses propriétés pour le rendre plus jolie. Ici j’ai changé la police d’écriture, la taille de la police.

BlendConvertToPath1

Pour convertir ce TextBlock en Path il faut aller dans le menu Object, et sélectionner Convert To Path dans le sous-menu Path.

BlendConvertToPath2

Un Path est maintenant généré et remplace notre TextBlock dans le XAML.

En poussant le concept un peu plus loin on peut écrire un texte en Windings et le convertir en Path et avoir une jolie cloche comme dans l’image ci-dessous.

BlendConvertToPath3

Une fois que l’on dispose d’un Path on peut profiter d’une autre fonctionnalité de Blend, les combinaisons de formes.

Commençons par glisser un Rectangle sous notre Path.

BlendConvertToPath4

Dans la partie Object and Timeline sélectionner le Rectangle et le Path (en utilisant la combinaison Shift + Click) en commençant par le Path puisque l’ordre de sélection peut-avoir une influence sur le résultat des opérations.

BlendConvertToPath5

Dans le menu Object on va cette fois aller dans le sous-menu Combine et sélectionner une opération. Ici j’ai choisi Exclude Overlap qui va grosso-modo retirer la forme du Path dans le Rectangle.

BlendConvertToPath6

On se retrouve à présent avec un seul Path représentant le résultat de l’opération. Vous noterez la perte de certains styles comme la couleur.

BlendConvertToPath7

Et si on met justement un peu de couleur de fond et de couleur de bordure on remarque qui la forme de la cloche a bien été « creusée » dans le rectangle.

BlendConvertToPath8

Conclusion

Ces opérations sont très puissantes et les possibilités de création très importantes.

A vous maintenant d’essayer un peu tout cela en testant les diverses opérations pour créer des formes compliquées sans forcément pour cela avoir besoin de talents de graphistes.

Consulter et executer des requêtes SQL sur une base SQL CE

Depuis Windows Phone 7 Mango nous avons à notre disposition une base SQL CE et pour pouvoir interagir avec celle-ci il faut utiliser Linq To SQL. Cette façon de fonctionner est très pratique lorsque l’on développe mais parfois on est confronté à des bugs pour lesquels on aimerait pouvoir exécuter du code SQL sur la base de données afin de vérifier les conditions de jointures, les groupements ou tout simplement son contenu.

Dans cet article je vais vous présenter une méthode pour accéder à cette base de données et l’extraire du téléphone afin de pouvoir exécuter des requêtes SQL.

Extraction de la base de données

La première étape consiste à récupérer la base de données contenue dans le téléphone ou dans votre émulateur. Attention cependant, afin que cette méthode fonctionne il ne faut pas que la base de données ait été cryptée. Comme les fichiers SQL CE sont stockés dans l’IsolatedStorage de l’application l’utilisation d’un outil pour y accéder est nécessaire. Dans cet article j’utilise les Windows Phone Power Tools.

Tout d’abord il faut lancer l’outil et choisir l’appareil ou l’émulateur cible.

SqlCe1

Une fois votre choix effectué il faut aller dans la liste des applications. Notez bien que seules les applications installées hors du Store comme avec Visual Studio sont accessibles.

SqlCe2

Localisez le fichier .sdf dans l’IsolatedStorage, c’est la base de données que l’on cherche. Ensuite il ne reste qu’à sélectionner le fichier et appuyer sur GET pour le récupérer. Dans mon cas j’ai sauvegardé le fichier sur le bureau.

Lecture de la base de données

Maintenant que la base de données se trouve sur le pc il faut pour la lire. Pour cela il faut installer SQL Server Compact Toolbox. Cet outil va ajouter une entrée dans la section Outils de votre Visual Studio.

SqlCe3

En cliquant sur le menu tel montré ci-dessus et vous accèderez à l’extension.

SqlCe4

Sélectionnez le nœud SQL Server Compact Data Connections et faites un clic droit dessus pour pouvoir ajouter le fichier .sdf.

SqlCe5

En cliquant sur « Browse » et l’explorateur Windows s’ouvre pour que vous puissiez sélectionner votre fichier (ici sur le bureau)

SqlCe6

Une fois ceci fait il n’y a plus qu’à cliquer sur OK et vous constaterez qu’un nouvel élément a été rajouté à l’arbre précédent.

SqlCe7

Vous pouvez ainsi voir les différentes table de la base, les clefs, les index etc…
Pour lister le contenu d’une table sélectionnez-la et faites un clic droit.

SqlCe8

Le menu qui s’ouvre vous permet de choisir entre plusieurs opérations possibles. Ici nous choisirons « Script as SELECT » pour ouvrir une console SQL avec une requête de sélection pré-remplie.

SqlCe9

Il ne reste maintenant plus qu’à cliquer sur « ! Execute » pour avoir le résultat. Biensûr il est possible de modifier cette requête.

Conclusion

Grâce à ces outils nous pouvons maintenant exécuter toutes les requêtes dont nous avons besoin et donc de pouvoir vérifier la cohérence des données de la base ou encore de tester des requêtes sans avoir à débuguer depuis le téléphone à chaque fois.

Liens utiles

Tour de France Windows 8 et Windows Phone 8 – Mai 2013

Tour de France Windows 8 et Windows Phone 8

Tour de France Windows 8 et Windows Phone 8

Microsoft organise un Tour de France autour des applications Windows 8 et Windows Phone 8

« Apprendre à développer, sécuriser et optimiser vos « back-end » pour vos applications Windows 8 et Windows Phone 8″

Au programme 4 heures de :

  • Formation
  • Démo
  • Code

L’objectif est de vous apprendre, en une demi-journée, à développer, sécuriser et optimiser vos « back-end » pour vos applications Windows 8 et Windows Phone 8.

Les thèmes suivants (autour de Windows 8 et Windows Phone 8) seront abordés :

  • Tour d’horizon de la plateforme
  • Concepts fondamentaux pour la mise enplace d’API et les best pratices d’utilisation dans vos applications
  • L’implémentation de services de notification et de push
  • Les différentes approches pour sécuriser vos API et la mise en oeuvre de ces mécanismes
  • L’optimisation des ressources et des services mis enplace ainsi que la montée en charge de vos applications mobiles avec Windows Azure.

Les intervenants :
Ce Tour de France sera animé par des intervenants MCNEXT :

  • John Thiriet, consultant DotNET et MVP Expression Blend
  • Guillaume Leborgne, chef de projet et expert DotNET

Ils ont développé de nombreuses applications Windows 8 et Windows Phone 8 présentes dans le Microsoft Store. Ce sont leurs retours d’expériences autour de Windows 8 et Windows Phone 8 qu’ils souhaitent vous apporter.

Le public visé :
Développeurs généralistes
Niveau technique : 300

Pour en savoir plus :
http://www.mcnext.com/evenements/microsoft/Pages/tour-de-france-windows-8-et-windows-phone-8.aspx