Translate this site using Windows Live Translator:
Welcome to TechNet Blogs Sign in | Join | Help

Silverlight – premiers pas (#3) : back to basics

Pas plus tard qu’aujourd’hui, en discutant avec un collègue voulant s’initier à Silverlight, il est apparu pendant notre conversation que la création d’applications de type Silverlight (on peut étendre à tout RIA) peut se révéler obscure au niveau de la conception ou de l’intégration dans des pages web.

Pour clarifier cela, quelques basiques : l’intégration d’une application Silverlight dans une page HTML, l’interface Expression Blend et les notions de contrôles dans Blend.

 

 

Intégration d’une application Silverlight dans une page HTML

 

 

Je concède que le développement de sites web et leur design sont deux métiers à part entière. On ne s’improvise pas expert ni dans l’un ni dans l’autre, et je suis le premier à en souffrir.

Tout d’abord, lorsque l’on veut créer une application Silverlight, il faut avoir un projet concret et une bonne idée de comment on veut le mettre en forme. Donc avoir une idée du contenu et de comment on veut le présenter.

Ensuite, une fois les aspects (non exhaustifs) cités ci-dessus établis, il faut oublier le HTML pour créer ses applications Silverlight. Créer une application ne repose sur aucune notion HTML, ASPX, PHP ou autre. On verra dans un bulletin à venir qu’il est possible d’interragir avec la page HTML depuis l’application mais c’est un tout autre sujet.

Par ailleurs, on ne créé pas une application Silverlight depuis un éditeur de page HTML mais avec un environnement de développement pouvant gérer le XAML. Pour les plus téméraires, on peut toujours créer son design depuis Notepad :-)

Une application Silverlight est un objet qui est inclus dans une page web qui assumera la tâche de la charger dans le navigateur lors de l’ouverture de cette page.

 

Pour illustrer le concept, on pourrait représenter une page web avec une applications Silverlight comme ceci :

 image

 

Au sein de la page HTML, le code est le suivant pour les différents éléments :

 

Le texte :

<p>Ceci est du texte affiché dans la page HTML. Ceci est du texte affiché dans la page HTML. Ceci est du texte affiché dans la page HTML.
Ceci est du texte affiché dans la page HTML. Ceci est du texte affiché dans la page HTML. Ceci est du texte affiché dans la page HTML.</p>
-> du code HTML classique
 

L’application Silverlight :

<object id="Silverlight_Application" data="data:application/x-silverlight-2," type="application/x-silverlight-2">
  <param name="source" value="Silverlight_Application.xap"/>
  <param name="onerror" value="onSilverlightError" />
  <param name="minRuntimeVersion" value="2.0.31005.0" />
  <param name="autoUpgrade" value="true" />
  <param name="Background" value="#00000000" />
  <param name="Windowless" value="true" />
</object>


-> du code HTML classique avec des spécifications permettant de présenter l’”objet” Silverlight

L’image :

<img alt="" height="278" src="Image.gif" width="241" /></p>


-> du code HTML classique

 

L’interface Expression Blend.

 

Blend est l’outil idéal pour créer son application Silverlight (Visual Studio est une alternative). On peut y définir le design, ajouter des contrôles (boutons, images, listes déroulantes, etc…) très rapidement.

Dans la version 3, on peut même y éditer le code VB ou C#.

image

 

image

 

Les contrôles dans Blend

 

 

Une des questions abordées avec mon interlocuteur aujourd’hui était la représentation des contrôles dans l’application Silverlight.

Prenons un exemple : je veux ajouter une image dans mon application. Un simple copier/coller depuis Windows Explorer vers mon application suffit à rajouter cette image dans mon application. Mais Silverlight ne va pas seulement créer une image. Il va créer un “conteneur” de type image ayant une propriété (parmi d’autres) spécifiant l’emplacement du fichier image sur mon disque.

image

 

Ce qu’il faut comprendre c’est que mon application Silverlight est un conteneur d’objets (ou de contrôles) qui eux-mêmes disposent de propriétés permettant d’influer sur leur apparence, leur comportement, etc…

Rien de nouveau dans le développement orienté objet…

 

En image :

 

image

 

