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.
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.
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
|
Derniers Blogs
SHAREPOINT 2010 - LE ROUTAGE DE DOCUMENTS SHAREPOINT 2010 - LE ROUTAGE DE DOCUMENTS par junarnoalg
La question est souvent posée. SharePoint est-il vraiment un outil de GED ?
Jusque là, la réponse restait évasive . oui . non . peut-être . ça dépend . Avec l'arrivée de la version 2010, on peut clairement affirmer que oui, même si en tant...
Cliquez pour lire la suite de l'article par junarnoalg [WP7] SUPPORT DU THèME DANS UNE APPLICATION SILVERLIGHT [WP7] SUPPORT DU THèME DANS UNE APPLICATION SILVERLIGHT par KooKiz
Parmi les problématiques qui peuvent se poser lors du développement pour Windows Phone 7 figure en bonne position la gestion du thème. En effet, le système permet à l'utilisateur de choisir entre plusieurs palettes de couleur, et notamment de choisir ...
Cliquez pour lire la suite de l'article par KooKiz [SILVERLIGHT] INTéGRER VOTRE APPLICATION SILVERLIGHT DANS LA TASKBAR DE WINDOWS 7 [SILVERLIGHT] INTéGRER VOTRE APPLICATION SILVERLIGHT DANS LA TASKBAR DE WINDOWS 7 par Thomas LEBRUN
Depuis la version 3 de Silverlight, il est possible d'exécuter des applications Silverlight en mode "Out Of Browser" autrement dit installer localement l'application et l'exécuter directement sur le poste client. Cette fonctionnalité, bient que très ...
Cliquez pour lire la suite de l'article par Thomas LEBRUN LE FUTUR DE SILVERLIGHT : SILVERLIGHT 5 ! LE FUTUR DE SILVERLIGHT : SILVERLIGHT 5 ! par redo
Comme précisé lors de mon précédent post, nous avions ce soir le keynote de Scott Guthrie relatif à l'avenir de la technologie Silverlight et sans surprise, celui-ci nous y a annoncé Silverlight 5 ! Cette nouvelle version nous apporte plus d'une 40aine de...
Cliquez pour lire la suite de l'article par redo GOOGLE MAPS V3 : L'éVèNEMENT "BOUNDS_CHANGED" SE DéCLENCHE EN CONTINU! GOOGLE MAPS V3 : L'éVèNEMENT "BOUNDS_CHANGED" SE DéCLENCHE EN CONTINU! par MadMatt
Bonjour à tous,
Si vous aussi vous travaillez avec Google Maps v3, et que vous avez besoin par exemple de rafraichir les marqueurs qui se trouvent sur la carte lorsqu'on zoom ou on se déplace, vous avez peut être remarqué que la doc conseille d'uti...
Cliquez pour lire la suite de l'article par MadMatt
-
La suite
-
RSS
Forum
CRéATION DE CERTIFICAT CRéATION DE CERTIFICAT par Byrong
Cliquez pour lire la suite par Byrong RS232 RS232 par MIM2010
Cliquez pour lire la suite par MIM2010 RS232 RS232 par MIM2010
Cliquez pour lire la suite par MIM2010 MACHINE DE TURING MACHINE DE TURING par MIM2010
Cliquez pour lire la suite par MIM2010 PL\SQL PL\SQL par amiradh
Cliquez pour lire la suite par amiradh
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 ...
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
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€
-
La suite
-
RSS
Logiciels
MyPlanning 2011 (6.2.0.2) MYPLANNING 2011 (6.2.0.2)MyPlanning 2011 permet de créer des plannings sous la représentation de diagrammes. MyPlanning 20... Cliquez pour tlcharger MyPlanning 2011 État du service du Réseau Windows live (2010) ÉTAT DU SERVICE DU RéSEAU WINDOWS LIVE (2010)
Pour suivre plus en détails l'évolution des réparations effectuées par les équipes techniques, no...
Cliquez pour tlcharger État du service du Réseau Windows live OX Excel en PDF Convertisseur (1.1) OX EXCEL EN PDF CONVERTISSEUR (1.1)
OX Excel en PDF Convertisseur s'installe dans votre ordinateur comme un imprimante virtuelle, il ...
Cliquez pour tlcharger OX Excel en PDF Convertisseur Firefox Live (2010) FIREFOX LIVE (2010)La mascotte de Firefox est-elle un renard de feu ou un panda roux ? Mozilla a récemment mis un te... Cliquez pour tlcharger Firefox Live Windows Live Messenger 2011 (15.4.3508.1109) WINDOWS LIVE MESSENGER 2011 (15.4.3508.1109)Plusieurs mois après la publication de la version bêta, Microsoft vient de publier la version fin... Cliquez pour tlcharger Windows Live Messenger 2011
Vidos drles
- Terry Tate Office Linebacker Superbowl 2003
- J'ai un iPad !
- Jeu vido instructif
-
|