WebSocket, le Web connecté

Magazine
Marque
GNU/Linux Magazine
Numéro
172
Mois de parution
juin 2014
Spécialité(s)


Résumé
Le protocole WebSocket vise à permettre d'établir un canal de communication bidirectionnel entre le client (navigateur) et le serveur et de la maintenir. Il est en cours de standardisation par le W3C, mais est déjà utilisable. Cet article présente un exemple d'implémentation utilisant le tout nouveau module asyncio de Python 3.4 et en créant un petit client JavaScript pur, dont l'objectif est de transmettre une quantité importante de données. En procédant ainsi, la page s'affiche rapidement et l'utilisateur ne se retrouve pas devant une page figée, mais devant une page déjà bien structurée qui se remplit au fur et à mesure.

Dans le monde du Web, la performance est un aspect extrêmement important. Les intégrateurs de site de e-commerce savent bien qu'une page doit arriver en 0,4 seconde au maximum et qu'au-delà, cela coûte 10 % d'audience par dixième de seconde supplémentaire.

Usuellement, lorsque le client demande une page, elle est construire par le serveur et envoyée ensuite au client qui n'a plus qu'à la lire, la déchiffrer et l'afficher. Or, dans le cas d'une page contenant beaucoup de données, la page prend du temps pour être créée côté serveur, prend du temps à être transférée et du temps à être affichée. Pendant tout ce temps, le navigateur donne l'impression d'être figé, alors qu'il est soit en attente, soit en train de travailler.

Toujours est-il que pour l'utilisateur, cette situation n'est pas idéale. Dans le cas d'un tableau de données, la solution classique consiste à utiliser la pagination et à faire des requêtes Ajax pour aller chercher les données d'une page...

Cet article est réservé aux abonnés. Il vous reste 93% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous