URL: https://linuxfr.org/users/yazgoo/journaux/experimentations-webrtc-chat-et-planning-poker-sans-serveur Title: Expérimentations WebRTC : Chat et Planning Poker sans serveur Authors: yazgoo Date: 2025年07月04日T13:42:49+02:00 License: CC By-SA Tags: javascript, web, p2p et webrtc Score: 20 Cher journal, Ces dernières semaines, j'ai voulu explorer comment créer des applications collaboratives uniquement côté web, sans backend. J'ai découvert [PeerJS](https://peerjs.com/), une bibliothèque qui simplifie la création d'applications peer-to-peer en JavaScript. Elle s'appuie sur un broker public pour gérer les connexions — c’est la seule partie non côté client. Ça m’a permis de créer deux applications simplistes : 1. [Un chat basique](https://yazgoo.github.io/peerjs-experiments/chat.html) 2. [Une application de planning poker](https://yazgoo.github.io/peerjs-experiments/planning-poker.html) (cf. [Planning Poker](https://fr.wikipedia.org/wiki/Planning_poker)) Le code est disponible sur [GitHub (yazgoo/peerjs-experiments)](https://github.com/yazgoo/peerjs-experiments). Côté fonctionnement, lorsqu’un utilisateur principal ouvre la page, une URL à partager est générée. Les autres clients s’y connectent, et le client principal relaie tous les messages. ``` [ client secondaire 1 ] --- hello --> [ client principal ] | | (client 1, "hello") | | (client 1, "hello") | | V V [ client secondaire 2 ] [ client secondaire 3 ] ``` J’ai factorisé la logique commune des deux apps dans une [petite bibliothèque](https://github.com/yazgoo/peerjs-experiments/blob/main/room.js), que je compte réutiliser dans d’autres projets. L'application est tolérante à la perte du client principal : un autre client peut automatiquement prendre le relais. Une capture d’écran de l’application de planning poker : ![Planning Poker Screenshot](https://github.com/yazgoo/peerjs-experiments/raw/main/planning-poker-screenshot.png)

AltStyle によって変換されたページ (->オリジナル) /