<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Dreamweaver gratuit</title><link>http://dreamgratuit.canalblog.com/</link><description>Extensions et les tutorials gratuits disponibles sur internet pour Dreamweaver. PHP et ASP. Classement th&#xe9;matique. 
Blog r&#xe9;f&#xe9;renc&#xe9; par Adobe &quot;Communaut&#xe9; Dreamweaver&quot;.</description><language>fr</language><lastBuildDate>Fri, 25 Jul 2008 06:31:29 GMT</lastBuildDate><generator>CanalBlog - http://www.canalblog.com</generator><item><title>Dreamweaver CS4 Beta - le test de Jpierre</title><dc:creator>caroder</dc:creator><link>http://dreamgratuit.canalblog.com/archives/2008/07/16/9946503.html</link><category>Dreamweaver</category><comments>http://dreamgratuit.canalblog.com/archives/2008/07/16/9946503.html#comments</comments><wfw:commentRss>http://dreamgratuit.canalblog.com/feeds/rss/comments/post/9946503/</wfw:commentRss><guid isPermaLink="true">http://dreamgratuit.canalblog.com/archives/2008/07/16/9946503.html</guid><description>&lt;p&gt;JPierre, cr&#xe9;ateur du site ultradream et r&#xe9;dacteur d&apos;ASP-PHP.net, a proc&#xe9;d&#xe9; &#xe0; son propre test de la version Beta de Dreamweaver CS4. Des captures &#xe9;crans et des infos in&#xe9;dites : &#xe0; d&#xe9;couvrir absolument. Pour lire les r&#xe9;sultats, &lt;a href=&quot;http://www.asp-php.net/tutorial/asp-php/dreamweaver-beta-cs4.php&quot;&gt;c&apos;est par ici&lt;/a&gt; !&lt;/p&gt;</description><pubDate>Wed, 16 Jul 2008 16:56:00 GMT</pubDate></item><item><title>Tutorial URL rewriting de A &#xe0; Z avec Dreamweaver et PHP/MySQL - Part 2</title><dc:creator>caroder</dc:creator><link>http://dreamgratuit.canalblog.com/archives/2008/06/15/9576180.html</link><category>Tutorial URL rewriting de A &#xe0; Z avec PHP/MySQL et Dreamweaver</category><comments>http://dreamgratuit.canalblog.com/archives/2008/06/15/9576180.html#comments</comments><wfw:commentRss>http://dreamgratuit.canalblog.com/feeds/rss/comments/post/9576180/</wfw:commentRss><guid isPermaLink="true">http://dreamgratuit.canalblog.com/archives/2008/06/15/9576180.html</guid><description>&lt;p&gt;La premi&#xe8;re t&#xe2;che &#xe0; effectuer pour faire l&apos;URL rewriting avec des mots-cl&#xe9;s va consister &#xe0; int&#xe9;grer &#xe0; votre base de donn&#xe9;es, pour la ou les tables qui vous int&#xe9;ressent, une nouvelle colonne qui contiendra les mots cl&#xe9;s &amp;quot;url friendly&amp;quot; de votre URL. &lt;/p&gt;

&lt;p&gt;Que signifie &amp;quot;url friendly&amp;quot; ? Pour &#xea;tre &amp;quot;acceptable&amp;quot;, une URL ne doit pas contenir de caract&#xe8;res accentu&#xe9;s, ni d&apos;espace, ni de caract&#xe8;res sp&#xe9;ciaux tels que les points d&apos;interrogation, d&apos;exclamation, etc. Si vous ne pouvez utiliser l&apos;espace comme s&#xe9;parateur de mot, &lt;a href=&quot;http://www.webrankinfo.com/actualites/200604-optimiser-les-url.htm&quot; target=&quot;_blank&quot;&gt;Olivier Duffez recommande le tiret&lt;/a&gt; &amp;quot;-&amp;quot; (et surtout pas le underscore &amp;quot;_&amp;quot; !), voire la virgule, la barre verticale ou le slash &amp;quot;/&amp;quot;.&lt;/p&gt;

&lt;p&gt;Pour cr&#xe9;er ces URL friendly, vous avez deux possibilit&#xe9;s :&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;renseigner &amp;quot;&#xe0; la main&amp;quot; la colonne dans votre base de donn&#xe9;es qui contiendra l&apos;URL en ajoutant un champ &#xe0; votre formulaire PHP&lt;/li&gt;

&lt;li&gt;cr&#xe9;er automatique ces url en reprenant le titre de vos articles qui sont en principe susceptibles de contenir les mots cl&#xe9;s les plus pertinents pour votre article &lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Nota :&lt;/strong&gt; cette deuxi&#xe8;me solution est disponible en standard pour Wordpress lorsqu&apos;on active l&apos;URL Rewriting et c&apos;est celle qui est expliqu&#xe9;e ici.&lt;/p&gt;

&lt;p&gt;Ce qui suit vous explique comment ins&#xe9;rer automatiquement un contenu &#xe0; une colonne url_friendly lors de l&apos;insertion de nouveaux articles dans une table &amp;quot;actualit&#xe9;s&amp;quot; .Si votre base de donn&#xe9;es contient d&#xe9;j&#xe0; des enregistrements, il vous faudra peupler cette colonne manuellement ou cr&#xe9;er un script vous permettant de le faire.&lt;/p&gt;

&lt;p&gt;Entrons maintenant dans le vif du sujet… Ouvrez PHPMyAdmin et ajouter &#xe0; votre table une colonne que vous nommerez URL_FRIENDLY. Voici quant &#xe0; moi, la requ&#xea;te SQL que j&apos;ai utilis&#xe9; pour cet exemple :&lt;/p&gt;

