Hello les moules !
Je suis pas très au parfum de ce que devait nous apporter les websockets, ce nouveau protocol de push-up qui devait faire fureur avec html5...
Mais il semblerait que la version actuelle soit morte avant d'avoir pu être utilisée: ce ne sera pas disponible dans Firefox 4 et Opera, pour cause de sécurité !
Bien sur il une nouvelle version fera certainement son apparition et sera intégrée aux navigateurs... mais ça repousse sont utilisation.
Chères moules webdevelopeurs, ne trouvez vous pas ça dommage, après le temps de stagnation avant de se décider à faire évoluer les choses ? A quand le web '11 ?
Y perd t-on beaucoup ?
les lien: http://hacks.mozilla.org/2010/12/websockets-disabled-in-fire(...)
http://www.ietf.org/mail-archive/web/hybi/current/msg04744.h(...)
# Ma compréhension de la techno
Posté par niol (site web personnel) . Évalué à 4.
Par exemple, plutôt que d'envoyer une requête asynchrone en javascript toutes les minutes pour voir si on ne doit pas afficher un nouvel e-mail dans l'application de webmail, la connexion websockets permet, sans autre plugin, au serveur d'envoyer un message qui dit "nouveau mail" au navigateur qui va ainsi pouvoir faire ce qui est nécessaire pour l'afficher.
On peut ainsi passer du polling à la publication ce qui est beaucoup plus efficace en terme de bande passante et de charge du serveur.
[^] # Re: Ma compréhension de la techno
Posté par Etienne Bagnoud (site web personnel) . Évalué à 10.
Y'a pas déjà un protocole pour les mails ?
"It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell
[^] # Re: Ma compréhension de la techno
Posté par JoeltheLion (site web personnel) . Évalué à 3.
[^] # Re: Ma compréhension de la techno
Posté par DLFP est mort . Évalué à 10.
DLFP >> PCInpact > Numerama >> LinuxFr.org
[^] # Re: Ma compréhension de la techno
Posté par JoeltheLion (site web personnel) . Évalué à 3.
[^] # Re: Ma compréhension de la techno
Posté par monde_de_merde . Évalué à 5.
Bon sinon, les mails c'est un exemple, actuellement Gmail pool (interroge) le serveur toutes les x secondes pour voir s'il y a un nouveau mail (ça peut se vérifier avec un outil de surveillance et de traçage des requêtes). De même que, mettons twitter, interroge son service régulièrement pour savoir si ton réseau à pas fait de nouvelles publications. Là, ben ton navigateur il attend sagement que le serveur le notifie qu'il y a un nouveau truc à afficher/télécharger/whatever. Le traitement de la notification étant à la discrétion du développeur.
[^] # Re: Ma compréhension de la techno
Posté par nicolas . Évalué à 3.
Maintenant petites questions, ceci n’est pas un troll. Je précise parce qu’on est vendredi.
— Se mettre en idle garde-t-il une connexion ouverte entre le client et le serveur ?
— N’y-a-t-il pas de risque de sur-charge à avoir un tel type de fonctionnalité ? Car le serveur, à un moment ou un autre, doit garder une liste des clients à notifier.
— En idle comment fait le serveur pour savoir si le client est toujours en attente ou s’il est parti, y compris à cause d’un arrêt inopiné (donc sans avoir pu prévenir le serveur) ? Du coup les serveurs ne risquent-ils pas de placer un timeout assez réduit, forçant les clients à régulièrement notifier les serveurs de leur présence… que devient alors l’intérêt de la notification serveur→client ?
[^] # Re: Ma compréhension de la techno
Posté par Bruno Michel (site web personnel) . Évalué à 6.
Oui, la connexion reste ouverte.
> N’y-a-t-il pas de risque de sur-charge à avoir un tel type de fonctionnalité ?
Ça consomme un petit peu de ressources, mais bien fait, ça reste négligeable.
> En idle comment fait le serveur pour savoir si le client est toujours en attente ou s’il est parti, y compris à cause d’un arrêt inopiné (donc sans avoir pu prévenir le serveur) ?
Il peut faire confiance à TCP pour s'occuper de ça ou envoyer de temps à autres un ping (genre une fois toutes les 10 minutes).
> Du coup les serveurs ne risquent-ils pas de placer un timeout assez réduit, forçant les clients à régulièrement notifier les serveurs de leur présence… que devient alors l’intérêt de la notification serveur→client ?
C'est relativement coûteux d'établir une connexion. Il y a d'abord le 3-way handshake de TCP, puis éventuellement l'établissement de la session SSL (dans le cas d'HTTPS ou d'IMAPS par exemple) et surtout, ça demande au serveur de retrouver le contexte associé à ce client (vérifier des crédentiels, aller chercher des informations en base de données ou dans un fichier, etc.).
[^] # Re: Ma compréhension de la techno
Posté par windu.2b . Évalué à 7.
2°) les webmails font partie du quotidien de tout le monde, et sont un exemple clair et facile à comprendre, même pour un non-développeur
[^] # Re: Ma compréhension de la techno
Posté par Etienne Bagnoud (site web personnel) . Évalué à 2.
2) ... il y a déjà eu ce débat des milliers de fois (et c'est vrai qu'un logciel de mail demande de pouvoir recoder le noyau linux de tête pour être utilisé), mais le HTTP n'est pas fait pour remplacer le IMAP et il faut arrêter de tenter de remplacer tous les protocoles par HTTP !
"It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell
[^] # Re: Ma compréhension de la techno
Posté par claudex . Évalué à 5.
Google Doc, ça permet d'éviter de faire des refresh très rapide si personne n'écrit.
2) ... il y a déjà eu ce débat des milliers de fois (et c'est vrai qu'un logciel de mail demande de pouvoir recoder le noyau linux de tête pour être utilisé), mais le HTTP n'est pas fait pour remplacer le IMAP et il faut arrêter de tenter de remplacer tous les protocoles par HTTP !
Personne ne te force non plus à utiliser des applications qui nécessite websocket, si tu ne le veut pas, elles ne se chargeront pas toute seule sur ton navigateur.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: Ma compréhension de la techno
Posté par Vlobulle . Évalué à 1.
Pourquoi tu parles d'IMAP ? C'est un protocole bon pour les applications qui tournent sur ta propre machine ça. On parle d'applications qui ne sont pas (entièrement) sur ta machine là, et de protocoles pour communiquer entre toi et ces applications. Après, en interne, elles font la tambouille qu'elles veulent, IMAP inclu.
[^] # Re: Ma compréhension de la techno
Posté par niconoe . Évalué à 9.
Il faudrait aussi arrêter de dire systématiquement "je n'ai pas d'usage de la feature X, elle n'a donc pas le droit d'exister".
[^] # Re: Ma compréhension de la techno
Posté par Bruno Michel (site web personnel) . Évalué à 4.
Au hasard, recevoir les derniers messages de la tribune dans la seconde où ils sont postés.
C'est également très utile pour envoyer des notifications (penser à libnotify/growl mais sur une page web) : « Untel vous a assigné un ticket critique : "Websockets pas secures" » sur un outil de gestion de projets comme trac/redmine/retrospectiva.
Ça pourrait également servir à mettre à jour les stocks d'un produit sur un site d'ecommerce qui organiserait des ventes flash.
[^] # Re: Ma compréhension de la techno
Posté par Gniarf . Évalué à 4.
> Au hasard, recevoir les derniers messages de la tribune dans la seconde où ils sont postés.
ca va encore etre le bordel à minuit
[^] # Re: Ma compréhension de la techno
Posté par Moonz . Évalué à 5.
[^] # Re: Ma compréhension de la techno
Posté par Jean Canazzi . Évalué à 2.
Je ne voudrais pas trop m'avancer avec ma connaissance rudimentaire du HTML, mais le fait que la requête soit asynchrone ne permet-il pas justement au serveur de la compléter quand il veut ? (du genre astucieusement, quand on a reçu un nouvel email).
C'est pas le principe de base du XmlHttpRequest ?
[^] # Re: Ma compréhension de la techno
Posté par Jux (site web personnel) . Évalué à 3.
http://en.wikipedia.org/wiki/Comet_%28programming%29
C'est effectivement très utilisé pour les clients qui ne supportent pas un vrai push.
Mais c'est un gros hack. Ca fait exploser le nombre de connexions HTTP simultanés à maintenir entre les clients qui attendent et le serveur.
[^] # Re: Ma compréhension de la techno
Posté par Moonz . Évalué à 6.
Heu, WebSockets a exactement le même problème : un client WebSockets, c’est une connexion TCP à maintenir, et probablement sur le même processus que le serveur HTTP (si le handshake en WebSockets c’est du HTTP, c’est pas pour rien, mais pour pouvoir faire des serveurs HTTP+WebSockets ou ajouter WebSockets à des serveurs HTTP existants. Mon petit doigt me dit que ça doit être le cas pour GWS, mais je peux me tromper.)
[^] # Re: Ma compréhension de la techno
Posté par Marc Quinton . Évalué à 3.
[^] # Re: Ma compréhension de la techno
Posté par zebra3 . Évalué à 3.
Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur
[^] # Re: Macompréhensionde la techno
Posté par moules . Évalué à 4.
[^] # Re: Ma compréhension de la techno
Posté par claudex . Évalué à 2.
Sauf que plein de requête http, c'est plein de connexion tcp à maintenir jusqu'au timeout.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: Ma compréhension de la techno
Posté par Moonz . Évalué à 3.
[^] # Re: Ma compréhension de la techno
Posté par claudex . Évalué à 3.
Mais sans tenir compte de ça, refaire une nouvelle connexion TCP pour rien toutes les 10 secondes est plus coûteux question CPU et BP que maintenir une connexion vivante.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: Ma compréhension de la techno
Posté par windu.2b . Évalué à 2.
Mais si on fait un refresh, le navigateur ne va-t-il pas tout d'abord refermer la(les) connexion(s) ouverte(s) ? Ou (si cela est possible), en réutiliser une ?
[^] # Re: Ma compréhension de la techno
Posté par claudex . Évalué à 2.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
# plus d'infos
Posté par Paul Rouget . Évalué à 4.
WebSockets, c'est 2 choses:
* une API
* un protocole
L'API, rien de plus simple. Le protocole, c'est compliqué.
Protocol qui au début (v0.75) a été spécifié par le W3C. Là, on a trouvé une faille de sécu inhérent au protocole. La version suivant (v0.76) a fixé ça. Chrome et Safari ont shippé.
L'IETF récupère le bébé (c'est un protocole, donc bon), et était sensé avoir une nouvelle version en très peu de temps. Comme d'hab, ça n'a pas marché (toujours en court de spécification).
Découvert d'une (très sérieuse) faille de sécu dans le protocole v0.76.
Fx4 et Opera décident de pas shippé (ils ne l'avaient pas encore fait).
Chrome & Safari, on attend leur réaction.
On attend la version de l'IEFT avec impatience :)
[^] # Re: plus d'infos
Posté par claudex . Évalué à 8.
En général, j'utilise 2 chat (1 de chaque sexe) pour cette opération :)
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: plus d'infos
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
"La première sécurité est la liberté"
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.