Les MSDays comme si vous y étiez
Les 6 & 7 octobre se déroulaient à Paris les MSDays, conférence à la fois technique et marketing pour présenter les nouveautés du monde Microsoft. OCTO y était, et voici ce qu’on a pu y entendre.
Plutôt que de faire un compte rendu par session, nous allons évoquer, par produit, ce qui a été présenté. Certaines de ces informations ne sont certes pas nouvelles, mais demeurent néanmoins intéressantes.
Azure
Azure, pour moi, c’est un peu nouveau. Pardon donc aux habitués qui vont trouver ici des redites. Azure, c’est le cloud made by Microsoft. Donc une architecture où MS gère le hard, l’OS et les outils, et où la seule responsabilité du développeur est d’écrire les applis, de préférence en .Net/Silverlight avec SQL Azure comme base de données. Il est certes possible de faire du Java ou du Ruby, mais ce n’est pas la cible.
Et comme Microsoft aime bien faire des outils intégrés, Visual Studio 2010 est le point central utilisé pour développer sur Azure. Il permet ainsi de déployer, en réel ou dans un simulateur local à votre machine, de dimensionner votre infrastructure en plus du développement et du debug.
En effet, un déploiement sur Azure peut prendre jusqu’à 15 minutes si les machines doivent être créées. Lorsqu’on développe, attendre ce temps là à chaque exécution est impossible. VS2010 avec le SDK Azure propose donc un simulateur local permettant d’exécuter son code comme s’il était sur le cloud (avec certaines limitations tout de même, notamment sur la montée en charge) et ainsi de déboguer et mettre au point sans latence.
Par ailleurs, puisqu’il est impossible de faire du pas à pas dans une appli déployée sur Azure (et pour cause, comment fait-on lorsque cela tourne sur X machines ?), Microsoft s’appuie sur Intellitrace pour permettre l’analyse des problèmes liés au cloud. Intellitrace, ou débogueur historique, c’est un enregistrement de ce qui s’exécute, qui peut aller jusqu’aux appels de méthode, et permet de rejouer votre programme à postériori. Seul défaut : il faut la version Ultimate de VS2010 pour en profiter.
Sans Visual Studio, c’est aussi possible, à l’aide d’outils externes tels que ceux fournis par Cerebrata ou Houston, la console d’administration fournie par MS.
Dernière info sur Azure enfin, dévoilée lors de la plénière par Steve Ballmer, les Windows Azure Appliances seront disponibles d’ici un an. Ce sont des cloud privés prêts à l’emploi, se présentant sous la forme d’une (ou plusieurs) grosses armoires. L’idée est de permettre à une entreprise de se faire un cloud privé à moindre frais, quasiment en mode « plug&play » (et prestation d’installation, tout de même). L’entreprise obtient ainsi les avantages d’Azure avec la maîtrise du matériel et le modèle de sécurité interne à l’entreprise.
Quelques détails supplémentaires liés au cloud : Le SP1 de Windows 7 intégrera RemoteFramework, permettant de brancher des périphériques USB locaux sur une VM distante (et donc sur le cloud). Hyper-V permet de définir des VM avec RAM dynamique (qui augmente avec l’usage), utile dans le cadre d’Azure, et enfin Microsoft a développé pour les Appliances un soft de facturation et de provisionning nommé System Center Virtual Machine Manager 2008 R2 (rien que ça).
Visual studio LightSwitch
Vous avez aimé Access ? Vous aimerez LightSwitch. Aujourd’hui disponible en beta 1, Visual Studio LightSwitch permet de faire très rapidement et quasiment sans code des applications CRUD.
Clairement, on remarque de suite l’inspiration. Création de tables, génération de formulaires de saisie, d’affichage, de recherche, on retrouve ce qu’on faisait avec Access. Sauf que ce n’est pas JET derrière, mais bien SQL server. Sauf qu’au final, on obtient une application Silverlight, qui discute avec la base par le biais de RIA services et Entity framework. Sauf que c’est en C# ou VB.Net.
La cible de LigthSwitch, ce sont les Power Users, non pas les développeurs. Ceux qui veulent rapidement organiser leurs données, les présenter de manière fluide et jolie. Ainsi, les choix technologiques (Entity Framework, RIA services, Silverlight) sont imposés et ne peuvent être changés. Seul peut l’être le moteur de base, mais pour l’instant, il n’y a que SQL Server.
LightSwitch peut bien sur être utilisé avec une base existante et intégrer des contrôles SilverLight existants, tels que Pivot ou Bing maps, ce qui permet d’enrichir les vues de bases, là encore sans savoir très bien coder, avec de jolis effets.
Ce qui nous amène à l’autre face de LightSwitch, celle qui intéresse les développeurs : la fourniture de contrôles/thèmes/extensions. I.e., développer pour LightSwitch, et non avec LightSwitch. En effet, bien que des contrôles de base pour l’usage sont fournis (e-mail, téléphone,…), on se rend compte bien vite que certains manquent (adresse, par exemple, mais également tous ceux liés à un scénario métier sortant de la base de contacts). Il va donc falloir les implémenter soi même, et c’est là que le développeur est nécessaire.
Je vois cependant un grand danger à LightSwitch : très séduisant pour réaliser de l’appli de démo rapide, il n’est cependant pas adapté à une application industrialisée. Or, comme Access et Excel avant lui, il sera sûrement utilisé avec la promesse que plus tard on fera les choses propres… et en fait non. Modifier le code généré fait en effet perdre l’avantage de LightSwitch, et même s’il existe un « bouton magique » (appelé ‘Write code’), qui permet de rebasculer, au sein d’un handler d’événement, vers du C#/VB, on est loin de maîtriser l’ensemble de la chaîne, sans compter les scénarios nécessitant une utilisation poussée des bindings ou d’EntityFramework. Néanmoins, un produit à suivre.
Lync
Office Communication Server 15. En toute logique, ça aurait du s’appeler comme ça, mais ils doivent en avoir marre des noms à rallonge chez Microsoft, du coup ça s’appelle Lync. Lync, c’est un peu la fusion de WebEx, Skype et Messenger en un seul outil. Un serveur de communication permettant de faire dans le même cadre de l’instant messaging, des appels audio ou vidéo, des conférences (là encore audio ou vidéo), du partage d’écran ou d’application, le tout avec mesure et ajustement de la qualité des appels en temps réel.
Lync est également fourni avec des contrôles prêts à l’emploi et pouvant s’insérer dans les applications SilverLight afin de permettre de développer ses propres couches de communication. On retrouve ainsi des éléments issus de Lync dans Office 2010, lorsqu’on travaille à plusieurs sur un document en simultané.
Office
La grande nouveauté Office, c’est… Windows Phone 7. En effet, la suite Office se retrouve désormais sur tous supports, en client lourd (ça, on avait l’habitude), en client léger via les WebApps et sur portable avec Window Phone 7 (WP7 dans la suite). Alors, que dire de cette version ? C’est assez bluffant de voir cette grosse suite bureautique lourde et gourmande tourner sur un téléphone.
Nul besoin de traduire les documents en PDF ou HTML puis de galérer ensuite pour reporter les modifications dans l’autre sens, le format Office est géré nativement. A vous les joies de l’édition PowerPoint sur un écran de 4 pouces. Hum. Ben oui, un téléphone, c’est petit. Du coup, même si l’ergonomie est pensée pour le média (interface ultra réduite), on se demande si une tablette ne serait pas plus adaptée. Autant projeté sur un écran de 4 mètres de diagonale, ça paraît sexy, autant quand on s’y frotte, on s’aperçoit vite des limites de la chose. Pour faire de la retouche de dernière minute et corriger une faute de frappe, ou pour montrer à un collègue, oui, mais, à moins d’attacher un pico projecteur à votre téléphone, ça ne remplacera jamais votre portable.
Autour d’Office pour Windows Phone 7, il y a le hub office. Synchronisé avec SharePoint et SkyDrive, il vous permet d’avoir accès à tous vos documents n’importe où, de les rechercher, les organiser, de prendre des notes rapidement, puisque OneNote sert de bloc note à WP7.
Windows Phone 7
Le gros morceau de cette conférence. Avec un lancement dans une semaine, il fallait s’y attendre. Donc au menu, des présentations de l’interface, des différents hubs, des sessions pour les développeurs, un accès à des téléphones de démo, tout était fait pour que les participants repartent en ayant pu au moins voir, voire manipuler, les téléphones.
Alors, effectivement, ça change. On est loin du modèle Apple, dominant dans le monde des Smartphones, avec un téléphone qui n’est finalement qu’une plate forme pour application. Dans WP7, ce sont les données qui sont au centre, à travers les hubs. Un hub regroupe différentes applications autour de données communes (contacts, documents, messagerie,…). Cela donne une vision du téléphone centrée sur les usages plus que sur les applications, et cela se ressent de suite. Sans aller jusqu’à dire que ce modèle est meilleur que le modèle App, il faut avouer qu’il est plaisant à prendre en mains.
Par contre, cela vient avec des limitations. Ainsi, seuls les hubs prédéfinis existent. Impossible pour une application de créer un hub à partager avec d’autres, impossible également de modifier les hubs existants, bien qu’il soit possible de s’y intégrer.
Chaque application étant sandboxée (euh… bac-à-sablée ?), le partage des données se fera par le cloud et non par le téléphone. En revanche, le téléphone étant multi-tâche, vous pouvez sans souci réveiller votre appli par des notifications (si l’utilisateur est d’accord) sans interrompre la tâche de ce dernier.
Concernant l’entreprise, l’intégration native d’Office (dont Outlook) et donc de la communication avec SharePoint est un grand atout. En revanche, à l’heure actuelle, seul le marketplace permet de déployer des applications. Aucune possibilité donc de garder une application pour vos employés, sauf en biaisant (la vendre 2000$ et filer un code de réduction aux employés, gérer un login/mot de passe ou une authentification par certificat, etc.). Pire, toute appli présente sur le marketplace possède un mode ‘essai’, c’est obligatoire. Donc sauf à le prendre en compte et à bloquer l’application lorsqu’elle est dans ce mode, tout un chacun pourra utiliser votre application pendant quelques jours avant de se voir bloqué. Certes, pour le grand public, c’est génial. Pour une entreprise, en revanche…
Coté développeur, c’est simple, tant que vous ne publiez pas, tout est gratuit. VS2010 pour WP7 et Expression Blend pour WP7 sont téléchargeables librement, vous pouvez donc tester, mettre au point votre programme, essayer vos idées sans débourser un centime. Enfin, il faudra quand même un téléphone pour tester les fonctionnalités liées à l’accéléromètre ou au GPS, non présentes dans un PC, mais si vous possédez un écran tactile, le multitouch est testable sur l’émulateur de terminal.
Une fois l’application prête, il faut passer à la caisse, sur le même modèle qu’Apple. 100$ pour publier autant d’application payantes que vous voulez, et jusqu’à 5 applications gratuites. 70% pour le développeur, 30% pour MS et ses partenaires, avec pour le client la possibilité de payer par carte, mais également en passant par la facture de l’opérateur. Un processus de certification avant de voir votre appli apparaître sur le Marketplace, l’avantage est que les conditions d’acceptation sont publiques dès le début.
En résumé, le sentiment que j’ai est que cet OS mobile, pensé pour le grand public, atteint sa cible, mais laisse du coup de coté les utilisations en entreprises, malgré un effort dans ce sens (hub office, intégration avec SharePoint, Lync et Exchange).