Skip navigation

Vous souhaitez partager instantanément des informations entre plusieurs utilisateurs de votre site Web ? C’est aujourd’hui assez simple avec le protocole WebSocket. Une WebSocket offre un canal de connexion bidirectionnel entre un client et un serveur, ce qui autorise ce dernier à notifier immédiatement un client d’un changement d’état (appelé push) sans que le client ait à effectuer des requêtes à intervalles réguliers pour obtenir les changements d’état du serveur (appelé pull). Vous pensez que ce type de technologie est compliqué à mettre en place ? Et bien non ! De nombreux frameworks existent et permettent une mise en place simple du protocole. Regardons un exemple avec le framework Atmosphere, très largement utilisé et reconnu dans la communauté opensource.

Coté Serveur

 

  • Envoyer un message dans Atmosphere (lignes 24 à 26) :
  • Créer une url sur laquelle le navigateur pourra écouter les notifications du serveur (ligne 18) :
  • Un peu de configuration dans le web.xml :

Coté client

 

  • Créer la connexion Websocket avec serveur (lignes 1 à 10) et lire les messages (lignes 19 à 23) :

Et le tour est joué ! Nous avons une application fonctionnelle de quelques lignes de code, qui permet d’envoyer un tweet au serveur qui le renverra à tous les clients connectés ! Vous voulez essayer la démo ? Rien de plus simple il suffit de récupérer l’exemple que j’ai mis sur mon github. N’hésitez pas à le forker pour le modifier à votre guise ! J’espère que cet article vous aura donné envie de jouer avec cette technologie qui offre des nouvelles perspectives pour les futurs applications !