[Comportement serveur] 1 - Création
Écrit par Thibault Imbert | 31-07-2005
Index de l'article
[Comportement serveur] 1 - Création
Page 2

Depuis Dreamweaver Ultradev et les modules dynamiques il est possible de créer ses propres comportements de serveur, afin notamment de pouvoir réutiliser ses propres codes, ou faciliter le travail à des collaborateurs qui ignorent tout des langages dynamiques.

Cette série de tutoriaux présuppose que vous êtes déjà familier avec la création de jeu d'enregistrement dans DMX, que vous avez aussi quelques connaissances de base du langage PHP.

Une extension de comportement de serveur est une interface entre le code côté serveur et Dreamweaver.. Elle est composée d'un code Javascript, d'un code HTML et d'un code EDML (Extension Data Markup Language), qui est du code XML créé spécifiquement pour les données d'extension.

Notre objectif ici va être de créer un comportement de serveur relativement simple, permettant de transformer une date MySql au format "aaaa-mm-jj"  (2003-08-10 par exemple) en un format plus conforme à nos standards français soit : jj/mm/aa (ex : 10/08/03).

Ce comportement de serveur utilise le langage PHP mais tous les principes énoncés dans ces tutoriaux seront valables avec n'importe quel langage supporté par Dreamweaver MX.

Voici le code PHP qui nous servira de base pour la création du comportement :

Tableau 1 : Code PHP de base

<?php
$sDate ="2003-08-10";
function convertirDate( $sDate ) {
  $sDate = date( "d/m/y", strtotime( $sDate ));
  return $sDate;
}
echo convertirDate($sDate);
?>

Copiez-le, collez-le dans un document PHP et testez.
$sDate ="2003-08-10" simule une date telle qu'elle serait si elle provenait de MySql. Dans votre navigateur, vous devez obtenir : 10/08/03

(Pour plus d'informations sur la fonction strtotime(), consultez l'aide PHP sur dev.nexen.net)

Au final, voilà à quoi devra ressembler notre comportement serveur :

Vous pouvez télécharger l'extension et l'installer
pour suivre ce tutorial.

ConvertirDate.mxp ConvertirDate.mxp (5.96 KB)

Créateur de comportement de serveur

Pour accéder au créateur de comportement de serveur, vous devez avoir un fichier ouvert, même vide, de type PHP, ASP, etc.

On accède au créateur de comportement de serveur via le panneau Applications > onglet Comportements de serveur. (Figure 1)
Tout en bas de ce panneau, vous avez le choix entre Modifier un comportement de serveur existant, ou en créer un totalement nouveau, c'est ce dernier choix que nous allons faire.


Figure 1

Titre du comportement de serveur

La fenêtre qui suit permet de nommer le comportement de serveur, le Type de document correspondant au modèle de serveur et donc au langage utilisé, ici PHP MySql, modèle de serveur natif à Dreamweaver MX / MX2004.

Les différents fichiers générés (fichiers HTML et EDML) par le créateur de comportement portant le nom que vous avez choisi dans cette fenêtre, on évitera les caractères exotiques, caractères accentués, etc. On est d'autre part limité à 31 caractères, extension comprise, en raison des limitations Macintosh.


Figure 2

Blocs de code

Nous devons maontenant insérer les Blocs de Code.
Si l'on reprend le code présenté dans le Tableau 1, nous pouvons le décomposer de la façon suivante :
Nous avons deux blocs de code :

Le premier qui se placera en début de fichier (voir plus bas pour le positionnement des codes) :

Tableau 2
Bloc 1

<?php
function convertirDate( $sDate ) {
  $sDate = date( "d/m/Y", strtotime( $sDate ));
  return $sDate;
}
?>

Et le second qui se placera dans le document lui-même (dans la balise <body>) :

Bloc 2

<?php echo convertirDate( $row_rsDates['date'] ); ?>

On insère notre premier bloc de code, grâce au bouton + près de Blocs de code à insérer.

Figure 3.

Dreamweaver assigne aussitôt un nom à ce bloc en utilisant le nom que vous aviez défini juste auparavant, et en le faisant suivre du suffixe _block1, suffixe que vous pouvez changer si vous souhaitez un nom plus parlant.

Placement du bloc de code

Puis on fait un copier-coller de notre premier code dans la partie Bloc de code.
Notez que la fenêtre dans laquelle nous nous trouvons est une fenêtre modale, c'est-à-dire que vous avez toujours accès à l'interface de Dream (ouvrir des fichiers, faire des copier-coller etc), au contraire des boites de dialogue classiques qui ne vous rendent la main qu'après avoir cliqué sur OK)

Chaque bloc de code doit commencer par une balise d'ouverture et se terminer par une balise de fermeture (ici pour du PHP <?php et ?> mais si nous avions un bloc de code constitué uniquement de HTML par exemple, cela pourrait être <form> ... </form> etc).
Si d'aventure, vous oubliez une de ces balises d'ouverture et fermeture, DMX vous le signale aussitôt en affichant un point d'exclamation rouge devant le nom du bloc de code. Dans la Figure 4, nous avons volontairement omis le code ouvrant <?php.


Figure 4.

Il doit y avoir autant de blocs de code que de "bouts" de code dans notre script, en l'occurrence dans notre exemple, nous en avons deux.

Notre premier bloc de code PHP va venir se placer au début du document, au dessus de la balise HTML, on choisit donc dans les menus déroulants :

  • Insérer code > Au-dessus de la balise <html>
  • Position relative > Juste au-dessus de la balise <html>.


Figure 5.

 

Cette fonction nous permet de placer nos différents blocs de code à des endroits différents du document, y compris avant, après ou à l'intérieur même de la balise HTML.
 
Le choix fait en Position relative dépend de celui fait juste au-dessus Insérer code.
Figure 6.

 


 
Dernière mise à jour : 13-09-2006