Site de HOP : trop dopé à l'ajax
Par Laurentj le vendredi, juin 2 2006, 15:50 - Technologies Web - Lien permanent
update : parce que cela choquait certains, le titre de ce billet a été modifié et la dernière phrase de ce billet supprimé.
L'INRIA a sorti un nouveau langage/framework pour réaliser des applications "web 2.0", HOP. (Un nom bien web 2.0 tiens...).
À lire la documentation, ce langage ne m'enthousiasme pas vraiment. Il a l'air d'avoir des mécanismes qui facilite en effet la déclaration de l'attachement d'une action coté client au service web coté serveur. C'est pas mal, mais coté syntaxe, faut aimer. Mais bon, le débat n'est pas là. Il est ailleurs. Le site.
Le site en lui même est fait avec HOP bien sûr, et c'est là que l'on voit la débilité de l'usage inconsidéré d'Ajax. Le contenu de ce site est simplement de l'information, de la documentation. Rien qui ressemble de prés ou de loin à une application. Mais les auteurs semblent avoir oublié quelque chose. La simplicité, l'efficacité. Oublions les énormes avantages qu'apportent de bêtes pages html du web 0.1 dans le cadre d'un site informatif, et faisons tout en ajax.
Résultats :
- il m'est impossible de vous donner un quelconque lien vers l'une des "pages" de ce site. Même pas vers un exemple hello world, ou la page téléchargement. Rien. Nada.
- Il va être impossible pour les moteurs de recherches d'indexer son contenu. (pour un site de documentation, c'est tout de même fort...)
- Accessibilité : proche de 0 j'imagine.
- Pages lourdes (pour le contenu qui y est présenté...)
- En dehors d'un navigateur graphique avec javascript activé, point de salut.
Conclusion : Un site et une techno à oublier pour faire des sites normaux informatifs. (de toutes façons, peu de chance que les gens s'y intéressent, puisque le site ne peut être référencé correctement..).
Commentaires
Ca s'approche du ridicule.
Quelle utilité de charger le contenu indépendemment.. pour ne pas avoir l'indication du chargement par le navigateur? pour ne pas avoir une page blanche pendant 1/4 de seconde? pour ne pas avoir de changement d'url dans le navigateur? pour embêter son monde, ou s'embêter soi-même à développer un truc plus fun, à la mode mais sans utilité. Si c'est pour ne pas recharger toute la page, je peut comprendre dans la plupart des cas mais ici, il n'y a que le conteneur qui reste... ce qui fait que les javascript derrière compensent largement la perte de temps du rechargement systématique du conteneur...
Voila exactement un site où l'AJAX est à prohiber.
Faire du HTML en LISP ?! Oué faut vraiment aimer ça.
En plus je suis pas convaincu de l'efficacité de la solution, ca n'a pas l'air d'apporter grand chose.
"Le contenu de ce site est simplement de l'information, de la documentation. Rien qui ressemble de prés ou de loin à une application."
Pensez à cliquer sur "Demos" la prochaine fois.
J'ai l'impression que quand on s'éloigne des langages/technos couramment associés au web next-gen (2.0 ou pas), c'est très facile de se faire descendre en flammes dans la blogosphère mozillesque JS/XUL/XPCOM/XBL/XML-DTC. Sans parler des idiots qui rejettent le Scheme en bloc (dont vous ne faites partie).
Et ? cela oblige à ce que tout le site soit totalement inaccessible et réalisé avec de l'ajax dans tous les sens ? La majeure partie du site, c'est de la doc, c'est pas une appli.
Je ne vois absolument aucun rapport avec XUL. Ici, je parle de standards du web, et surtout d'accessibilité. Merci de ne pas tout amalgamer ! (d'autres personnes interressées par les standards et n'ayant rien à voir avec xul ou mozilla, vous dirons la même chose à propos de ce site)
@laurentj
Est-ce que la mauvaise utilisation d'une technologie sur une partie du site vous oblige à jeter toute la techno à la poubelle ? Les énormes lourdeurs de Firefox sous Linux m'incitent-elle à condamner la technologie Mozilla ? non.
Surtout ne suivez pas ce lien : http://thedailywtf.com/forums/thread/74148.aspx vous risqueriez de penser "CSS : poubelle".
Déjà pourquoi réaliser un site avec une technologie qui est manifestement dédiée à faire des "applications" ?
Ici sur la plupart des pages, l'ajax ne sert qu'a remplacer l'indicateur de chargement du navigateur par le sien, inutile donc.
Et simuler des liens avec <span onclick="..."> il fallait oser...
bon, ok, faut que je rajoute une emphase sur "pour faire des sites normaux", parce que visiblement, cette partie de phrase vous a échappé lors de la lecture..
PS: je vais même rajouter "informatif" pour que mon propos soit vraiment plus clair.
@laurentj
C'est plutôt la petite phrase sur vos impôts qui m'a fait tiquer.
Et votre titre est plus qu'excplicite.
Mais quand vont-ils comprendre qu'il faut arrêter de tenter de recréer un environnement type desktop sur le web (voir la démo). Ca ne sert strictement à rien (mais génère encore plus de confusion pour l'utilisateur final).
+1 pour Pierre.
J'ai croisé beaucoup de framework Web, j'ai eu ma part de contribution à ce genre de projets, et j'ai retenu une chose : toute tentative de tenter de masquer le mode "document" du Web pour tenter d'y créer un mode "applicatif" termine toujours mal.
Les possibilités de xmlhttprequest() sont très intéressantes pour plein de choses. Ce n'est par contre pas un remplacement des liens ou du comportement page à page avec orientation "document", ça ne doit pas l'être.
Comme la plupart d'entre vous, je ne connais pas HOP, mais je ne comprends pas comment vous pouvez avoir un avis aussi négatif sur cette techno juste parce qu'ils ont essayé de l'utiliser le plus possible (même quand c'est inutile, voir néfaste) dans leur site...
Bonjour,
@agmk
Je suis incapable de porter le moindre jugement sur la technologie présentée. Ce que je peux affirmer, c'est que les auteurs n'ont pas fait le bon choix sur la manière de la présenter, en l'utilisant à très mauvais escient (technique justifiée pour les démos, et uniquement pour les démos !), détruisant ainsi d'emblée un éventuel capital sympathie !
Amicalement, Monique
Si ce que je lis plus bas est vrai, je trouve ça suffisant pour condamner cette technologie :
Je n'aime pas internet explorer, mais sortir un framework qui si je comprend bien génère des pages illisibles avec IE, c'est un peu se tirer une balle dans le pied (en plus d'aller à l'encontre de l'accessibilité qu'ils pronent)
Outre l'hypocrisie partisane de ton propos, j'ai relevé des erreurs ou des omissions:
En fait HOP se situe non pas dans la catégorie des bibliothèques javascript, mais est vraiment un framework applicatif. En effet il propose des widgets, une API complète pour des protocoles comme IMAP, des accesseurs à des bases de données etc. Il se présente sous la forme d'un langage fonctionnel, le lisp, et alors ? Pourquoi faudrait-il que tous les langages aient la même syntaxe et soit tous héritiers de la même famille de langage ?
Et si tu étais aller plus loin que le bout de ton nez tu aurais vu que ce projet utilise Bigloo (http://www-sop.inria.fr/mimosa/fp/Bigloo/) qui est un compilateur pour langage scheme-like. En fait ça se présente comme permettant d'utiliser Scheme là où on utilise habituellement C++. C'est donc tout à fait dans le cadre de la recherche, et je suis fier que notre argent servent à des projets de la sorte.
Non ce qui te dérange en vérité c'est que HOP («a langage for programming the Web») soit un concurrent à XUL+Js. Bien sûr il a des défauts inhérents comme de se baser uniquement sur des technologies qui ont montré leurs limites mais il va plus loin en proposant une infrastructure de Web broker à mi-chemin entre le client side et le server side.
La technologie que tu promeut XUL, ne réponds pas à la problématique de la logique côté serveur. Cette solution y apporte un semblant de réponse. D'autres proposent de centraliser tout côté serveur (souvent en utilisant un serveur d'application) et d'enlever toute logique au JS en produisant du code généré en se basant sur des comportements (ou Behavior, voire prototype ou kukit).
Si tu pouvais arrêter de prendre ce discours polémique (trollesque?) à chaque fois que tu abordes un sujet intéressant alors tu pourrais mettre à profit tes connaissances pour expliquer les raisons véritables d'un choix d'une technologie en faveur d'une autre.
Bader : tu n'as absolument rien compris à ce que j'ai voulu dire. Je ne critique pas HOP, je critique le fait que le site ait été fait avec HOP... (alors que HOP est plutôt fait pour des appli, pas des sites). Et je répète, XUL n'a rien à voir dans tous ça. (lit les commentaires précédents..)
Ton dernier update m'enlève une immeeense boule au ventre, je respire enfin mieux, merci, ça devenait atroce.
:)))))))))
aheum.
Arf j'ai loupé le titre original du billet ... Pour en revenir au troll xul vs ajax, je penche en faveur de xul qui a été dès la base développé pour faire des interfaces et qui permet d'arriver en un temps record à faire des appli convenables (rien que de faire un treeview en ajax, c'est la mort)
Au vu des commentaires, j'ai quand même l'impression qu'on condamne trop rapidement un "langage" juste parce qu'il est utilisé à mauvais escient...
C'est possible d'arrete de parler de XUL ici ? c'est totalement hors sujet...
comme je l'ai dis dans le commentaire et comme tu sembles l'avoir mal lu:
(tu vois j'ai même laissé la faute de conjugaison)
Puis je réagis aussi et surtout au titre de ton post: ; Ainsi qu'à la conclusion: ;
Que tu as supprimé sans utiliser la balise standard indiquant qu'un texte a été supprimé rendant ainsi les commentaires disproportionnés dans leur critique etc. C'est prendre les gens pour des cons, et je trouve ça très décevant de ta part.
c'est tout de même dingue que tu me reproches d'avoir supprimer lesdites phrases à ta demande sur irc. Utiliser la balise adéquate ne change rien : l'idée de mon billet est toujours la même. Cela montre aussi que j'admet avoir exagérer dans les termes, et j'osais ésperer que cette suppression calmerait les esprits. Mais je vois que tu persistes à en rajouter.
Au sujet des commentaires, cela conçerne au plus deux commentaires (dont le tiens) sur 19. Pas de quoi dire que je prends les gens pour des cons. Le lecteur, à la lecture de mon "update", se doute bien que les (2) commentaires qui lui paraissent bizarres à comprendre, conçerne ce qui a été supprimé (ne serait-ce pas toi qui prend les autres pour des cons ?).
Sur ce.. fermeture des commentaires, j'ai autre chose à faire que de répondre à ce genre de discussion (et tu pourras comme ça aller crier à la censure..)