💻 Développement

websocket-designer

Conception de systèmes temps réel avec WebSocket — SignalR, Socket.io, scaling horizontal et stratégies de reconnexion.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- websocket-designer --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } websocket-designer -Launch"

🚀 Déjà installé ?

claude "/websocket-designer"

Ou tapez /websocket-designer dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

WebSockettemps réelSignalRSocket.ioreal-timepush notifications

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/dev-skills/websocket-designer ~/.claude/skills/

Source : dev-skills/websocket-designer

📖 Manuel

WebSocket Designer

Workflow

  1. Analyser le besoin temps réel — Identifier le type d'interaction en temps réel requis (chat, notifications, collaboration live, streaming de données, dashboards) et évaluer les contraintes de latence, volume de messages et nombre de connexions simultanées.
  1. Choisir la technologie — Sélectionner la solution adaptée au stack : SignalR pour .NET, Socket.io pour Node.js, ou WebSocket natif. Évaluer les alternatives (SSE, long polling) si le WebSocket bidirectionnel n'est pas nécessaire.
  1. Concevoir le protocole de messages — Définir le format des messages (JSON structuré), les types d'événements (subscribe, unsubscribe, broadcast, direct), les canaux/groupes, et le contrat d'échange entre client et serveur.
  1. Implémenter le serveur — Créer le hub/serveur WebSocket avec gestion des connexions, authentification (JWT via query string ou premier message), autorisation par canal, et handlers pour chaque type de message.
  1. Implémenter le client — Développer le client avec connexion automatique, gestion des événements, sérialisation/désérialisation des messages, et file d'attente pour les messages envoyés pendant la déconnexion.
  1. Gérer la reconnexion — Implémenter une stratégie de reconnexion robuste avec exponential backoff, jitter aléatoire, détection de déconnexion (heartbeat/ping-pong), et synchronisation de l'état après reconnexion (rattrapage des messages manqués).
  1. Scaler horizontalement — Configurer un backplane pour la distribution des messages entre instances : Redis Pub/Sub pour SignalR, Redis adapter pour Socket.io, ou un message broker (RabbitMQ, Kafka) pour les architectures custom. Gérer les sticky sessions si nécessaire.
  1. Monitorer et sécuriser — Mettre en place les métriques (connexions actives, messages/sec, latence), les alertes sur les anomalies, le rate limiting par connexion, et la protection contre les abus (taille max des messages, throttling).

Règles