Voilà pour aujourd’hui… pardonnez-moi pour les termes utilisés ici qui ne sont pas tous tirés d’une des bibles du développement, mais l’idée est de donner ma vision de la chose en espérant avoir posé les bases principales utiles à tout amateur…

 

 

~ Guillaume

Posted by GuillaumeD | 0 Comments
Filed under:

Silverlight – premiers pas (#2) : Le premier projet

Dans la série “Développeur du dimanche”, voici un second bulletin visant à mettre le pied à l’étrier des gens qui souhaiteraient se lancer dans le développement d’applications Silverlight.

Il existe deux façons d’envisager la création d’un projet Silverlight.

La première manière, la plus simple, est de le faire avec Visual Studio en créant à la fois la solution Silverlight et la solution qui “contiendra” l’application Silverlight, soit dit le contenant HTML ou ASPX.

La seconde est de créer un projet Silverlight puis de créer la page HTML ou la page ASPX dans laquelle il faudra injecter la défnition de l’objet Silverlight.

 

 

Méthode #1

 

 

Cette façon de faire se révèle intéressante car elle permet de disposer d’une “solution” (j’emploi le terme Visual Studio) pour l’ensemble du projet de site web.

Créer un projet de cette façon permettra de rajouter par la suite des applications Silverlight supplémentaires, de les compiler en même temps et de garder une vue globale, du point de vue développement, du projet.

 

 

Comment s’y prendre :

  1. Depuis Visual Studio, créer un nouveau projet (File | New | Project…)
  2. Sélectionner Silverlight Application

    image
  3. Choisir de créer un projet Web

    image

 

Ce qui donne cela :

 

image
1) Le projet regroupant l’application Silverlight et le site web

2) Le projet Silverlight

3) App.xaml :

4) MainPage.xaml : le contenu Silverlight en lui même qui sera affiché

5) Le code C# associé au contenu Silverlight

6) Le projet du site Web

7) Le java script Silverlight.js qui permet de répondre aux évènements de chargement de l’application Silverlight

8) La page ASPX qui affichera le contenu Silverlight

9) La page HTML qui affichera le contenu Silverlight (équivalent de la page ASPX)

 

 

Méthode #2

 

 

Comment s’y prendre :

  1. Depuis Visual Studio, créer un nouveau projet (File | New | Project…)
  2. Sélectionner Silverlight Application

    image
  3. Choisir de ne pas créer un projet Web

    image

 

Ce qui donne cela :

image
1) Le projet regroupant l’application Silverlight et le site web

2) Le projet Silverlight

3) App.xaml :

4) MainPage.xaml : le contenu Silverlight en lui même qui sera affiché

5) Le code C# associé au contenu Silverlight

 

Dans cette situation, il sera nécessaire de créer de toute pièce une page ASPX ou HTML qui hébergera l’application Silverlight.

Pour ce faire, il suffit d’ajouter au code HTML les éléments suivants (représenté par le contenu du DIV silverlightControlHost) :

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" >
  3. <head>
  4.     <title>SilverlightApplication1</title>
  5. </head>
  6. <body>
  7.     <form id="form1" runat="server" style="height:100%">
  8.     <div id="silverlightControlHost">
  9.         <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
  10.           <param name="source" value="ClientBin/SilverlightApplication1.xap"/>
  11.           <param name="onError" value="onSilverlightError" />
  12.           <param name="background" value="white" />
  13.           <param name="minRuntimeVersion" value="3.0.40624.0" />
  14.           <param name="autoUpgrade" value="true" />
  15.           <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration:none">
  16.               <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/>
  17.           </a>
  18.         </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
  19.     </form>
  20. </body>
  21. </html>
 
A partir d’ici, il est désormais possible de travailler sur l’application Silverlight en elle-même.
Et pour cela, Visual Studio 2008 se révèle assez lourd car la seule façon de “designer” son application avec cet environnement de
développement est de modifier le code contenu dans le fichier XAML (prononcer zammeulle).
Ce qui peut se révèler très obscur la première fois :
  1. <UserControl x:Class="SilverlightApplication1.MainPage"
  2.    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3.    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4.    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5.    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6.    mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480">
  7.   <Grid x:Name="LayoutRoot">
  8.   </Grid>
  9. </UserControl>
 

Le mieux est d’utiliser Expression Blend qui apporte toutes les fonctionnalités nécessaires à la mise en forme de l’application Silverlight.

 

 

