[English]
Media Center uses the engine for internet explorer within Windows Media Center's own browser window and use MSHTML to host html applications. What does it mean? Well that’s a great news for Silverlight developersJ. We can develop Silverlight application which will be accessible through windows media center.
You will have to develop a javascript wrapper to access to media center object. This object will allow you to manage and control functionalities of your Media Center.
Once you have developed your Silverlight application, you just have to reference it in Media Center.
Create a text file with .mcl extension, edit it with notepad and copy it to media center programs folder (C:\Users\{yourname or media center extender name}\AppData\Roaming\Media Center Programs):
<application
Title = "mceTestSilver.mcl"
id = "{7A88E155-4940-4c33-89EB-EA224A0A3B5C}"
url = "http://localhost/smooth/Source720p24-1minute.html"
/>
The url parameter references the path of your silverlight application. The title will allow you to find your application in your media center program library. The id is required and can be generated with “Create Guid” tool.
Start Windows Media Center and navigate to Online Media / program library


You can reference non specific media center Silverlight application. But be careful, using application through Media Center brings accessibility constraints that you shouldn’t forget. Your application will be able to be viewed on TV and controlled through remote control. You could find more info about it in the section “Managing Focus and navigation” of the SDK.
[Français]
Windows Media center utilise le moteur d’internet explorer 7 au sein de sa fenêtre de navigation et utilise MSHTML pour héberger les applications html. Qu’est ce que cela signifie ? Que c’est une super nouvelle pour les développeurs Silverlight J On va pouvoir développer des applications Silverlight qui seront accessibles via Media Center.
Vous aurez à développer un « Wrapper » javascript pour accéder à un objet Media Center. Cet objet vous permettra de gérer et contrôler les différentes fonctionnalités de votre media center.
Une fois votre application Silverlight développée, il ne vous reste plus qu’a la référencer au sein de votre media center.
Créez un fichier texte avec l’extension .mcl, éditez le avec le blocnote et copiez le dans le répertoire des programmes media center (C:\Users\{votre login ou celui de votre extender media center}\AppData\Roaming\Media Center Programs):
<application
Title = "mceTestSilver.mcl"
id = "{7A88E155-4940-4c33-89EB-EA224A0A3B5C}"
url = "http://localhost/smooth/Source720p24-1minute.html"
/>
Le paramètre « url » référence le chemin qui permet d’accéder à votre application Silverlight. Le paramètre « title » va permettre d’identifier votre application dans votre bibliothèque de programme Media center. Enfin, le paramètre « id » est requis et peut être généré à l’aide de l’outil « Create Guid » de Visual Studio.
Démarrer Windows Media Center et naviguer jusqu’au menu Online Media / program library


