Le 23 mars derniers j’ai assisté aux devdays 2006 à Paris. Pour ceux qui ne le savent pas, les devdays c’est un meeting organisé par Microsoft ouvert au publique et principalement axé sur la programmation et le développement, de manière plus généraliste, sur des technologies liées à Microsoft où en train d’être développées par ces derniers. C’était la première fois que je participais à cet événement et on était plus de 3000 personnes. J’étais très enthousiaste à la vue du programme annoncé à savoir : Jeux de test et validation de code avec Visual Studio 2005, introduction à Windows Communication Framework (WCF), introduction au développement par WorkFlow, présentation de la nouvelle interface d’Office 2007 et aux nouveautés de SharePoint 12, introduction et présentation à Windows Présentation Framework.
Jeux de test sous Visual Studio 2005
Cette partie du programme était vraiment intéressante pour des personnes qui n’avaient encore jamais employé les vastes capacités des tests et validations offertes par Visual Studio 2005. Cette session à permis de montrer comment il était facile (avec un petit temps d’apprentissage à l’utilisation) de faire un jeu de tests simples, ou multiples, via base de données, ou encore même de réaliser un test de monté en charge. Cette session a été présentée de manière efficace, rondement mené et bien didactique.
Windows Communication Framework
La seconde session était consacrée à WCF pour permettre la communication entre deux applications distinctes, par le biais d’un réseau, sur deux machines distinctes. Ces applications étant basées sur le même squelette. Ainsi grâce à WCF on a pu voir comment coder assez rapidement et simplement un système client/serveur et comment ces applications communiquaient les informations via XML ou via la sérialisation d’objets. Le point intéressant de cette session, c’était que le codage de méthode utilisable en réseaux est assez similaire au codage des webservices. Le WCF pour résumer grossièrement est donc une couche applicative permettant la communication entre processus distant à la mode des webservices.
Programmation par Workflow
La deuxième partie de cette deuxième session était consacrée à la création d’un WorkFlow, dans Visual Studio 2005, via la version beta de WinFX. Cette présentation montrait comment il était possible de définir des blocs de programmes et de les associer entre eux pour faire un logiciel puis de réutiliser ces ensembles de blocs comme sous ensembles d’autres blocs encore plus gros et ainsi faire de la programmation pyramidale. Cette présentation fut entaché de quelques bug mais vu la version de WinFX utilisé cela n’était pas très étonnant... En effet, ils utilisaient la version CTP de janvier alors que la version de février était déjà sortie depuis un moment. Ce qui me pousse à croire que la mise à disposition des sources sera plus qu’hasardeuse pour les néophytes.
Présentation bonus
Après la pause déjeuné, nous avons eu le droit à une présentation, il faut l’avouer, assez impressionnante de ce qu’on appel la réalité augmentée. C’est une présentation qui a été réalisée via une jeune société nommée T-immersion. Celle-ci avait pour but de nous montrer comment il était possible d’utiliser la 3D tout en filmant un espace précis pour rajouter des éléments 3D dans le décor réel. Le plus frappant dans cette démonstration, c’était la capacité de ces éléments 3D à interagir avec l’environnement réel. Ainsi une petite voiture en 3D roulait sur une table sur laquelle on avait déposé des décors, lorsque la voiture passait derrière les décors, les parties cachées de la voiture étaient tout à fait bien gérées, de même que la physique lors des mouvements de celle-ci sur des tremplins ou des dénivelés du décor. Il y eu aussi une présentation de ce procédé sur un système de « face tracking ». Il fut alors expliqué qu’on pourra, grâce à ce système, rajouter des effets 3D temps réels sur nos visages lors de communications via MSN et autres. Pour en savoir plus, je vous invite à voir le site web de la société en question : http://www.t-immersion.com/home.asp
Présentation office 2007 et SharePoint 12
Lors de cette 3ème session, il fut présenté la nouvelle interface d’office 2007 (office 12) avec une petite explication du pourquoi du comment quand au choix de l’interface. Le but étant de réduire le nombre de menus/sous-menus en augmentation sans cesse croissante depuis les tous premiers Office.
La présentation au sujet de SharePoint, je ne pourrais pas en dire grand chose ne connaissant pas très bien le produit originale et n’en voyant pas l’utilité dans mon domaine. SharePoint étant un logiciel de type CMS collaboratif (Content Management System) Cette présentation fut pour ma part assez longue à digérer en attendant la présentation qui m’intéressait le plus, à savoir celle sur XAML.
Windows Présentation Framework (WPF)
Le WPF est le nouveau système de rendu graphique de Windows Vista qui sera aussi intégré sur windows XP dans le service pack 3. Ce système permet donc un rendu « vectoriel » de ce qui est à l’écran. Un des avantages les plus importants est la qualité et le confort de lecture sur des textes ou trop grands ou trop petits par rapport à la taille originale de la police associée. L’autre avantage certains est qu’il devient donc possible de faire tout et n’importe quoi avec les composants comme par exemple de faire une bouton tournant sur lui même à 360 degrés avec un film en train de jouer en son centre. La présentation permettait de voir comment il était possible de changer un composant de type « listbox » en un composant constitué de plusieurs vidéos simultanées en train de tourner sur un cylindre transparent en 3D où chaque vidéo était un élément de la liste en question. Bien sûre ce n’étais pas le seul exemple, mais, sans doute, le plus parlant.
Lors de cette présentation nous avons aussi eu droit à une petite démo du logiciel Microsoft Expression Interactive Designer qui permet de créer des interfaces totalement vectorielles. Le langage permettant la définition de ces interfaces est le XAML. C’est un langage de script créé pour renforcer la séparation du modèle MVC au sein de WPF: le modèle (.NET 2 FrameWork/WinFX), la vue (XAML) et le contrôle (.NET/VB/C# en codebehind). Ainsi pour changer quoique ce soit sur l’interface, il suffit de changer le contenu du fichier XAML. Il devient dès lors envisageable de changer simplement le désigne (look ‘n’ feel) d’un logiciel par simple application d’un ensemble de « styles » et/ou d’un ensemble de « templates ». Le XAML permettant aussi idéalement, dans un avenir proche, une compatibilité multiplateforme des applications.
La fin de cette session était consacrée à l’utilisation d’Atlas pour créer des sites web « 2.0 ». Atlas étant une couche .Net permettant l’utilisation de la technologie Ajax au sein des applications .NET. Il fut alors clairement précisé qu’aucune ligne de JavaScript n’était nécessaire à l’utilisation d’Atlas pour rester multi-navigateur. Le point fort de la présentation d’Atlas fut le moment où il nous était montré que grâce à Atlas le nombre de requêtes HTTP envoyées au serveur diminuait considérablement vu que les pages web n’ont plus besoin d’être entierement entièrement quand une information change sur la page.
Le point noir de cette présentation, à mon sens, est qu’il ne nous à pas été montré de machine linux naviguant sur un site web utilisant Atlas... En effet, le navigateur doit posséder un plugin ou autre pour interpréter le contenu XML de la page web. Contenu généré par Atlas en lieu et place de JavaScript. Ceci marche aussi avec Mozilla/Firefox mais qu’en est-il d’une utilisation sous un autre système d’exploitation que Windows ? Est-ce que l’interprétation pourra marcher aussi ou est-ce que les sites web Atlas ne seront compatibles que Windows ?
Conclusion
Cette journée fut assez longue et chargé d’informations mais elle n’en fut pas moins intéressante au contraire. Elle m’a permis personnellement de découvrir des fonctionnalités que je ne connaissais pas encore ou que je n’avais pas eu l’occasion d’utiliser. Cela m’a montré qu’il faudrait que je m’y mette un peu plus sérieusement pour gagner un temps certain en développement, et qui dit temps gagné... dit argent gagné.