Par M.Youssfi
Frameworks Ajax
Pour éviter à un développeur Ajax d’écrire
beaucoup de code java script, de nombreux
frameworks javascript intégrant Ajax ont
été développé. Exemple :
Spry de Adobe
Rico
Prototype
Google
Yahoo
….
Dans cette partie, nous allons nous
intéresser à Spry.
Framework Spry
Le cadre applicatif Spry 1.4 pour Ajax est une
bibliothèque JavaScript qui permet aux concepteurs
Web de créer des pages Web offrant une expérience
enrichie aux visiteurs de leurs sites.
Avec Spry, vous pouvez utiliser du codeHTMLet CSS,
ainsi qu'une quantité minime de JavaScript, afin
d'incorporer des données XML dans vos documents
HTML,
de créer des widgets tels que des accordéons et des
barres de menus, ou encore ajouter différents effets
à divers éléments de page.
Le cadre applicatif Spry est conçu de telle sorte que le
code soit simple et facile à utiliser pour toute
personne possédant une connaissance de base du
langage HTML, de CSS et de JavaScript.
Composants de Spry
Le cadre applicatif Spry 1.4 comprend trois composants
principaux qui permettent de créer des pages dynamiques :
Les widgets,
les ensembles de données XML
et les effets.
Les widgets sont des éléments de page, comme des
accordéons et des panneaux à onglets, qui accroissent
l'attrait et l'interactivité d'une page.
Les ensembles de données XML permettent d'afficher sur la
page Web des données provenant d'une source de données
XML,
Enfin, les effets Spry, tels que Fondu ou Ecraser,ajoutent du
mouvement à la page, de manière à améliorer l'expérience
de l'utilisateur.
vous pouvez afficher des données XML à l'intérieur d'un
widget et lui ajouter des effets afin de créer des pages plus
riches que ce que permet le code HTML statique.
Intégrer Spry à votre projet
Préparation des fichiers
Téléchargez et liez les fichiers appropriés.
Téléchargez le fichier ZIP de Spry sur le site
Adobe® Labs. et décompressez-le sur votre
disque dur.
Pour intégrer la totalité du framework, copiez le
dossier Spry à l’intérieur du dossier de votre
projet
Vous pouvez renommer le dossier Spry en
choisissant un nom quelconque. Généralement
ce dossier est nommé SpryAssets
Utilisation des widgets Spry
A B
A. Développé
B. Réduit
Code du Widget Panneau réductible
A. Onglet
B. Contenu
C. Widget Panneaux à onglet
D. Panneau à onglet
Code du Panneau à onglets
<script src="SpryAssets/SpryValidationTextarea.js"
type="text/javascript"></script>
<link href="SpryAssets/SpryValidationTextarea.css"
rel="stylesheet" type="text/css" />
</head>
Code du Widget Zone de texte
validation
<body>
<form id="form1" name="form1" method="post" action="">
<!-- Create the text area widget and assign a unique id-->
<span id="sprytextarea1">
<textarea name="textarea1" id="textarea1" cols="45"
rows="5"></textarea>
<!--Display an error message-->
<span class="textareaRequiredMsg">A value is required.</span>
</span>
</form>
<!-- Initialize the Validation Text Area widget object-->
<script type="text/javascript">
var sprytextarea1 = new
Spry.Widget.ValidationTextarea("sprytextarea1");
</script>
</body>
Widget Validation de la sélection
<link href="SpryAssets/SpryValidationSelect.css"
rel="stylesheet" type="text/css" />
</head>
Code du Widget Validation d’une
sélection
<body>
<form id="form1" name="form1" method="post" action="">
<span id="spryselect1">
<select name="select1" id="select1">
<option>--Please select an item--</option>
<option value="item1">Item 1</option>
<option value="item2">Item 2</option>
<option value="-1">Invalid Item</option>
<option value="item3">Item 3</option>
<option>Empty Item</option>
</select>
<span class="selectRequiredMsg">Please select an item.</span>
</span>
</form>
<script type="text/javascript">
var spryselect1 = new Spry.Widget.ValidationSelect("spryselect1");
</script>
</body>
Widget Validation d’une case à cocher
<link href="SpryAssets/SpryValidationCheckbox.css"
rel="stylesheet" type="text/css" />
</head>
Code du Widget Validation d’une
case à cocher
<body>
<form id="form1" name="form1" method="post" action="">
<!-- Create the checkbox widget and assign a unique id-->
<span id="sprycheckbox1">
<input type="checkbox" name="checkbox1" value="1"/>
<input type="checkbox" name="checkbox2" value="2"/>
<!--Add an error message-->
<span class="checkboxRequiredMsg">Please make a
selection.</span>
</span>
</form>
<!-- Initialize the Validation Checkbox widget object-->
<script type="text/javascript">
var sprycheckbox1 = new
Spry.Widget.ValidationCheckbox("sprycheckbox1");
</script>
</body>
Utilisation des ensembles de
données XML Spry
Un ensemble de données XML spry est un
objet JavaScript qui permet d'afficher, sur
une pageWeb, des données provenant d'un
fichier de source de données XML.
Vous pouvez ensuite utiliser ces données
pour créer des régions principale et de
détails sur la page.
Ces régions sont mises à jour selon les
sélections réalisées par les visiteurs du site.
Exemple
Soit un fichier XML dans la structure est
la suivante:
<?xml version="1.0" encoding="UTF-8"?>
<specials>
<menu_item id="1">
<item>Summer Salad</item>
<description>organic butter lettuce with apples, blood
oranges, gorgonzola, and raspberry vinaigrette.
</description>
<price>7</price>
</menu_item>
<menu_item id="2">
……..
</menu_item>
</specials>
Exemple
L'exemple suivant crée un ensemble de données Spry
nommé dsSpecials et charge les données depuis un fichier
XML nommé cafetownsend.xml:
<head>
<title>Spry Example</title>
<!--Link the Spry libraries-->
<script type="text/javascript" src="includes/xpath.js"></script>
<script type="text/javascript" src="includes/SpryData.js">
</script>
<!--Create a data set object-->
</head>
<body>
<script type="text/javascript">
var dsSpecials = new Spry.Data.XMLDataSet("data/cafetownsend.xml",
"specials/menu_item");
</script>
</body>
Exemple
La portion de code javascript,
var dsSpecials = new Spry.Data.XMLDataSet("data/cafetownsend.xml",
"specials/menu_item");
Permet de créer un objet javascript de la classe
XMLDataSet qui permet de
charger le fichier XML cafetownsend.xml
du dossier data du serveur.
Sélectionner les éléments XML en utilisant
l’expression Xptah "specials/menu_item« . Ce qui
permet de sélectionner tous les éléments menu_item de
l’éléments racine specials.
Région dynamique Spry
Lorsque vous avez créé un ensemble de
données Spry, vous pouvez afficher les
données dans une région dynamique Spry.
Une région dynamique Spry est une partie
d'une pageWeb liée à un ensemble de
données. Cette région affiche les données
XMLprovenant de l'ensemble de données et
met automatiquement à jour les données
affichées à chaque fois que l'ensemble de
données est modifié.
Tableau dynamique Spry
<div id="Specials_DIV" spry:region="dsSpecials">
<table id="Specials_Table">
<tr>
<th>Item</th>
<th>Description</th>
<th>Price</th>
</tr>
<tr spry:repeat="dsSpecials">
<td>{item}</td>
<td>{description}</td>
<td>{price}</td>
</tr>
</table>
</div>