<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Flashxpress &#187; Tutoriels Dreamweaver</title>
	<atom:link href="http://www.flashxpress.net/category/ressources-dreamweaver/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flashxpress.net</link>
	<description>Ressources pour la création et les technologies du web</description>
	<lastBuildDate>Thu, 09 Feb 2012 01:00:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Streaming et Fichiers Real</title>
		<link>http://www.flashxpress.net/ressources-dreamweaver/video-streaming-et-fichiers-real/</link>
		<comments>http://www.flashxpress.net/ressources-dreamweaver/video-streaming-et-fichiers-real/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 08:03:40 +0000</pubDate>
		<dc:creator>Jean-Luc</dc:creator>
				<category><![CDATA[Tutoriels Dreamweaver]]></category>
		<category><![CDATA[Dreamweaver général]]></category>

		<guid isPermaLink="false">http://www.flashxpress.net/2008/11/06/video-streaming-et-fichiers-real/</guid>
		<description><![CDATA[Il peut être très pratique de convertir un grand nombre de fichiers au format Real d&#8217;une seule passe, c&#8217;est ce que permet le logiciel dBpowerAmp avec le Real Audio Encoder Codec . Une fois le logiciel installé, celui-ci ajoute un menu contextuel au bouton droit, qui permet de manipuler les fichiers audio dans différents formats, [...]]]></description>
			<content:encoded><![CDATA[<p>Il peut être très pratique de convertir un grand nombre de fichiers au format Real d&#8217;une seule passe, c&#8217;est ce que permet le logiciel <a href="http://www.dbpoweramp.com/" target="_blank">dBpowerAmp</a> avec le <a href="http://www.dbpoweramp.com/codec-central-ra.htm" target="_blank">Real Audio Encoder Codec</a> .<br />
Une fois le logiciel installé, celui-ci ajoute un menu contextuel au bouton droit, qui permet de manipuler les fichiers audio dans différents formats, suivant les codecs installés.<br />
Nous allons voir comment l&#8217;utiliser.</p>
<h2>Sélection des fichiers</h2>
<p>On sélectionne les fichiers dans le dossier voulu, puis bouton droit et <span class="italiqueGras">Convertir</span>.</p>
<p align="center"><img src="http://www.flashxpress.net/images/r_dream/divers_web/streamingreal/real_conv/choix_fichiers.gif" border="0" alt="" width="261" height="167" /></p>
<h2>Choix du codec</h2>
<p>On choisit le codec désiré, ici <span class="italiqueGras">Real Audio</span>.</p>
<p align="center"><img src="http://www.flashxpress.net/images/r_dream/divers_web/streamingreal/real_conv/choix_codec.gif" border="0" alt="" width="257" height="260" /></p>
<h2>Paramètres de conversion</h2>
<p>Puis les différents paramètres de conversion des fichiers, la fréquence, le type de serveur, le type d&#8217;audience désiré, le dossier de conversion, etc&#8230;</p>
<p align="center"><img src="http://www.flashxpress.net/images/r_dream/divers_web/streamingreal/real_conv/parametre.gif" border="0" alt="" width="372" height="347" /></p>
<p>On clique sur <span class="italiqueGras">Convertir</span>.</p>
<h2>Conversion des fichiers</h2>
<p>On peut suivre la procédure de conversion grâce à la barre de progression.</p>
<p align="center"><img src="http://www.flashxpress.net/images/r_dream/divers_web/streamingreal/real_conv/convert.gif" border="0" alt="" width="374" height="163" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashxpress.net/ressources-dreamweaver/video-streaming-et-fichiers-real/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installer PHP-MySql sous Windows</title>
		<link>http://www.flashxpress.net/ressources-dreamweaver/installer-php-mysql-sous-windows/</link>
		<comments>http://www.flashxpress.net/ressources-dreamweaver/installer-php-mysql-sous-windows/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 14:33:14 +0000</pubDate>
		<dc:creator>Jean-Luc</dc:creator>
				<category><![CDATA[Tutoriels Dreamweaver]]></category>
		<category><![CDATA[Dreamweaver dynamique]]></category>

		<guid isPermaLink="false">http://www.flashxpress.net/2005/07/27/application-dynamique-1-installer-php-mysql-sous-windows/</guid>
		<description><![CDATA[Le présent tutorial va vous permettre de démarrer la création d&#8217;un site dynamique, utilisant pour ce faire le langage PHP et une base de données MySql, application permettant la gestion d&#8217;une vidéothèque sur le web. Les étapes suivantes seront abordées : Installer un serveur PHP-MySql sous Windows Création d&#8217;une base de données MySql Définition du [...]]]></description>
			<content:encoded><![CDATA[<p>Le présent tutorial va vous permettre de démarrer la création d&#8217;un site dynamique, utilisant pour ce faire le langage PHP et une base de données MySql, application permettant la gestion d&#8217;une vidéothèque sur le web.<br />
Les étapes suivantes seront abordées :</p>
<ol>
<li> Installer un serveur PHP-MySql sous Windows</li>
<li> Création        d&#8217;une base de données MySql</li>
<li>Définition du site dans Dreamweaver</li>
<li> Définition de la connexion à la base MySql</li>
<li>Insertion des données</li>
<li>Modification des données</li>
<li>Suppression des données</li>
</ol>
<p>Il est vivement conseillé aux débutant de suivre    le tutorial étape par étape <img src='http://www.flashxpress.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><span id="more-505"></span></p>
<p>Pour tester les fichiers PHP en local il faut installer un serveur permettant d&#8217;interpréter ce langage, pour ce faire il existe différentes méthodes, l&#8217;une des plus simples étant d&#8217;installer un package</p>
<ul>
<li> <a href="http://www.apache.org" target="_blank">Apache</a> (serveur        web)</li>
<li><a href="http://www.php.net" target="_blank">PHP </a>(langage dynamique)</li>
<li><a href="http://www.mysql.com" target="_blank">MySql </a>(serveur de base        de données).</li>
</ul>
<p>Il existe de nombreux packages tout fait, l&#8217;un des plus connus en langue française    étant sans doute <a href="http://www.easyphp.org/" target="_blank">EasyPHP</a>,        pour les autres je vous invite à visiter <a href="http://www.phpinfo.net/?p=fichiers&amp;rub=packages" target="_blank">cette        page</a> très complète sur <a href="http://www.phpinfo.net" target="_blank">PHPInfo</a>.</p>
<h2>Installation du serveur</h2>
<p>Après avoir télécharger EasyPHP on clique        sur le setup du fichier, ce qui lances l&#8217;installation.<br />
L&#8217;installation se passe de manière tout à fait classique sous Windows, avec une suite de différentes fenêtres permettant de choisir le dossier de destination, la création des différents raccourcis dans le &laquo;&nbsp;Menu Démarrer&nbsp;&raquo;, etc&#8230;<br />
La dernière fenêtre permet d&#8217;ouvrir la page d&#8217;accueil et de lancer        le serveur, en cliquant sur <span class="italique">Terminer</span>.</p>
<h2>Configuration</h2>
<p>Une icône clignotant en rouge est venu se greffer dans la barre des taches près de l&#8217;horloge, indiquant que le serveur est démarré.</p>
<p align="center"><img src="/images/r_dream/dynamique/applidyn/bdd_serveur/barre_tache.gif" border="0" alt="" width="178" height="23" /></p>
<p><!--  r_dream/d_dyn/dyn_bdd/bdd_serveur/--></p>
<p>En faisant un clic droit sur l&amp;#8217;icône d&#8217;EasyPHP on accède à un menu contextuel qui permets de configurer le serveur et les différents logiciels.</p>
<p align="center"><img src="/images/r_dream/dynamique/applidyn/bdd_serveur/config.gif" border="0" alt="" width="235" height="187" /></p>
<p>On clique sur <span class="italique">Configuration&gt; EasyPHP</span>,        ce qui ouvre une nouvelle fenêtre.</p>
<p align="center"><img src="/images/r_dream/dynamique/applidyn/bdd_serveur/config_easyphp.gif" border="0" alt="" width="329" height="291" /></p>
<ul>
<li> <span class="italique">Démarrer EasyPHP en même temps que Windows</span> : pas de commentaire&#8230;</li>
<li> <span class="italique">Démarrer en tant que service</span> : valable pour Windows NT, Windows 2000 et Windows XP, permet de démarrer Apache, PHP et MySql en tant que service, on pourra dès lors se passer de lancer EasyPHP.</li>
<li> <span class="italique">Lancement automatique des serveurs au démarrage de l&#8217;application</span> : démarre Apache, PHP et MySql en lancement d&#8217;EasyPHP, si le mode Service    n&#8217;est pas coché.</li>
<li><span class="italique">Mode expert </span>: permets d&#8217;accéder à certaines fonctions cachées    du logiciel.</li>
<li><span class="italique">Vérifier les nouvelles versions au démarrage</span> : pas de commentaires          non plus&#8230;</li>
<li><span class="italique">Prise en compte automatique des modifications des serveurs</span> : relance les serveurs de manière automatique à chaque changement de configuration, comme par exemple une modification d&#8217;Apache.</li>
</ul>
<h2>Administration</h2>
<p>Toujours grâce au bouton droit, on accède à l&#8217;administration d&#8217;EasyPHP, notamment pour configurer l&#8217;emplacement des bases de données et les alias de sites web.<br />
Grâce à phpMyAdmin on peut ajouter des bases de données,        modifier les tables, ajouter des infos, etc&#8230;<br />
En dernière partie, vous avez accès aux infos relatives à PHP ainsi qu&#8217;aux différentes extensions installées et paramètres du serveur.</p>
<p align="center"><img src="/images/r_dream/dynamique/applidyn/bdd_serveur/localhost.gif" border="0" alt="" width="450" height="227" /></p>
<p>À noter que vous pouvez trouver différentes ressources,        ainsi qu&#8217;une F.A.Q et un forum sur le site d&#8217;<a href="http://www.easyphp.org/" target="_blank">EasyPHP</a> et sur <a href="http://www.manucorp.com/" target="_blank">Manucorp</a> (concepteur        d&#8217;EasyPHP).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashxpress.net/ressources-dreamweaver/installer-php-mysql-sous-windows/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Exporter/Importer les fragments de code</title>
		<link>http://www.flashxpress.net/ressources-dreamweaver/exporterimporter-les-fragments-de-code/</link>
		<comments>http://www.flashxpress.net/ressources-dreamweaver/exporterimporter-les-fragments-de-code/#comments</comments>
		<pubDate>Mon, 13 Oct 2008 10:51:33 +0000</pubDate>
		<dc:creator>Bertrand Gac</dc:creator>
				<category><![CDATA[Dreamweaver extensions]]></category>
		<category><![CDATA[Tutoriels Dreamweaver]]></category>
		<category><![CDATA[Fragments de code]]></category>
		<category><![CDATA[snippets]]></category>

		<guid isPermaLink="false">http://www.flashxpress.net/?p=1662</guid>
		<description><![CDATA[C&#8217;est trop souvent que j&#8217;ai perdu mes fragments de code, suite à des réinstallations complètes de Dreamweaver ou suite à un formatage. J&#8217;ai donc fait cette extension pour sauvegarder automatiquement tous mes fragments de code personnels. L&#8217;export peut être manuel ou automatique, en cochant l&#8217;option &#34;Exporter automatiquement à la fermeture de Dreamweaver&#34;. L&#8217;extension n&#8217;exporte que [...]]]></description>
			<content:encoded><![CDATA[<p>C&#8217;est trop souvent que j&#8217;ai perdu mes fragments de code, suite à des réinstallations complètes de Dreamweaver ou suite à un formatage. J&#8217;ai donc fait cette extension pour sauvegarder automatiquement tous mes fragments de code personnels. L&#8217;export peut être manuel ou automatique, en cochant l&#8217;option &quot;Exporter automatiquement à la fermeture de Dreamweaver&quot;.</p>
<p>L&#8217;extension n&#8217;exporte que les fragments de code créés par l&#8217;utilisateur. Dreamweaver les stocke dans le profil utilisateur.<br />
  (Par exemple : sur Vista : C:\Users\PROFIL\AppData\Roaming\Adobe\Dreamweaver CS4\fr_FR\Configuration\Snippets)</p>
<ul style="list-style: circle">
<li>Tout le dossier Snippets est exporté (copier sur une autre destination). Il n&#8217;est pas possible de sélectionner un fragment de code ou un dossier de fragments de code en particulier.</li>
<li>Tous les fragments de code natifs à Dreamweaver sont ignorés.</li>
<li>Pour importer les snippets sur une autre machine, ou après une réinstallation, il faut sélectionner non pas le dossier Snippets mais son dossier parent. L&#8217;extension cherche exclusivement la présence d&#8217;un dossier &quot;Snippets&quot;. Il ne doit donc bien sûr pas être renommé.</li>
</ul>
<p><img src="images/r_dream/snippets_extension_exporter/01.gif" width="573" height="364" title="Extension Exporter/Impoter les Fragments de code" /></p>
<p><a href="images/r_dream/snippets_extension_exporter/FXPSnippets.mxp">Télécharger l&#8217;extension</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashxpress.net/ressources-dreamweaver/exporterimporter-les-fragments-de-code/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Images dynamiques : permuter l&#8217;image (2)</title>
		<link>http://www.flashxpress.net/ressources-dreamweaver/images-dynamiques-permuter-limage-2/</link>
		<comments>http://www.flashxpress.net/ressources-dreamweaver/images-dynamiques-permuter-limage-2/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 14:57:12 +0000</pubDate>
		<dc:creator>Jean-Luc</dc:creator>
				<category><![CDATA[Tutoriels Dreamweaver]]></category>
		<category><![CDATA[Dreamweaver dynamique]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.flashxpress.net/2008/07/29/images-dynamiques-permuter-limage-2/</guid>
		<description><![CDATA[Dreamweaver nous offre la possibilité d&#8217;afficher des images dynamiques, provenant d&#8217;une base de données, nous allons voir comment intervertir une image de grande taille placée à un endroit du document sur l&#8217;action d&#8217;une autre image de taille réduite (thumbnail), placé à un autre endroit du document (effet de roll-over), et ce de manière dynamique. Pour [...]]]></description>
			<content:encoded><![CDATA[<p>Dreamweaver nous offre la possibilité d&#8217;afficher des images dynamiques, provenant d&#8217;une base de données, nous allons voir comment intervertir une image de grande taille placée à un endroit du document sur l&#8217;action d&#8217;une autre image de taille réduite (thumbnail), placé à un autre endroit du document (effet de roll-over), et ce de manière dynamique.</p>
<p><span id="more-546"></span></p>
<p>Pour créer cet effet sur l&#8217;événement onClick     une extension est nécessaire, <span class="gras">Apply N4 Return False Fix</span>,     disponible sur le site <a href="http://www.projectseven.com" target="_blank">Project       Seven</a>.</p>
<p>Vous pouvez télécharger la         base de données ainsi que les     images utilisées dans ce tutorial.</p>
<ul>
<li>La base de données :<a title="db_video.zip" name="file" href="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_swap_ailleurs/db_video.zip" target="_self">db_video.zip (<span id="3.04 KB,null" style="font-size: 80%;">3.04 KB)</span></a></li>
<li>Les images : <a title="images.zip" name="file" href="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_swap_ailleurs/images.zip" target="_self">images.zip (<span id="62.88 KB,null" style="font-size: 80%;">62.88 KB)</span></a></li>
</ul>
<h2>Création du jeu d&#8217;enregistrement</h2>
<p>On crée tout d&#8217;abord un jeu d&#8217;enregistrement, en sélectionnant les informations qui nous intéresse, en triant le résultat dans l&#8217;ordre voulu.</p>
<p align="center"><img title="Création du jeu d'enregistrement" src="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_swap_ailleurs/recordset.gif" border="0" alt="Jeu d'enregistrements " width="400" height="277" /></p>
<h2>Insertion de l&#8217;image</h2>
<p>Via le menu<span class="italique"> Insertion &gt; Commun</span> ou le raccourci   clavier CTRL+Alt+I on insère l&#8217;image dynamique de taille réduite.</p>
<p align="center"><img title="Insertion de l'image" src="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_swap_ailleurs/insert_img_01.gif" border="0" alt="nsertion de l'image dynamique" width="159" height="75" /></p>
<p>On sélectionne la source de l&#8217;image, en cochant la case <span class="italique">Source     de données</span> puis en cliquant sur le champ de l&#8217;image, à savoir <span class="script">jaquette</span>.</p>
<p align="center"><img title="Source de données" src="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_swap_ailleurs/insert_img_02.gif" border="0" alt="Source de l'image " width="400" height="302" /></p>
<p>Il nous faut ensuite spécifier le dossier où se   trouvent les images, on ajoute dans l&#8217;URL le nom de ce dossier, ici <span class="script">images</span>,   en rajoutant le préfixe &laquo;&nbsp;<span class="script">tn_</span>&nbsp;&raquo; (pour thumbnail) devant le champ <span class="script">jaquette</span>, ce qui nous permet de différencier les différentes images, tout en ayant un seul nom de ces mêmes images dans la base de données.</p>
<p>Bien sûr vous devez tenir compte de l&#8217;arborescence du dossier <span class="script">images</span>,     dans l&#8217;exemple celui-ci se trouve en racine du serveur.</p>
<p>Puis on insère la seconde image de taille normale, à un autre     endroit du document, en nommant cette image <span class="script">defaut</span> dans le panneau <span class="italique">Propriétés</span>.</p>
<p align="center"><img title="Image defaut dans le panneau Propriétés" src="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_swap_ailleurs/proprietes_01.gif" border="0" alt="Propriétés de l'image " width="300" height="110" /></p>
<p>Si vous ne voulez pas que cette image soit visible par défaut il vous suffit de la créer en gif ou en png transparent, dans votre éditeur d&#8217;images.</p>
<h2>Ajout d&#8217;informations</h2>
<p>Il peut être nécessaire d&#8217;ajouter des informations concernant notre image de taille réduite, comme sa taille ou l&#8217;attribut <span class="script">alt</span> (permet d&#8217;afficher un texte alternatif en cas de non-affichage de l&#8217;image) par exemple, pour ce faire il faut passer en mode source et taper ce code à la main :</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p546code3'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5463"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p546code3"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>img src<span style="color: #339933;">=</span>”http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//www.flashxpress.net/images/tn_&lt;?php echo $row_rsVideo['jaquette']; ?&gt;” name=”tn&lt;?php echo $row_rsVideo['id_video']; ?&gt;” id=”tn&lt;?php echo $row_rsVideo['id_video']; ?&gt;” alt=”&lt;?php echo $row_rsVideo['titre']; ?&gt;” width=”100″ height=”137″ /&gt;</span></pre></td></tr></table></div>

<p>Le champ <span class="script">id_video</span> étant un champ numérique,     l&#8217;utiliser pour l&#8217;attribut <span class="script">id</span> ou <span class="script">name</span> rend la page     non conforme en XHTML, pour contourner le problème il suffit d&#8217;ajouter     devant le champ un préfixe, ici &laquo;&nbsp;<span class="script">tn</span>&laquo;&nbsp;.</p>
<h2>Permuter l&#8217;image</h2>
<p>Le comportement<span class="italique"> Permuter l&#8217;image</span> est accessible à partir   de l&#8217;onglet <span class="italique">Fenêtre &gt; Comportements</span> ou via le raccourci clavier Maj+F3, il faut d&#8217;abord sélectionner l&#8217;image de taille réduite avant de pouvoir l&#8217;utiliser.</p>
<p align="center"><img title="Permuter l'image" src="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_swap_ailleurs/swap_01.gif" border="0" alt="Comportement " width="450" height="232" /></p>
<p>On sélectionne image <span class="script">defaut</span>, puis on  décoche <span class="italique">Précharger       les images</span> et     par contre on coche <span class="italique">Restaurer les images onMouseOut</span>, cette fonction     permettant de restaurer l&#8217;image initiale une fois que la souris a quitté l&#8217;image     (événement <span class="script">onMouseOut</span>).</p>
<p>Cliquer sur <span class="italique">Parcourir</span> nous permet de choisir la     source des images sur lesquelles l&#8217;action va être appliqué.</p>
<p align="center"><img title="Source des images" src="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_swap_ailleurs/swap_02.gif" border="0" alt="Source de l'image dynamique" width="394" height="298" /></p>
<p>On choisit le champ contenant le nom de l&#8217;image <span class="script">jaquette</span>,     on ajoute le chemin du dossier images dans l&#8217;URL, on clique sur <span class="italique">OK</span>.</p>
<h2>Evénement onclick</h2>
<p>Pour modifier le comportement avec l&#8217;événement <span class="script">onMouseOver</span> par défaut à l&#8217;événement <span class="script">onClick</span>, il faut supprimer l&#8217;événement <span class="script">onMouseOut</span> ou le modifier pour <span class="script">onDoubleClick</span> par exemple, puis modifier l&#8217;événement <span class="script">onMouseOver</span>.</p>
<p align="center"><img title="Evénement onclick" src="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_swap_ailleurs/comportement_01.gif" border="0" alt="Fenêtre des comportements JavaScript" width="245" height="218" /></p>
<p>On     applique ensuite la commande <span class="italique">Apply N4 Return False Fix</span>, ce qui   ajoute une fonction JavaScript à notre comportement.</p>
<p align="center"><img title="Apply N4 Return False Fix" src="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_swap_ailleurs/apply_false_fix.gif" border="0" alt="Commande " width="400" height="227" /></p>
<h2>Région répétée</h2>
<p>Si on veut afficher plusieurs images il nous faut faire une région répétée, qui lira les enregistrements présents dans la base de données en boucle, suivant le nombre d&#8217;enregistrements spécifiés à afficher.<br />
Afin de garder le comportement JavaScript, on doit bien sûr sélectionner celui-ci en même temps que l&#8217;image afin de l&#8217;inclure dans la région répétée.</p>
<p>Vous pouvez accéder à cette fonction via la fenêtre <span class="italique">Application   &gt; Comportements de serveur</span> ou via le menu <span class="italique">Insertion &gt; Applications       dynamique</span>.</p>
<p align="center"><img title="Région répétée" src="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_swap_ailleurs/repeat_region_01.gif" border="0" alt="Fonction " width="200" height="76" /></p>
<p>Puis on choisit le nombre d&#8217;enregistrements à afficher.</p>
<p align="center"><img title="Nombre d'enregistrements à afficher" src="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_swap_ailleurs/repeat_region_02.gif" border="0" alt="Choix du nombre d'enregistrements à afficher" width="400" height="115" /></p>
<h2>Préchargement des images</h2>
<p>Il peut être utile de précharger les images, afin     qu&#8217;il n&#8217;y ait pas de temps d&#8217;attente sur l&#8217;évémement <span class="script">onMouseOver</span>,     pour ce faire on doit combiner JavaScript et PHP/MySql.<br />
Pourquoi ne pas utiliser le premier jeu d&#8217;enregistrement déjà créé ? Tout simplement parce que Dreamweaver ne gère pas plusieurs régions répétée du même jeu d&#8217;enregistrement dans le même document.</p>
<p>On passe en mode source dans la partie <span class="script">&lt;head&gt;</span> du document     et on tape ce code juste avant la balise</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p546code4'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5464"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
</pre></td><td class="code" id="p546code4"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/* connection à MySql
$dbname = mysql_connect('nom_du_serveur_sql', 'votre_login', 'votre_password');
*/</span>
<span style="color: #000088;">$dbname</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/mysql_connect"><span style="color: #990000;">mysql_connect</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'localhost'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'root'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// sélection de la base</span>
<a href="http://www.php.net/mysql_select_db"><span style="color: #990000;">mysql_select_db</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'flashxpress'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$dbname</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* création de la requête
on limite le nombre d'enregistrement au même nombre que la région répétée (rsVideo) affichant les images
*/</span>
<span style="color: #000088;">$query_rsPreload</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'SELECT id_video,jaquette FROM video LIMIT 4 '</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// envoi de la requete</span>
<span style="color: #000088;">$rsPreload</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/mysql_query"><span style="color: #990000;">mysql_query</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query_rsPreload</span><span style="color: #009900;">&#41;</span> or <a href="http://www.php.net/die"><span style="color: #990000;">die</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Erreur SQL !
'</span><span style="color: #339933;">.</span><span style="color: #000088;">$query_rsPreload</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'
'</span><span style="color: #339933;">.</span><a href="http://www.php.net/mysql_error"><span style="color: #990000;">mysql_error</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// boucle pour lire chaque enregistrement</span>
<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$row_rsPreload</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/mysql_fetch_array"><span style="color: #990000;">mysql_fetch_array</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$rsPreload</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// affichage du JavaScript</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
'</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;n&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// saut de ligne</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'i'</span><span style="color: #339933;">.</span><span style="color: #000088;">$row_rsPreload</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id_video'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' = new Image;'</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// identifiant unique</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;n&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// saut de ligne</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'i'</span><span style="color: #339933;">.</span><span style="color: #000088;">$row_rsPreload</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id_video'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'.src = &quot;http://www.flashxpress.net/images/'</span><span style="color: #339933;">.</span><span style="color: #000088;">$row_rsPreload</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'jaquette'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;;'</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// source de l'image avec le prefixe ton_</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;n&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// saut de ligne</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'
// --&gt;&lt;/script&gt;'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">// fermeture de la connection à MySql</span>
<a href="http://www.php.net/mysql_close"><span style="color: #990000;">mysql_close</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Le but est de donner un identifiant unique à chaque image (i suivi du N° de l&#8217;id_video) ainsi que le dossier source de l&#8217;image, ces images seront chargés avant le reste de la page, permettant la permutation des images de manière fluide.</p>
<p>Gardez à l&#8217;esprit que les images sont chargées avant l&#8217;affichage de la page, il faut donc limiter le nombre d&#8217;images totales et/ou les optimiser le plus possible, au risque de rendre la page très lourde à charger.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashxpress.net/ressources-dreamweaver/images-dynamiques-permuter-limage-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Supprimer plusieurs enregistrements</title>
		<link>http://www.flashxpress.net/ressources-dreamweaver/comportement-serveur-supprimer-plusieurs-enregistrements/</link>
		<comments>http://www.flashxpress.net/ressources-dreamweaver/comportement-serveur-supprimer-plusieurs-enregistrements/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 18:44:09 +0000</pubDate>
		<dc:creator>Bertrand Gac</dc:creator>
				<category><![CDATA[Dreamweaver dynamique]]></category>
		<category><![CDATA[Dreamweaver extensions]]></category>
		<category><![CDATA[Tutoriels Dreamweaver]]></category>
		<category><![CDATA[comportements serveur]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.flashxpress.net/ressources-dreamweaver/comportement-serveur-supprimer-plusieurs-enregistrements/</guid>
		<description><![CDATA[Dreamweaver MX possède par défaut un comportement serveur Supprimer un enregistrement. En voici un qui permet de supprimer non pas un mais plusieurs enregistrements à la fois : utile quand on a besoin de faire du ménage rapidement dans une table&#8230; Exemple d&#8217;utilisation Supposons que nous avons une table actualite, qui sert à stocker et [...]]]></description>
			<content:encoded><![CDATA[<p>Dreamweaver MX possède par défaut un comportement serveur <span class="italique">Supprimer un enregistrement</span>.</p>
<p>En voici un qui permet de supprimer non pas un mais plusieurs enregistrements à la fois : utile quand on a besoin de faire du ménage rapidement dans une table&#8230;</p>
<p align="center"><img src="/images/r_dream/comport_serveur/supmul/SupMult.gif" border="0" alt="" width="514" height="255" /></p>
<h2>Exemple d&#8217;utilisation</h2>
<p>Supposons que nous avons une table <span class="script">actualite</span>, qui sert à stocker et présenter des actus sur un site. Afin de garder cette table de dimension raisonnable, on décide de supprimer sélectivement de temps à autre des actualités qui ont plus de 3 mois.</p>
<p>Voici la structure et le contenu de la table. Elle a été simplifiée et réduite pour plus de clarté :</p>
<p align="center"><img src="/images/r_dream/comport_serveur/supmul/sme01.gif" border="0" alt="" width="402" height="231" /></p>
<blockquote class="source"><p><span class="sourceRouge">#<br />
# Structure de la table `actu`<br />
# </span></p>
<p><span class="sourceViolet">DROP TABLE IF EXISTS actu;<br />
CREATE TABLE actu (<br />
idActu tinyint(3) unsigned NOT NULL auto_increment,<br />
titre varchar(150) NOT NULL default &nbsp;&raquo;,<br />
date date NOT NULL default &#8217;0000-00-00&#8242;,<br />
PRIMARY KEY (idActu),<br />
UNIQUE KEY date (date)<br />
); </span></p>
<p class="sourceComment">#<br />
# Contenu de la table `actu`<br />
#</p>
<p class="sourceViolet">INSERT INTO actu VALUES (1, &#8216;Viva Cuba!&#8217;, &#8217;2004-01-28&#8242;),<br />
(2, &#8216;Jacques Brel : le coffret du 25e anniversaire&#8217;, &#8217;2003-08-27&#8242;),<br />
(3, &#8216;David Bowie, Reality&#8217;, &#8217;2003-07-25&#8242;),<br />
(4, &#8216;Le violon dans tous ses états&#8217;, &#8217;2004-02-03&#8242;),<br />
(5, &#8216;Je ne suis qu&#8217;une chanson&#8217;, &#8217;2003-04-28&#8242;),<br />
(6, &#8216;Herbie Hancock, My Point Of View&#8217;, &#8217;2003-12-08&#8242;);</p></blockquote>
<p class="sourceComment">
<p>Si vous souhaitez suivre ce tutorial, vous pouvez télécharger le fichier SQL qui crée la table et insère quelques enregistrements.</p>
<p><a title="actu.zip" name="file" href="images/r_dream/comport_serveur/supmul/actu.zip" target="_self"><img src="mambots/editors/mosce/jscripts/tiny_mce/plugins/filemanager/InsertFile/img/ext/zip_small.gif" border="0" alt="actu.zip" align="middle" /> actu.zip (<span id="672 bytes,null" style="font-size: 80%;">672 bytes)</span></a></p>
<h2>Le jeu d&#8217;enregistrements</h2>
<p>Créez un jeu d&#8217;enregistrements portant sur les données que nous voulons détruire, à savoir toutes les actus qui ont plus de 3 mois, et de trier ces données par ordre décroissant.:</p>
<blockquote class="source"><p>SELECT *<br />
FROM actu<br />
WHERE date &lt; DATE_SUB(NOW(), INTERVAL 90 DAY)<br />
ORDER BY date DESC</p></blockquote>
<p>Brève explication sur la clause <span class="script">WHERE</span> utilisée ici :<br />
Nous prenons la date d&#8217;aujourd&#8217;hui (NOW) à laquelle nous soustrayons (DATE_SUB) 90 jours (INTERVAL 90 DAY) et le résultat est comparé avec la colonne date de la table.</p>
<h2>Le formulaire</h2>
<p>Iinsérez un formulaire dans votre document, puis créez une région répétée dans ce formulaire de façon à afficher les données :</p>
<p align="center"><img src="/images/r_dream/comport_serveur/supmul/sme02.gif" border="0" alt="" width="428" height="96" /></p>
<p>Rajoutez une colonne à droite du tableau, insérez une case à cocher, nommez-la et donnez lui une valeur dynamique qui correspondra à la valeur de la clé primaire idActu. Pour cela, sélectionnez la case à cocher, allez dans le panneau <span class="italique">Applications &gt; onglet Liaisons</span>, déroulez le jeu d&#8217;enregistrements et glissez/déposez le texte dynamique idActu sur la case.</p>
<p align="center"><img src="/images/r_dream/comport_serveur/supmul/sme04.gif" border="0" alt="" width="352" height="79" /></p>
<blockquote class="source"><p>&lt;input name=&nbsp;&raquo;supp&nbsp;&raquo; type=&nbsp;&raquo;checkbox&nbsp;&raquo; id=&nbsp;&raquo;supp&nbsp;&raquo; value=&nbsp;&raquo;&lt;?php echo $row_rsActus3mois['idActu']; ?&gt;&nbsp;&raquo;&gt;</p></blockquote>
<p>Puis ajoutez un bouton Supprimer. Attention : ce bouton ne doit pas être dans la région répétée! (Ici j&#8217;e l&#8217;ai simplement mis dans un autre tableau, sous le premier mais en dehors de la région répétée)</p>
<p align="center"><img src="/images/r_dream/comport_serveur/supmul/sme03.gif" border="0" alt="" width="482" height="140" /></p>
<h2>Le comportement</h2>
<p>Appliquez le comportement. Sélectionnez les différents paramètres demandés, rentrez le nom de la case à cocher ainsi que l&#8217;URL de redirection quand la suppression est terminée.</p>
<p>Une fois appliqué, ce comportement a effectué deux opérations : outre le code PHP qui a été inséré en début de fichier, il a également renommé la case à cocher en lui rajoutant à la fin deux crochets : <span class="script">supp[]</span>.<br />
Cette notation est nécessaire : elle signifie pour PHP qu&#8217;il est en présence d&#8217;une variable de type tableau, ce qui permett de stocker les différentes valeurs que peut prendre la clé primaire, selon les actualités affichées. En l&#8217;absence de ces crochets, supp serait une simple variable dont la valeur serait écrasée à chaque fois par la précédente.</p>
<p>Le code PHP tient en quelques lignes :</p>
<p align="center"><img src="/images/r_dream/comport_serveur/supmul/sme05.gif" border="0" alt="" width="595" height="136" /></p>
<ul>
<li>Ligne 12 : on vérifie que le tableau supp n&#8217;est pas vide.</li>
<li> Ligne 13 : on parcourt le tableau avec une boucle foreach</li>
<li> Ligne 15 : on exécute la requête autant de fois qu&#8217;il y a d&#8217;éléments dans le tableau .</li>
<li> Ligne 17 : redirection quand les suppressions sont terminées.</li>
</ul>
<p align="center"><a title="SuppMultEnr.mxp" name="file" href="images/r_dream/comport_serveur/supmul/SuppMultEnr.mxp" target="_self"><img src="mambots/editors/mosce/jscripts/tiny_mce/plugins/filemanager/InsertFile/img/ext/mxp.gif" border="0" alt="SuppMultEnr.mxp" align="middle" /> SuppMultEnr.mxp (<span id="6.97 KB,null" style="font-size: 80%;">6.97 KB)</span></a></p>
<p><span id="more-497"></span><!--more--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashxpress.net/ressources-dreamweaver/comportement-serveur-supprimer-plusieurs-enregistrements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jointure de tables avec Dreamweaver</title>
		<link>http://www.flashxpress.net/ressources-dreamweaver/jointure-de-tables-avec-dreamweaver-mx/</link>
		<comments>http://www.flashxpress.net/ressources-dreamweaver/jointure-de-tables-avec-dreamweaver-mx/#comments</comments>
		<pubDate>Tue, 27 May 2008 15:31:17 +0000</pubDate>
		<dc:creator>Bertrand Gac</dc:creator>
				<category><![CDATA[Dreamweaver dynamique]]></category>
		<category><![CDATA[Tutoriels Dreamweaver]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.flashxpress.net/2005/07/27/jointure-de-tables-avec-dreamweaver-mx/</guid>
		<description><![CDATA[Proposé par Nadine Dans les bases de données un peu complexe, il est souvent nécessaire de faire des jointures de table quand on se retrouve avec une relation de 1 à n. Ce système permet de relier plusieurs tables par leurs id afin d&#8217;éviter d&#8217;alourdir inutilement la base de données. Nous allons voir comment Dreamweaver [...]]]></description>
			<content:encoded><![CDATA[<p>Proposé par Nadine</p>
<p>Dans les bases de données un peu complexe, il est souvent nécessaire de faire des jointures de table quand on se retrouve avec une relation de 1 à n. Ce système permet de relier plusieurs tables par leurs id afin d&#8217;éviter d&#8217;alourdir inutilement la base de données.</p>
<p>Nous allons voir comment Dreamweaver permet de créer une jointure de tables très facilement, pratiquement sans taper de code.</p>
<p><span id="more-517"></span></p>
<h2>Principe des jointures de tables</h2>
<p>Prenons le cas d&#8217;un catalogue de livres où l&#8217;on veut rentrer les renseignements suivants : titre du livre, nom et prénom de l&#8217;auteur, collection à laquelle appartient le livre</p>
<p>Le premier réflexe quand on ne connait pas les bases de données serait de créer une seule table contenant toutes ces informations :</p>
<table class="classTable" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr align="center">
<td width="11%">id_livre</td>
<td width="27%">titre_livre</td>
<td width="23%">nom_auteur</td>
<td width="16%">prenom_auteur</td>
<td width="23%">collection</td>
</tr>
<tr align="center">
<td>1</td>
<td>Les fourmis</td>
<td>Werber</td>
<td>Bernard</td>
<td>Le livre de poche</td>
</tr>
<tr align="center">
<td>2</td>
<td>Mercure</td>
<td>Nothomb</td>
<td>Amélie</td>
<td>Le livre de poche</td>
</tr>
<tr align="center">
<td>3</td>
<td>Robert des noms propres</td>
<td>Nothomb</td>
<td>Amélie</td>
<td>Albin Michel</td>
</tr>
<tr align="center">
<td>4</td>
<td>Sans feu ni lieu</td>
<td>Vargas</td>
<td>Fred</td>
<td>J&#8217;ai lu</td>
</tr>
<tr align="center">
<td>5</td>
<td>Debout les morts</td>
<td>Vargas</td>
<td>Fred</td>
<td>J&#8217;ai lu</td>
</tr>
<tr align="center">
<td>6</td>
<td>Le jour des fourmis</td>
<td>Werber</td>
<td>Bernard</td>
<td>Albin Michel</td>
</tr>
</tbody>
</table>
<p><span class="grasRouge">CE N&#8217;EST PAS LA BONNE SOLUTION !</span></p>
<p>En effet, on voit que les informations concernant les auteurs et la collection sont dupliquées et alourdissent inutilement la base. Pour 5 livres du même auteur, on rentre 5 fois les informations concernant son nom et son prénom, avec tous les risques de faute de frappe que cela représente&#8230;</p>
<p>Avec la méthode Merise, on crée 3 tables :</p>
<ul class="classListePuce">
<li> une table pour les collections,</li>
<li> une table pour les auteurs,</li>
<li> une table livres dans laquelle on ajoute seulement l&#8217;identifiant correspondant à l&#8217;auteur et celui correspondant à la collection.</li>
</ul>
<p>TABLE AUTEURS</p>
<table class="classTable" cellspacing="0" cellpadding="0" width="378">
<tbody>
<tr align="center">
<td width="84">id_auteur</td>
<td width="168">nom_auteur</td>
<td width="118">prenom_auteur</td>
</tr>
<tr align="center">
<td>1</td>
<td>Werber</td>
<td>Bernard</td>
</tr>
<tr align="center">
<td>2</td>
<td>Nothomb</td>
<td>Amélie</td>
</tr>
<tr align="center">
<td>3</td>
<td>Vargas</td>
<td>Fred</td>
</tr>
</tbody>
</table>
<p>TABLE COLLECTIONS</p>
<table class="classTable" cellspacing="0" cellpadding="0" width="238">
<tbody>
<tr align="center">
<td width="96">id_collection</td>
<td width="136">collection</td>
</tr>
<tr align="center">
<td>1</td>
<td>Le livre de poche</td>
</tr>
<tr align="center">
<td>2</td>
<td>Albin Michel</td>
</tr>
<tr align="center">
<td>3</td>
<td>J&#8217;ai lu</td>
</tr>
</tbody>
</table>
<p>TABLE LIVRES</p>
<table class="classTable" cellspacing="0" cellpadding="0" width="609">
<tbody>
<tr align="center">
<td width="84">id_livre</td>
<td width="199">titre_livre</td>
<td width="168">id_auteur</td>
<td width="148">id_collection</td>
</tr>
<tr align="center">
<td>1</td>
<td>Les fourmis</td>
<td>1</td>
<td>1</td>
</tr>
<tr align="center">
<td>2</td>
<td>Mercure</td>
<td>2</td>
<td>1</td>
</tr>
<tr align="center">
<td>3</td>
<td>Robert des noms propres</td>
<td>2</td>
<td>2</td>
</tr>
<tr align="center">
<td>4</td>
<td>Sans feu ni lieu</td>
<td>3</td>
<td>3</td>
</tr>
<tr align="center">
<td>5</td>
<td>Debout les morts</td>
<td>3</td>
<td>3</td>
</tr>
<tr align="center">
<td>6</td>
<td>Le jour des fourmis</td>
<td>1</td>
<td>2</td>
</tr>
</tbody>
</table>
<h2>Création des tables</h2>
<p>On crée une base &laquo;&nbsp;bouquins&nbsp;&raquo; et on crée la structure de ces 3 tables avec phpMyAdmin.</p>
<blockquote class="source"><p>#</p>
<p># Structure de la table `auteurs`</p>
<p>#</p>
<p class="source">CREATE TABLE auteurs (</p>
<p>id_auteur int(11) NOT NULL auto_increment,</p>
<p>nom_auteur varchar(255) NOT NULL default &nbsp;&raquo;,</p>
<p>prenom_auteur varchar(255) NOT NULL default &nbsp;&raquo;,</p>
<p>PRIMARY KEY (id_auteur)</p>
<p>) TYPE=MyISAM;</p>
<p># &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p class="source">#</p>
<p># Structure de la table `collections`</p>
<p>#</p>
<p class="source">CREATE TABLE collections (</p>
<p>id_collection int(11) NOT NULL auto_increment,</p>
<p>collection varchar(255) NOT NULL default &nbsp;&raquo;,</p>
<p>PRIMARY KEY (id_collection)</p>
<p>) TYPE=MyISAM;</p>
<p># &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p class="source">#</p>
<p># Structure de la table `livres`</p>
<p>#</p>
<p class="source">CREATE TABLE livres (</p>
<p>id_livre int(11) NOT NULL auto_increment,</p>
<p>titre_livre varchar(255) NOT NULL default &nbsp;&raquo;,</p>
<p>id_auteur int(11) NOT NULL default &#8217;0&#8242;,</p>
<p>id_collection int(11) NOT NULL default &#8217;0&#8242;,</p>
<p>PRIMARY KEY (id_livre)</p>
<p>) TYPE=MyISAM;</p></blockquote>
<p>On insère les noms et prénoms de nos trois auteurs et les noms des collections dans leurs tables respectives (On verra ensuite comment utiliser un formulaire d&#8217;insertion pour insérer d&#8217;autres enregistrements).</p>
<p>Par contre, on laisse la table livres totalement vide. On remplira cette table directement avec un formulaire d&#8217;insertion.{mospagebreak }</p>
<h2>Formulaires d&#8217;insertion</h2>
<p>Après avoir créé la structure des tables, on revient dans Dreamweaver MX. On définit un site, on configure le serveur d&#8217;évaluation, puis on crée une page insertion_livres.php et on établit une connexion MySQL avec la base de données (voir le tutorial <a href="content/category/5/197/66/">Application dynamique avec Dreamweaver MX</a>).</p>
<p>On crée deux jeux d&#8217;enregistrements : jeu_auteurs et jeu_collections qui sélectionnent tous les enregistrements triés par ordre alphabétique par rapport au nom des auteurs et à l&#8217;intitulé des collections.</p>
<p align="center"><img title="jeu_auteur.gif" src="images/r_dream/dynamique/bdd_jointure/jeu_auteur.gif" border="0" alt="jeu_auteur.gif" width="455" height="313" align="middle" /></p>
<p align="center"><img title="jeu_collection.gif" src="images/r_dream/dynamique/bdd_jointure/jeu_collection.gif" border="0" alt="jeu_collection.gif" width="453" height="314" align="middle" /></p>
<p>Dans la page insertion_livre.php, on insère ensuite un formulaire d&#8217;insertion d&#8217;enregistrement un peu particulier, comme suit :</p>
<p>On met le champ id_livre en champ masqué sans indiquer de valeur puisqu&#8217;il s&#8217;auto-incrémente (on aurait pu d&#8217;ailleurs le supprimer tout simplement, cela revient au même).</p>
<p>On laisse le champ titre_livre en champ de texte.</p>
<p>Pour le champ id_auteur, on demande <span class="italique">Afficher en tant que menu</span> et on clique sur <span class="italique">Propriétés</span>.</p>
<p align="center"><img title="insertionlivre1.gif" src="images/r_dream/dynamique/bdd_jointure/insertionlivre1.gif" border="0" alt="insertionlivre1.gif" width="600" height="372" align="middle" /></p>
<p>On coche <span class="italique">Charger les éléments du menu depuis la base de données</span>, et on précise les options ci-dessous :</p>
<p align="center"><img title="insertionlivre2.gif" src="images/r_dream/dynamique/bdd_jointure/insertionlivre2.gif" border="0" alt="insertionlivre2.gif" width="562" height="306" align="middle" /></p>
<p>On procède de même avec le champ id_collection. (On demande <span class="italique">Afficher en tant que menu</span>, on clique sur <span class="italique">Propriétés</span>, <span class="italique">Charger les éléments du menu</span> <span class="italique">depuis la base de données</span>, et on demande d&#8217;afficher le nom de la collection dans l&#8217;étiquette et l&#8217;id de la collection dans les valeurs).</p>
<p>On déplace ensuite le champ titre_livre en dernière position avec la flèche noire <span class="italique">Déplacer l&#8217;élément vers le bas de la liste</span>.</p>
<p align="center"><img title="insertionlivre4.gif" src="images/r_dream/dynamique/bdd_jointure/insertionlivre4.gif" border="0" alt="insertionlivre4.gif" width="558" height="414" align="middle" /></p>
<p>Tester la page. On doit voir dans les menus déroulants la liste des auteurs et la liste des collections.</p>
<p>Insérer le nom des 6 livres de la table. Vérifier en affichant ensuite la table dans phpMyAdmin qu&#8217;elle correspond à ce qui était indiqué dans la rubrique &laquo;&nbsp;Principe des jointures de table&nbsp;&raquo;.</p>
<p>Il nous reste à régler le cas où l&#8217;auteur ou la collection n&#8217;existe pas encore dans la table correspondante. La solution la plus simple est de créer deux pages &laquo;&nbsp;insertion_auteur.php&nbsp;&raquo; et &laquo;&nbsp;insertion_collection.php&nbsp;&raquo; dans lesquelles on va insérer des formulaires d&#8217;insertion simples avec un retour sur la page &laquo;&nbsp;insertion_livre.php&nbsp;&raquo;.</p>
<p align="center"><img title="insertionauteur.gif" src="images/r_dream/dynamique/bdd_jointure/insertionauteur.gif" border="0" alt="insertionauteur.gif" width="554" height="413" align="middle" /></p>
<p>Ensuite dans la page insertion_livre.php, on crée deux liens hypertextes vers ces deux pages à côté des deux menus déroulants.</p>
<p align="center"><img title="insertionlivrefin.gif" src="images/r_dream/dynamique/bdd_jointure/insertionlivrefin.gif" border="0" alt="insertionlivrefin.gif" width="600" height="306" align="middle" /></p>
<p>Changer le texte HTML généré automatiquement par Dreamweaver (id_auteur, id_collection et titre_livre) par des appellations plus lisibles. Par exemple, renommer &laquo;&nbsp;id_auteur&nbsp;&raquo; en &laquo;&nbsp;auteur&nbsp;&raquo;, &laquo;&nbsp;id_collection&nbsp;&raquo; en &laquo;&nbsp;collection&nbsp;&raquo; et &laquo;&nbsp;titre_livre&nbsp;&raquo; en&nbsp;&raquo; titre du livre&nbsp;&raquo;.</p>
<p>Tester en ajoutant un livre avec un nouvel auteur et une nouvelle collection (ex : Un merveilleux malheur de Boris Cyrulnik aux éditions odile jacob).{mospagebreak }</p>
<h2>Création d&#8217;un jeu d&#8217;enregistrement &laquo;&nbsp;avancé&nbsp;&raquo;</h2>
<p>Il va falloir maintenant créer une page affichant un tableau avec la liste des livres, leurs auteurs et leur collection (page &laquo;&nbsp;liste_livres.php&nbsp;&raquo;).</p>
<p>Pour cela, il faut créer un jeu d&#8217;enregistrements en utilisant l&#8217;option <span class="italique">Avancé</span>, pour lancer une requête SQL faisant la jointure des 3 tables.</p>
<p class="italique">pour créer la ligne &laquo;&nbsp;FROM auteurs,collections,livres&nbsp;&raquo;, il faut cliquer sur chacune des tables puis sur SELECT.</p>
<p align="center"><img title="jointure1.gif" src="images/r_dream/dynamique/bdd_jointure/jointure1.gif" border="0" alt="jointure1.gif" width="600" height="370" align="middle" /></p>
<p class="italique">Pour créer la ligne &laquo;&nbsp;WHERE auteurs.id_auteur&nbsp;&raquo;, il faut cliquer sur l&#8217;id_auteur dans la table auteurs puis sur WHERE.</p>
<p align="center"><img title="jointure2.gif" src="images/r_dream/dynamique/bdd_jointure/jointure2.gif" border="0" alt="jointure2.gif" width="600" height="369" align="middle" /></p>
<p class="italique">Pour créer la ligne &laquo;&nbsp;ORDER BY livres.titre_livre&nbsp;&raquo;, il faut cliquer sur le champ qui va vous servir à trier les enregistrements puis sur ORDER BY.</p>
<p align="center"><img title="jointure3.gif" src="images/r_dream/dynamique/bdd_jointure/jointure3.gif" border="0" alt="jointure3.gif" width="600" height="376" align="middle" /></p>
<p>Cliquer sur ok après avoir tapé (ou généré) le code suivant :</p>
<p class="sourceRouge">SELECT * FROM auteurs, collections, livres WHERE auteurs.id_auteur=livres.id_auteur AND collections.id_collection=livres.id_collection ORDER BY livres.titre_livre</p>
<p>Vous devez obtenir un jeu d&#8217;enregistrement comprenant tous les champs des 3 tables.</p>
<h2>Affichage d&#8217;une liste.</h2>
<p>Il nous reste maintenant à créer une page affichant un tableau avec la liste des livres, leurs auteurs et leur collection (page &laquo;&nbsp;liste_livres.php&nbsp;&raquo;).</p>
<p>Insérer un tableau de 3 colonnes et 2 rangées et transformer la première rangée en cellules d&#8217;entête. Faire un cliquer/glisser dans les cellules du tableau pour insérer les éléments correspondant du jeu d&#8217;enregistrement :</p>
<p align="center"><img title="listelivre1.gif" src="images/r_dream/dynamique/bdd_jointure/listelivre1.gif" border="0" alt="listelivre1.gif" width="600" height="205" align="middle" /></p>
<p>Sélectionner ensuite la deuxième rangée (de &lt;tr&gt; à &lt;/tr&gt;) et demander une <span class="italique">Région répétée</span> en affichant tous les enregistrements.</p>
<p>Vos livres sont désormais affichés par ordre alphabétique. N&#8217;oubliez pas d&#8217;ajouter une feuille de style pour améliorer la présentation.</p>
<p align="center"><img title="resultat_listelivre.gif" src="images/r_dream/dynamique/bdd_jointure/resultat_listelivre.gif" border="1" alt="resultat_listelivre.gif" width="600" height="172" align="middle" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashxpress.net/ressources-dreamweaver/jointure-de-tables-avec-dreamweaver-mx/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Fragments de code Select pour formulaires</title>
		<link>http://www.flashxpress.net/ressources-dreamweaver/fragments-de-code-select-pour-formulaires/</link>
		<comments>http://www.flashxpress.net/ressources-dreamweaver/fragments-de-code-select-pour-formulaires/#comments</comments>
		<pubDate>Thu, 13 Dec 2007 10:06:56 +0000</pubDate>
		<dc:creator>Bertrand Gac</dc:creator>
				<category><![CDATA[Dreamweaver extensions]]></category>
		<category><![CDATA[Evénements]]></category>
		<category><![CDATA[Tutoriels Dreamweaver]]></category>
		<category><![CDATA[Dreamweaver général]]></category>
		<category><![CDATA[Fragments de code]]></category>
		<category><![CDATA[snippets]]></category>

		<guid isPermaLink="false">http://www.flashxpress.net/?p=1651</guid>
		<description><![CDATA[Quelques utilitaires de listes de formulaire, sous forme de fragments de code. Après installation via Extension Manager, ces fragments de code sont disponibles dans le panneau Fenêtres &#62; Fragments de code &#62; Flashxpress. Liste des départements : value = le nom du département : SelectDepartementsAvecNoms.mxp Liste des départements : value = numéro du département : [...]]]></description>
			<content:encoded><![CDATA[<p>Quelques utilitaires de listes de formulaire, sous forme de  fragments de code. Après installation via Extension Manager, ces fragments de code sont disponibles dans le panneau Fenêtres &gt; Fragments de code &gt; Flashxpress.</p>
<p><img title="Panneau Fragments de code" src="images/r_dream/snippets_select/panneau-snippets.gif" border="0" alt="Panneau des snippets" width="303" height="294" align="middle" /></p>
<p>Liste des départements : value = le nom du département : <a href="images/r_dream/snippets_select/SelectDepartementsAvecNoms.mxp">SelectDepartementsAvecNoms.mxp</a></p>
<p><img src="images/r_dream/snippets_select/01.gif" alt="" width="424" height="98" /></p>
<p>Liste des départements : value = numéro du département : <a href="images/r_dream/snippets_select/SelectDepartementsAvecNumeros.mxp">SelectDepartementsAvecNumeros.mxp</a></p>
<p><img src="images/r_dream/snippets_select/02.gif" alt="" width="465" height="108" /></p>
<p>Liste des pays : value = un simple numéro : <a href="images/r_dream/snippets_select/SelectPays.mxp">SelectPays.mxp</a></p>
<p><img src="images/r_dream/snippets_select/03.gif" alt="" width="398" height="107" /></p>
<p>Liste des pays : value = code à 2 lettres : <a href="images/r_dream/snippets_select/SelectPaysAlpha2.mxp">SelectPaysAlpha2.mxp</a><br />
Code pays alpha-2 (A2)<br />
Le code ISO 3166-1 &laquo;&nbsp;alpha-2&#8243; (ou A2) associe un code à deux caractères à chaque entité. Ces deux caractères sont choisis de manière à être facilement associables au pays qu&#8217;ils désignent (par exemple &laquo;&nbsp;FR&nbsp;&raquo; pour la France). Très utilisé, ce code est recommandé par de nombreux organismes de normalisation et notamment par le W3C pour l&#8217;identification des pays et des langues sur le Web.</p>
<p><img src="images/r_dream/snippets_select/04.gif" alt="" width="417" height="138" /></p>
<p>Liste des pays : value = code à 3 lettres : <a href="images/r_dream/snippets_select/SelectPaysAlpha3.mxp">SelectPaysAlpha3.mxp</a></p>
<p><img src="images/r_dream/snippets_select/05.gif" alt="" width="414" height="128" /></p>
<p>Liste des régions françaises : <a href="images/r_dream/snippets_select/SelectRegions.mxp">SelectRegions.mxp</a></p>
<p><img src="images/r_dream/snippets_select/06.gif" alt="" width="402" height="123" /></p>
<p><a href="images/r_dream/snippets_select/Snippets_Select.zip">Télécharger le package complet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashxpress.net/ressources-dreamweaver/fragments-de-code-select-pour-formulaires/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>[Comportement serveur] 2 &#8211; Mise en forme</title>
		<link>http://www.flashxpress.net/ressources-dreamweaver/comportement-serveur-2-mise-en-forme/</link>
		<comments>http://www.flashxpress.net/ressources-dreamweaver/comportement-serveur-2-mise-en-forme/#comments</comments>
		<pubDate>Sun, 31 Jul 2005 09:30:52 +0000</pubDate>
		<dc:creator>Bertrand Gac</dc:creator>
				<category><![CDATA[Tutoriels Dreamweaver]]></category>
		<category><![CDATA[Dreamweaver dynamique]]></category>
		<category><![CDATA[Dreamweaver extensions]]></category>

		<guid isPermaLink="false">http://www.flashxpress.net/2005/07/31/comportement-serveur-2-mise-en-forme/</guid>
		<description><![CDATA[Première partie : Création Vous pouvez modifier à votre guise cette interface, qui n&#8217;est rien d&#8217;autre qu&#8217;un fichier HTML. Mais ATTENTION : si vous commencez à modifier l&#8217;interface, à l&#8217;embellir, à tout régler au pixel près, puis que vous constatez que quelque chose ne fonctionne pas dans le code lui-même, il vous faudra repasser par [...]]]></description>
			<content:encoded><![CDATA[<p>Première partie : <a href="content/view/126/66/" target="_blank">Création</a></p>
<p>Vous pouvez modifier à votre guise cette interface, qui n&#8217;est rien d&#8217;autre qu&#8217;un fichier HTML.<br />
Mais ATTENTION : si vous commencez à modifier l&#8217;interface, à l&#8217;embellir, à tout régler au pixel près, puis que vous constatez que quelque chose ne fonctionne pas dans le code lui-même, il vous faudra repasser par <span class="italique">Modifier un comportement serveur</span> pour corriger le ou les blocs de codes fautifs, et faisant cela, <span class="grasRouge">Dreamweaver va écraser le fichier HTM</span> que vous aurez mis tant de temps à peaufiner&#8230;</p>
<p><span id="more-524"></span></p>
<p align="left">Donc le principe est simple : assurez-vous d&#8217;abord que tout fonctionne parfaitement, comme vous le souhaitez, au niveau du code. Faites et refaites des tests!<br />
Selon ce que doit faire votre comportement, rentrez des valeurs absurdes dans les champs de l&#8217;interface, essayez de prévoir ce que vont faire d&#8217;autres utilisateurs, poussez le bouchon au maximum, de façon à couvrir tous les cas de figures, surtout si vous pensez partager votre extension avec la communauté Dreamweaver.<br />
Dans le pire des cas, si vous avez déjà travaillé sur le fichier HTML, pensez à le sauvegarder avant de modifier le comportement, ceci afin de pouvoir récupérer des éléments de l&#8217;interface par copier/coller.</p>
<h2>Pour aller plus loin</h2>
<p align="left">Quand un comportement a été créé, Dreamweaver génère 3 fichiers ou plus, mais toujours 3 au minimum (cela dépend du nombre de <span class="italique">Blocs de Code</span> que l&#8217;on a demandé):</p>
<ul>
<li>Un fichier HTML qui contient l&#8217;interface, ainsi que le Javascript nécessaire au fonctionnement du comportement.</li>
<li>Un fichier EDML qu&#8217;on appelle<span class="italique"> Fichier de groupe</span>, qui contient les informations sur le comportement comme un tout.</li>
<li>Un fichier EDML pour chaque Bloc de Code, qu&#8217;on appelle <span class="italique">Fichier participant</span>, qui contient le informations propres au bloc de code en question.</li>
</ul>
<p>Les fichiers EDML (Extension Data Markup Language) sont des fichiers XML. Ils contiennent le code d&#8217;exécution du comportement.<br />
Dans le cas de notre comportement,  nous avons quatre fichiers :</p>
<p align="center"><img title="Ensemble des fichiers générés par le créateur de comportement" src="/images/r_dream/extensions/creersb/images/x_explorer.gif" border="0" alt="" width="564" height="136" /></p>
<p>Figure 1.</p>
<p align="center">
<p align="left">Pour les systèmes d&#8217;exploitation multi-utilisateurs Window XP, Windows 2000, NT et Macintosh OS X, Dreamweaver MX crée un dossier de configuration distinct pour chaque utilisateur (en complément du dossier ConfigurationDreamweaver disponible dans Program Files).</p>
<ul>
<li> Sur Windows, les fichiers seront donc accessibles par ce chemin :<br />
<span class="script">Lecteur:Documents and SettingsPROFILApplication DataMacromediaDreamweaver MX 2004ConfigurationServerBehaviors + Modèle de serveur </span></li>
<li> Sur Mac OS X:<br />
<span class="script">Lecteur:Users:USERNAME:Library:Application Support:Macromedia:Dreamweaver MX 2004:Configuration:ServerBehaviors + Modèle de serveur</span></li>
</ul>
<p align="left">Note : par défaut dans Windows, ces dossiers sont cachés. Pour en activer l&#8217;affichage sous Win XP :<br />
- Dans<span class="italique"> l&#8217;explorateur &gt; menu Outils &gt; Options des dossiers &gt; Affichage &gt; Fichiers et dossiers cachés &gt; Afficher les dossiers et fichiers cachés</span>.</p>
<p>Tout ce qui va  suivre à présent est valable pour TOUTES les extensions. Donc outre les comportements serveurs, sont concernés également les objets, commandes, comportements, panneaux (floater).</p>
<h2>Modifier l&#8217;interface</h2>
<p>Vous pouvez donc ouvrir ce fichier <span class="script">ConvertirDate.htm</span> directement dans Dreamweaver.<br />
Ce qu&#8217;on trouve dans ce fichier :</p>
<ul>
<li>Tout d&#8217;abord le  formulaire correspondant à l&#8217;interface du comportement, avec deux champs de type <span class="script">&lt;SELECT&gt;</span> (Voir la section <a href="/r_dream/d_ext/creer_sb/ext_server_behavior/index.html#7">Types de champs</a>) :<br />
<table border="0" width="200" align="center">
<tbody>
<tr>
<td align="center"><img title="Modifer le formulaire dans l'interface du comportement" src="http://www.flashxpress.net/images/r_dream/extensions/creersb/images/interface01.gif" border="0" alt="" width="402" height="132" /><br />
Figure 2.</td>
</tr>
</tbody>
</table>
<p>Les valeurs de ces champs ont été placé par Dreamweaver. Puisque ce sont des valeurs fournies par un jeu d&#8217;enregistrements, nous n&#8217;avons pas à y toucher. Lors de l&#8217;utilisation du comportement, DW détectera automatiquement la présence ou non d&#8217;un ou plusieurs jeux d&#8217;enregistrement et affectera à nos champs les valeurs adéquates.</li>
<li>On constate également que les boutons <span class="italique">OK </span> et <span class="italique">Annuler </span> n&#8217;apparaissent pas. Ils sont en effet fournis directement par Dreamweaver via son API et nous n&#8217;avons donc aucun contrôle sur eux. Nous pourrons par contre plus tard rajouter nous-même un bouton <span class="italique">Aide </span> .</li>
<li>Si vous passez en mode Code, vous voyez en début de fichier des lignes générées par Dream :<br />
<blockquote class="source"><p>&lt;!&#8211; auto-generated=true &#8211;&gt;<br />
&lt;!DOCTYPE HTML SYSTEM &laquo;&nbsp;-//Macromedia//DWExtension layout-engine 5.0//dialog&nbsp;&raquo;&gt;</p></blockquote>
<p>C&#8217;est cette ligne qui fait appel au moteur interne de Dreamweaver pour donner cette apparence  à la page, et donc à la boite de dialogue du comportement.</li>
<li>Puis vous trouvez les appels aux Javascripts externes nécessaires au fonctionnement du comportement :<br />
<blockquote class="source"><p>&lt;script src=&nbsp;&raquo;../../Shared/Common/Scripts/dwscripts.js&nbsp;&raquo;&gt;&lt;/script&gt;<br />
&lt;script src=&nbsp;&raquo;../../Shared/Common/Scripts/dwscriptsServer.js&nbsp;&raquo;&gt;&lt;/script&gt;<br />
etc&#8230;</p></blockquote>
</li>
<li>Par défaut, DW a créé et placé les fichiers HTML et EDML, dans le dossier PHP_MYSQL. Vous pouvez très bien les placer dans un sous-dossier de votre choix, mais dans ce cas il faudra impérativement penser à modifier les chemins d&#8217;accès à ces scripts.</li>
</ul>
<p>Concernant notre comportement, voici les modifications que nous avons apportées :</p>
<ul>
<li> Remplacer l&#8217;étiquette Recordset par <span class="italique">Jeu d&#8217;enregistrement </span></li>
<li> Formater proprement l&#8217;étiquette du champ Date</li>
<li> Réduire la taille des champs du formulaire. Pour cela, faites un clic doit sur le champ <span class="italique">Jeu d&#8217;enregistrement </span> par exemple, sélectionnez l&#8217;option <span class="italique">Modifier la balise</span> <span class="script">&lt;select&gt;</span></li>
</ul>
<p align="center"><img title="Utiliser des CSS pour l'interface" src="http://www.flashxpress.net/images/r_dream/extensions/creersb/images/editeur_balises.gif" border="0" alt="" width="385" height="144" /></p>
<p align="center">Figure 3.</p>
<p>et dans l&#8217;éditeur de balises, catégorie <span class="italique">Feuille de style</span>, remplacer la valeur 300px dans le champ <span class="italique">Style</span> par 150px. Il se peut que les valeurs affichées chez vous soient différentes, tout dépend de la version de Dreamweaver que vous utilisez (MX ou MX 2004). Répétez l&#8217;opération pour le champ Date.</p>
<h2>Recharger l&#8217;extension</h2>
<p>Quand toutes vos modifications sont terminées, vous devez recharger l&#8217;extension pour que ces changements soient pris en compte par DMX.<br />
Il n&#8217;est pas nécessaire de redémarrer Dreamweaver pour cela : il existe un menu &laquo;&nbsp;caché&nbsp;&raquo; qui permet d&#8217;effectuer l&#8217;opération sans fermer et réouvrir le logiciel.</p>
<p>Pour DMX :<br />
Dans le panneau <span class="italique">Insertion </span>, en haut à droite, vous avez le bouton des <span class="italique">Options </span>. Cliquez dessus en maintenant la touche CONTROLE enfoncée.</p>
<table border="0" width="262" align="center">
<tbody>
<tr>
<td><img title="Recharger l'extension" src="http://www.flashxpress.net/images/r_dream/extensions/creersb/images/reload.gif" border="0" alt="" width="256" height="191" /></td>
</tr>
<tr>
<td align="center">Figure 4.</td>
</tr>
<tr>
<td>Note : Pour DMX 2004 ce menu n&#8217;est accessible que si le panneau <span class="italique">Insertion </span> est affiché sous forme d&#8217;onglets, et non pas comme Menu.</td>
</tr>
</tbody>
</table>
<p align="center">
<p>Pour DMX 2004 :<br />
Si la barre <span class="italique">Insertion </span> est affichée sous forme de menus, maintenez la touche CONTROLE enfoncée en cliquant sur n&#8217;importe quelle catégorie.</p>
<p align="center"><img title="Recharger l'extension" src="http://www.flashxpress.net/images/r_dream/extensions/creersb/images/reload_ext.gif" border="0" alt="" width="185" height="254" /><br />
Figure 5.</p>
<p>Ce menu sert uniquement à recharger des extensions déjà créées. Si vous le lancez quand vous créez votre extension pour la première fois, Dreamweaver risque d&#8217;avoir des comportements imprévisibles. De même, selon les modifications que vous avez apportées à une extension, il peut être bon de temps à autre de fermer complètement Dreamweaver et de le réouvrir.</p>
<p align="center"><img title="L'interface terminée du comportement" src="http://www.flashxpress.net/images/r_dream/extensions/creersb/images/longueur_champ.gif" border="0" alt="" width="419" height="127" /><br />
Figure 6.</p>
<p align="center">Notre interface a meilleure mine&#8230;</p>
<p>{mospagebreak}</p>
<h2>Ajouter un bouton d&#8217;aide</h2>
<p>Il y a plusieurs possibiltés pour insérer des textes d&#8217;aide au sein d&#8217;une extension.</p>
<p>La première est de l&#8217;insérer directement dans la boite de dialogue, sous les champs de formulaire, à condition qu&#8217;elle soit courte, deux ou trois lignes maximum.<br />
Tout dépendra donc en fait de la complexité de l&#8217;extension, des différentes options qu&#8217;elle propose, qui peuvent demander des explications plus ou moins longues, le but étant de ne pas noyer les informations principales de l&#8217;interface dans un flot de texte parasite.</p>
<p>La deuxième est d&#8217;ajouter un bouton d&#8217;aide à l&#8217;interface.<br />
Le bouton d&#8217;aide est un simple bouton de formulaire, mais nous ne pouvons pas l&#8217;insérer nous même. Il faut passer par une fonction spéciale de l&#8217;API de DW.</p>
<p>Bien que faisant partie de l&#8217;API des extensions, cette fonction doit être insérée manuellement. Elle n&#8217;est pas propre aux comportements serveur. Quelque soit le type d&#8217;extension que vous créez (objets, commandes etc), c&#8217;est par cette fonction que vous pourrez apporter une aide à une extension.<br />
A la fin du code Javascript du fichier HTM, rajoutez les lignes suivantes :</p>
<blockquote class="source"><p>function displayHelp() {<br />
var theHelpFile;<br />
theHelpFile = dw.getConfigurationPath() + &#8216;/ExtensionsHelp/FlashXpress/ConvertirDate.htm&#8217;;<br />
dreamweaver.browseDocument(theHelpFile);<br />
}</p></blockquote>
<p>L&#8217;insertion de la fonction <span class="script">displayHelp()</span> provoque automatiquement l&#8217;apparition d&#8217;un bouton <span class="italique">Aide</span>, situé sous les boutons <span class="italique">OK </span> et <span class="italique">Annuler </span>.</p>
<p>Il s&#8217;agit ici de récupérer dans une variable (<span class="script">theHelpFile</span>) le chemin d&#8217;accès au dossier <span class="italique">Configuration </span> de Dreamweaver grâce à <span class="script">dw.getConfigurationPath()</span> puis de lui rajouter le chemin vers le dossier <span class="italique">ExtensionsHelp </span> avec éventuellement un sous-dossier dans lequel on  stocke nos fichiers d&#8217;aide.<br />
Le dossier      <span class="italique">ExtensionsHelp </span> a été créé par MM dans votre profil utilisateur. Il est destiné justement à regrouper tous les fichiers d&#8217;aide que chaque extension est susceptible d&#8217;installer. Ces fichiers d&#8217;aide sont de simples fichiers HTML et il est de coutume de les stocker dans un sous-dossier approprié pour éviter une accumulation de fichiers dans le dossier principal, comme ici où je ai créé un dossier FXP : <span class="italique">/ExtensionsHelp/FlashXpress. </span>Sachant de plus que de nombreuses extensions installent des fichiers d&#8217;aide (avec leurs propres images), l&#8217;utilisateur peut s&#8217;y perdre facilement si on ne s&#8217;impose pas un mimimum de rigueur.</p>
<p>Dans le cas que nous venons d&#8217;exposer, le fichier d&#8217;aide est directement accessible sur le disque dur de l&#8217;utilsateur, en local. C&#8217;est à notre avis la meilleure solution car plutôt qu&#8217;un fichier en local, on aurait pu aussi préciser une URL sur un site distant, mais cette méthode oblige l&#8217;utilisateur a avoir une connexion ouverte (tout le monde &#8211; et loin de là d&#8217;ailleurs &#8211; n&#8217;a pas de connexion permanente, cable, ADSL..) et peut être pénalisante si le réseau est encombré.</p>
<p>Ici pour illustrer nos propos, nous avons ajouté un texte d&#8217;aide directement dans l&#8217;interface et ajouter aussi le bouton <span class="italique">Aide </span>.<br />
Pour le texte d&#8217;aide, nous avons inséré un simple tableau sous le tableau principal. Notez que nous avons donné une couleur de fond différente au texte.<br />
L&#8217;aide est le seul élément de l&#8217;interface qui puisse contenir une autre couleur que la couleur par défaut affectée par Dreamweaver. Macromedia recommande d&#8217;utiliser la couleur #D3D3D3, à savoir un gris plus sombre que le reste de la boite de dialogue. Notez aussi que nous en avons aussi profité pour glisser le logo ainsi que le nom de l&#8217;auteur <img src='http://www.flashxpress.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
Cela aussi, c&#8217;est le seul élément &laquo;&nbsp;externe&nbsp;&raquo; au comportement, que Macromedia permet de mettre en avant sur l&#8217;interface. L&#8217;image du logo a été incorporé non pas comme image simple (balise &lt;IMG&gt;) mais comme champ d&#8217;image (balise &lt;INPUT&gt;).</p>
<p align="center"><img title="Ajouter un bouton d'aide au comportement" src="http://www.flashxpress.net/images/r_dream/extensions/creersb/images/final.gif" border="0" alt="" width="424" height="223" /><br />
Figure 7.</p>
<p>Le logo peut avoir un lien amenant directement à votre site (ou même sur une page particulière dans votre site, pourquoi pas), mais vous ne pouvez pas utiliser de lien HTML classique :<br />
<span class="script">&lt;a href=&nbsp;&raquo;http://www.monsite.com&nbsp;&raquo;&gt;Logo&lt;/a&gt;</span> ne fonctionnera pas dans l&#8217;environnement Dreamweaver.  Il nous faudra utiliser une fonction interne de l&#8217;API de Dream, destinée à de multiples usages, avec entre autres celui de permettre l&#8217;accès à une URL.</p>
<ul>
<li> Sélectionnez l&#8217;image, faites un clic droit, choisissez <span class="italique">Modifier la balise </span> &lt;input&gt;.</li>
<li> Dans l&#8217;éditeur de balises, sélectionnez <span class="italique">Evénements &gt; onClick </span> et rentrez la syntaxe suivante :<br />
<blockquote class="source"><p>onClick=&#8217;dreamweaver.browseDocument(&laquo;&nbsp;http://www.flashxpress.net&nbsp;&raquo;)&#8217;</p></blockquote>
</li>
</ul>
<p align="center"><img title="Accéder à des fichiers d'aide" src="http://www.flashxpress.net/images/r_dream/extensions/creersb/images/input_image.gif" border="0" alt="" width="558" height="144" /><br />
Figure 8.</p>
<p>Bien sur remplacez flashxpress.net par autre chose&#8230;</p>
<h2>Les conseils de Macromedia pour l&#8217;interface</h2>
<p>Les conseils qui suivent sont des lignes de conduite, en aucun cas obligatoires, mais que Macromedia recommande de suivre.<br />
(Notamment si vous souhaitez plus tard soumettre votre extension sur le site Macromedia Exchange). Ces conseils sont d&#8217;ailleurs valables pour toutes les extensions que vous créez (objets, commandes, etc.).<br />
L&#8217;objectif principal est de respecter l&#8217;environnement Dreamweaver afin de ne pas dérouter l&#8217;utilisateur. Votre extension doit s&#8217;intégrer harmonieusement au reste du logiciel.<br />
L&#8217;utilisateur est habitué au design des autres comportements, il s&#8217;attend à trouver des interfaces semblables, des façons de présenter plus ou moins identiques.</p>
<ul>
<li> Pour régler la longueur des champs n&#8217;utilisez pas des syntaxes telles que <span class="script">size=&nbsp;&raquo;40&#8243;</span>, utilisez des styles en ligne comme :<br />
<span class="script">&lt;select style=&nbsp;&raquo;width:150px&nbsp;&raquo; name=&nbsp;&raquo;Recordset&nbsp;&raquo;&gt;</span><br />
ceci en raison de problèmes d&#8217;affichage sur les Mac.<br />
Vous pouvez même faire des styles internes.</li>
<li> Si vous avez des champs de type boutons-radio, ou cases à cocher, au moins un devrait être coché par défaut. C&#8217;est un cas de figure qui peut revenir très souvent, quelque soit le type de champ : il s&#8217;agit simplement de proposer des valeurs par défaut à l&#8217;utilisateur.</li>
<li> La taille globale de la boite de dialoque du comportement est déterminé par DMX, en fonction des objets qu&#8217;il y trouve. On peut contraindre les dimensions de cette fenêtre à l&#8217;aide de la fonction JS <span class="script">windowDimensions()</span>, mais Macromedia déconseille de l&#8217;utiliser et conseille de laisser Dreamweaver gérer cela.</li>
<li> Dreamweaver a généré un tableau HTML automatiquement pour le rendu du formulaire et des champs de formulaire. Il est déconseillé de forcer des valeurs pour ce tableau: hauteur, largeur, espacement des cellules, remplissage des cellules.  C&#8217;est DW qui doit le gérer (ceci dit il ne le fait pas touojurs correctement, dans ce cas vous pouvez faire vous-même les ajustements nécessaires).</li>
<li> Ne pas utiliser de couleur de fond pour le tableau ou la page, à l&#8217;exception des tableaux contenant les textes d&#8217;aide. Pour que ces textes se distinguent clairement du reste de l&#8217;UI, Macromedia propose d&#8217;utiliser la couleur #D3D3D3.</li>
<li> Les étiquettes des champs de formulaire doivent apparaitre à gauche du champ de formulaire, alignés à droite dans leur cellule et ne pas comporter de retour à la ligne. Chaque mot des étiquettes doit commencer par une majuscule (mais cette recommandation vient du fait que ce système de majuscule en début de mot est courant aux Etats-Unis, alors que ça n&#8217;existe pas dans nos standards européens).</li>
</ul>
<p align="center"><a title="ConvertirDate.mxp" name="file" href="http://www.flashxpress.net/images/r_dream/extensions/creersb/ConvertirDate.mxp" target="_self"><img src="http://www.flashxpress.net/images/icones/mxp.gif" border="0" alt="ConvertirDate.mxp" align="middle" /> ConvertirDate.mxp (<span id="5.96 KB,null" style="font-size: 80%;">5.96 KB)</span></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashxpress.net/ressources-dreamweaver/comportement-serveur-2-mise-en-forme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Encodage de fichiers audio/vidéo au format Real, création</title>
		<link>http://www.flashxpress.net/ressources-dreamweaver/encodage-de-fichiers-audiovideo-au-format-real-creation/</link>
		<comments>http://www.flashxpress.net/ressources-dreamweaver/encodage-de-fichiers-audiovideo-au-format-real-creation/#comments</comments>
		<pubDate>Sat, 30 Jul 2005 16:39:19 +0000</pubDate>
		<dc:creator>Jean-Luc</dc:creator>
				<category><![CDATA[Tutoriels Dreamweaver]]></category>
		<category><![CDATA[Dreamweaver général]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.flashxpress.net/ressources-dreamweaver/encodage-de-fichiers-audiovideo-au-format-real-creation/</guid>
		<description><![CDATA[Le format Real permet la diffusion de fichiers multimédia sur le net en streaming, c&#8217;est à dire sans le chargement préalable du fichier et avec une diffusion en continu. Nous allons voir ici l&#8217;encodage d&#8217;un fichier audio, le principe étant le même pour un fichier vidéo. Vous pouvez trouver une version light de Real Producer [...]]]></description>
			<content:encoded><![CDATA[<p>Le format Real permet la diffusion de fichiers multimédia sur le net en streaming, c&#8217;est à dire sans le chargement préalable du fichier et avec une diffusion en continu.<br />
Nous allons voir ici l&#8217;encodage d&#8217;un fichier audio, le principe étant le même pour un fichier vidéo.<br />
Vous pouvez trouver une version light de Real Producer sur le site de <a href="http://www.realnetworks.com/products/producer/basic.html" target="_blank">Real Networks</a>.<br />
A noter : il faut avoir Real Player installé avant d&#8217;utiliser Real Producer.</p>
<p><span id="more-551"></span></p>
<h2>Choisir son type de fichier</h2>
<p>Une fois Real Producer lancé on choisit la source du fichier à encoder :</p>
<p>&laquo;&nbsp;Record From File&nbsp;&raquo; : à partir du disque dur<br />
&laquo;&nbsp;Record From Media device&nbsp;&raquo; : à partir d&#8217;un média externe, comme un micro, une chaîne hi-fi, etc&#8230;<br />
&laquo;&nbsp;Live Broadcast&nbsp;&raquo; : à partir d&#8217;une source en live (exige un serveur Real).</p>
<p align="center"><img src="http://www.flashxpress.net/images/r_dream/divers_web/streamingreal/creation/choose_record.gif" border="0" alt="" width="326" height="385" /></p>
<p>On cherche le fichier sur le disque dur :</p>
<p align="center"><img src="http://www.flashxpress.net/images/r_dream/divers_web/streamingreal/creation/browse_file.gif" border="0" alt="" width="303" height="243" /></p>
<h2>Informations sur le fichier généré</h2>
<p>On peut entrer quelques informations concernant le fichier généré, informations qui seront diffusées par le player.<br />
Les &laquo;&nbsp;Keywords&nbsp;&raquo; permettent de faire des recherches dans les moteurs, à l&#8217;instar des &laquo;&nbsp;Meta Tags&nbsp;&raquo; en HTML.</p>
<p align="center"><img src="http://www.flashxpress.net/images/r_dream/divers_web/streamingreal/creation/clip_infos.gif" border="0" alt="" width="293" height="351" /></p>
<h2>Choisir le type de serveur</h2>
<p>&laquo;&nbsp;Multi-rate SureStream for RealServer G2&#8243; : si votre provider utilise un serveur Real, celui-ci détecte la vitesse de connection de l&#8217;internaute et adapte le débit en fonction de celle-ci.<br />
&laquo;&nbsp;Single-rate for Web Servers&nbsp;&raquo; : pour tout type de serveurs web.</p>
<p align="center"><img src="http://www.flashxpress.net/images/r_dream/divers_web/streamingreal/creation/file_type.gif" border="0" alt="" width="290" height="278" /></p>
<h2>Choisir le type d&#8217;audience</h2>
<p>Si vous avez choisi &laquo;&nbsp;Single-rate for Web Servers&nbsp;&raquo;, vous devez déterminer pour quel type de vitesse de connexion vous allez diffuser votre fichier, en général &laquo;&nbsp;56K Modem&nbsp;&raquo;.<br />
A noter : cela joue sur la compression du fichier, autant en poids qu&#8217;en qualité.</p>
<p align="center"><img src="http://www.flashxpress.net/images/r_dream/divers_web/streamingreal/creation/target_audience.gif" border="0" alt="" width="264" height="278" /></p>
<h2>Choisir la qualité du fichier</h2>
<p>Suivant le type de média vous avez le choix d&#8217;une qualité d&#8217;encodage :</p>
<p>&laquo;&nbsp;Voice Only&nbsp;&raquo; : pour de la voix seule, comme une interview.<br />
&laquo;&nbsp;Voice with Background Music&nbsp;&raquo; : pour de la voix avec une musique de fond.<br />
&laquo;&nbsp;Music&nbsp;&raquo; : pour de la musique et des voix, comme une chanson par exemple.<br />
&laquo;&nbsp;Stereo Music&nbsp;&raquo; : seulement pour un fichier utilisant la stéréo.</p>
<p align="center"><img src="http://www.flashxpress.net/images/r_dream/divers_web/streamingreal/creation/audio_format.gif" border="0" alt="" width="294" height="340" /></p>
<h2>Enregistrement du fichier</h2>
<p>On choisit l&#8217;emplacement et le nom du fichier à enregistrer, comme en html, sans espaces ni caractères spéciaux.</p>
<p align="center"><img src="http://www.flashxpress.net/images/r_dream/divers_web/streamingreal/creation/save_file.gif" border="0" alt="" width="290" height="157" /></p>
<h2>Informations d&#8217;encodage</h2>
<p>Avant encodage une fenêtre regroupe toutes les informations concernant le fichier qui va être encodé.</p>
<p align="center"><img src="http://www.flashxpress.net/images/r_dream/divers_web/streamingreal/creation/infos_record.gif" border="0" alt="" width="309" height="346" /></p>
<h2>Encodage du fichier</h2>
<p>On appuies sur &laquo;&nbsp;Start&nbsp;&raquo;, ce qui lances l&#8217;encodage du fichier.</p>
<p align="center"><img src="http://www.flashxpress.net/images/r_dream/divers_web/streamingreal/creation/encoding.gif" border="0" alt="" width="352" height="293" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashxpress.net/ressources-dreamweaver/encodage-de-fichiers-audiovideo-au-format-real-creation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Images dynamiques : simple</title>
		<link>http://www.flashxpress.net/ressources-dreamweaver/images-dynamiques-simple/</link>
		<comments>http://www.flashxpress.net/ressources-dreamweaver/images-dynamiques-simple/#comments</comments>
		<pubDate>Fri, 29 Jul 2005 14:58:41 +0000</pubDate>
		<dc:creator>Bertrand Gac</dc:creator>
				<category><![CDATA[Tutoriels Dreamweaver]]></category>
		<category><![CDATA[Dreamweaver dynamique]]></category>

		<guid isPermaLink="false">http://www.flashxpress.net/2005/07/29/images-dynamiques-simple/</guid>
		<description><![CDATA[Dreamweaver nous offre la possibilité d&#8217;afficher des images dynamique, provenant d&#8217;une base de données, nous allons voir comment afficher une ou des images dans une page web. En général ce n&#8217;est pas le fichier image qui est inséré dans la base de données mais le chemin de cette image sur le serveur web ou simplement [...]]]></description>
			<content:encoded><![CDATA[<p>Dreamweaver nous offre la possibilité d&#8217;afficher des images dynamique, provenant d&#8217;une base de données, nous allons voir comment afficher une ou des images dans une page web.</p>
<p>En général ce n&#8217;est pas le fichier image qui est inséré dans la base de données mais le chemin de cette image sur le serveur web ou simplement son nom, ce qui est bien moins lourd et surtout plus rapide à traiter pour le serveur de base de données. Il est alors possible de traiter ces images de manière dynamique, comme par exemple créer des imagettes, etc&#8230;</p>
<p><span id="more-548"></span></p>
<p>Vous pouvez télécharger la base de données ainsi que les images utilisées dans ce tutorial.</p>
<ul>
<li>La base de données :<a title="db_video.zip" name="file" href="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_simple/db_video.zip" target="_self">db_video.zip (<span id="3.04 KB,null" style="font-size: 80%;">3.04 KB)</span></a></li>
<li>Les images :<a title="images.zip" name="file" href="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_simple/images.zip" target="_self">images.zip (<span id="62.88 KB,null" style="font-size: 80%;">62.88 KB)</span></a></li>
</ul>
<h2>Création du jeu d&#8217;enregistrement</h2>
<p>On crée tout d&#8217;abord un jeu d&#8217;enregistrement, en sélectionnant les informations qui nous intéresse, en triant le résultat dans l&#8217;ordre voulu.</p>
<p align="center"><img src="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_simple/recordset.gif" border="0" alt="Jeu d'enregistrements " width="400" height="277" /></p>
<h2>Insertion de l&#8217;image</h2>
<p>Via le menu <span class="italique">Insertion &gt; Commun</span> ou le raccourci clavier <span class="italique">CTRL+Alt+I</span> on insère l&#8217;image dynamique.</p>
<p align="center"><img title="Insertion de l'image" src="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_simple/insert_img_01.gif" border="0" alt="Insertion de l'image dynamique" width="159" height="75" /></p>
<p>On sélectionne la source de l&#8217;image, en cochant la case Source de données puis en cliquant sur le champ de l&#8217;image, à savoir jaquette.<br />
<img title="Source de données" src="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_simple/insert_img_02.gif" border="0" alt="Source de l'image dynamique" width="394" height="298" /></p>
<p>Il nous faut ensuite spécifier le dossier où se     trouvent les images, on ajoute dans l&#8217;URL le nom de ce dossier, ici images.</p>
<p>Bien sûr, vous devez tenir compte de l&#8217;arborescence du dossier images, dans l&#8217;exemple celui-ci se trouve en racine du serveur.</p>
<h2>Ajout d&#8217;informations</h2>
<p>Il peut être nécessaire d&#8217;ajouter des informations concernant notre image, comme sa taille ou l&#8217;attribut alt (permet d&#8217;afficher un texte alternatif en cas de non-affichage de l&#8217;image) par exemple, pour ce faire il faut passer en mode source et taper ce code à la main :<br />
[cc lang="php" lines="2"]<br />
<img src="”http://www.flashxpress.net/images/&lt;?php" alt="" />” alt=”” width=”200? height=”278? /&gt;<br />
[/cc]</p>
<h2>Conditions d&#8217;affichage</h2>
<p>Si le champ jaquette de la base de données est renseigné et si l&#8217;image existe dans le dossier spécifié (/images) alors l&#8217;image sera affiché, dans le cas contraire c&#8217;est une croix rouge inesthétique qui apparaîtra, effet non voulu, il est donc nécessaire de faire une condition afin de palier aux différentes erreurs possibles.</p>
<p>Nous allons encapsuler notre image à l&amp;#8217;intérieur d&#8217;une condition avant de l&#8217;afficher, pour ce faire on passe en mode source :<br />
[cc lang="php" lines="8"]<br />
if (file_exists(‘/images/’.$row_rsVideo['jaquette'])) { ?&gt;</p>
<p><img src="”/images/&lt;?php" alt="" />” alt=”” width=”200? height=”278? /&gt;</p>
<p>// fin show if file exist<br />
?&gt;<br />
[/cc]</p>
<p>On peut ajouter une seconde condition plus bas, qui elle va nous permettre d&#8217;afficher un message si l&#8217;image n&#8217;existe pas :<br />
[cc lang="php" lines="8"]<br />
if (!file_exists(‘/images/’.$row_rsVideo['jaquette'])) { ?&gt;</p>
<p>Pas d’image dans la base.</p>
<p>// fin show if file not exist<br />
?&gt;<br />
[/cc]</p>
<h2>Région répétée</h2>
<p>Si on veut afficher plusieurs images il nous faut faire une région répétée, qui lira les enregistrements présents dans la base de données en boucle, suivant le nombre d&#8217;enregistrements spécifiés à afficher.<br />
Afin de garder les conditions d&#8217;affichage, on doit bien sûr sélectionner celles-ci en même temps que l&#8217;image afin de les inclure dans la région répétée.</p>
<p>Vous pouvez accéder à cette fonction  via la fenêtre <span class="italique">Application   &gt; Comportements de serveur</span> ou via le menu <span class="italique">Insertion &gt; Applications dynamique</span>.</p>
<p align="center"><img title="Région répétée" src="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_simple/repeat_region_01.gif" border="0" alt="Fonction " width="200" height="76" /></p>
<p>Puis on choisit le nombre d&#8217;enregistrements à afficher.</p>
<p align="center"><img title="Nombre d'enregistrements à afficher" src="http://www.flashxpress.net/images/r_dream/dynamique/imagesdyn/img_simple/repeat_region_02.gif" border="0" alt="Choix du nombre d'enregistrements à afficher" width="400" height="115" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashxpress.net/ressources-dreamweaver/images-dynamiques-simple/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

