Depuis quelque temps, je me suis mis à l’ASP.NET (je bidouillais déjà pas mal en C#).
Actuellement, je suis en train de développer un site intranet pour ma boite et en me baladant sur le net à droite à gauche, je suis tombé un nombre incalculable de fois sur AJAX.
Mais c’est quoi Ajax en fait ? Je me suis rendu sur wikipedia ainsi que d’autres sites, et la réponse la plus commune que j’ai trouvé, c’est que ça permet de minimiser les flux entre client-serveur permettant ainsi une navigation plus “fluide”. Ors, j’ai le sentiment que c’est bien plus que cela.
Donc, en gros, si quelqu’un pouvais éclairer ma lanterne à ce sujet, à savoir ce que c’est plus précisément, et surtout: a quoi ça sert ??
Par ailleurs, est-ce compliquer d’utiliser Ajax (je ne sais pas si le terme utiliser n’est pas impropre) dans un environnement .net (asp.net) ?
D’avance merci. Je sais que vous êtes assez nombreux sur cafzone geekzone à employer Ajax et que certains d’entre vous se feront une joie d’apporter une réponse à une question aussi existentielle sur le développement web. B)
en gros, c’est le terme top moumoute de la mort qui tue qu’il faut caser dans toute conversation avec paradigme et pro-actif comme le fut data warehouse en son temps pour se la peter aux reunions.
Ensuite c’est un melange entre javascript et xml.
En gros ca consiste on va prendre l’exemple de gmail, a générer un gros fichier xml avec les données de l’utilisateur (par exemple tout ses contacts).
Pour lui faciliter la tache (auto completion = remplir automatiquement les champs des qu’il commence a taper).
En gros l’usage massif de xml avec javascript.
Ensuite c’est surtout un terme dévoyé pour pas grand chose comme le web 2.0. Perso moi moi j’ai juste envie de les frapper des qu’un mec se la pete avec ce terme c’est mon talon d’achille.
Mais bon l’ajax c’est lacroix et la banniere techniquement a faire.
Et surtout c’est mega lourd tout le monde n’a pas l’adsl ou une putain de connection pense a ceux qui n’ont pas ca.
[quote=“Bussiere, post:2, topic: 31974”]Et surtout c’est mega lourd tout le monde n’a pas l’adsl ou une putain de connection pense a ceux qui n’ont pas ca.[/quote]Justement, ça évite de recharger toute la page. A part un petit fichier .js à charger en début de session le reste des transferts pourra être réduit aux données utiles.
Exemple : amusez-vous avec “Tout afficher” et les boutons pour aller de page en page sur les liens de PdG. C’est de l’AHAH et non de l’AJAX mais l’idée est là.
Et aussi chez Microsoft, t’as pas entendu parler d’Atlas ?
[quote=“Moe, post:5, topic: 31974”]Justement, ça évite de recharger toute la page. A part un petit fichier .js à charger en début de session le reste des transferts pourra être réduit aux données utiles.
Exemple : amusez-vous avec “Tout afficher” et les boutons pour aller de page en page sur les liens de PdG. C’est de l’AHAH et non de l’AJAX mais l’idée est là.
Et aussi chez Microsoft, t’as pas entendu parler d’Atlas ?[/quote]
heuuuuuuuuu
désolé mais charger tout les contacts emails de quelqu’un c’est plutot long regarde gmail.
Alors que c’est superflus une autocompletion c’est rigolo ca facilite la vie mais si c’est pour que avec mon tel portable je ne puisse aller sur ton site bof quoi.
(ne jamais oublier que internet sur les tels portables se developpe de plus en plus et que là ajax c’est clairement pas fait pour donc pense au moins a une version low debit. (bas debit) ).
Ajax c’est bon, c’est rigolo… mais c’est pas tout rose ! Ca n’est, dans sa finalité, qu’une surcouche interactive pour tes applis. Il faut quand même que tu développes tes applis en mode client serveur pur (routine PHP, ASP, ce que tu veux…)
En gros le schéma c’est ça
PHP, ASP, etc… -> XHTML pour la base
CSS pour la forme
Ajax pour les interactions
Et puis ça pose aussi quelques petits problèmes vicieux. Le référencement en est un, ben oui tu n’as pas de données dans ta page puisque tu vas les chercher en live dans la base. Prévoit donc une page où tu as du contenu “en dur” qui vient de tes bases…
Un autre problème repose sur le fait que ben, tout simplement, on peut désactiver le javascript dans les navigateurs ! Et là, boum badaboum…
Sinon c’est marrant de faire de l’Ajax. Pour moi les frameworks incontournables sont Prototype, Scriptaculous et Dojo !
Il me semble que le framework ATLAS (le truc microsoft qui permet de faire de l’AJAX dans tes pages .NET) est simplissime à utiliser d’après ce que j’avais vu sur une vidéo (que je ne retrouve plus).
Perso, je n’ai travaillé qu’avec celui là : http://www.telerik.com/ (payant) et on était plus que satisfait, par contre si c’est pour faire mumuse sur ton blog c’est un peu cher B)
En gros, avec Telerik : tu dis “ce truc (un linkbutton, une datagrid, un button, ce que tu veux), quand on fait une action dessus, doit mettre à jour tel et tel controle sur la page (n’importe quel controle sauf les Placeholders, il faut utiliser les Panels à la place)”, et ça t’“ajaxifie” tout sans que tu ai à faire une ligne de javascript ( B) )
Carrément pas, en fait. Bon après ca dépend toujours de ton niveau, de ce que tu tente de faire, etc… Mais sans aller jusqu’à utiliser Atlas (qui ne s’apelle plus atlas d’ailleurs mais sp.net ajax), ASP.NET propose en standard un systeme d’appel asynchrone.
Vous me tirez une balle dans la tête si je me trompe mais la réponse la plus simple à la question “Qu’est ce qu’Ajax” n’est-elle pas “une utilisation donnée de Javascript qui permet d’accéder à un serveur de base de données et d’afficher les résultats d’une requête sans réafficher tout le document” ?
En tout cas c’est ce que je dirais approximativement si on me posait la question…
Techniquement :
tu lances une requête par un appel Javascript en utilisant POST ou GET du protocole HTTP sur un serveur (comme tu le ferais pour naviguer, mais là le but c’est de récupérer des infos d’une base de données) ;
tu utilises le résultat pour afficher quelque chose sur ta page, mais comme c’est du javascript (donc côté client), pas besoin de réafficher tout le HTML (un peu comme quand tu fais un onMouseOver pour l’exemple).
En pratique ce qui est utilisé dans Javascript c’est l’objet XMLHttpRequest, d’où le nom barbare que tu retrouveras sur Wikipedia : Asynchronous JavaScript and XML.
Maintenant faire la même chose sans XML et dans le même ordre d’idées, il me semble que c’est possible. De mon point de vue tout l’interet de la chose c’est l’utilisation de Javascript. XML n’est qu’un format de structuration des données (pratique pour faire propre ça c’est sûr).
Si je pense que t’as bon ^^ Et à mon sens c’est une belle avancée technologique (à attribuer à MS avec leur web-outlook pour exchange, pas à la société de conseil pourrave qui a inventé le terme ajax …).
Vala, après c’est très joli voire même merveilleux (vive GMail !)
Mais le plus gros du travail est de faire en sorte que ce soit facile à coder, tester, bencher … mais ca avance dans le bon sens (ouatmille frameworks)
Mais bon … parler de web 2.0, bof. C’est juste un truc bien sympa, mais sans aucun enjeu business, culturel, social ou je ne sais quoi d’autre ^^