&lt;p&gt;&lt;font class=&quot;syntaxalphasyntaxalphareservedword&quot;&gt;&lt;font lang=&quot;EN-GB&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt;&quot;&gt;ALTER&lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntax1&quot;&gt;&lt;font lang=&quot;EN-GB&quot; face=&quot;&apos;Times New Roman&apos;&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt; mso-ansi-font-size: 12.0pt; mso-ascii-font-family: &apos;Times New Roman&apos;; mso-hansi-font-family: &apos;Times New Roman&apos;;&quot;&gt; &lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntaxalphasyntaxalphareservedword&quot;&gt;&lt;font lang=&quot;EN-GB&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt;&quot;&gt;TABLE&lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntax1&quot;&gt;&lt;font lang=&quot;EN-GB&quot; face=&quot;&apos;Times New Roman&apos;&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt; mso-ansi-font-size: 12.0pt; mso-ascii-font-family: &apos;Times New Roman&apos;; mso-hansi-font-family: &apos;Times New Roman&apos;;&quot;&gt; &lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntaxquotesyntaxquotebacktick&quot;&gt;&lt;font lang=&quot;EN-GB&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt;&quot;&gt;`actualite`&lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntax1&quot;&gt;&lt;font lang=&quot;EN-GB&quot; face=&quot;&apos;Times New Roman&apos;&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt; mso-ansi-font-size: 12.0pt; mso-ascii-font-family: &apos;Times New Roman&apos;; mso-hansi-font-family: &apos;Times New Roman&apos;;&quot;&gt; &lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntaxalphasyntaxalphareservedword&quot;&gt;&lt;font lang=&quot;EN-GB&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt;&quot;&gt;ADD&lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntax1&quot;&gt;&lt;font lang=&quot;EN-GB&quot; face=&quot;&apos;Times New Roman&apos;&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt; mso-ansi-font-size: 12.0pt; mso-ascii-font-family: &apos;Times New Roman&apos;; mso-hansi-font-family: &apos;Times New Roman&apos;;&quot;&gt; &lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntaxquotesyntaxquotebacktick&quot;&gt;&lt;font lang=&quot;EN-GB&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt;&quot;&gt;`url_friendly`&lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntax1&quot;&gt;&lt;font lang=&quot;EN-GB&quot; face=&quot;&apos;Times New Roman&apos;&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt; mso-ansi-font-size: 12.0pt; mso-ascii-font-family: &apos;Times New Roman&apos;; mso-hansi-font-family: &apos;Times New Roman&apos;;&quot;&gt; &lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntaxalphasyntaxalphacolumntype&quot;&gt;&lt;font lang=&quot;EN-GB&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt;&quot;&gt;VARCHAR&lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntaxpunctsyntaxpunctbracketopenround&quot;&gt;&lt;font lang=&quot;EN-GB&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt;&quot;&gt;(&lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntax1&quot;&gt;&lt;font lang=&quot;EN-GB&quot; face=&quot;&apos;Times New Roman&apos;&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt; mso-ansi-font-size: 12.0pt; mso-ascii-font-family: &apos;Times New Roman&apos;; mso-hansi-font-family: &apos;Times New Roman&apos;;&quot;&gt; &lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntaxdigitsyntaxdigitinteger&quot;&gt;&lt;font lang=&quot;EN-GB&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt;&quot;&gt;255&lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntax1&quot;&gt;&lt;font lang=&quot;EN-GB&quot; face=&quot;&apos;Times New Roman&apos;&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt; mso-ansi-font-size: 12.0pt; mso-ascii-font-family: &apos;Times New Roman&apos;; mso-hansi-font-family: &apos;Times New Roman&apos;;&quot;&gt; &lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntaxpunctsyntaxpunctbracketcloseround&quot;&gt;&lt;font lang=&quot;EN-GB&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt;&quot;&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntax1&quot;&gt;&lt;font lang=&quot;EN-GB&quot; face=&quot;&apos;Times New Roman&apos;&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt; mso-ansi-font-size: 12.0pt; mso-ascii-font-family: &apos;Times New Roman&apos;; mso-hansi-font-family: &apos;Times New Roman&apos;;&quot;&gt; &lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntaxalphasyntaxalphareservedword&quot;&gt;&lt;font lang=&quot;EN-GB&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt;&quot;&gt;AFTER&lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntax1&quot;&gt;&lt;font lang=&quot;EN-GB&quot; face=&quot;&apos;Times New Roman&apos;&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt; mso-ansi-font-size: 12.0pt; mso-ascii-font-family: &apos;Times New Roman&apos;; mso-hansi-font-family: &apos;Times New Roman&apos;;&quot;&gt; &lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntaxquotesyntaxquotebacktick&quot;&gt;&lt;font lang=&quot;EN-GB&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt;&quot;&gt;`id_actu`&lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntax1&quot;&gt;&lt;font lang=&quot;EN-GB&quot; face=&quot;&apos;Times New Roman&apos;&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt; mso-ansi-font-size: 12.0pt; mso-ascii-font-family: &apos;Times New Roman&apos;; mso-hansi-font-family: &apos;Times New Roman&apos;;&quot;&gt; &lt;/font&gt;&lt;/font&gt;&lt;font class=&quot;syntaxpunctsyntaxpunctqueryend&quot;&gt;&lt;font lang=&quot;EN-GB&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB; mso-bidi-font-size: 9.0pt;&quot;&gt;; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Ouvrez maintenant la page de votre site contenant le formulaire d&apos;insertion d&apos;articles dans votre table &amp;quot;actualite&amp;quot;.&amp;nbsp; Placez votre curseur &lt;u&gt;avant&lt;/u&gt; la ligne $insertSQL = […]. Nous allons d&apos;abord cr&#xe9;er une fonction pour substituer aux caract&#xe8;res accentu&#xe9;s leur &#xe9;quivalent non accentu&#xe9;s :&lt;/p&gt;

&lt;p&gt;&lt;font color=&quot;#ff6600&quot;&gt;// URL Rewriting : ajout de l&apos;URL dans URL_FRIENDLY &lt;br /&gt;&lt;/font&gt;&lt;font color=&quot;#ff6600&quot;&gt;// ************************************************ &lt;br /&gt;&lt;/font&gt;&lt;font color=&quot;#ff6600&quot;&gt;// D&apos;abord fonction pour &#xf4;ter les accents &lt;br /&gt;&lt;/font&gt;&lt;font lang=&quot;EN-GB&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB;&quot;&gt;function suppAccents($url) { &lt;br /&gt;&lt;/font&gt;&lt;font lang=&quot;EN-GB&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB;&quot;&gt;return( strtr( $url, &lt;br /&gt;&lt;/font&gt;&lt;font color=&quot;#ff6600&quot;&gt;&amp;quot;&#xc0;&#xc1;&#xc2;&#xc3;&#xc4;&#xc5;&#xe0;&#xe1;&#xe2;&#xe3;&#xe4;&#xe5;&#xd2;&#xd3;&#xd4;&#xd5;&#xd6;&#xd8;&#xf2;&#xf3;&#xf4;&#xf5;&#xf6;&#xf8;&#xc8;&#xc9;&#xca;&#xcb;&#xe8;&#xe9;&#xea;&#xeb;&#xc7;&#xe7;&#xcc;&#xcd;&#xce;&#xcf;&#xec;&#xed;&#xee;&#xef;&#xd9;&#xda;&#xdb;&#xdc;&#xf9;&#xfa;&#xfb;&#xfc;&#xff;&#xd1;&#xf1;&amp;quot;, &lt;br /&gt;&lt;/font&gt;&lt;font color=&quot;#ff6600&quot;&gt;&amp;quot;AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn&amp;quot; ) ); &lt;br /&gt;&lt;/font&gt;&lt;font color=&quot;#ff6600&quot;&gt;}&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;Nous allons maintenant appliquer diff&#xe9;rent traitement &#xe0; l&apos;URL pour qu&apos;elle soit conforme &#xe0; notre attente :&lt;/p&gt;

&lt;p&gt;&lt;font color=&quot;#ff6600&quot;&gt;// Puis on applique les traitements &lt;br /&gt;&lt;/font&gt;&lt;font color=&quot;#ff6600&quot;&gt;$nomPage = $_POST[&apos;titre&apos;]; // ici on d&#xe9;finit la variable $nomPage avec le contenu du champ titre de la page &lt;/font&gt;&lt;br /&gt;&lt;font color=&quot;#ff6600&quot;&gt;$nomPage = suppAccents($nomPage); // suppression des accents par le truchement de la fonction cit&#xe9;e plus haut &lt;br /&gt;&lt;/font&gt;&lt;font color=&quot;#ff6600&quot;&gt;$nomPage = strip_tags($nomPage); // ce traitement permet de supprimer d&apos;&#xe9;ventuelles insertions malveillantes de code HTML ou PHP dans le cas ou le formulaire est public. &lt;br /&gt;&lt;/font&gt;&lt;font color=&quot;#ff6600&quot;&gt;$speciaux = array(&amp;quot;?&amp;quot;,&amp;quot;!&amp;quot;,&amp;quot;@&amp;quot;,&amp;quot;%&amp;quot;,&amp;quot;&amp;amp;&amp;quot;,&amp;quot;*&amp;quot;,&amp;quot;(&amp;quot;,&amp;quot;)&amp;quot;,&amp;quot;=&amp;quot;,&amp;quot;+&amp;quot;,&amp;quot; &amp;quot;,&amp;quot;;&amp;quot;,&amp;quot;:&amp;quot;,&amp;quot;&apos;&amp;quot;,&amp;quot;.&amp;quot;); // Mettez ici les caract&#xe8;res sp&#xe9;ciaux qui seraient susceptibles d&apos;appara&#xee;tre dans les titres. La liste ci-dessus est indicative &lt;br /&gt;&lt;/font&gt;&lt;font color=&quot;#ff6600&quot;&gt;$nomPage = str_replace($speciaux, &amp;quot;-&amp;quot;, $ nomPage); // les caract&#xe8;res sp&#xe9;ciaux dont les espaces sont remplac&#xe9;s par un tiret &lt;br /&gt;&lt;/font&gt;&lt;font color=&quot;#ff6600&quot;&gt;// Fin Url Rewriting &lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Allez maintenant dans la portion de code permettant l&apos;insertion des donn&#xe9;es et modifiez comme suit :&lt;/p&gt;

&lt;p&gt;&lt;font lang=&quot;EN-GB&quot; color=&quot;#ff6600&quot; style=&quot;mso-ansi-language: EN-GB;&quot;&gt;$insertSQL = sprintf(&amp;quot;INSERT INTO actualite (date_actu, titre, texte, image, auteur, url_friendly) VALUES (%s, %s, %s, %s, %s, %s)&amp;quot;,&lt;br /&gt;&lt;/font&gt;&lt;font color=&quot;#ff6600&quot;&gt;&lt;font lang=&quot;EN-GB&quot; style=&quot;mso-ansi-language: EN-GB;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/font&gt;GetSQLValueString($_POST[&apos;date_actu&apos;], &amp;quot;date&amp;quot;), &lt;br /&gt;&lt;font lang=&quot;EN-GB&quot; style=&quot;mso-ansi-language: EN-GB;&quot;&gt;&amp;nbsp; &lt;/font&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;GetSQLValueString($_POST[&apos;titre&apos;], &amp;quot;text&amp;quot;), &lt;br /&gt;&lt;font lang=&quot;EN-GB&quot; style=&quot;mso-ansi-language: EN-GB;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/font&gt;GetSQLValueString($_POST[&apos;texte&apos;], &amp;quot;text&amp;quot;),&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; GetSQLValueString($_POST[&apos;image&apos;], &amp;quot;text&amp;quot;), &lt;br /&gt;&lt;font lang=&quot;EN-GB&quot; style=&quot;mso-ansi-language: EN-GB;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/font&gt;GetSQLValueString($_POST[&apos;auteur&apos;], &amp;quot;text&amp;quot;), &lt;br /&gt;&lt;font lang=&quot;EN-GB&quot; style=&quot;mso-ansi-language: EN-GB;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;strong&gt;GetSQLValueString($nomPage, &amp;quot;text&amp;quot;)&lt;/strong&gt;);&lt;/font&gt;&lt;font lang=&quot;EN-GB&quot; style=&quot;mso-ansi-language: EN-GB;&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;C&apos;est fini pour la partie cr&#xe9;ation de l&apos;URL. Faites un test d&apos;insertion, &#xe7;a devrait marcher&amp;nbsp; ! &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description><pubDate>Sun, 15 Jun 2008 07:24:00 GMT</pubDate></item><item><title>Adobe Dreamweaver CS4 - version beta</title><dc:creator>caroder</dc:creator><link>http://dreamgratuit.canalblog.com/archives/2008/06/10/9523934.html</link><category>Dreamweaver</category><comments>http://dreamgratuit.canalblog.com/archives/2008/06/10/9523934.html#comments</comments><wfw:commentRss>http://dreamgratuit.canalblog.com/feeds/rss/comments/post/9523934/</wfw:commentRss><guid isPermaLink="true">http://dreamgratuit.canalblog.com/archives/2008/06/10/9523934.html</guid><description>&lt;p&gt;&lt;/p&gt;

&lt;p&gt;La version beta de Dreamweaver CS4 est &#xe0; disposition dans le Lab d&apos;Adobe et c&apos;est ici :&lt;br /&gt;&lt;a href=&quot;http://labs.adobe.com/technologies/dreamweavercs4/&quot;&gt;http://labs.adobe.com/technologies/dreamweavercs4/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attention&lt;/strong&gt; : c&apos;est une version d&apos;&#xe9;valuation et seulement une version d&apos;&#xe9;valuation disponible pour Windows XP SP 2, Vista et Mac OS 10.4.11 et sup. Vous ne vous sentez pas assez casse-cou pour installer cette version beta, visionnez les vid&#xe9;os d&apos;Adobe disponibles plus bas.&lt;/p&gt;

&lt;p&gt;Voici un aper&#xe7;u des nouvelles fonctionnalit&#xe9;s du logiciel pens&#xe9;es pour gagner en productivit&#xe9; :&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Vue Live :&lt;/strong&gt; elle permet de tester ses pages dans diff&#xe9;rents environnements dans l&apos;interface Dreamweaver sans ouvrir les navigateurs correspondants. A noter : par s&#xe9;curit&#xe9; Live View est &amp;quot;read only&amp;quot; : aucun risque donc de g&#xe9;n&#xe9;rer du code par erreur de manipulation.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Code navigator :&lt;/strong&gt; s&#xe9;lectionnez n&apos;importe quel &#xe9;l&#xe9;ment ou ensemble d&apos;&#xe9;l&#xe9;ments de votre page et visualisez le code associ&#xe9; dans une pop-up&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Fichiers associ&#xe9;s :&lt;/strong&gt; affichage de tous les fichiers associ&#xe9;s &#xe0; la page en cours (css, javascript, includes, etc...) accessibles automatiquement par onglet afin de pouvoir modifier la page &amp;quot;m&#xe8;re&amp;quot; ais&#xe9;ment.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Bonnes pratiques CSS :&lt;/strong&gt; panneau permettant de connaitre TOUTES les propri&#xe9;t&#xe9;s CSS d&apos;un &#xe9;l&#xe9;ment de la page ainsi qu&apos;explication de ces propri&#xe9;t&#xe9;s au survol de la souris.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Am&#xe9;lioration de Spry :&lt;/strong&gt; afin de rendre plus accessible au commun des d&#xe9;veloppeurs les fonctionnels Spry, Adobe s&apos;est attach&#xe9; &#xe0; simplifier l&apos;int&#xe9;gration Spry notamment via les &lt;strong&gt;sources de donn&#xe9;es&lt;/strong&gt; qui sont maintenant d&#xe9;finies dans un wizard. Il n&apos;y a plus qu&apos;&#xe0; se laisser guider ! La source de donn&#xe9;es peut-&#xea;tre une simple page HTML statique de donn&#xe9;es tabulaires, sous forme de liste voire m&#xea;me de calques !&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Support javascript :&lt;/strong&gt; outil de suggestion de codage javascript.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;Tout cela semble, ma foi, fort prometteur. Reste &#xe0; savoir si les extensions que nous utilisons avec CS3 restent compatibles avec cette nouvelle version...&lt;/p&gt;

&lt;p&gt;Vous pouvez voir la vid&#xe9;o Adobe sur la nouvelle vue Live ci-dessous (en anglais mais tr&#xe8;s accessible !) et le reste des vid&#xe9;os &lt;a href=&quot;http://tv.adobe.com/&quot;&gt;ici&lt;/a&gt;. A noter, en bonus, la vid&#xe9;o 4 sur les Widgets Spry permet d&apos;avoir un aper&#xe7;u sur le nouvel Extension Manager !!&lt;/p&gt;

&lt;p&gt;&lt;embed name=&quot;AdobeTVPlayer&quot; pluginspage=&quot;http://www.adobe.com/go/getflashplayer&quot; src=&quot;http://tv.adobe.com/Embed.swf&quot; width=&quot;640&quot; height=&quot;385&quot; type=&quot;application/x-shockwave-flash&quot; bgcolor=&quot;#000000&quot; play=&quot;true&quot; loop=&quot;false&quot; quality=&quot;high&quot; allowscriptaccess=&quot;always&quot; flashvars=&quot;v=http%3A//adobe.edgeboss.net/flash/adobe/adobetvprod/dreamweaver_cs4_public_beta/62_dwb_002.flv%3Frss_feedid%3D1194%26xmlvers%3D2&amp;amp;feedid=1194&quot;&gt;&lt;/embed&gt;&lt;/p&gt;</description><pubDate>Tue, 10 Jun 2008 18:44:00 GMT</pubDate></item><item><title>Tutorial URL rewriting de A &#xe0; Z avec Dreamweaver et PHP/MySQL - Part 1</title><dc:creator>caroder</dc:creator><link>http://dreamgratuit.canalblog.com/archives/2008/06/09/9511511.html</link><category>Tutorial URL rewriting de A &#xe0; Z avec PHP/MySQL et Dreamweaver</category><comments>http://dreamgratuit.canalblog.com/archives/2008/06/09/9511511.html#comments</comments><wfw:commentRss>http://dreamgratuit.canalblog.com/feeds/rss/comments/post/9511511/</wfw:commentRss><guid isPermaLink="true">http://dreamgratuit.canalblog.com/archives/2008/06/09/9511511.html</guid><description>&lt;p&gt;Je commence ici un tutorial qui vous permettra d&apos;am&#xe9;liorer le r&#xe9;f&#xe9;rencement de votre site gr&#xe2;ce &#xe0; la r&#xe9;&#xe9;criture d&apos;URL. Voici quelques &#xe9;l&#xe9;ments n&#xe9;cessaires &#xe0; votre r&#xe9;flexion avant de vous lancer dans ce travail.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. L&apos;URL rewriting, est-ce vraiment utile ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;L&apos;URL rewriting, s&apos;il n&apos;est pas n&#xe9;cessaire au r&#xe9;f&#xe9;rencement d&apos;un site, le facilite beaucoup s&apos;il est judicieusement utilis&#xe9;. &lt;/p&gt;

&lt;p&gt;Il est certain que transformer une URL avec des param&#xe8;tres du type &lt;a href=&quot;http://www.monsite.com/article.php?id=7786               en&quot;&gt;www.monsite.com/article.php?id=7786&lt;/a&gt; en URL de type &lt;a href=&quot;http://www.monsite.com/article-7786.htm&quot;&gt;www.monsite.com/article-7786.htm&lt;/a&gt; ne vous apportera pas grand chose du point de vue du r&#xe9;f&#xe9;rencement. Google et consorts r&#xe9;f&#xe9;rencent maintenant sans probl&#xe8;me les URL qui ont un, voire deux param&#xe8;tres. Inutile donc de vous lancer dans cette aventure pour si peu. En revanche si vos URL poss&#xe8;de 3 param&#xe8;tres ou plus, vous devriez s&#xe9;rieusement vous y mettre.&lt;/p&gt;

&lt;p&gt;L&apos;URL rewriting est surtout un grand atout lorsque vous pouvez int&#xe9;grer &#xe0; vos URL r&#xe9;&#xe9;crites des mots cl&#xe9;s. Google se sert en effet des mots-cl&#xe9;s qui font liens vers une page pour d&#xe9;terminer sa pertinence pour ces mots cl&#xe9;s. Or ce sont souvent les URL elles-m&#xea;mes qui servent de texte aux liens vers les pages : ainsi vous augmentez naturellement la pertinence de vos pages pour les mots-cl&#xe9;s choisis pour l&apos;URL.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Quels sont les pr&#xe9;alables techniques &#xe0; l&apos;URL rewriting ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Assurez-vous aupr&#xe8;s de votre h&#xe9;bergeur que celui-ci accepte l&apos;URL rewriting. Pour cela vous devez avoir la possibilit&#xe9; technique de transf&#xe9;rer via FTP un fichier .htaccess. Si vous &#xea;tes chez un h&#xe9;bergeur gratuit, transf&#xe9;rez via FTP une page PHP contenant l&apos;instruction &lt;font color=&quot;#ff6600&quot;&gt;phpinfo();&lt;/font&gt; et v&#xe9;rifiez dans le navigateur que la ligne &lt;strong&gt;mod_rewrite&lt;/strong&gt; est bien &#xe0; On. Olivier Duffez explique tr&#xe8;s simplement &lt;a href=&quot;http://www.webrankinfo.com/analyses/autres/mettre-en-place-url-rewriting.php&quot;&gt;ici &lt;/a&gt;comment tester l&apos;URL rewriting sur votre serveur avant de se lancer dans un travail de grande envergure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Choses et autres &#xe0; savoir avant de vous lancer...&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;- Il est plus facile de planifier l&apos;URL rewriting &#xe0; la conception d&apos;un site qu&apos;apr&#xe8;s plusieurs milliers de pages cr&#xe9;&#xe9;es. D&apos;autant que les sites qui font liens vers le v&#xf4;tre auront vos anciennes URL en lien...&lt;br /&gt;- Il va vous falloir retravailler les liens &#xe0; l&apos;int&#xe9;rieur m&#xea;me de votre site.&lt;br /&gt;- Dans notre tutorial, nous allons modifier la table de la base de donn&#xe9;es contenant les articles pour y ajouter une colonne contenant le titre sous forme &amp;quot;URL friendly&amp;quot;. Il faudra donc peupler cette colonne si votre base contient d&#xe9;j&#xe0; des articles.&lt;/p&gt;

&lt;p&gt;Vous &#xea;tes pr&#xea;t &#xe0; vous lancer malgr&#xe8;s tout ? Rendez-vous donc pour la 2e partie de ce tutorial URL rewriting de A &#xe0; Z.&lt;/p&gt;</description><pubDate>Mon, 09 Jun 2008 19:09:00 GMT</pubDate></item><item><title>Cr&#xe9;er un lecteur de flux RSS avec Dreamweaver et PHP / MySQL</title><dc:creator>caroder</dc:creator><link>http://dreamgratuit.canalblog.com/archives/2008/05/25/9312286.html</link><category>XML</category><comments>http://dreamgratuit.canalblog.com/archives/2008/05/25/9312286.html#comments</comments><wfw:commentRss>http://dreamgratuit.canalblog.com/feeds/rss/comments/post/9312286/</wfw:commentRss><guid isPermaLink="true">http://dreamgratuit.canalblog.com/archives/2008/05/25/9312286.html</guid><description>&lt;p&gt;Vous d&#xe9;sirez int&#xe9;grer le contenu de sites tiers au sein de votre site via les flux RSS propos&#xe9;s par ces derniers ? Pour cela, il vous faut &#xab; parser &#xbb; le flux RSS. De nombreuses classe PHP vous offrent cette possibilit&#xe9; (par exemple Magpierss : &lt;a href=&quot;http://magpierss.sourceforge.net/&quot;&gt;http://magpierss.sourceforge.net/&lt;/a&gt; ) mais vous ne pourrez b&#xe9;n&#xe9;ficier des fonctionnalit&#xe9;s graphiques de Dreamweaver.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Tecnorama (gr&#xe2;ce lui soit rendue !) propose une extension gratuite permettant d’int&#xe9;grer un flux RSS externe au sein de vos pages. Vous pouvez la t&#xe9;l&#xe9;charger ici : &lt;a href=&quot;http://www.tecnorama.org/descargas/descargar.php?archivo=rss_reader_130.mxp&quot;&gt;http://www.tecnorama.org/descargas/descargar.php?archivo=rss_reader_130.mxp&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;V&#xe9;rifiez tout d’abord via la fonction &amp;lt; ?php phpinfo() ?&amp;gt; que le module XML est bien activ&#xe9; chez votre h&#xe9;bergeur et dans votre environnement de d&#xe9;veloppement. Vous devez ensuite vous assurez dans que les &#xe9;l&#xe9;ments suivants sont &#xe0; On : &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;font color=&quot;#ff6600&quot;&gt;allow_url_fopen &lt;br /&gt;allow_call_time_pass_reference&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Installez l’extension RSS Reader et red&#xe9;marrez Dreamweaver pour qu’elle prenne effet. Un nouvel onglet appara&#xee;t maintenant dans votre barre ainsi qu’un nouvel item dans le panneau des comportements serveur.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://storage.canalblog.com/70/44/261388/26002244.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;33&quot; alt=&quot;reader1&quot; src=&quot;http://storage.canalblog.com/70/44/261388/26002244_p.jpg&quot; width=&quot;450&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://storage.canalblog.com/83/71/261388/26001995.jpg&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Dans la page o&#xf9; vous souhaitez installer le lecteur, proc&#xe9;dez comme suit :&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;1. D&#xe9;finir la source xml du flux &#xe0; afficher dans la page&lt;br /&gt;Cliquez sur New RSS Channel ou la petite ic&#xf4;ne &#xe9;quivalent dans l’onglet. Donnez un nom au flux et renseignez l’URL du flux. M&#xe9;morisez le nom du flux qui sera r&#xe9;utilis&#xe9;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://storage.canalblog.com/90/05/261388/26002139.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;241&quot; alt=&quot;reader2&quot; src=&quot;http://storage.canalblog.com/90/05/261388/26002139_p.jpg&quot; width=&quot;450&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;2. Pr&#xe9;parez le design de l’affichage du flux RSS&lt;br /&gt;Voici le code du design CSS que j’ai cr&#xe9;&#xe9; pour afficher mes propres flux.&lt;/p&gt;

&lt;p&gt;La feuille de style :&lt;br /&gt;&lt;font color=&quot;#ff6600&quot;&gt;&amp;lt;style media=&amp;quot;screen&amp;quot; type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;body {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;font: 11px Arial, Helvetica, sans-serif;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;color:#666;&lt;br /&gt;}&lt;br /&gt;ul {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;padding: 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;margin: 0 12px;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font color=&quot;#ff6600&quot;&gt;}&lt;br /&gt;li {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;margin: 7px 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;list-style-type:none;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;padding-left: 20px;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;background: url(img/fleche-bleue.png) no-repeat 0 4px;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;line-height:15px;&lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font color=&quot;#ff6600&quot;&gt;li a {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;color: #000;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;text-decoration:none;&lt;br /&gt;}&lt;br /&gt;li a:hover {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;color: #f60;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;text-decoration:none;&lt;br /&gt;}&lt;br /&gt;#widget {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;border: 1px solid #01B5D5;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;width: 250px;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;overflow: auto;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;height: 350px;&lt;br /&gt;}&lt;br /&gt;&lt;/font&gt;&lt;font color=&quot;#ff6600&quot;&gt;.w {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;background-color: #01B5D5;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;color: #fff;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;font: bold 1.4em Georgia, &amp;quot;Times New Roman&amp;quot;, Times, serif;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;margin:0;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;padding: 5px 10px;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;width: 232px;&lt;br /&gt;}&lt;br /&gt;.wbis {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; margin: 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;background-color: #01B5D5;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;color: #fff;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;padding: 3px 10px;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;width: 232px;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font color=&quot;#ff6600&quot;&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;Le code HTML : &lt;br /&gt;&lt;font color=&quot;#ff6600&quot;&gt;&amp;lt;h1 class=&amp;quot;w&amp;quot;&amp;gt;Derni&#xe8;res infos de monsite.com&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;widget&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;ul&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;h2 class=&amp;quot;wbis&amp;quot;&amp;gt;Plus d&apos;informations sur &amp;lt;a href=&amp;quot;&lt;/font&gt; &lt;font color=&quot;#ff6600&quot;&gt;http://www.monsite.com&amp;quot;&amp;gt;www.monsite.com&amp;lt;/a&amp;gt;&amp;lt;/h2&lt;/font&gt;&lt;font color=&quot;#ff6600&quot;&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attention :&lt;/strong&gt; l’encodage de votre page doit &#xea;tre UFT-8 pour que le flux s’affiche correctement.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;3. Int&#xe9;grez les variables PHP permettant l’affichage des &#xe9;l&#xe9;ments d’item via le panneau de comportement serveur ou les ic&#xf4;nes de l’onglet.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://storage.canalblog.com/09/58/261388/26002055.jpg&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://storage.canalblog.com/88/76/261388/26002072.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;143&quot; alt=&quot;reader3&quot; src=&quot;http://storage.canalblog.com/88/76/261388/26002072_p.jpg&quot; width=&quot;367&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Pour ma part, je souhaitais la date, le titre, l’auteur, la cat&#xe9;gorie. Par ailleurs je ne voulais pas de la date au format &#xab; brut &#xbb; mais un format plus lisible par un internaute fran&#xe7;ais. &lt;/p&gt;

&lt;p&gt;J’ai donc du modifier le code comme suit. Pour la date :&lt;br /&gt;&lt;font color=&quot;#ff6600&quot;&gt;$this-&amp;gt;pubDates[]=trim(&lt;strong&gt;date(&amp;quot;d/m/Y&amp;quot;,strtotime(&lt;/strong&gt;$this-&amp;gt;pubDate)&lt;strong&gt;))&lt;/strong&gt;;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;Pour les cat&#xe9;gories, d&#xe9;clarez la variable $category en haut de page :&amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#ff6600&quot;&gt;var $category=&amp;quot;&amp;quot;;&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;Puis dans la fonction startElement, int&#xe9;grez la ligne :&lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#ff9900&quot;&gt;$this-&amp;gt;category=&amp;quot;&amp;quot;;&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;Dans la fonction endElement :&lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#ff6600&quot;&gt;$this-&amp;gt;categorys[]=trim($this-&amp;gt;category);&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;Enfin dans la fonction characterData :&lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#ff6600&quot;&gt;case &amp;quot;CATEGORY&amp;quot;:&lt;br /&gt;$this-&amp;gt;category.=$data;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; break;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;5. Cr&#xe9;ez le lien vers le site d’origine via l’&#xe9;l&#xe9;ment RSS Item Go to Detail Page du panneau de comportement.&lt;/p&gt;

&lt;p&gt;6. Cr&#xe9;ez une r&#xe9;gion r&#xe9;p&#xe9;t&#xe9;e via l’&#xe9;l&#xe9;ment RSS Item Repeated Region du panneau de comportement.&lt;/p&gt;

&lt;p&gt;C’est pr&#xea;t. Il n’y a plus qu’&#xe0; tester dans votre navigateur !&lt;/p&gt;</description><pubDate>Sun, 25 May 2008 09:59:00 GMT</pubDate></item><item><title>Tutorial vid&#xe9;o : r&#xe9;gions r&#xe9;p&#xe9;t&#xe9;es imbriqu&#xe9;s avec Dreamweaver et PHP</title><dc:creator>caroder</dc:creator><link>http://dreamgratuit.canalblog.com/archives/2008/05/20/9242532.html</link><category>Tutorials vid&#xe9;o</category><comments>http://dreamgratuit.canalblog.com/archives/2008/05/20/9242532.html#comments</comments><wfw:commentRss>http://dreamgratuit.canalblog.com/feeds/rss/comments/post/9242532/</wfw:commentRss><guid isPermaLink="true">http://dreamgratuit.canalblog.com/archives/2008/05/20/9242532.html</guid><description>&lt;p&gt;Voici un tutorial vid&#xe9;o publi&#xe9; hier vous expliquant comment cr&#xe9;er une table avec r&#xe9;gions r&#xe9;p&#xe9;t&#xe9;es imbriqu&#xe9;es. Malheureusement en anglais :( !&lt;/p&gt;

&lt;p&gt;&lt;embed src=&quot;http://www.youtube.com/v/6l0YzEbk4Js&amp;amp;hl=fr&quot; width=&quot;425&quot; height=&quot;355&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;&lt;/p&gt;</description><pubDate>Tue, 20 May 2008 17:21:00 GMT</pubDate></item><item><title>Sommaire du tutorial &quot;cr&#xe9;er un sondage avec Dreamweaver et PHP/MySQL&quot;</title><dc:creator>caroder</dc:creator><link>http://dreamgratuit.canalblog.com/archives/2008/05/19/9227462.html</link><category>Dreamweaver</category><comments>http://dreamgratuit.canalblog.com/archives/2008/05/19/9227462.html#comments</comments><wfw:commentRss>http://dreamgratuit.canalblog.com/feeds/rss/comments/post/9227462/</wfw:commentRss><guid isPermaLink="true">http://dreamgratuit.canalblog.com/archives/2008/05/19/9227462.html</guid><description>&lt;p&gt;Voici le sommaire de ce tutorial &amp;quot;Cr&#xe9;er un sondage avec Dreamweaver et PHP/MySQL&amp;quot; afin de vous y retrouver plus facilement. Ce tuto est en 5 parties. Chaque lien ouvre une nouvelle fen&#xea;tre.&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;&lt;a href=&quot;http://dreamgratuit.canalblog.com/archives/2008/03/31/8520180.html&quot;&gt;Cr&#xe9;ation du formulaire d&apos;insertion des votes&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://dreamgratuit.canalblog.com/archives/2008/04/03/8589836.html&quot;&gt;Calcul des r&#xe9;sultats du sondage&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://dreamgratuit.canalblog.com/archives/2008/04/14/8796417.html&quot;&gt;Affichage graphique des r&#xe9;sultats du sondage&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://dreamgratuit.canalblog.com/archives/2008/05/05/9063576.html&quot;&gt;Emp&#xea;cher un internaute de voter plusieurs fois&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://dreamgratuit.canalblog.com/archives/2008/05/18/9227434.html&quot;&gt;Affichage conditionnel des r&#xe9;sultats&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;</description><pubDate>Mon, 19 May 2008 16:42:00 GMT</pubDate></item><item><title>Cr&#xe9;er un sondage en PHP avec Dreamweaver - 5e partie</title><dc:creator>caroder</dc:creator><link>http://dreamgratuit.canalblog.com/archives/2008/05/18/9227434.html</link><category>Cr&#xe9;er un sondage en PHP avec Dreamweaver</category><comments>http://dreamgratuit.canalblog.com/archives/2008/05/18/9227434.html#comments</comments><wfw:commentRss>http://dreamgratuit.canalblog.com/feeds/rss/comments/post/9227434/</wfw:commentRss><guid isPermaLink="true">http://dreamgratuit.canalblog.com/archives/2008/05/18/9227434.html</guid><description>&lt;p&gt;Nous allons maintenant rendre conditionnel l&apos;affichage des r&#xe9;ultats du sondage. Pour voir ces r&#xe9;sultats, il faudra avoir vot&#xe9;. Ainsi vos utilisateurs ne seront pas influenc&#xe9;s par les r&#xe9;sultats.&lt;/p&gt;

&lt;p&gt;Cr&#xe9;er un jeu d&apos;enregistrement nomm&#xe9; RS_ip, en le param&#xe9;trant &#xe0; &amp;quot;toutes les colonnes&amp;quot; et sans filtrage puis modifier comme suit :&lt;/p&gt;

&lt;p&gt;&lt;font color=&quot;#ff6600&quot;&gt;mysql_select_db($database_mabase, $ma_connexion)&lt;br /&gt;&lt;strong&gt;$ip = $_SERVER[&amp;quot;REMOTE_ADDR&amp;quot;];&lt;/strong&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color=&quot;#ff6600&quot;&gt;$query_RS_ip = &amp;quot;SELECT * FROM ip_tbl&lt;strong&gt; WHERE adr_ip =&apos;&amp;quot; . $ip . &amp;quot;&apos;&amp;quot;;&lt;br /&gt;&lt;/strong&gt;$RS_ip = mysql_query($query_RS_ip, $ma_connexion) or die(mysql_error());&lt;br /&gt;$row_RS_ip = mysql_fetch_assoc($RS_ip);&lt;br /&gt;$totalRows_RS_ip = mysql_num_rows($RS_ip);&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;Positionnez votre curseur juste avant la ligne pr&#xe9;sentant les r&#xe9;sultats et ins&#xe9;rez : &lt;/p&gt;

&lt;p&gt;&lt;font color=&quot;#ff6600&quot;&gt;&amp;lt;?php if($totalRows_RS_ip &amp;gt; 0) { ?&amp;gt;&lt;/font&gt; &lt;/p&gt;

&lt;p&gt;Positionnez votre curseur juste apr&#xe8;s la balise fermante de la table pr&#xe9;sentant les r&#xe9;sultats et ins&#xe9;rez :&lt;/p&gt;

&lt;p&gt;&lt;font color=&quot;#ff6600&quot;&gt;&amp;lt;?php } ?&amp;gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;Le tour est jou&#xe9;, votre interface de sondage est termin&#xe9;e ! &lt;/p&gt;

&lt;p&gt;Nota : pour &#xe9;viter de d&#xe9;clarer plusieurs fois la variable $ip dans la page, placez la en d&#xe9;but de code. &lt;/p&gt;

&lt;p&gt;Vous pouvez perfectionner cette interface en permettant le multi-sondage et cr&#xe9;ant donc une table questions_tbl comprenant l&apos;intitul&#xe9; de la question du sondage et son num&#xe9;ro d&apos;ID ainsi qu&apos;en compl&#xe9;tant la table r&#xe9;ponse avec une colonne id_question.&lt;/p&gt;</description><pubDate>Sun, 18 May 2008 16:42:57 GMT</pubDate></item><item><title>Syst&#xe8;me de gestion d&apos;abonnement &#xe0; des newsletters th&#xe9;matiques par les utilisateurs</title><dc:creator>caroder</dc:creator><link>http://dreamgratuit.canalblog.com/archives/2008/05/06/9073499.html</link><category>Cr&#xe9;er une newsletter avec Dreamweaver</category><comments>http://dreamgratuit.canalblog.com/archives/2008/05/06/9073499.html#comments</comments><wfw:commentRss>http://dreamgratuit.canalblog.com/feeds/rss/comments/post/9073499/</wfw:commentRss><guid isPermaLink="true">http://dreamgratuit.canalblog.com/archives/2008/05/06/9073499.html</guid><description>&lt;p&gt;Joseph Lowery propose depuis le 28 avril dernier un tutorial en anglais sur un syst&#xe8;me de gestion d&apos;abonnement th&#xe9;matique &#xe0; des newsletters.&lt;/p&gt;

&lt;p&gt;Dans cet article, vous apprendrez comment permettre &#xe0; vos visiteurs de g&#xe9;rer eux-m&#xea;mes leurs abonnements. En bonus, comment incorporer un message d&apos;erreur sur une page de login cr&#xe9;&#xe9;e avec Dreamweaver. &lt;/p&gt;

&lt;p&gt;Les pages cr&#xe9;&#xe9;es avec ce tuto :&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Login.php:&lt;/strong&gt; la page v&#xe9;rifie l&apos;adresse e-mail et le mot de passe des visiteurs qui veulent modifier leurs param&#xe8;tres d&apos;abonnement. Affichage &#xe9;ventuel du message d&apos;erreur sur la page. &lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Manage_sub.php:&lt;/strong&gt; gestion des abonnement via des cases &#xe0; cocher. &lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Thank_you.php:&lt;/strong&gt; page de remerciements. &lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Logout.php: &lt;/strong&gt;script de d&#xe9;connexion. &lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;Pour d&#xe9;couvrir ce tutorial en anglais :(( : &lt;a href=&quot;http://www.adobe.com/devnet/dreamweaver/articles/sub_multiple.html&quot;&gt;http://www.adobe.com/devnet/dreamweaver/articles/sub_multiple.html&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 06 May 2008 06:52:00 GMT</pubDate></item><item><title>Cr&#xe9;er un sondage en PHP avec Dreamweaver – 4e partie</title><dc:creator>caroder</dc:creator><link>http://dreamgratuit.canalblog.com/archives/2008/05/05/9063576.html</link><category>Cr&#xe9;er un sondage en PHP avec Dreamweaver</category><comments>http://dreamgratuit.canalblog.com/archives/2008/05/05/9063576.html#comments</comments><wfw:commentRss>http://dreamgratuit.canalblog.com/feeds/rss/comments/post/9063576/</wfw:commentRss><guid isPermaLink="true">http://dreamgratuit.canalblog.com/archives/2008/05/05/9063576.html</guid><description>&lt;p&gt;Nous allons dans la 4e partie de ce tutorial voir comment emp&#xea;cher un internaute de voter plusieurs fois.&lt;br /&gt;J’&#xe9;voque ici les 2 m&#xe9;thodes (&#xe0; ma connaissance !) permettant d’&#xe9;viter les doublons de vote :&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Installer un cookie sur le poste utilisateur au moment du vote pour interdire le vote si le cookie existe d&#xe9;j&#xe0;.&lt;/li&gt;

&lt;li&gt;Stocker en base l’adresse IP de l’utilisateur pour interdire le vote si cette adresse est d&#xe9;j&#xe0; en base.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;Chacune de ces deux m&#xe9;thodes a un inconv&#xe9;nient :&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;le cookie : l’utilisateur peut supprimer le cookie&lt;/li&gt;

&lt;li&gt;l’adresse IP : les adresses IP partag&#xe9;es (notamment dans le cadre professionnel ou pour les FAI, les adresses IP flottantes) n’autoriseront le vote que d’une seule personne au sein d’une organisation ou plusieurs votes pour une personne.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;Nous utiliserons ici la m&#xe9;thode de l’adresse IP, celle du cookie &#xe9;tant &#xe0; la merci de l’astuce du votant, elle me semble moins s&#xe9;cure (l’adresse IP &#xe9;tant, elle, stock&#xe9;e sur VOTRE serveur)… &lt;/p&gt;

&lt;p&gt;Pour stocker l’adresse IP de l’utilisateur, nous allons donc cr&#xe9;er une table tb_ipl dans notre base de donn&#xe9;es.&lt;/p&gt;

&lt;p&gt;&lt;font color=&quot;#ff6600&quot;&gt;CREATE TABLE ` tb_ip` (&lt;br /&gt;`id_secur` int(11) NOT NULL auto_increment,&lt;br /&gt;`adr_ip` varchar(20) default NULL,&lt;br /&gt;PRIMARY KEY (`id_secur`)&lt;br /&gt;) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;Revenons maintenant &#xe0; notre page PHP. Nous allons ins&#xe9;rer l’adresse IP de l’utilisateur s’il vote. Int&#xe9;grez le code suivant en dessous de la ligne $Result1 = mysql_query($insertSQL, $ nom_de_ma_connexion) or die(mysql_error()); (&#xe0; l’int&#xe9;rieur du code indiquant que si le formulaire est post&#xe9;, il faut ins&#xe9;rer le vote dans la table tb_sondage) :&lt;/p&gt;

&lt;p&gt;&lt;font color=&quot;#ff6600&quot;&gt;/* STOCKAGE IP POUR EVITER LES DOUBLONS DE VOTE */&lt;br /&gt;$ip = $_SERVER[&amp;quot;REMOTE_ADDR&amp;quot;]; &lt;strong&gt;//on recup&#xe8;re l&apos;ip&lt;/strong&gt;&lt;br /&gt;$insertSQL2 = &amp;quot;INSERT INTO tb_ip (adr_ip) VALUES (&apos;$ip&apos;)&amp;quot;; &lt;strong&gt;// On l&apos;ins&#xe8;re dans la table des IP&lt;/strong&gt;&lt;br /&gt;mysql_select_db($database_nom_de_ma_base, $nom_de_ma_connexion); &lt;strong&gt;// r&#xe9;cup&#xe9;rez les noms de variables dans la ligne correspondante d’un jeu d’enregistrement de la page&lt;/strong&gt;&lt;br /&gt;$Result2 = mysql_query($insertSQL2, $nom_de_ma_connexion) or die(mysql_error());&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;Faite quelques tests de vote pour v&#xe9;rifier que votre adresse IP est bien ins&#xe9;r&#xe9;e dans la base.&lt;/p&gt;

&lt;p&gt;Maintenant il faut tester si l’adresse IP est pr&#xe9;sente dans la base avant d’autoriser de poster le vote. Pour cela nous allons utiliser le code de l’extension de FelixOne, Check New Element (disponible gratuitement en utilisant le lien dans la colonne de droite de ce site). Je vous donne ici le code tout pr&#xe9;par&#xe9; car les modifications que nous avons apport&#xe9;es pr&#xe9;c&#xe9;demment au code de Dreamweaver et l’utilisation de la variable d’adresse IP rendent l’extension inutilisable ici. Il faut donc le copier/coller en l’&#xe9;tat :&lt;/p&gt;

&lt;p&gt;&lt;font color=&quot;#ff6600&quot;&gt;// *** TEST DES DOUBLONS DANS LES IP ***&lt;br /&gt;$FX_flag = &amp;quot;MM_insert&amp;quot;;&lt;br /&gt;$FX_found = false;&lt;br /&gt;if (isset($_POST [$FX_flag])) {&lt;br /&gt;$FX_dupKeyRedirect = &amp;quot;erreur.php&amp;quot;; &lt;br /&gt;$FX_dupKeyValue = $_SERVER[&amp;quot;REMOTE_ADDR&amp;quot;];&lt;br /&gt;$FX_dupKeySQL = &amp;quot;SELECT adr_ip FROM tb_ip WHERE adr_ip = &apos;&amp;quot; . $FX_dupKeyValue . &amp;quot;&apos;&amp;quot;;&lt;br /&gt;mysql_select_db($database_nom_de_ma_base, $nom_de_ma_connexion); &lt;strong&gt;// r&#xe9;cup&#xe9;rez les noms de variables dans la ligne correspondante d’un jeu d’enregistrement de la page&lt;/strong&gt;&lt;br /&gt;$FX_rsKey=mysql_query($FX_dupKeySQL, $nom_de_ma_connexion) or die(mysql_error());&lt;br /&gt;if(mysql_num_rows($FX_rsKey) &amp;gt; 0) {&lt;br /&gt;$FX_found = true;&lt;br /&gt;$FX_dupValue = &amp;quot;IP (&amp;quot; . $FX_dupKeyValue . &amp;quot;) &amp;quot;;&lt;br /&gt;}&lt;br /&gt;if($FX_found) {&lt;br /&gt;$FX_dupValue .= &amp;quot;Ce vote ne peut &#xea;tre pris en compte !&amp;quot;;&lt;br /&gt;$FX_qsChar = &amp;quot;?&amp;quot;;&lt;br /&gt;if ($FX_dupKeyRedirect == &amp;quot;&amp;quot;) $FX_dupKeyRedirect = substr($_SERVER[&amp;quot;PHP_SELF&amp;quot;], strrpos($_SERVER[&amp;quot;PHP_SELF&amp;quot;], &amp;quot;/&amp;quot;)+1);&lt;br /&gt;if (strpos($FX_dupKeyRedirect, &amp;quot;?&amp;quot;)) $FX_qsChar = &amp;quot;&amp;amp;&amp;quot;;&lt;br /&gt;$FX_dupKeyRedirect = $FX_dupKeyRedirect . $FX_qsChar . &amp;quot;FX_ReqValue=&amp;quot; . urlencode($FX_dupValue);&lt;br /&gt;header (&amp;quot;Location: &amp;quot; . $FX_dupKeyRedirect);&lt;br /&gt;exit;&lt;br /&gt;}&lt;br /&gt;mysql_free_result($FX_rsKey);&lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;Il ne vous reste plus qu’&#xe0; cr&#xe9;er la page erreur.php avec le message indiquant &#xe0; l’utilisateur qu’il a d&#xe9;j&#xe0; vot&#xe9; et ne peut donc revoter !&lt;/p&gt;

&lt;p&gt;Le prochain billet sera consacr&#xe9; &#xe0; l’affichage conditionnel des r&#xe9;sultats du vote.&lt;/p&gt;</description><pubDate>Mon, 05 May 2008 03:41:00 GMT</pubDate></item></channel></rss>