spacer spacer spacer  Ce site au dmarrage
begin process at 2010 12 07 18:29:53
Accueil Codes Tutoriels Forum Livres Emploi Services Connexion
  Trouver un code source :
 
dans
 
[ Dernires recherches ]
  • spacer
  • spacer
  • spacer

Ajax : Pour un web encore plus propre

Ajax : Qu'est ce que c'est ?
Ajax est l'acronyme utilis pour Asynchronous JavaScript + XML.
Contrairement ce que l'on pourrait croire, Ajax n'est pas une technologie mais un concept reposant sur l'utilisation de diffrents standards regroupant :
  • L'utilisation de XHTML et CSS pour la couche de prsentation
  • L'intraction dynamique avec le document au travers du DOM (Document Object Model)
  • L'change et la manipulation d'informations par XML et XSLT
  • La rcuperation asynchrone d'informations par XmlHttpRequest
  • Une bonne dose de JavaScript pour joindre le tout
Contrairement au mode de fonctionnement actuel des applications web, l'Ajax propose une intraction diffrente avec l'utilisateur final.
Effectivement, les modles applicatifs web actuels reposent sur le fait qu'une action utilisateur engendre une requte HTTP repostant l'intgralit de la page et des donnes.
L'intert d'Ajax rside dans la possibilit de ne recharger qu'une partie de l'environnement applicatif et amne donc une intraction plus fine avec l'utilisateur final.

L'apparition du modle Ajax est rcent mais il utilise cependant des technologies mises notre diposition depuis un certain temps.
Prenons par exemple XmlHttpRequest. Force est de constater que son implmentation au sein du moteur Gecko n'a fait que contribuer la popularisation de concepts tel Ajax.
Cependant, il ne faut pas oublier que ce protocole de communication asynchrone nous a t propos ds la sortie d'Internet Explorer 4.0 au travers de l'implmentation MSXML.
Ajax : Qui l'utilise ?
A l'heure actuelle, les plus belles implmentations d'Ajax ont t raliss par Google.
Effectivement, les dernires ralisations de Google : GMail, GoogleMaps sont des exemples parfaits de l'implmentation d'Ajax au sein d'applicatifs web.

De plus, l'implmentation du ClientCallBack au sein du Framework .NET 2.0 ne fait que conforter l'ide que l'Ajax est promis un bel avenir.
Pour plus d'informations relatives au ClientCallBack, je vous renvoi vers l'article de Pierre Largarde traitant du sujet : Le client Callback de ASP.NET V2
Ajax : Comment ca marche ?
Afin d'aller plus en avant dans la comprhension du modle Ajax, nous allons ici tudier quelques lignes de code nous permettant de comprendre dans les grands axes comment tout ceci fonctionne.

Le code utilis ici est extrait de l'excellent tutorial de mon ami Rodolphe Breton qui est un des rares articles en franais traitant du sujet XmlHttpRequest.
Je vous invite donc le consulter pour plus de dtails quant la mise en place d'une requte XmlHttp : Tutorial sur les requtes serveur en JavaScript
Voici aussi un exemple d'implmentation de ce tutorial avec la cration d'un Morpion : Morpion en ligne sans chargement de page

Comme vous l'aurez compris, Ajax repose donc sur 2 parties, la premire tant l'mission d'une requte Http au travers de JavaScript, la seconde tant la page serveur recevant cette requte et renvoyant un rsultat.

Voyons tout d'abord la partie JavaScript, nous allons ici tudier une fonction mettant une requte GET vers une page web afin de rcuprer l'heure du serveur :
var xhr_object = null;
var xhr_url = 'localhost/AjaxProject/test_date.aspx';

function SendGetRequest() {
	if ( window.XMLHttpRequest ) {
		// Objet XmlHttpRequest pour les moteurs GECKO
		xhr_object = new XMLHttpRequest();   
	} else if ( window.ActiveXObject ) {
		// Objet XmlHttpRequest pour Internet Explorer
		xhr_object = new ActiveXObject( 'Microsoft.XMLHTTP' );   
	} else {
		// Navigateur non-compatible
		alert( 'Votre navigateur ne supporte pas les objets XMLHTTPRequest...' );   
		return;
	}
	// On ouvre la requete vers la page dsire
	xhr_object.open( 'GET', xhr_url, false );
	// On lui donne le pointeur de fonction de retour
	xhr_object.onreadystatechange = CallBackRequest;
	// On envoi la requete
	xhr_object.send( null );
}

function CallBackRequest() {
	// Sur le retour de la requete, on teste son tat
	if ( xhr_object.readyState == 4 ) {
		// On injecte notre retour dans la DIV prevue a cet effet
		document.getElementById( 'divResult' ).innerHTML = xhr_object.responseText;
	}
}
Dans cette mme page HTML, nous allons ajouter un bouton et une div de faon tester notre requte XmlHttp :
<input type="button" value="HttpRequest">Concernant notre page serveur, voici 3 exemples diffrents : en PHP, en ASP3.0, en ASP.NET / VB.NET 
PHP : test_date.php
<?
echo "Bonjour, il est " . date("h:i:s") . " sur le serveur.";
?>


ASP 3.0 : test_date.asp <% Response.Write "Bonjour, il est " & Right(Now, 8) & " sur le serveur." %>

