Push data avec Comet
Il y a quelques mois, Alex Russel auteur du Dojo Toolkit a parlé de Comet pour désigner une technique de “push data” depuis un serveur. Nouveau terme, pour une technique ancienne. Cela est rendu possible par les connexions HTTP “long-lived” au lieu de faire du polling depuis le client.
Il y a plusieurs similitudes avec Ajax : pas besoin de nouveau plugin, basé sur HTTP, asynchrone, beaucoup de navigateurs supportés.
Aujourd’hui, des services tels que GMail, GTalk, Meebo utilisent la technique Comet. Comet n’est pas un outil mais un concept, comme Ajax.
Plusieurs techniques sont possibles :
En utilisant un long polling avec XmlHttpRequest.
En utilisant un iframe ou frame (j’ai utilisé cette technique sur un moteur d’enchères en 2001) qui recoit des blocs de (Java)script et met a jour progressivement la page. Coté serveur (si on prend une servlet), on ne ferme pas la connection et on flushe régulièrement. J’avais utilisé cette technique en me basant sur les Pushlets et la technique de flusher du Javascript provenait de Remote Scripting (ancetre d’Ajax)
Une grande question avec Comet est la scalabilité. En effet, quand j’avais travaillé autour de cette technique en 2001, je ne l’avais pas retenue pour la production, et j’étais revenu sur un mécanisme de polling depuis le client , pour des raisons de montée en charge. Je rappelle le principe : une requête reste ouverte, longtemps, et des évènements coté serveurs provoquent un “push” de données (blocs de script).
Aujourd’hui, certains serveurs intègrent déjà Comet : c’est le cas pour Jetty, Apache 2.2. (event_mpm) , Glassfish (Connecteur Grizzly)
On devine le genre d’applications qui pourront être construites avec ce système de “push server” : Chat, Stock Quotes streaming, enchères en ligne, en sont quelques exemples.
Ressources :
Comet: Low latency data for the browser (Alex Russel)
Comet (Wikipedia)
Comet, It’s Ajax for Push (Odeo)
grizzly now supports Comet…(The Aquarium)
Looking for a comet, and finding a grizzly (The Aquarium)

Pardon moi, je suis American et ma francais es ne tres bon pas.
D’accord, Je vais une blogue avec un “AJAX How-to”.
http://www.sentertainment.net/blog/
Merci, au revoir!
Merci pour le lien Shawn