<html> <!-- DATE DE CREATION: 13/12/2002 --> <HEAD> <META NAME="Description" CONTENT="Exprimentation  des fins pdagogiques de Web Matrix de Microsoft"> <META NAME="Keywords" CONTENT="langage XML, Education Nationale, CRT, centre de ressource tertiaire, BTS tertiaires"> <META NAME="Author" CONTENT="Estve Michel, CRT"> <META NAME="Generator" CONTENT="WebExpert 2000, Microsoft Word 10 (filtered)"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <title>Web Matrix</title> <style> <!--  /* Style Definitions */ .MsoNormal, li.MsoNormal, div.MsoNormal 	{margin-top:6.0pt; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:0cm; 	margin-bottom:.0001pt; 	font-size:pt; 	font-family:"Times New Roman"; 	color:windowtext;} .MsoCour 	{margin-top:6.0pt; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:0cm; 	margin-bottom:.0001pt; 	font-size:11.0pt; 	font-family:"Courier";} h1 	{margin-top:12.0pt; 	margin-right:0cm; 	margin-bottom:3.0pt; 	margin-left:0cm; 	page-break-after:avoid; 	font-size:20.0pt; 	font-family:Arial; 	color:navy; 	font-weight:bold;} h2 	{margin-top:12.0pt; 	margin-right:0cm; 	margin-bottom:3.0pt; 	margin-left:39.6pt; 	text-indent:-21.6pt; 	page-break-after:avoid; 	font-size:16.0pt; 	font-family:Arial; 	color:windowtext; 	font-weight:bold; 	font-style:italic;} h3 	{margin-top:12.0pt; 	margin-right:0cm; 	margin-bottom:3.0pt; 	margin-left:61.2pt; 	text-indent:-25.2pt; 	page-break-after:avoid; 	font-size:13.0pt; 	font-family:Arial; 	color:windowtext; 	font-weight:bold;} h4 	{margin-top:12.0pt; 	margin-right:0cm; 	margin-bottom:3.0pt; 	margin-left:0cm; 	page-break-after:avoid; 	font-size:14.0pt; 	font-family:"Times New Roman"; 	color:windowtext; 	font-weight:bold;} a:link, span.MsoHyperlink 	{font-family:"Times New Roman"; 	color:blue; 	text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed 	{color:purple; 	text-decoration:underline;} --> </style> </head>  <body lang="FR" link="blue" vlink="purple" bgcolor="#eeffee"> <P><TABLE WIDTH="99%" BORDER="0" CELLSPACING="0" CELLPADDING="0">   <TR><TD WIDTH="15%">     <FONT SIZE="-1"><A HREF="../../index.php"><IMG SRC="images/logoCR3.gif" WIDTH="136" HEIGHT="123" ALIGN="BOTTOM" BORDER="0" NATURALSIZEFLAG="3" ALT="Logo du crt et lien"><BR>     </A>&nbsp;maj 13/12/2002</FONT></TD>      <TD WIDTH="85%">     <CENTER><FONT COLOR="#000066" SIZE="6">Exprimentation de ASP.NET Web Matrix</font><br> 	<FONT SIZE=-1><FONT COLOR="#003399">Michel ESTEVE & Serge VIAL dans le cadre du CRT - Grenoble<br> 	Page en cours d'laboration</FONT></FONT></CENTER> 	</TD></TR></TABLE></P>  <blockquote> <p class="MsoNormal"><B><FONT COLOR="#003366">Web Matrix </FONT></B>a t propos au dbut de l't 2002 comme version gratuite de  Visual Studio .NET, le produit Microsoft pour l'Internet de demain. C'est une interface graphique  de dveloppement associe  la plateforme SDK .NET Framework.  Web Matrix peut se tlcharger librement et s'installe trs facilement. Trois raccourcis s'ajoutent  aux programmes : ASP.NET Web Matrix pour l'interface graphique, ClassBrowser qui ouvre un catalogue infini de modules, Documentation. Web Matrix ne peut s'utiliser que si le .NET Framework est install. </p> <br>  <div style="border:solid navy 1.0pt;padding:1.0pt 4.0pt 1.0pt 4.0pt"> <h1 style="margin-left:18.0pt;text-indent:-18.0pt;border:none;padding:0cm">Gnralits sur Matrix, sur  ASP.NET, sur les "Web Forms"...</h1></div>  <p class="MsoNormal">ASP.NET Web Matrix supporte plusieurs options de dploiement pour des  Web Server : ASP.NET Web Matrix Server, Microsoft Internet Information Server (IIS),  ISP Hosting distants des FAI ...  Le serveur Web <B><FONT COLOR="#003366">"ASP.NET Web Matrix Server"</FONT> </B> est automatiquement install avec Web Matrix et de ce fait vite l'installation d'un autre serveur Web sur la machine de dveloppement. Toutefois ici on a utilis IIS.  </p>  <p class="MsoNormal">Matrix est intgr  <B><FONT COLOR="#003366">ASP.NET</FONT></B>, qui  est une plate-forme de dveloppement pour gnrer des applications Web d'entreprise.   ASP.NET permet de crer des applications dans tout langage compatible .NET, notamment Visual  Basic .NET, C# et JScript .NET. Intgr au .NET Framework, ASP.NET utilise les fonctionnalits  du Common Language Runtime (scurit de type, hritage, interoprabilit  entre les langages).</P>  <p class="MsoNormal">L'environnement ASP.NET n'inclut pas seulement une syntaxe compatible avec ASP  (Active Server Pages). Il fournit un nouveau modle de programmation et une nouvelle  infrastructure pour crer une nouvelle catgorie d'applications.</p>  <p class="MsoNormal">ASP.NET a t conu pour fonctionner de faon transparente avec des diteurs  HTML WYSIWYG et divers outils de programmation dont bien sr Microsoft Visual Studio .NET et Matrix.  C'est pourquoi Matrix comporte une interface utilisateur graphique (GUI, Graphical User Interface)  avec, par exemple, le glisser-lcher des "web controls", "custom controls", "lments HTML"  sur la page Web en cours de construction.</P>  <p class="MsoNormal">Les <B><FONT COLOR="#003366">Web Forms</FONT></B> sont une fonctionnalit d'ASP.NET  permettant de crer l'interface utilisateur des applications Web. Ces "Modles", disponibles dans Matrix  bien entendu, sont numrs ci-dessous. Ils permettent de gnrer des pages Web avec les "x.controls"  (formulaires).</p>  <p class="MsoNormal">Les Web Forms et <B><FONT COLOR="#003366">les services Web</FONT></B> (voir ci-dessous)  sont deux fonctionnalits offertes aux dveloppeurs. Lors de la cration d'une application ASP.NET, on  peut en choisir une ou les combiner librement. Ces fonctionnalits sont toutes deux prises en charge par  la mme infrastructure. Ici, nous n'avons pas encore test les services Web distants. Nous avons  toutefois cr des pages pour cela.</P>  <p class="MsoNormal">Citation de la documentation,  propos des services Web : </P> <DIV STYLE="font-family: Microsoft Sans Serif; font-size: small">"Un <B><FONT COLOR="#003366"> service Web XML</FONT></B> permet d'accder  distance  aux fonctionnalits serveur. Les entreprises peuvent utiliser les services Web pour exposer  des interfaces par programme  leurs donnes ou  leur logique mtier, qui peuvent tre obtenues  et manipules par des applications clientes et serveur. Les services XML Web permettent l'change  de donnes dans des scnarios client-serveur ou serveur-serveur  l'aide de normes telles que la  messagerie XML et HTTP pour faire passer des donnes  travers des pare-feu. Les services Web XML  ne sont lis  aucune technologie de composant ou convention d'appel d'objet  particulire. Quel que soit le langage dans lequel il est crit, le modle de composant qu'il  utilise et le systme d'exploitation sur lequel il est excut, le programme peut donc accder  aux services Web XML."</div> <p><br></P> <p><br></P>  <div style="border:solid navy 1.0pt;padding:1.0pt 4.0pt 1.0pt 4.0pt"> <h1 style="margin-left:18.0pt;text-indent:-18.0pt;border:none;padding:0cm">1.- La documentation </h1></div> <h2>1.1 - La documentation sur le produit lui-mme</span></h2> <p class="MsoNormal">La documentation est intgralement sur le Web et en anglais. </p> <p class="MsoNormal"><a HREF="http://www.asp.net/WebMatrix">Le site de Web Matrix</A><br> <A HREF="http://www.asp.net/Tools/redir.aspx?path=webmatrixtour">ASP.NET Web Matrix Guided Tour</A> Tour guid du produit.<br> <A HREF="http://www.asp.net/Tools/redir.aspx?path=quickstart">QuickStart Tutorials </A> Pour dmarrer rapidement.<br> <A HREF="http://www.asp.net/tools/redir.aspx?path=ibuyspy">End to End Samples </A> Modes opratoires illustrs et dtaills. Trs utiles pour commencer.<br> <A HREF="http://www.asp.net/Tools/redir.aspx?path=webmatrixbook">Read the Online Book</A> Un livre en ligne sur Web Matrix<br> <A HREF="http://www.asp.net/tools/redir.aspx?path=books">See a complete list of ASP.NET books </A> Liste de livres sur le sujet.<br> <A HREF="http://www.asp.net/forums">Forums</A> Forum index par question : il suffit de saisir les  mots clefs de sa recherche et on trouve les messages changs sur ce problme. L't 2002 a t  fertile en questions rponses. J'ai trouv la rponse  un blocage (voir ci-dessous SMDE).  Mme les dveloppeurs de Matrix rpondent.<br> <A HREF="http://www.asp.net/">Community Site</A><br> <A HREF="http://www.asp.net/webmatrix/ReleaseNotes.aspx">ASP.NET Web Matrix Release Notes </A><br></P>   <p class="MsoNormal">Les liens sont disponibles sur la page Documentation<br>  ou dans l'interface graphique (en bas,  droite, onglet "community").</P><br> <DIV ALIGN="center"><IMG SRC="matrix_fichiers/image012.jpg" BORDER="0" WIDTH="222" HEIGHT="319"></DIV>  <h2>1.2 - La documentation de la plateforme .NET Framework</span></h2> <p class="MsoNormal">Elle devrait tre accessible  partir de la fentre du "Classes Browser" mais... :  voir partie 3 de cette page.</p> <p><br></P>  <div style="border:solid navy 1.0pt;padding:1.0pt 4.0pt 1.0pt 4.0pt"> <h1 style="margin-left:18.0pt;text-indent:-18.0pt">2 - L'interface graphique de dveloppement</h1></div> <p><br></p> <p class="MsoNormal">Pour raliser les exemple ci-dessous, on a suivi les modes opratoires en ligne sur le site de Web Matrix</P>  <h2>2.1 - Exemple de l'utilisation d'un module tlcharg pour afficher les donnes d'un fichier XML</h2>  <IMG SRC="matrix_fichiers/image006.jpg" BORDER="0" WIDTH="840" HEIGHT="708"> <p class="MsoNormal">Cette image montre un document .aspx en cours d'laboration : on peut l'afficher sous quatre angles avec les onglets du bas. </p> <p class="MsoNormal">Un Custom Control a t tlcharg  partir du site Internet de Web Matrix et  install dans un sous-rpertoire prvue de Program Files. Il s'affiche dans l'<B><FONT COLOR="#003399">onglet Custom Controls</FONT></B>  des <B><FONT COLOR="#003399">botes  outils</FONT></B>,  gauche.  On l'a ensuite simplement gliss-pos sur le document, onglet "Design". Il va permettre d'afficher  le contenu d'un fichier de donnes XML : le fichier est nomm sur la ligne  adquate des <B><FONT COLOR="#003399">proprits</FONT></B>. On peut en cliquant sur le lien "Mise en forme automatique" amliorer la prsentation  du tableau.</P><br>  <p class="MsoNormal">Voici le code intgral du fichier : trs court (500 octets dont 80 espaces). La  "fonction" XmlEditGrid sera rcupre par le serveur et intgre au fichier en mme temps que les  donnes lors de la consultation de la page. Le fichier envoy vers le poste client et son navigateur  a le mme nom mais son contenu comporte un script, la mise en forme HTML des donnes,  les donnes en clair, etc. etc.(4871 octets)</P>  <div style="border:solid navy 1.0pt;padding:1.0pt 4.0pt 1.0pt 4.0pt"> <p class="MsoCour"> &lt.%@ Page Language="VB" %&gt;<br> &lt.%@ Register TagPrefix="xedit" Namespace="Swarren.XmlEditGrid" Assembly="Swarren.XmlEditGrid, 	Version=1.0.0.0, Culture=neutral, PublicKeyToken=baff81fdebefb2bf" %&gt;<br> &lt.script runat="server"&gt;<br> &lt./script&gt;<br> &lt.html&gt;<br> &lt.head&gt;<br> &lt./head&gt;<br> &lt.body&gt;<br>     &lt.form runat="server"&gt;<br>         &lt.xedit:XmlEditGrid id="XmlEditGrid1" runat="server" AllowSorting="True" 			XmlFile="XMLFile.xml"&gt;&lt./xedit:XmlEditGrid&gt;<br>     &lt./form&gt;<br> &lt./body&gt;<br> &lt./html&gt;<br></P></div> <p> </P><br> <p class="MsoNormal">Voici le rsultat ci-dessous. On rappelle que tantt, on est administrateur du  site : on cre et on installe les pages sur le site, tantt on est simple internaute et on consulte ces pages (en local ou  distance). Ici on a accd  la page avec le navigateur et on saisit  un nouvel enregistrement. La validation va l'crire dans le fichier XML source.</P>  <p><DIV ALIGN="center"><IMG SRC="matrix_fichiers/image011.jpg" BORDER=0 WIDTH=471 HEIGHT=282></DIV></P>  <p class="MsoNormal">Le tableau des donnes s'affiche dans le navigateur. Au vu du code, on comprend qu'un script  JavaScript utilisant la mthode POST lit les donnes du fichier XML et les affiche en lignes et colonnes.  On avait montr qu'on savait rdiger un script utilisant DOM pour accder  un fichier de donnes en  lecture : voir le document en ligne sur ce site, consacr  XSL & XSLT. Ici, il n'y a rien  faire  ou presque ; de plus le tableau est interactif : il permet les modifications et les ajouts (sur un  site Internet ou Intranet, il faut dfinir les droits d'accs : des "classes" sont prvues).</P>  <p class="MsoNormal">Le tlchargement de la classe Custom Control "XMLEditGrid" avait tlcharg les  quatre imagettes utilises dans le tableau affich. MAIS elles avaient t installes automatiquement  dans "Program Files" alors que le script intgr les cherchait dans le rpertoire de IIS 'Inetpub" :  elles ne s'affichaient donc pas. Les fonctions taient toutefois disponibles et les liens  apparaissaient avec leurs commentaires.</P>   <h2>2.2 - Un grand nombre de modles (les Web Forms)</h2>   <p class="MsoNormal">Un grand nombre de modles sont proposs pour crer un nouveau document : ci-dessous, nom des modles, suffixe, langage C# ou Visual Basic .NET</P>  <p class="MsoNormal">Pages gnrales : <table class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0" width="630" style="width:472.4pt;border-collapse:collapse;border:none">  <tr> <td><p class="MsoNormal">ASP.NET Page</p></td><td><p>.aspx</p></td><td><p>C#</p></td> </tr><tr> <td><p>ASP.NET User Control</p></td><td><p>.ascx</p></td><td><p>C#</p></td> </tr><tr> <td><p>HTML Page</p></td><td><p>.htm</p></td><td><p>&nbsp;</p></td> </tr><tr> <td><p>XML Web Service</p></td><td> <p>.asmx</p></td><td><p>C#</p></td> </tr><tr> <td><p>Class</p></td><td><p>.cs</p></td><td><p>C#</p></td></tr>  <tr><td><p>Style Sheet</p></td><td><p>.css</p></td><td><p>&nbsp;</p></td></tr>  <tr><td><p>Global.asax</p></td><td><p>.asax</p></td><td><p>C#</p></td></tr>  <tr><td><p>Web.Config</p></td><td><p>.config</p></td><td><p>&nbsp;</p></td></tr>  <tr><td><p>XML File</p></td><td><p>.xml</p></td><td><p>&nbsp;</p></td></tr>  <tr><td><p>XML Transform</p></td><td><p>.xslt</p></td><td><p>&nbsp;</p></td> </tr>  <tr><td><p>XML Schema</p></td><td><p>.xsd</p></td><td><p>&nbsp;</p></td> </tr>  <tr><td><p>ASP.NET http Handler</p></td><td><p>.ashx</p></td><td><p>C#</p></td> </tr>  <tr><td><p>Text File</p></td><td><p>.txt</p></td><td><p>&nbsp;</p></td> </tr>  <tr><td><p>SQL Script</p></td><td><p>.sql</p></td><td><p>&nbsp;</p></td></tr> </table> </P>  <p class="MsoNormal">Data Pages : <table class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0" width="630" style="width:472.4pt;border-collapse:collapse;border:none">  <tr> <td><p>Simple Data Report</p></td><td><p>.aspx</p></td><td><p>C#</p></td> </tr><tr> <td><p>Fitered Data Report</p></td><td><p>.aspx</p></td><td><p>C#</p></td>  </tr><tr>   <td><p>Data Report with Paging</p></td> <td><p>.aspx</p></td><td><p>C#</p></td> </tr><tr>   <td><p>Data Report with Paging a</p></td><td><p>.aspx</p></td><td><p>C#</p></td>  </tr><tr>   <td><p>Master  Detail Grids</p></td><td><p>.aspx</p></td><td><p>C#</p></td>  </tr><tr>   <td><p>Editable Data Grid</p></td><td><p>.aspx</p></td><td><p>C#</p></td>  </tr><tr>   <td><p>Simple Stored Procedure</p></td><td><p>.aspx</p></td><td><p>C#</p></td>  </tr> </table> </P>  <p class="MsoNormal">Mobiles Pages : <table class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0" width="630" style="width:472.4pt;border-collapse:collapse;border:none">  <tr>   <td><p>Simple Mobile Page</p> </td> <td><p>.aspx</p></td><td><p>C#</p></td>  </tr>  <tr>   <td><p>Simple Mobile User Control</p></td><td><p>.acsx</p></td><td><p>C#</p></td>  </tr> </table> </P>  <p class="MsoNormal">Output Caching : <table class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0" width="630" style="width:472.4pt;border-collapse:collapse;border:none">  <tr>  <td><p>Vary By None</p></td> <td><p>.aspx</p></td><td><p>C#</p></td>  </tr> <tr>   <td><p>Vary Cache By Browser</p></td> <td><p>.aspx</p></td><td><p>C#</p></td>  </tr> <tr>   <td><p>Vary Cache By Headers</p></td> <td><p>.aspx</p></td><td><p>C#</p></td>  </tr> <tr>   <td> <p>Vary Cache By Parameters</p></td> <td> <p>.aspx</p></td><td><p>C#</p></td>  </tr></table> </P>  <p class="MsoNormal">Security : <table class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0" width="630" style="width:472.4pt;border-collapse:collapse;border:none">  <tr> <td><p>Login Page</p></td><td><p>.aspx</p></td><td><p>C#</p></td>  </tr><tr> <td><p>Logout Page</p></td><td><p>.aspx</p></td><td><p>C#</p></td>  </tr> <tr> <td><p>Config File</p></td><td><p>.config</p></td><td><p>&nbsp;</p></td>  </tr> </table> </P>  <p class="MsoNormal">Web Services : <table class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0" width="630" style="width:472.4pt;border-collapse:collapse;border:none">  <tr> <td><p>Simple</p></td><td><p>.asmx</p></td><td><p>C#</p></td>  </tr> <tr> <td><p>SOAP Headers</p></td><td><p>.aspx</p></td><td><p>C#</p></td>  </tr> <tr> <td><p>Custom Class</p></td><td><p>.aspx</p></td><td><p>C#</p></td>  </tr> <tr> <td><p>Output Caching</p></td><td><p>.aspx</p></td><td><p>C#</p></td>  </tr> </table> </P> <br>  <h2>2.3 - Utilisation du modle .aspx et de deux classes de la bibliothque pour afficher les  donnes d'une base MSDE</h2> <br> <p class="MsoNormal"><B><FONT COLOR="#003366">1/ </FONT></B>En trs peu de temps on ralise une page .aspx qui affichera sur l'cran du navigateur, en tableau, les donnes d'une base MSDE (voir ci-dessous le  consacr  MSDE). </P><br> <DIV ALIGN="center"> <TABLE WIDTH=95%>     <TR>       <TD WIDTH=50%><IMG SRC="matrix_fichiers/image013.jpg" BORDER="0" WIDTH="307" HEIGHT="264"></TD>       <TD WIDTH=50%>Le tableau affiche en titre des colonnes les noms des champs (des donnes) de la base MSDE. On ne peut plus changer ces noms s'il y a des enregistrements dans la table.</TD>     </TR> </TABLE></DIV><br>  <p class="MsoNormal"><B><FONT COLOR="#003366">2/</FONT></B> De mme, on ralise trs vite la page .asmx correspondante charge de prsenter  sur le Web la classe utilise et ses mthodes. Voici cette page affiche dans le navigateur.</P> <br> <DIV ALIGN="center"><IMG SRC="matrix_fichiers/image009.jpg" BORDER="0" WIDTH="576" HEIGHT="386"></DIV> <p class="MsoNormal">Cliquer sur "Description du service" fait afficher un fichier XML gnr, extension  WSDL, traduction XML de l'ensemble de la mthode.</P> <br> <p class="MsoNormal">Cliquer sur MicMethod, nom donn  la mthode utilise, fait afficher :</P> <br> <DIV ALIGN="center"><IMG SRC="matrix_fichiers/image010.jpg" BORDER="0" WIDTH="867" HEIGHT="424"></DIV> <p> </P> <br> <p class="MsoNormal">Sur cette nouvelle page, cliquer sur "Appeler" fait excuter le programme et afficher  les donnes appeles, sous forme d'un fichier XML, c'est  dire une arborescence  repliable et dpliable.</P>  <div style="border:solid navy 1.0pt;padding:1.0pt 4.0pt 1.0pt 4.0pt"> <p class="MsoCour"> &lt;?xml version="1.0" encoding="utf-8" ?agt; <br> - &lt;DataSet xmlns="http://tempuri.org/"agt;<br> - &lt;xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"agt;<br> - &lt;xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:Locale="fr-FR"agt;<br> - &lt;xs:complexTypeagt;<br> - &lt;xs:choice maxOccurs="unbounded"agt;<br> - &lt;xs:element name="Table"agt;<br> - &lt;xs:complexTypeagt;<br> - &lt;xs:sequenceagt;<br>   &lt;xs:element name="personum" type="xs:int" minOccurs="0" /agt;<br>    &lt;xs:element name="persopren" type="xs:string" minOccurs="0" /agt;<br>    &lt;xs:element name="personom" type="xs:string" minOccurs="0" /agt; <br>   &lt;/xs:sequenceagt;<br>   &lt;/xs:complexTypeagt;<br>   &lt;/xs:elementagt;<br>   &lt;/xs:choiceagt;<br>   &lt;/xs:complexTypeagt;<br>   &lt;/xs:elementagt;<br>   &lt;/xs:schemaagt;<br> - &lt;diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"agt;<br> - &lt;NewDataSet xmlns=""agt;<br> - &lt;Table diffgr:id="Table1" msdata:rowOrder="0"agt;<br>   &lt;personumagt;1&lt;/personumagt; <br>   &lt;persoprenagt;Jany&lt;/persoprenagt;<br>    &lt;personomagt;BENTHAM&lt;/personomagt; <br>   &lt;/Tableagt;<br> - &lt;Table diffgr:id="Table2" msdata:rowOrder="1"agt;<br>   &lt;personumagt;2&lt;/personumagt; <br>   &lt;persoprenagt;Mic&lt;/persoprenagt; <br>   &lt;personomagt;EVEST&lt;/personomagt; <br>   &lt;/Tableagt;<br> - &lt;Table diffgr:id="Table3" msdata:rowOrder="2"agt;<br>   &lt;personumagt;3&lt;/personumagt; <br>   &lt;persoprenagt;Eve&lt;/persoprenagt; <br>   &lt;personomagt;STEMMIC&lt;/personomagt; <br>   &lt;/Tableagt;<br> - &lt;Table diffgr:id="Table4" msdata:rowOrder="3"agt;<br>   &lt;personumagt;4&lt;/personumagt; <br>   &lt;persoprenagt;Luis&lt;/persoprenagt;<br>    &lt;personomagt;RAPHI&lt;/personomagt; <br>   &lt;/Tableagt;<br>   &lt;/NewDataSetagt;<br>   &lt;/diffgr:diffgramagt;<br>   &lt;/DataSetagt;<br> </P></div> <p class="MsoNormal"><B><FONT COLOR="#003366">Remarque :</FONT></B>Sauf erreur, toutes les pages ".asmx"  proposes par Matrix appellent des donnes d'une base MSDE.</P> <p> </P><br> <div style="border:solid navy 1.0pt;padding:1.0pt 4.0pt 1.0pt 4.0pt"> <h1 style="margin-left:18.0pt;text-indent:-18.0pt">3 - Le navigateur des "classes"</h1></div><p><br>  <p class="MsoNormal">Il est accessible  partir de l'interface graphique Web Matrix mais aussi  partir d'un  raccourci programme. Dans les deux cas on obtient le mme affichage arborescent de toutes  les "classes" disponibles de la plateforme .NET avec leurs mthodes, proprits et vnements.</P><br>  <IMG SRC="matrix_fichiers/image007.jpg" BORDER="0" WIDTH="908" HEIGHT="524"><br>  <p class="MsoNormal">Les liens vers la documentation du SDK Framework ne fonctionnent pas mais il est trs facile  de s'y rendre et de trouver l'information adquate avec les mots indiqus dans le lien.</P><br>  <br><div style="border:solid navy 1.0pt;padding:1.0pt 4.0pt 1.0pt 4.0pt"> <h1 style="margin-left:18.0pt;text-indent:-18.0pt">4 - MSDE : une base de donnes intgre</h1></div> <br> <p class="MsoNormal">MSDE est le noyau de SQL Server de Microsoft. MSDE est gratuit et tlchargeable. On l'installe sur la station exprimentale en complment de Web Matrix qui est son environnement oblig. MSDE  est en tche de fond et n'offre pas d'interface utilisateur, ni d'outils propres. Ici, nous utilisons MSDE 2000.<P> <p class="MsoNormal">Evidemment pour exprimenter les fonctions d'accs aux bases de donnes de Web Matrix et accder aux  donnes de la base, il faut dmarrer le serveur MSSQL Server sur la station. </P> <p class="MsoNormal">Un paramtrage est ncessaire pour ouvrir l'accs  une base cre. La base (tables,  structure, donnes...) peut tre cre dans Matrix : les tests des pages ASPX avec la base fonctionnent. MAIS la base n'est pas accessible lorsqu'on ouvre la page avec le navigateur SI on n'a pas au pralable effectu ce paramtrage. Voir la documentation relative  MSDE sur le site de Web Matrix. Une  ambigut de cette documentation toutefois avait bloqu nombre d'exprimentateurs.  Voici le paramtrage indiqu dans la documentation :</P> <BLOCKQUOTE><p class="MsoCour">osql -E -S [SERVER] -Q "sp_grantlogin '[USERNAME]'"<br> osql -E -S [SERVER] -d [DATABASE] -Q "sp_grantdbaccess '[USERNAME]'"<br> osql -E -S [SERVER] -d [DATABASE] -Q "sp_addrolemember 'db_owner', '[USERNAME]'"</p></BLOCKQUOTE> <p class="MsoNormal">Que faut-il entendre par [USERNAME] ? La premire rponse est venue des internautes  amricains ds le 9/07/2002 : [NOM_DE_L'ORDINATEUR\ASPNET].<br> <p class="MsoNormal">Il faut savoir que lors de l'installation du SDK Framework .NET, un "LOCAL user  account" est cr, nomm "ASPNET". C'est ce nom qui est attendu par le systme lorsqu'on utilise  l'authentification Windows (par dfaut). Remarque : le choix du mode d'authentification est fait lors  de la dfinition de l'accs  la base. Les autres modes (NT et SQL) ncessitent la cration  d'un compte d'accs.<br> Conclusion : par dfaut, mettre "[nom machine]\ASPNET" pour "USERNAME".</p> <p class="MsoNormal">Donc, sous DOS, aller dans : <br> <p class="MsoCour">C:\Program Files\Microsoft SQL Server\80\Tools\Binn</P><br> et excuter<br> <BLOCKQUOTE><p class="MsoCour">osql -E -S localhost -Q "sp_grantlogin 'HP762FR\ASPNET' <br> osql -E -S localhost -d Personnel -Q "sp_grantdbaccess 'HP762FR\ASPNET'" <br> osql -E -S localhost -d Personnel -Q "sp_addrolemember 'db_owner', 'HP762FR\ASPNET'<br></P></BLOCKQUOTE> "Personnel" est le nom de la base ; "HP762FR" est le nom de mon ordinateur. Quant  ASPNET, vous le savez maintenant.</P>  </P> <p class="MsoNormal">La base, les tables et leurs structures se dfinissent facilement depuis l'environnement Web Matrix. On peut ventuellement ensuite y accder directement de la mme faon... tant entendu  que la gestion normale des donnes se fera  travers des pages clientes d'interface HTML (dynamiques).</P> <br> <DIV ALIGN="center"><IMG SRC="matrix_fichiers/image008.jpg" BORDER="0" WIDTH="239" HEIGHT="302"></DIV> <br> <p class="MsoNormal">Un trs grand nombre de classes disponibles permettent l'ouverture et la fermerture de la base, l'accs aux donnes en lecture et/ou ajout et/ou modification.</P>  <br> <div style="border:solid navy 1.0pt;padding:1.0pt 4.0pt 1.0pt 4.0pt"> <h1 style="margin-left:18.0pt;text-indent:-18.0pt">Conclusion</h1></div> <br> <p class="MsoNormal">Le potentiel pdagogique et professionnel de ces outils est remarquable. On dispose  d'une couche mtier centre sur les pages .ASPX qui met  la disposition des professionnels non informaticiens des centaines de modules paramtrables pour crer sans programmation  les interfaces client de gestion des donnes (donnes au format XML ou SQL).<br>  La couche constitue des Web Services (pages ASMX...) exigeant des connaissances en matire de format de  transmission des donnes, de scurit... est de la comptence des informaticiens. </P> <br> <TABLE WIDTH="100%" BORDER="0" CELLSPACING="2" CELLPADDING="0"> <TR> <TD WIDTH="50%" BGCOLOR="#e3b882"><A HREF="veille.htm" TARGET="_top">Retour  Veille technologique</A></TD>  <TD WIDTH="50%" BGCOLOR="#e3b882"><A HREF="../../index.php" TARGET="_top">Retour  l'accueil de CRT</A></TD>  </TR></TABLE> <DIV ALIGN="center"><font size="-5">http://www.ac-grenoble.fr/crt/national/veille/matrix.htm</font></DIV> </div> </body> </html> 
