Bonjour,
Vous êtes sûrement au courant de l'arrivée de la technoliogie Ajax issue du Web 2.0.
Cette technique consiste en une fonction javascript (XMLHttpRequest) qui recharge uniquement la partie voulue d'une page.
Exemple :
Dans notre cas, on charge la page complète au chargement du site et lors du clique sur un lien, uniquement le cadre "contenu" est rechargé.
Le script à utiliser est relativement simple :
| Code: |
var http_request = false;
function makeRequest(url) {
document.getElementById("affichage").innerHTML="<td valign='middle'><img src='http://jeuxinfos.free.fr/load.gif'></td>";
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Impossible de lancer la commande AJAX ! Navigateur probablement incompatible.');
return false;
}
http_request.onreadystatechange = alertContents;
http_request.open('GET', url, true);
http_request.send(null);
}
function alertContents() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
document.getElementById("affichage").innerHTML=http_request.responseText;
} else {
alert('Probleme avec la requete AJAX');
}
}
} |
Et pour charger une page avec Ajax :
| Code: |
| <a href="#AJAX" onclick="makeRequest('fichieracharger.php')"> |
Et ajouter :
| Code: |
| <div id="affichage"></div> |
A l'endroit ou vous souhaitez que soit affiché le fichier chargé.
Pour un exemple plus concret, vous pouvez visiter mon site en Ajax (cf ma signature).
Vivement l'arrivée des sites en Web v2.0
Ajax, ajax... ben disons que j'en pense que c'est un bon récurant. Même si parfois j'ai tendance à lui préférer Mr Propre... Enfin bref...
Nan sinon, la technologie est plus qu'arrivée, ca fait déjà plussieurs années qu'elle tourne partout et que ses limites ont déjà été plus que démiontrées, même si elle reste très puissante. Nan c'est en 2004 qu'on aurait pu dire qu'elle arrivait sur nos écrans.
J'essaie de retrouver un topo que j'ai fait en formation sur la question mais le site sur lequel ca avait été publié a bougé et je ne le retrouve plus. Suite au prochain épisode
| Zzz. wrote: |
Ajax, ajax... ben disons que j'en pense que c'est un bon récurant. Même si parfois j'ai tendance à lui préférer Mr Propre... Enfin bref...
Nan sinon, la technologie est plus qu'arrivée, ca fait déjà plussieurs années qu'elle tourne partout et que ses limites ont déjà été plus que démiontrées, même si elle reste très puissante. Nan c'est en 2004 qu'on aurait pu dire qu'elle arrivait sur nos écrans.
J'essaie de retrouver un topo que j'ai fait en formation sur la question mais le site sur lequel ca avait été publié a bougé et je ne le retrouve plus. Suite au prochain épisode |
Oui je suis d'accord, il me semble que c'est Gmail qui a inauguré l'Ajax.
C'est encore très peu utilisé mais je pense que ça viendra. Si vous souhaitez vous lancer, n'ayez pas peur c'est très simple ! Regardez le mini tutoriel que j'ai fourni 
ben ya une raison très simple qui fait que c'est peut utilisé : c'est qu'une proportion non négligeable de gens surfent avec javascript désactivé, que ce soit ceux qui le font sciemment parce que "pas envie" ou ceux qui utilisent par la force des choses des navigateurs qui ne l'interprètent pas (en même temps, demande à un aveugle qui surfe avec Lynx de profiter de ton petit widget en ajax je pense qu'il rigolera beaucoup
...)
Ce ne serait pas encore trop grave si les webmaster pensait à faire un contenu alternatif et interprétable par tous, seulement beaucoup n'y pense pas. C'est comme les anims flash.
Ce serait pourtant si simple de mettre ne serait-ce qu'une image.jpg ou .gif pour ceux qui surfent avec AdBlock et qui zappe le flash par défaut...
Ceci dit, ca reste énormément puissant et il y a moyen de gérer beaucoup de choses très sympa avec Ajax mais mieux vaut, à mon avis ne pas axer son développement que sur ça.
D'autant plus que chacune des technologies qui font l'Ajax (xml, XHTTPRequest, javascript, css, le DOM, ...) utilisé tout seuls indépendamment les uns des autres rendent déjà de spectaculaires résultats quand tu les manis bien alors...
Moi je passe tout par un sysème d'include.
L'ajax ne me changerai presque rien si ce n'est sur le point de vue de la rapidité de chargement , mais là encore , mon site n'est pas trop lourd
include ? en PHP ? Oui c'est une idée cependant si c'est bien du php qu'on parle ya quand même une différence assez notoire : c'est le PHP va charger le serveur de requètes pour en obtenir un résultat là où tout l'Ajax se passe en local côté client. du coup ca limite quand même pas mal la charge serveur, à prendre en compte surtout lorsque tu es hébergé sur un fournisseur à faible bande passante. Rein ne sert de charger inutilement le serveur quand la machine client peut faire largement sa part de boulot.
Mais bon après c'est une question d'équilibre à trouver lorsque tu développes et même si j'ouvre beaucoup ma grande gueule sur le sujet, je vous rassure ca n'est pas beaucoup plus évident pour moi que pour vous 
Ouia bon mais moi j ai jamais reussis a faire tourner une routine en ajax alors me dire que c est super simple ...FO PAS DECONNER.....
Au passage si quelqu un pouvais m expliquer SIMPLEMENT le script utilise plus haut ca m aiderai merci.
PS pour contribuer au debat ca ralenti pas mal la sauce non avec toutes ces requettes non ?
Dans la partie Scripts du forum (en anglais), j'ai indiqué un framework JavaScript très sympa : Mootools
Qui possède déja toutes les fonctions permettant de faire des appels Ajax en une ligne de code.
Ce framework orienté objets a énormément d'autres avantages, et je le conseille à toute personne souhaitant développer ses propres scripts "évolués".
Il y a également des tas d'effets graphiques simplifiés .. ça déborde un peu du sujet Ajax là, donc je vous laisse découvrir par vous même.
Pour la performance d'un site utilisant Ajax, et bien tout dépend évidemment de ce que l'on appelle en Ajax .. s'il s'agit d'une récupération de fichier (script, données ou autre), il faut s'assurer que celui-ci n'est pas trop volumineux et qu'il se trouve sur un serveur répondant très rapidement, avec un système de cache ou autre.
S'il s'agit d'un appel serveur, là aussi il faut s'assurer du temps de réponse, sinon l'utilisateur risque d'avoir des temps de chargement assez importants.
Ajax permet surtout de faire des traitements en tache de fond, mais c'est vrai que c'est une évolution très intéressante pour le web qui a maintenant fait ses preuves. Il ne faut pas s'en priver, mais ne pas en abuser non plus 
| MARCIV wrote: |
Ouia bon mais moi j ai jamais reussis a faire tourner une routine en ajax alors me dire que c est super simple ...FO PAS DECONNER.....
Au passage si quelqu un pouvais m expliquer SIMPLEMENT le script utilise plus haut ca m aiderai merci.
|
tu créés une page qui contiendra ton design en fait la partie corps de ton site avec les menus ....
a l'intérieur de cette page tu installes la plus grosse partie du script qu'il y a plus haut.
a l'endroit ou tu voudras avoir du texte ( au milieu de ta page ) et ou tu voudras afficher plusieurs pages tu installes le <div id="affichage"></div>
la page a appeler avec la fonction
<a href="#AJAX" onclick="makeRequest('fichieracharger.php')">
sera lue a l'endroit ou tu as ton div
Merci geo en effet on peut pas faire plus simple 
Hello,
Ajax peut-être très bien pour des applications relativement simples, mais peut devenir problématique pour des prises en compte à la volée de paramètres récupérés et traités via ces scripts (c'est à dire, devoir gérer l'ordre d'execution des différents modules interactifs dans la page).
Moi j'ai pas encore expérimenté la chose mais je trouve que c'est très prometteur. Par exemple comme gmail charge vite les pages, ça donne envie ! Si on pouvait fait des sites qui se chargent aussi vite grâce à cette technique ou même une nouvelle que on pourrait inventer, ça serai la classe, le net ne sera plus comme avant ! L'expérience utilisateur non plus, avec des pages qui se chargent à vitesse éclair.
C'est vien que vous en avez parlé parce que là je stagne un peu niveau connaissances web et j'ai bien envie de me mettre quelque chose de nouveau sous la dent !