Le Post Infeeny

Les articles des consultants et experts Infeeny

Archives Mensuelles: avril 2014

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 !

Nouveaux locaux pour accompagner la croissance de MCNEXT CENTRE-EST

Nouveaux locaux, nouvelle étape pour l’agence #lyonnaise de MCNEXT, spécialiste #MICROSOFT! http://ow.ly/weVS2

Restauration des données de TFS 2012

Ce post illustre le cas où le serveur TFS s’est planté et que seule la partie application tiers de TFS a été réinstallée.

Voici donc comment restaurer les données.

Si on utilise l’outil de backup qui est intégré à TFS , la restauration des données se fait avec ce même outil, mais plusieurs étapes sont nécessaires pour cette manipulation.

Nettoyage des bases de données

Sur le serveur TFS 2012

  • Ouvrir SQL Server Management
  • Se connecter au serveur de base de données
  • Si des bases tfs_xxx existent déjà, il faut les supprimer (en cochant la case « close existing connections »).

Lire la suite

Windows Phone 8.1 : Projeter mon écran

« Projeter mon écran » est une nouvelle fonctionnalité introduite avec Windows Phone 8.1, celle-ci permet comme son nom l’indique de projeter l’écran du téléphone sur un PC.

Lire la suite

Configuration de TFS 2012 : Backups

Ce post fait partit de la serie des post sur la configuration de TFS 2012, et nous allons voir comment configurer les backups.

La sauvegarde de TFS 2012 concerne la sauvegarde des bases de données et des clés de cryptage de Reporting Services.

Il existe 2 facons de sauvegarder les bases TFS: soit par la console d’administration de TFS, soit manuellement et directement dans SQL Serveur avec un Sql Agent.

Ici nous allons le voir par la console d’administration, l’autre facon sera évoquée en détail dans un autre article.

Ref Msdn : http://msdn.microsoft.com/en-us/library/ms253151.aspx

Depuis le Update 2, TFS intègre un assistant de sauvegarde qui se trouve dans le menu de gauche dans l’administration console de TFS 2012.

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

 

Lire la suite

Configuration de TFS 2012 : Configuration du service de Build

Cet article fait partie de la série configuration de TFS 2012.
Dans celui-ci nous allons voir comment configurer le service de build
Dans la console d’administration de TFS 2012, choisir Build Configuration



Choisir la collection


Lire la suite

Installation et configuration de TFS 2012

Voici une série d’article sur l’installation et la configuration de TFS 2012 / 2013, d’upgrade ainsi que de sauvegarde et de restauration.

Celui ci est le 1er avec installation et la configuration de base de TFS 2012

Prérequis

Les prérequis pour installation TFS 2012 sur Windows Serveur 2012 sont :

  • Minimum 4 Go de RAM

Plus de détails  sur la configuration requise : http://msdn.microsoft.com/fr-fr/library/vstudio/dd578592.aspx

 

Installation de SQL Server 2012

Avant d’installer TFS, il faut installer SQL Serveur, en voici les étapes importantes Lire la suite

Entity Framework : Code First avec Migration 2/2

La 1ère partie de l’article concernait l’implémentation de Code First Migration.

Dans cette 2ème partie d’article sur La migration Entity Framework, nous allons voir:

  • Comment insérer ou mettre à jour des données en même temps que les changements de la structure de la base de données.
  • Configurer la migration pour qu’elle s’effectue automatiquement.
  1. Migration sur les données

    Dans la classe de configuration qui a été créé lors de l’activation de la migration, il y a une méthode Seed (créé par défaut) qui va permettre d’insérer des données.

    En effet lors des migrations il se peut que le (ou les) tables doivent être détruites pour être reconstruite, donc éviter de perdre des données il est possible de insérer dans la configuration de migration.

    Pour cela il faut utiliser la méthode AddOrUpdate qui a pour avantage de ne pas faire uniquement des insert mais s’il l’enregistrement existe déjà elle fera un update (ca évide donc d’avoir des doublons).


    Il y aussi une autre possibilité c’est d’utiliser un script SQL, et de l’exécuter dans la méthode seed, par exemple :

  2. Migration automatique

    La migration automatique permet d’appliquer automatiquement les changements à la base de données lors de l’exécution de l’application.

    Pour l’activer il faut:

  • modifier la propriétés AutomaticMigrationsEnabled et la renseigner à true, et rajouter une autre propriété AutomaticMigrationDataLossAllowed = true car la migration automatique ne permet pas la perte de données. On a donc dans la configuration :


  • Implémenter la méthode OnModelCreating:

    Dans la classe configuration il faut rajouter une méthode OnModelCreating avec :

    Database.SetInitializer(new MigrateDatabaseToLatestVersion<MvcApplicationEFCodeFirst.Models.MvcMusicStoreEntities, Configuration>());

    Ce qui nous donne:


Et voilà lors de l’exécution de l’application, la base de données sera mise à jour à partir du model.
Remarques sur la migration automatique:
La migration automatique peut se révéler pratique dans un cadre de développement, par contre à mon sens elle n’est pas à être utilisée en production car lors de modification de la base des données peuvent être perdues.

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 🙂 !

 

Entity Framework : Code First avec Migration 1/2

Entity Framework est pour rappel un ORM (Object RelationShip Manager) qui permet de faire :

  • Le mapping entre la base de données et les classes Entités
  • De proposer les méthodes du CRUD (Create Read Update Delete)

Il existe 3 workflows :

  • dataBase First
  • Model First
  • Code First

Lors de la création d’un projet MVC 4 dans Visual Studio 2012 , EF 5 est intégré par défaut
Cet article a pour but d’expliquer comme implémenter Entity Framework en utilisant le workflow Code First (et générer la base de données)

  1. Code First

    Le workflow Code First consiste à écrire comme son nom l’indique en 1er les classes entités (qui représentent le Model) puis:

  • soit de faire le mapping avec une base de données déjà existante
  • soit à partir de ces dernières de générer la base de données.
  1. Les classes Entités (Model)

    Dans notre exemple nous travaillons sur une application simple de gestion de Music (Music Store)
    Nous notre projets MVC dans le répertoire Models nous allons créer 2 classes qui représentent nos entités comme suit :

    Album.cs

    Genres.cs

  2. La classe de mapping (DbContext)

    Dans Models on crée une classe MvcMusicStoreEntities.cs qui hérite de DbContext, ça représente notre DBcontext



    Dans notre exemple on a fait le mapping :

    Table Albums –> classe Album

    Table Genres –> classe Genre

Lire la suite