ASP.NET : test_date.aspx <%@ Page Language="vb" AutoEventWireup="false" Codebehind="test_date.aspx.vb" Inherits="AjaxProject.test_date"%>
ASP.NET : test_date.aspx.vb Private Sub Page_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Response.Write("Bonjour, il est " & DateTime.Now.ToLongTimeString & _ " sur le serveur") End Sub
Comme vous le remarquerez pour la partie .NET, la page .aspx a t pure de tout son contenu HTML et seul la partie dclarative reste prsente.
Ajax : Les limites ?
Les limites de l'Ajax connues l'heure actuelle rsident dans la politique de scurit applique au Cross-Domain.
Les requtes Ajax sont donc pour le moment limit l'intrieur d'un mme domaine.
Cependant, sur modification du paramtrage de votre navigateur, que ce soit Gecko ou Internet Explorer, vous pourrez autoriser les requtes Cross-Domain mais cela reste vos risques et prils.
Ajax : AjaxTextBox
Le contrle serveur AjaxTextBox.NET a t developp pour CodeS-SourceS par l'quipe Wygwam.

spacer Wygwam est une socit de services spcialise dans le dveloppement d'applications sur des technologies web, avec une volonte d'expertise de haute gamme en technologie .NET.


Wygwam c'est
- Une exprience de 5 ans en technologie .NET
- La ralisation de projets haut de gamme.
- Une trs forte capacit d'innovation.
- Une force de proposition pour vos projets.
- Une forte implication dans le monde des dveloppeurs au travers de leur investissement constant dans les communauts et leurs blogs : www.asp-php.NET ; www.codes-sources.com
- Une reconnaissance de l'expertise .NET au travers des titres de MVPs et CodeZone de certains de nos membres.

L'offre Wygwam :
Nos comptences s'appliquent un large ventail de projets :
- sites e-commerce,
- systmes d'information et de collaboration,
- outils d'analyses statistiques et prdictives,
- portails intr.NET,
- Agents de Gnie Logiciels,
- Factory Applicatives, dveloppements gnriques,
- Architecture, construction de Framework d'entreprise .NET
- ...

Notre objectif :
Constituer chez Wygwam un groupement d'experts en technologie .NET.
Faire de Wygwam un ple technologique reconnu sur la plateforme .NET.

spacer Aurlien est Chef de Projet chez Wygwam spcialis dans la mise en place des standards du W3C et les intractions ClientSide.
Fort de son exprience ClientSide, Aurlien se concentre sur la mise en place d'un ensemble de contrles serveurs riches permettant une intraction simple et intuitive avec l'utilisateur final.
Du ClientSide dans vos projets .NET, contactez-le : Cliquez ici


Nos sponsors

spacer spacer

Derniers Blogs

spacer SHAREPOINT 2010 - LE ROUTAGE DE DOCUMENTS par junarnoalg
spacer [WP7] SUPPORT DU THèME DANS UNE APPLICATION SILVERLIGHT par KooKiz
spacer [SILVERLIGHT] INTéGRER VOTRE APPLICATION SILVERLIGHT DANS LA TASKBAR DE WINDOWS 7 par Thomas LEBRUN
spacer LE FUTUR DE SILVERLIGHT : SILVERLIGHT 5 ! par redo
spacer GOOGLE MAPS V3 : L'éVèNEMENT "BOUNDS_CHANGED" SE DéCLENCHE EN CONTINU! par MadMatt
  • spacer La suite
  • spacer RSS

Forum

spacer CRéATION DE CERTIFICAT par Byrong
spacer RS232 par MIM2010
spacer RS232 par MIM2010
spacer MACHINE DE TURING par MIM2010
spacer PL\SQL par amiradh
  • spacer La suite
  • spacer RSS

Ct IT

  • A la découverte de la console d?administration de Team Foundation Server 2010
  • A la découverte de la console de configuration de Team Foundation Server 2010
  • A la découverte du programme d?installation de Team Foundation Server 2010
  • Empècher Windows de créer les fichiers THUMBS.DB
  • Nettoyage de disque sans compression
  • Comment faire un CD bootable depuis Nero 7
  • Modifier la liste des valeurs proposées par le champ Assigned To dans les Elements de travail de ...
  • spacer La suite
  • spacer RSS

Offres d'emploi

  • Recherche un(e) développeur(se) ASP.Net / C#
  • Recherche Développeur PHP web2 H/F
  • Recherche Développeur C/C++ multimédia - PC, TV, Mobile
  • Recherche [CDI] Développeur(s) PHP sur sites à fort trafic
  • Recherche Développeur Web PHP - Multimédia
  • Recherche Developpeurs WEB
  • Recherche Développeur Android
  • spacer Dposer une offre
  • spacer La suite
  • spacer RSS

Formations Video

  • Adobe Flash Catalyst CS5 : les indispensables
  • Devenez un dveloppeur Android - Vol. 2
  • Dveloppement d?applications pour l?iPhone
  • Word 2010 : les indispensables
  • Coffret Trapcodes Vol1 - Particular et Horizon
  • La formation complte sur Google SketchUp
  • La formation complte sur Objective-C 2.0
  • spacer La suite
  • spacer RSS

Appels d'offres

  • URGENT Webmastering site php MySql
  • Budget : 150€
  • Refonte complete de notre site internet e commerce
  • Budget : 7000€
  • Reparation du module de paiement d un site de vente en ligne
  • Budget : 400€
  • spacer La suite
  • spacer RSS

Logiciels

  • spacer MyPlanning 2011 (6.2.0.2)
  • spacer État du service du Réseau Windows live (2010)
  • spacer OX Excel en PDF Convertisseur (1.1)
  • spacer Firefox Live (2010)
  • spacer Windows Live Messenger 2011 (15.4.3508.1109)
  • spacer + de logiciels tlcharger

Vidos drles

  • Terry Tate Office Linebacker Superbowl 2003
  • J'ai un iPad !
  • Jeu vido instructif
gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.