grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 510 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
Posté le 21 janvier 2006 - 15 h 59 m 05 s |
|
|
hello,
Comme il n'y a pas de topic la dessus, j'ai décidé de lancer celui là, vous connaissez l'ajax ? non ? bon ben en gros ca permet de faire du dynamique dans du statique ! plus clairement, ca permet de faire charger uniquement une partie d'une page web au lieu de tout recharger, une grosse economie a tous les niveaux, moins de donnees transitent donc c'est plus rapide, economie de traffic, ...
c'est par exemple avec ca qu'est fait google suggest, ou encore pour ceux qui ont un mail yahoo, les suggestions dans les adresses pr les destinataires venant directement du carnet d'adresses.
je viens de m'y mettre et j'avoue que je trouve ca assez genial !
pour commencer, voici quelques liens sympatoches
http://fr.wikipedia.org/wiki/AJAX
http://toutajax.info/
http://ajax.zervaas.com.au/examples/GoogleSuggestCloneJax/
http://mr.jim.free.fr/
http://www.poof65.com/liveChat/
http://www.openweb.eu.org/articles/objet_xmlhttprequest/
http://jpspan.sourceforge.net/examples/
http://openrico.org/
http://www.modernmethod.com/sajax/
http://ajaxpatterns.org/PHP_Ajax_Frameworks
si vous voulez partager vos experiences ou projets, c'est par ici
a lire !
http://www.sourcelabs.com/blogs/ajb/2005/12/10_places_you_must_use_ajax.html
|
|
| |
Message édité 3 fois, la dernière par grabber le 15 mars 2006 - 20 h 23. |
| |
|
gege38
Modérateur
Chief of the (¯`·.__[T3aM.BouL3T©]__.·´¯) Potatoe Reloaded
Messages : 14 079 Inscrit le 05/02/03
Ville : Domène
Non connecté
|
|
Posté le 22 janvier 2006 - 11 h 49 m 32 s |
|
|
Heu, il faut quand même préciser qu'Ajax n'est juste qu'une méthodologie de création de pages Web dynamique (on n'a rien réinventé...), mais qui par contre, est fortement dépendante d'une techno serveur...
En gros, vous pouvez faire de l'Ajax côté client, et avoir des traitements serveur PHP ou Java par exemple
|
|
| |
" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
Posté le 22 janvier 2006 - 12 h 39 m 49 s |
|
|
A priori tu peux creer une page entiere AJAX sans traitement serveur .. apres, ca limite vite l'interet mais c'est une autre histoire.
Cote client, si je suis en mode parano, tout part en cxxxxes encore plus vite -> il faut envisager ce cas pour un site pro : voir comment fait gmail si vous enlevez js par exemple.
|
|
| |
Message édité 2 fois, la dernière par iraysyvalo le 22 janvier 2006 - 12 h 42. |
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 510 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
Posté le 22 janvier 2006 - 13 h 13 m 30 s |
|
|
c'est vrai , ajax existe depuis longtemps et etait peu utilise ; tout comme pour javascript, le debat est anime en ce moment... mais cela permet d'ameliorer l'interface utilisateur de facon impressionnante. selon moi, le gros probleme du web est de ne pas proposer en general une ergonomie comparable a une appli bureautique classique, l'utilisation d'outils comme ajax permet de palier a certains de ces besoins, sans compter l'economie realisee.
oui tiens, je n'ai pas ete voir ce que ca donnait si on desactive js... ben a priori ca marche pas non ?
|
|
| |
|
gege38
Modérateur
Chief of the (¯`·.__[T3aM.BouL3T©]__.·´¯) Potatoe Reloaded
Messages : 14 079 Inscrit le 05/02/03
Ville : Domène
Non connecté
|
|
Posté le 22 janvier 2006 - 14 h 20 m 01 s |
|
|
Ben c'est de l'AX alors
Iray> Heu, je ne vois pas vraiment l'interêt de l'AJAX sans traitement serveur, ne serait-ce que par un module PHP...
|
|
| |
" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld
|
kha
Google is your best friend
Messages : 1 235 Inscrit le 01/03/02
Ville : Montreal
Non connecté
|
|
|
| |
Message édité 1 fois, la dernière par kha le 22 janvier 2006 - 17 h 39. |
| |
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
Posté le 22 janvier 2006 - 18 h 56 m 20 s |
|
|
Le 22 janvier 2006 - 14 h 20, gege38 a écrit :
Ben c'est de l'AX alors 
Iray> Heu, je ne vois pas vraiment l'interêt de l'AJAX sans traitement serveur, ne serait-ce que par un module PHP...
|
La partie serveur depend de ton metier. L'interet d'Ajax c'est le gain d'ergonomie obtenu cote client, on s'en fout a la limite que c'est genere par PHP, Python ou a la main.
Pour avoir une image plus claire, supposons que je fasse un lecteur en ligne de RFC. Je pourrai bien passer tous les RFC par Ajax sans passer par un quelconque traitement serveur.
|
|
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
Posté le 22 janvier 2006 - 19 h 13 m 09 s |
|
|
Le 22 janvier 2006 - 13 h 13, grabber a écrit :
oui tiens, je n'ai pas ete voir ce que ca donnait si on desactive js... ben a priori ca marche pas non ?
|
Bien entendu que non. C'est pour ca qu'il faut l'envisager au cas ou. Je ne sais par contre pas comment fait gmail pour tester que js a ete desactive sur le client par exemple ?
|
|
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
gege38
Modérateur
Chief of the (¯`·.__[T3aM.BouL3T©]__.·´¯) Potatoe Reloaded
Messages : 14 079 Inscrit le 05/02/03
Ville : Domène
Non connecté
|
|
Posté le 22 janvier 2006 - 19 h 54 m 56 s |
|
|
Le 22 janvier 2006 - 18 h 56, iraysyvalo a écrit :
Le 22 janvier 2006 - 14 h 20, gege38 a écrit :
Ben c'est de l'AX alors 
Iray> Heu, je ne vois pas vraiment l'interêt de l'AJAX sans traitement serveur, ne serait-ce que par un module PHP...
|
La partie serveur depend de ton metier. L'interet d'Ajax c'est le gain d'ergonomie obtenu cote client, on s'en fout a la limite que c'est genere par PHP, Python ou a la main.
Pour avoir une image plus claire, supposons que je fasse un lecteur en ligne de RFC. Je pourrai bien passer tous les RFC par Ajax sans passer par un quelconque traitement serveur.
|
Oui, je suis tout à fait d'accord avec toi. Cependant, je réagissais plus sur l'utilité d'AJAX sans le traitement serveur... Mais bref, on parle bien de la même chose
|
|
| |
" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
Posté le 22 janvier 2006 - 20 h 26 m 41 s |
|
|
Not Found
The requested URL /disc/programmation/web/{$smarty.server.REDIRECT_URL} was not found on this server.
|
La reponse rapide m'a pondu cette erreur, bon bref j'ai perdu ma reponse 
Remarque : cette erreur se repete en reponse rapide, je passe par la reponse normale la !
---------------
Oui, on parle bien de la meme chose. J'ai bien dit plus haut que l'interet est vite limite (meme si non nul) s'il n'y a pas de traitement serveur.
Grabber, un petit Hello World peut-etre ?
|
|
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 22 janvier 2006 - 20 h 42 m 01 s |
|
|
Le 22 janvier 2006 - 20 h 26, iraysyvalo a écrit :
La reponse rapide m'a pondu cette erreur, bon bref j'ai perdu ma reponse 
|
Désolé. C'est bon maintenant.
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
betux
Coordinateur
testis ...
Messages : 2 851 Inscrit le 08/10/03
Ville : lyon et parfois grenoble
Non connecté
|
|
Posté le 23 janvier 2006 - 13 h 22 m 37 s |
|
|
et bé partie comme une balle ce topic, preuve que c'etait une bonne idée
|
|
| |
Message édité 1 fois, la dernière par betux le 23 janvier 2006 - 13 h 22. |
| |
Il faut que le hasard renverse la fourmi pour qu elle voit le ciel.
|
grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 510 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
Posté le 23 janvier 2006 - 15 h 37 m 23 s |
|
|
Le 22 janvier 2006 - 20 h 26, iraysyvalo a écrit :
Grabber, un petit Hello World peut-etre ?
|
oula ! je suis en pleine soupe de code
des que j'ai un truc cool qui tourne, je poste.
|
|
| |
|
betux
Coordinateur
testis ...
Messages : 2 851 Inscrit le 08/10/03
Ville : lyon et parfois grenoble
Non connecté
|
|
Posté le 23 janvier 2006 - 16 h 04 m 57 s |
|
|
exemple :
Hello World
si vous voyez le texte "hello world" c'est que votre jvm est activé, ceci est un developpement en ajax pour preuve cliquer dessus ... rien ne se passe c'est normal le text est géré coté client il n'y a pas d'aller retour serveur, et pourtant vous avez cliqué ... hein ??? on me dis à l'oreillette qu'il faudrait plus de code ???
|
|
| |
Il faut que le hasard renverse la fourmi pour qu elle voit le ciel.
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
Posté le 23 janvier 2006 - 19 h 39 m 44 s |
|
|
Le 23 janvier 2006 - 16 h 04, betux a écrit :
si vous voyez le texte "hello world" c'est que votre jvm est activé
|
Perdu  Si je laisse js active par defaut, je n'active java qu'au cas par cas, generalement meme je laisse comme ca.
Ok grabber
|
|
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 510 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
Posté le 24 janvier 2006 - 09 h 33 m 36 s |
|
|
allez, en attendant, vla votre hello world, avant que je m'enerve encore toute la journee a ne pas arriver a faire ce que je veux lol  bon j'ai un peu change le truc, au lieu d'afficher hello world, le script renvoit la source
1.
2. <html>
3.
4. <head>
5.
6. <script type="text/javascript">
7.
8. function doRequest() {
9. var xhr_object = null;
10.
11. if(window.XMLHttpRequest) // Firefox
12. xhr_object = new XMLHttpRequest();
13. else if(window.ActiveXObject) // Internet Explorer
14. xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
15. else { // XMLHttpRequest non supporté par le navigateur
16. alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
17. return;
18. }
19.
20. xhr_object.open("GET", location.href, false);
21. xhr_object.send(null);
22. if(xhr_object.readyState == 4) {
23. alert(xhr_object.responseText);
24. }
25. }
26.
27. </script>
28.
29. </head>
30.
31. <body>
32.
33. <input type="button" value="Afficher la source" onclick="doRequest()" />
34.
35. </body>
36.
37. </html>
38.
explication :
le bouton lorsqu'il est cliqué déclenche la fonction doRequest(). Cette fonction, au départ, ouvre l'objet httprequest selon la methode correspondant au navigateur de l'utilisateur. Ensuite, on ouvre la connexion via la methode get sur le même fichier pour en récupérer la source via "location.href" qui represente la page courante. derriere, on attend que l'etat de l'execution passe a 4 (etat ok) et on affiche le resultat dans une popup de type alert.
on pourrait aussi creer un div en dessous du bouton et faire afficher le resultat dans le div au lieu d'une boite alert...
voila un 1er exemple.
vous pouvez aussi remplacer location.href par le nom d'un script php par exemple, qui va traiter le flux d'infos que vous souhaitez renvoyer (responseText).
++
|
|
| |
|
grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 510 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
Posté le 24 janvier 2006 - 10 h 37 m 48 s |
|
|
autre exemple en 2 fichiers séparés, appel via méthode get et affichage du resultat dans une div.
le fichier html de base :
1. <html>
2. <head>
3.
4. <script type="text/javascript">
5.
6. var xhr_object = null;
7. var xhr_url = 'test_heure.php';
8.
9. function doGetRequest() {
10.
11. if(window.XMLHttpRequest) // Firefox
12. xhr_object = new XMLHttpRequest();
13. else if(window.ActiveXObject) // Internet Explorer
14. xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
15. else { // XMLHttpRequest non supporté par le navigateur
16. alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
17. return;
18. }
19.
20. // On ouvre la requete vers la page désirée
21. xhr_object.open( 'GET', xhr_url, false );
22. // On lui donne le pointeur de fonction de retour
23. xhr_object.onreadystatechange = CallBackRequest;
24. // On envoi la requete
25. xhr_object.send( null );
26.
27. }
28.
29. function CallBackRequest() {
30. // Sur le retour de la requete, on teste son état
31. if ( xhr_object.readyState == 4 ) {
32. // On injecte notre retour dans la DIV prevue a cet effet
33. document.getElementById( 'donnees_dynamiques' ).innerHTML = xhr_object.responseText;
34. }
35. }
36.
37.
38. </script>
39.
40. </head>
41.
42. <body>
43.
44. <input type="button" value="heure du serveur" onclick="doGetRequest()" />
45. <div id="donnees_dynamiques"></div>
46.
47. </body>
48. </html>
49.
le fichier test_heure.php :
1. <?php
2.
3. echo "Bonjour, il est " . gmdate("h:i:s") . " (GMT+1) sur le serveur.";
4.
5. ?>
alors quelles sont les differences avec le script precedent... tout d'abord on ajoute une fonction qui gere l'etat de retour de la requete, cette solution permettra plus tard de bosser sur les differents etats. d'autre part, on a passe en parametre le nom de la page qui contient le traitement a effectuer. dernier point, les donnees recuperees sont injectees dans une div
voila, c'est pas plus complique que ca, pour l'instant...
|
|
| |
|
grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 510 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
Posté le 02 février 2006 - 09 h 10 m 32 s |
|
|
bon alors depuis une semaine, les choses ont bien evoluees... il y a une semaine, il y avait 1 seul bouquin en tout et pour tout sur le net a propos d'ajax ! maintenant, il y en a au moins 10 que j'ai pu voir sur amazon... quel engouement !
mais bon, la n'est pas vraiment le soucis, meme si j'aimerais bien trouver un bouquin de dingue pour eviter de chercher pendant des heures a travers les blogs, les sites, ..., des exemples qui la plupart du temps sont hyper reducteurs (dans le genre des 2 que j'ai fournis au dessus lol) et n'apportent pas grand chose a part effectivement faire un clone de suggest ou faire un "sablier" pendant une operation longue... magnifique !!!
alors finalement, de mon cote, j'ai pour l'instant pas trop mal avance mon projet, j'avoue que meme si c'est chaud, c'est vraiment bluffant ; comme quelques messages lus sur le net expliquant qu'il n'y avait pas de ralentissements etc que c'estait super puissant, je crois que le coup de bluff reside surtout dans le fait d'eviter le rechargement, qui quoi qu'on en dise, cree toujours un temps d'attente, ne serait ce que psychologique.
voila, donc si certains d'entre vous veulent se lancer, qu'ils n'hesitent pas a venir partager leurs experiences.
autre point : je ne sais pas si j'en ai parle avant, mais le "probleme" de ajax, c'est que si l'on prends l'exemple juste au dessus, si vous affichez le code de la page pour voir ou se trouve votre erreur eventuelle, vous ne verrez pas ce que le fichier appele (heure.php) ecrit dans la page, en clair vous ne verrez pas le contenu du div. dans le cas ou l'on n'affiche qu'un mot, effectivement ce n'est pas tres important..., dans mon cas c'est tout un tableau avec des champs de formulaire, c'est nettement plus chiant, surtout quand on sait que le fichier affichant le tableau (qui est lui meme un formulaire) appelle lui aussi d'autres routines ajax...
pour palier a ca, j'ai installe un pti truc que je vous conseille : la developper toolbar !
pour IE : http://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en
pour FF : http://chrispederick.com/work/webdeveloper/
grace a ca, vous pourrez visualiser l'ensemble des proprietes ou actions, on peut selectionner par click et arriver direct dans la structure de code, c'est hyper pratique. vous pouvez aussi desactiver les css, le js, tout ou presque !
voila
|
|
| |
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
Posté le 02 février 2006 - 09 h 18 m 40 s |
|
|
Donc pour le moment, tu n'utilises aucune des boites a outils AJAX citees plus haut ? Trop lourdes pour le moment ?
|
|
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 510 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
Posté le 02 février 2006 - 09 h 57 m 46 s |
|
|
disons que pour l'instant effectivement, j'avais un besoin trop precis et ne connaissant pas le sujet, j'ai privilegie les commandes pures plutot que l'utilisation des frameworks, je pense que ca va venir dans un second temps, des que j'aurai reussi a boucler cette maudite appli... mais tu as raison, les nombreux tests attestent de la puissance de ces frameworks, et je vais m'y engager tres rapidement. a ce propos, tres bon numero de "php solutions" avec un dossier sur ajax justement
|
|
| |
|