Dans le prochain bulletin, j’exposerais comment associer du code C# à l’application Silverlight avant d’aborder des aspects plus complexes que j’ai rencontré pendant mes pérégrinations de développeur amateur.

 

 

~ Guillaume

Posted by GuillaumeD | 0 Comments
Filed under:

Silverlight – premiers pas (#1) : se préparer

Un sacré bail que je n’ai pas posté un bulletin consistant ! La faute au maintien du blog de mon équipe (http://blogs.technet.com/windowsinternals) et à quelques nouvelles passions qui m’ont occupé ces derniers mois.

Parmi ces nouveautés, j’ai récemment commencé à loucher du côté de Silverlight pour un projet personnel et au vu de la puissance de cette interface, j’ai tout de suite pensé mettre à profit mon expérience de développeur du dimanche pour, j’espère, vous en faire profiter.

Pour resituer, Silverlight se pose en concurrent de Flash (Adobe) pour le développement de RIAs (Rich Internet Applications).

Pour ma part, ayant également joué avec du Flash, j’ai trouvé l’appropriation du développement beaucoup plus rapide et efficace. Sans doute parceque je développe depuis déjà quelques années sur du .NET Framework, je l’accorde.

Je n’ai aussi par ailleurs pas eu l’occasion de travailler avec les outils de développement d’Adobe qui doivent être plus complets que ceux que j’ai utilisé, mais j’ai tout de suite été séduit par l’homogénéité et l’intégration de l’interface de design avec la partie code à proprement parlé.

J’ai bien entendu rencontré quelques obstacles lorsque j’ai commencé à vouloir créer du contenu un peu plus complexe, mais Bing m’a bien aidé à trouver des techniques de développement avancées ainsi que de nombreux tutoriaux d’excellente facture. Sans compter la documentation présente sur MSDN.

Ce premier bulletin sur Silverlight vise à décrire la préparation d’un environnement de développement pour créer du contenu Silverlight et à lister quelques liens utiles sinon indispensables.

Silverlight Logo h c

 

 

Les logiciels indispensables

 

 

  1. Microsoft Visual Studio 2008 Service Pack 1
    1. Les éditions Express conviennent parfaitement (je préconise la version Standard), téléchargement
    2. Si vous possédez une édition payante, assurez-vous d’intaller le Service Pack 1
  2. Un package d’outils indispensables sont disponibles via le Web Platform Installer, une interface permettant de sélectionner et installer tous les assistants, outils, etc… pour le développement web depuis un seul point :
    1. Microsoft .NET Framework 3.5 Service Pack 1
    2. Microsoft SQL Server 2008 Express Edition with Service Pack 1
    3. Microsoft Silverlight 3 Tools for Visual Studio 2008 SP1
    4. Extension IIS
  3. Si vous ne passez pas par le Web Platform Installer : Microsoft Silverlight™ 3 Tools for Visual Studio 2008 SP1
  4. Expression Studio 3 ou l’un des logiciels suivants qui font parti de cette suite :
    1. Expression Blend, le minimum requis
    2. Expression Design
    3. Expression Web
    4. Expression Encoder

Note : la version 3 d’Expression Studio est en pré-commande actuellement et devrait être très rapidement disponible, autant passer sur cette version directement.

 

 

Les liens incontournables

 

 

Sites et blogs Microsoft

Le site officiel StarIcon

La communauté Silverlight StarIconStarIconStarIcon

Whitepapers Silverlight StarIconStarIcon

Silverlight Learning Resources StarIconStarIconStarIcon

Le blog de Tim Heuer (MSFT Program Manager – Silverlight) StarIconStarIcon

Silverlight Tips of the Day (Mike Snow, MSFT Software Developper) StarIconStarIconStarIcon

Jesse Liberty - Silverlight Geek StarIconStarIconStarIcon

Scott Guthrie (MSFT Corporate Vice President Developer Division) StarIconStarIconStarIcon

Beaucoup de développements et samples sur CodePlex StarIcon

Silverlight Toolkit : un jeu de contrôles, styles ou thèmes venant s'ajouter à ceux disponibles par défaut StarIconStarIconStarIcon

 

Sites découverts au fil des embuches

Design with Silverlight StarIcon

Shine Draw Your Flash vs Silverlight Repository StarIconStarIconStarIcon

 

 

~ Guillaume

Posted by GuillaumeD | 0 Comments
Filed under: ,

Je cherche et je trouve sur Bing

Cela fait un petit moment que je n’ai pas posté de bulletin sur mon blog. Un peu de travail et des vacances ont monopolisé mon temps.

J’ai cependant quelques bulletins à venir qui pourront se révéler intéressants sur ma nouvelle marotte : Silverlight. Le temps de formaliser et je posterais quelques astuces qui m’ont fait m’arracher les cheveux.

 

 

Ce n’est pas pour ça que j’écris aujourd’hui mais pour parler de Bing.

Tout le monde est au courant de l’arrivée de Bing, notre nouveau moteur de recherche.

Utilisant beaucoup la recherche sur internet tant personnellement que professionnellement, j’ai voulu comparer la pertinence des résultats avec notre fameux concurrent Google.

Avec un peu d’appréhension mais espoir !

 

Pour tout dire… je suis très très enthousiaste !

Après être passé par la version localisée de Bing pour la France et l’europe, qui est encore en beta et qui sera disponible en version complète dans quelques temps, où en effet, mes craintes se sont révélées fondées, j’ai paramétré Bing pour une localisation US.

Et là, j’ai tout de suite changé d’avis. La pertinence des résultats est plus qu’au rendez-vous car non seulement je trouve ce que je cherche en première page mais les petits bonus permettant d’afficher l’historique des recherches et les encarts résumant la page trouvée sont très utiles et encore une fois, pertinents.

 

 

Et la photo d’accueil d’aujourd’hui me plait beaucoup !

image

 

N’hésitez pas, essayez Bing !

 

~ Guillaume

Posted by GuillaumeD | 0 Comments
Filed under: ,

Intel Xeon 5500 : one more step…

Intel dévoile enfin son nouveau processeur pour les plateformes serveur, le Xeon 5500 autrement appelé “Nehalem”.

Xeon 5500

Embarquées dans ce processeur, tout un tas de nouveautés concernant la virtualisation (Hardware Assisted Virtualization) et au delà (comme dirais Buzz).

Rendez-vous sur le site suivant pour plus d’informations :

PRESS KIT - Intel® Xeon® Processor 5500 Series

 

Quant aux personnes qui assisterons aujourd’hui à notre journée sur les solutions de virtualisation, nous aurons la chance de pouvoir en discuter en primeur !

 

 

~ Guillaume

Ability to run and support Red Hat Enterprise within Hyper-V ?

And Windows on Red Hat hypervisor ? Short news but quite interesting :

Windows Virtualization Team Blog speaks about that.

Is that not huge ?

~ Guillaume

La plénière du troisième jour des TechDays 2009 consacrée à l’innovation

Cette session permet de s’échapper un peu du tumulte informatique et de prendre du recul pour avoir une vision de l’informatique de demain.

Bernard Ourghanlian nous fait part de ce que peut nous réserver l’avenir avec sa clairvoyance et sa pédagogie habituelles.

Vraiment à ne pas manquer !

image

Vivez ou revivez en vidéo la plénière du troisième jour (Innovation)

Les 12 travaux d’Hercule - Il y a bientôt 10 ans, Jim Gray, chercheur chez Microsoft hélas disparu en mer il y a 2 ans, eut l'honneur de recevoir le prestigieux Turing Award, l'équivalent du prix Nobel d'informatique ; lors du discours de réception de son prix, Jim donna une liste de 12 quêtes fondamentales, ici appelés « travaux d'Hercule ».”

 

 

~ Guillaume

Posted by GuillaumeD | 0 Comments

Savez-vous combien d’adresses IPv4 restent disponibles ?

A ce jour, à cette heure :

image

Les jours sont comptés…

Pourquoi ne pas déjà penser à IPv6 ? Un flot d’avantages sont liés.

Ne serait-ce que Direct Access…

 

~ Guillaume

USMT démystifié ?

Excellent article de David sur USMT 4 qui ouvre de nouvelles possibilités :

http://blogs.msdn.com/dsebban/archive/2009/01/27/usmt-4-votre-premi-re-migration-offline.aspx

 

~ Guillaume

MDT 2010 Beta 1 disponible sur connect !

Toutes ces annonces ! C’est comme si un nouveau produit sortait !?

image

Nouveautés :

  • Support de Windows 7 Beta et de Windows Server 2008 R2 Beta
  • Support du WAIK 2.0 Beta
  • Support de USMT 4.0 (qui apporte lui aussi quelques innovations)
  • Dupport de DSIM
  • Support de WinPE 3.0

Disponible sur connect. download MDT 2010 now

Si avec tout ça, vous ne parvenez pas à déployer Windows 7…

~ Guillaume

Windows Deployment Services – 2008 R2

Comme des bonnes nouvelles n’arrivent pas seules, voici des news sur WDS dans sa future version :

Windows Deployment Services for Windows Server 2008 R2

Windows Deployment Services: What's New

Deploying Virtual Hard Disk Images

Managing Driver Packages

Et hop ! ça arrache pas hein ?

~ Guillaume

Les grandes nouveautés de ce début d’année

Vous le savez tous déjà, Steve Ballmer l’a dit, des milliards de blogs l’ont déjà annoncé, etc…

Cependant, je ne pouvais pas m’empêcher ! Windows 7, Windows Server 2008 R2 et Hyper-V Server 2008 R2 en version Beta sont disponibles.

windows7

et

Home

Les téléchargements :

Windows 7 est disponible sur MSDN et TechNet (pour ceux qui ont un abonnement), mais très bientôt à tous (dans la limite d’un million 1/2 de downloads, si je ne m’abuse)

Windows Automated Installation Kit (Windows 7 Beta)

Windows Server 2008 R2 Beta

Microsoft Hyper-V Server 2008 R2 Beta

Parmi les nouveautés :

Testez tout ça, vous ne le regretterez pas ! Je dirais même, comme le dirait Arnaud : ça envoie du bois !

Je sens déjà les galettes chauffer !

~ Guillaume

Le contenu des libraries MSDN et TechNet offline ?

Je trouve l’idée géniale et je cherchais un outil de ce genre depuis longtemps !

Package This ! est l’outil qu’il vous faut pour sélectionner le contenu de MSDN et de TechNet, de le packager et le rendre disponible à travers un fichier CHM.

http://www.codeplex.com/packagethis

~ Guillaume

Posted by GuillaumeD | 0 Comments
Filed under: ,

La session que je regretterai de manquer…

En dehors des sessions de mon voisin de bureau Hervé et de mon compère Arnaud, la session qui sera présentée par David risque d’être particulièrement intéressante.

Déployer Windows 7 en entreprise  (WIN204)

Pour un fanatique du déploiement comme moi, c’est plus qu’alléchant !

Je ne vous force pas, mais les sessions suivantes se révèleront tout aussi sexy :

Windows Server 2008 R2 DirectAccess : Accès au réseau d'entreprise sécurisé et transparent  (SEC302) présentée par Arnaud Lheureux

Durant ces dernières années, vous avez multiplié les pare-feux, multiplié les règles de filtrage, multiplié les DMZ, multiplié les applications disponibles pour vous utilisateurs, multiplié les coûts. Avez-vous multiplié votre niveau global de sécurité ? Dans cette session vous apprendrez comment DirectAccess vous permet d'établir un accès transparent à vos ressources d'entreprise en offrant un niveau de sécurité à la hauteur de vos exigences.

Débogage d'applications en production (Web, Service, NT et autres..)  (FRA408) présentée par Hervé Chapalain

Des problèmes de crash, de fuites mémoires, de performances, ou tout autres bogues insaisissables sur votre site Web ? Cette session est faite pour vous. En direct du centre d'escalade Européen, venez rencontrer Hervé Chapalain, qui nous propose de voir les outils et méthodologie lorsque nous rencontrons ce type de situation. De l'utilisation des symboles, des Dumps et autre bonne pratiques, Hervé se propose de vous montrer le « Microsoft Windows Performance Toolkit », ainsi que quelques trucs et astuces méconnus de Windows Vista et Windows 2008.

Alors n’oubliez pas de vous inscrire :

techdays09

 

 

~ Guillaume

Posted by GuillaumeD | 0 Comments
Filed under: ,
More Posts Next page »
 
Page view tracker