Vous pouvez référencer des applications Silverlight qui ne sont pas spécifiques au Media Center. Cependant, faites attention, utiliser une application à travers Media Center implique des contraintes d’accessibilité qu’il ne faut pas oublier. Votre application devra être capable d’être visionné sur une TV et contrôlé à l’aide d’une télécommande. Vous trouverez plus d’informations à ce sujet dans la section « Managing Focus and navigation » du SDK.
[English]
Today I talked with my colleague Aurelien (http://blogs.msdn.com/aurelien/) who told me about Microsoft Image Composite Editor. This tool manages your panoramic images to create a high-resolution panorama. (An algorithm automatically place source images and determine panorama type). You can export the result with different image formats: JPEG, PNG …. and DeepZoom J
For more information and to download this tool: http://research.microsoft.com/en-us/um/redmond/groups/ivm/ICE/

[French]
Aujourd’hui, j’ai discuté avec mon collègue Aurélien (http://blogs.msdn.com/aurelien/) qui m’a parlé de Microsoft Image Composite Editor. Cet outil va vous permettre de générer un panorama HD à partir de vos photos panoramiques (un algorithme va ordonner automatiquement vos photos et déterminer le type de panorama à générer). Le résultat peut être exporté en différent formats d’image: JPEG, PNG …. et DeepZoom J
Pour plus d’informations et pour télécharger l’outil : http://research.microsoft.com/en-us/um/redmond/groups/ivm/ICE/
![clip_image001[4] clip_image001[4]](http://blogs.msdn.com/blogfiles/maximelamure/WindowsLiveWriter/MergeSilverlightandDeepZoomtoexploreyour_1306D/clip_image001%5B4%5D_thumb.gif)
[English]
PowerShell is very powerful and allows you to script and manage easily your IT. The following scripts show you how you can use WMI to manage IIS 6.
Set App Pool
$newVDir =[wmi] 'root\MicrosoftIISv2:IIsWebVirtualDirSetting.Name="W3SVC/1/ROOT/MaxVirtDir"' $newVDir.AppPoolId = "MaxAppPool" $newVDir.Put() |
Enable Web Service Extension (WebDav for example)
$Sites=[wmi]'root/MicrosoftIISv2:IISWebService="W3SVC"' $Sites.EnableWebServiceExtension('WEBDAV') |
[Français]
PowerShell est très puissant et vous permets de scripter et gérer facilement votre infrastructure. Les scripts suivants illustre comment utiliser WMI pour configurer IIS 6
Modification de l’application pool
$newVDir =[wmi] 'root\MicrosoftIISv2:IIsWebVirtualDirSetting.Name="W3SVC/1/ROOT/MaxVirtDir"' $newVDir.AppPoolId = "MaxAppPool" $newVDir.Put() |
Activer une extension de site web (WebDav par exemple)
$Sites=[wmi]'root/MicrosoftIISv2:IISWebService="W3SVC"' $Sites.EnableWebServiceExtension('WEBDAV') |
[English]
Now that you are a master in Silverlight 2 concepts (http://silverlight.net/GetStarted/), that you played with controls (http://silverlightcontrib.org/ and http://www.codeplex.com/Silverlight) and enjoyed your friends with DeepZomm demos (http://www.new-megane.renault.co.uk/?WT.srch=1), you just have to develop a full application :-)
To help you, the following links may help you to design your architecture and manage resources.
Composite application guidance for WPF and Silverlight (Prism 2): http://www.codeplex.com/CompositeWPF
Architecture guidance: 21st chapter is about best practice for RIA: http://www.codeplex.com/AppArch
Security guidance about architecture using WCF: http://www.codeplex.com/WCFSecurityGuide
Tips to build high performance Silverlight media player: http://on10.net/blogs/benwagg/Building-high-performance-Silverlight-Media-Players/
MVVM pattern implementation sample recommended building Silverlight application:
http://jonas.follesoe.no/YouCardRevisitedImplementingTheViewModelPattern.aspx or http://www.nikhilk.net/Silverlight-ViewModel-Pattern.aspx
Article about integration of ADO.net data services, Entity Framework and Silverlight: http://msdn.microsoft.com/en-us/magazine/cc748663.aspx?pr=blog
Best practices for search engine optimization of Silverlight applications: http://silverlight.net/learn/whitepapers/seo.aspx
[Français]
Maintenant que vous maîtrisez les concepts présents dans Silverlight 2 (http://silverlight.net/GetStarted/), que vous avez joué avec les différents contrôles (http://silverlightcontrib.org/ et http://www.codeplex.com/Silverlight) et que vous épatez vos amis avec des démos DeepZoom (http://www.new-megane.renault.co.uk/?WT.srch=1), il ne vous reste plus qu’a assembler tout ça pour réaliser une application :-)
Pour vous aider, voici quelques liens sur les bonnes pratiques d’architecture et de gestion de ressources en Silverlight :
Un guide d’implémentation pour les applications composites WPF et Silverlight (Prism 2) : http://www.codeplex.com/CompositeWPF
Un guide d’architecture. Le chapitre 21 explique les bonnes pratiques d’architectures pour les applications RIA : http://www.codeplex.com/AppArch
Un guide de sécurité sur le design de vos architectures utilisant WCF. http://www.codeplex.com/WCFSecurityGuide
Conseils & bonnes pratiques concernant la vidéo: http://on10.net/blogs/benwagg/Building-high-performance-Silverlight-Media-Players/
Un exemple d’implémentation du pattern MVVM recommandé pour les applications Silverlight : http://jonas.follesoe.no/YouCardRevisitedImplementingTheViewModelPattern.aspx ou http://www.nikhilk.net/Silverlight-ViewModel-Pattern.aspx
Un article sur l’intégration d’ADO.net data services, Entity Framework et Silverlight : http://msdn.microsoft.com/en-us/magazine/cc748663.aspx?pr=blog
Bonnes pratiques pour optimiser le référencement de vos applications Silverlight par les moteurs de recherche : http://silverlight.net/learn/whitepapers/seo.aspx
MSDN fête ses 10 ans, et pour l’occasion, Microsoft France organise un grand jeu-concours jusqu’au 19 avril.
C’est gratuit et de nombreux lots sont à gagner. Alors n’hésitez pas :-)
Pour l’inscription et plus d’info:
http://www.microsoft.com/france/msdn/10-ans/default.aspx

[English]
Silverlight contrib alpha 2 has recently been releasing. We can find a “cool menu” control which allows us to easily build a “Mac OS dock bar” menu style.
![clip_image002[13] clip_image002[13]](http://blogs.msdn.com/blogfiles/maximelamure/WindowsLiveWriter/HowtocreateacoolmenuMacOSstylewithSilver_FCB0/clip_image002%5B13%5D_thumb.jpg)
The CoolMenu control contains items collection, named CoolMenuItemCollection.
Each Item, represented by a CoolMenuItem object, contains a content property which can host any objects type: Image, Video, Rectangle …
The following code illustrates how to use this control:
<UserControl x:Class="TestMenu.Page" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml xmlns:contrib="clr-namespace:SilverlightContrib.Controls;assembly=SilverlightContrib.Controls" Width="800" Height="600">
<StackPanel>
<contrib:CoolMenu x:Name="menu" Height="150">
<contrib:CoolMenu.Items>
<contrib:CoolMenuItemCollection>
<contrib:CoolMenuItem>
<contrib:CoolMenuItem.Content>
<Image Source="../Images/Envelope.png" Margin="5" />
</contrib:CoolMenuItem.Content>
</contrib:CoolMenuItem>
<contrib:CoolMenuItem>
<contrib:CoolMenuItem.Content>
<Image Source="../Images/Find.png" Margin="5" />
</contrib:CoolMenuItem.Content>
</contrib:CoolMenuItem>
...
</contrib:CoolMenuItemCollection>
</contrib:CoolMenu.Items>
</contrib:CoolMenu>
</StackPanel>
</UserControl>
Silverlight contrib: http://silverlightcontrib.org/
SourceCode : click here
[Français]
La version alpha 2 de silverlight contrib a été récemment publiée. On peut y trouver le contrôle « Cool Menu » qui permet de créer facilement un menu de style « Mac OS dock bar ».
![clip_image002[13] clip_image002[13]](http://blogs.msdn.com/blogfiles/maximelamure/WindowsLiveWriter/HowtocreateacoolmenuMacOSstylewithSilver_FCB0/clip_image002%5B13%5D_thumb.jpg)
Le contrôle CoolMenu contient une collection d’éléments, nommée CoolMenuItemCollection.
Chaque élément, représenté par un objet CoolMenuItem, possède une propriété « Content » qui peut contenir tout type d’objet : Image, Vidéo, rectangle …
L’exemple de code suivant illustre l’utilisation de ce contrôle :
<UserControl x:Class="TestMenu.Page" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml xmlns:contrib="clr-namespace:SilverlightContrib.Controls;assembly=SilverlightContrib.Controls" Width="800" Height="600">
<StackPanel>
<contrib:CoolMenu x:Name="menu" Height="150">
<contrib:CoolMenu.Items>
<contrib:CoolMenuItemCollection>
<contrib:CoolMenuItem>
<contrib:CoolMenuItem.Content>
<Image Source="../Images/Envelope.png" Margin="5" />
</contrib:CoolMenuItem.Content>
</contrib:CoolMenuItem>
<contrib:CoolMenuItem>
<contrib:CoolMenuItem.Content>
<Image Source="../Images/Find.png" Margin="5" />
</contrib:CoolMenuItem.Content>
</contrib:CoolMenuItem>
...
</contrib:CoolMenuItemCollection>
</contrib:CoolMenu.Items>
</contrib:CoolMenu>
</StackPanel>
</UserControl>
Silverlight contrib: http://silverlightcontrib.org/
Code source: ici
[English]
Video is more anymore present on the web. The success of specialized sites (YouTube, Dailymotion) and VOD sites bring new scenarios and technologies like Flash and Silverlight have real added values in this domain.
For the first version, Silverlight took advantage with HD support. The version 2, released a few days ago, integrate the “core CLR” (allows you to develop in .net) and a set of controls which bring a real gain of productivity.
On client side, Silverlight supports HD, streaming and DRM. You can find many player or tutorials on the web.
On server side, the great news come from IIS 7 media pack bringing media extension for IIS 7.0, enables adaptive streaming of media to Silverlight clients over HTTP (smooth streaming). In waiting the public beta in Q1 2009, you can see smooth streaming in action on this partner web site: http://www.smoothhd.com

Few links:
Windows Media Service 2008 is the actual streaming solution on Windows server: http://www.microsoft.com/windows/windowsmedia/forpros/serve/prodinfo2008.aspx
Expression encoder is a tool to encode your media: http://www.microsoft.com/expression/products/overview.aspx?key=encoder
IIS 7 media pack: http://www.iis.net/media
Silverlight: http://www.microsoft.com/silverlight/
Silverlight streaming offers free streaming and application hosting (up to 10 Go): http://www.microsoft.com/silverlight/resources/streaming.aspx
[Français]
Aujourd’hui, la vidéo est plus que présente sur le web. Le succès des sites spécialisés (youtube, dailymotion) et des sites de VOD apportent de nouveaux scénarii et les technologies comme Flash et Silverlight ont une vraie valeur ajoutée dans ce domaine.
Lors de sa sortie, Silverlight prenait un avantage avec le support HD. La version 2, sortie il y a quelques jours, intègre la « core CLR » (permet de développer en .net) et une palette de contrôles non négligeables offrant un réel gain de productivité.
Côté client, Silverlight supporte le streaming, la HD et le DRM. Des nombreux players sont disponibles sur le web.
Côté serveur, la grande nouveauté vient de IIS 7 media pack apportant une extension de streaming pour IIS 7 (smooth streaming). Cette extension permet de streamer des medias à travers http pour des clients Silverlight. En attendant la beta prévue pour début 2009, vous pouvez admirer une preview sur le site (et client partenaire) http://www.smoothhd.com/
Quelques liens :
Windows Media Service 2008 qui est aujourd’hui la solution de streaming sur Windows serveur: http://www.microsoft.com/windows/windowsmedia/forpros/serve/prodinfo2008.aspx
Expression encoder pour encoder vos médias: http://www.microsoft.com/expression/products/overview.aspx?key=encoder
IIS 7 media pack: http://www.iis.net/media
Silverlight: http://www.microsoft.com/silverlight/
Silverlight streaming qui vous permet déposer jusqu’à 10go de vidéos gratuitement: http://www.microsoft.com/silverlight/resources/streaming.aspx
The Silverlight 2 Beta 2 BluePrint for Sharepoint has just been release. It provides guidances and samples to learn and illustrate how to integrate Silverlight application with Sharepoint.
For more information: http://www.codeplex.com/SL4SP
[English]
Easy with the InkPresenter Control :-). This control sets the surface where we could draw.
It contains a Stroke Collection to set the style of our lines (color, size …). Each stroke contains a StylusPoint collection which represents points linked by our line
So, a line is defined by a set of points (Stylus Collection) linked to a style (Stroke)
To draw our line, we need to subscribe buttons and movements events of our mouse (or stylet for tablet pc).
MouseLeftButtonDown : Here we init the style of our line by instantiating a new Stroke object and by adding the first Styluspoint which represents the start point of our line.
MouseMove : We get the stylus point thanks to the current position of the mouse, and add it to our Inkpresenter control (throw the Stroke object)
MouseLeftButtonUp : We release the mouse capture. Our line is finished and we can delete the reference to the current stroke
[Français]
Tout simplement avec le contrôle InkPresenter :-). Ce contrôle va permettre de définir notre surface d’écriture.
Il est constitué d’une collection de Stroke définissant le style de nos traits (couleur, taille …). Chaque Stroke contient une collection de StylusPoint qui représente les points reliés par des traits.
Un trait est donc défini par un ensemble de points (Stylus collection) associé un style (Stroke)
Pour dessiner notre trait, nous allons nous abonner aux événements liés aux boutons et au mouvement de notre souris (ou de notre stylet pour les tablet pc).
MouseLeftButtonDown : On initialise ici le style de notre trait en instanciant un nouvel objet Stroke et en lui ajoutant le premier StylusPoint qui constituera le point de départ de notre trait
MouseMove : On y récupère la position courante de notre curseur et on ajoute le StylusPoint correspondant à notre contrôle InkPresenter (à travers notre instance d’objet Stroke)
MouseLeftButtonUp : On arrête la capture de la souris. Note trait est terminé et nous pouvons supprimer le Stroke courant.

[English]
It’s possible to display, in your browser, the rendering performance of your silverlight application (fps). For that, you just have to set, in the silverlight init params, the value of « EnableFrameRateCounter » property to true. This seetings is recomanded during your development.
HTML

ASPX
[French]
Il est possible d’afficher, au sein de votre navigateur, le niveau de performance de votre application Silverlight (fps). Pour cela, il suffit de modifier, au sein des paramètres d’initialisation de Silverlight, la valeur de la propriété « EnableFrameRateCounter » à true. Ce paramètrage est recommandé au cours de vos développements.

[English]
Patterns & practices team has just released the composite application guidance for WPF. This guidance brings architecture and design pattern recommendation which can help you split the development of your WPF client application across multiple development teams. The guidance includes a reference implementation, reusable library code, documentation, quick start tutorials and hands-on-labs.
More info: http://www.codeplex.com/CompositeWPF
[Français]
L’équipe patterns & practices de Microsoft vient de sortir un guide sur le développement d’applications composites en WPF. Ce guide offre des recommandations sur l’architecture et sur le design de patterns qui vont vous permettent de séparer les développements d’une application client WPF à travers de multiples équipes de développement. Ce guide inclut des exemples d’implémentations, des librairies ainsi que des tutoriaux et une documentation.
Pour plus d’information : http://www.codeplex.com/CompositeWPF

[English]
When you create a new SilverLight project, Visual Studio asks you which type of “hoster” you want to host your SilverLight Application.
The “copy to configuration specific folders” option allows you to set if you want to copy the .xap file to a configuration specific sub-folder (debug/release) of the target folder (ClientBin).
Example (if checked):
[Français]
Lors de la création de votre application, Visual Studio vous demandera au sein de quel type de « hoster » vous voulez héberger votre projet.
L’option “copy to configuration specific folders” permet de spécifier si le copie du fichier .xap (application SilverLight compilée) se fait dans un sous répertoire spécifique à la configuration d’exécution (debug / release) du répertoire de destination (ClientBin).
Exemple (si coché):
![clip_image004[1]](http://blogs.msdn.com/blogfiles/maximelamure/WindowsLiveWriter/WhatisCopytoConfigurationspecificfolders_C07A/clip_image004%5B1%5D_thumb.jpg)
[English]
We will illustrate in this post how to create a simple Silverlight application.
To develop Web application with Silverlight 2, you need Visual Studio 2008 (express edition not yet supported L) and install the Silverlight Beta 2 chainer installer (http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=50a9ec01-267b-4521-b7d7-c0dba8866434). This installer will set up your environment (Visual Studio template, Sl runtime, SDK).
Once installed, you can create a new Silverlight project from Visual Studio from /New/Project/SilverLight/Silverlight Application.
Silverlight is not a standalone plug-in. It needs to be hosted in a HTML Web page. During the creation of your application, Visual Studio will ask you in which type of “hoster” you want to host your project (Web Site or simple HTML page). In our example, we choose Web Site.
Visual Studio generates two projects: The Silverlight project and the Web project which hosts the Silverlight Application.
The Silverlight project contains App.Xaml file which represents the base class of your SL application. By default, this class instanciates the Page.xaml User Control which represents the first control of your application.
The Web Project contains:
- Default.aspx Web page which is not used (can be deleted)
- A ClientBin repository which contains the Silverlight project compiled (as a .xap file)
- A test page XXTestPage.aspx which hosts your Silverlight project thanks to ScriptManager ajax control and the Silverlight server control which references the .xap file.
- A test page XXTestPage.html which hosts your Silverlight project thanks to the “object” javascript object which references the .XAP file
Finally, Visual studio creates for us different projects, references between the project, test pages (depends on what we want/need) and basic controls to start quickly our project.
We are going to customize our application by adding a TextBlock control to display a simple text in the Page.XAML.
Press F5 and you should see the following screen:
When you pressed F5, the Silverlight project was compiled and generated a .XAB file which is copied to ClientBinFolder of your Web Project.
You have just created your first SL application …
[Français]
Nous allons voir à travers ce post comment créer notre première application Silverlight.
Pour développer une application en Silverlight 2, vous aurez besoin de VisualStudio 2008 (la version Express n’est pas encore supportée) et d’y installer le composant additionnel correspondant (http://www.microsoft.com/downloads/details.aspx?FamilyID=50A9EC01-267B-4521-B7D7-C0DBA8866434&displaylang=fr) Ce composant installera les contrôles nécessaires au développement et à l’exécution d’une application en Silverlight 2 (Template Visual Studio, SDK, runtime …).
Une fois installé, vous pouvez créer une nouvelle application SL à partir de l’entrée de menu de Visual Studio /New/Project/SilverLight/Silverlight Application.
Silverlight est un plug-in qui ne peut pas s’exécuter seul. Il nécessite d’être hébergé au sein d’une page Web. Lors de la création de votre application, Visual Studio vous demandera au sein de quel type de « hoster » vous voulez héberger votre projet (Web site ou page HTML). Dans notre exemple, nous choisirons d’utiliser un projet de type « Web Site ».
Visual Studio générera alors 2 projets: Votre projet Silverlight ainsi que le projet Web qui hébergera votre application SL.
Le projet Silverlight contient un fichier App.XAML qui représente la classe de base de votre application SL. Par défaut, cette classe instancie le contrôle utilisateur Page.Xaml qui constituera le premier contrôle de votre application.
Le projet Web est constitué:
- D’une page Web Default.aspx qui n’est pas utile (peut être supprimée)
- D’un répertoire « ClientBin » contenant le projet Silverlight sous forme compilée (.xap)
- Une page de test XXTestPage.aspx qui héberge le projet Silverlight à l’aide du contrôle Ajax ScriptManager et du contrôle serveur Silverlight qui référence le fichier .xap
- Une page de test XXTestPage.html qui héberge le projet Silverlight à l’aide du l’objet javascript “object” qui référence le fichier .Xap
Visual Studio nous a donc créé les différents projets, les références entre ces projets, des pages de tests (en fonction de ce que l’on veut) et des contrôles de bases pour pouvoir démarrer rapidement notre projet.
Nous allons personnaliser notre application en ajoutant le contrôle TextBlock pour afficher un texte simple au sein du contrôle Page.XAML
Appuyez sur F5 et vous devriez voir apparaître l’écran suivant:
En appuyant sur F5, votre projet Silverlight est compilé sous forme de fichier .XAB et est copié dans le répertoire ClientBin de votre projet WEB.
Et voilà, vous venez de créer votre première application Silverlight 2 …
[English]
Environment is a problem of everyone. Microsoft is among companies which are concerned by the conservation of our earth. His implication comes with the organization of worldwide competition about environment (Imagine Cup), by communication about best practices in IT and in their products.
You can find more information about environment problems in the following web site: http://www.microsoft.com/environment/
[Français]
L’environnement est un problème qui nous concerne tous. Microsoft fait parti des entreprises soucieuses de la conservation de notre planète. Son implication passe par de nombreuses actions telles que l’organisation d’un concours mondial sur l’environnement (Imagine Cup), la communication de bonnes pratiques au sein des structures IT ainsi que dans l’utilisation de ses produits.
Un site dédié aux problèmes de l’environnement et des bonnes pratiques à avoir est disponible ici.
http://www.microsoft.com/environment/
