Choisissez votre langue
Formation WebSockets pour le développement web
Plus de 2 millions d'apprenants dans le monde

Formation WebSockets pour le développement web

Allez au-delà du HTTP de base et créez les applications Web en temps réel que les utilisateurs modernes exigent. Ce cours vous mène des fondements de WebSocket jusqu'au déploiement en production, au renforcement de la sécurité et à la mise à l'échelle horizontale. Que vous ajoutiez une messagerie en direct, une édition collaborative ou des tableaux de bord en direct, vous aurez les compétences nécessaires pour livrer un produit de qualité.

Dedika pour entreprises

Ce que vous allez apprendre:

  • Implémentez un serveur WebSocket complet en Node.js qui gère des clients simultanés et diffuse des messages.

  • Configurez la terminaison TLS, les serveurs mandataires inverses et la journalisation structurée pour des déploiements de qualité production.

  • Sécurisez les points de terminaison WebSocket à l'aide de l'authentification JWT, de l'autorisation basée sur les rôles et de la limitation du débit.

  • Passez à l'échelle les services WebSocket sur plusieurs nœuds avec Redis pub/sub et des stratégies d'affinité du répartiteur de charge.

  • Appliquez les protocoles binaires, la compression permessage-deflate et la mise en commun des connexions pour réduire la latence.

  • Diagnostiquez les défaillances WebSocket réelles à l'aide des outils de développement du navigateur, des captures de paquets et de l'analyse des journaux du serveur.

Comment vous étudiez de façon pratique Formation WebSockets pour le développement web

Comment vous pratiquez Formation WebSockets pour le développement web

Pour vous, entreprise, qui souhaitez former votre équipe

Avec Dedika pour entreprises, le cours inclut des exercices et des exemples adaptés à votre propre entreprise et à ses besoins spécifiques.

Cliquez ici

Contenu du cours

8 Chapitres • 38 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

Fondements de la communication Web

  • Leçon 1 • Techniques d'interrogation et d'interrogation longue

    Montre comment les développeurs simulaient les mises à jour en temps réel avant l'existence des WebSockets. Met en évidence les coûts de latence et de surcharge que les WebSockets éliminent.

  • Leçon 2 • Cas d'utilisation en temps réel dans les applications modernes

    Examine le clavardage, les tableaux de bord en direct, l'édition collaborative et les jeux comme scénarios canoniques en temps réel. Établit la motivation pour adopter un protocole persistant et bidirectionnel.

  • Leçon 3 • Comment le Web transfère les données

    Couvre TCP/IP, la résolution DNS et le rôle des ports dans le trafic Web. Ancre toutes les comparaisons de protocoles ultérieures dans un vocabulaire réseau partagé.

  • Leçon 4 • Modèle requête-réponse HTTP

    Examine les méthodes HTTP, les en-têtes, les codes d'état et la nature sans état de HTTP. Révèle les limitations structurelles qui motivent les WebSockets.

Chapitre 2Voir les détails

Architecture du protocole WebSocket

  • Leçon 1 • Gestion du cycle de vie de la connexion

    Couvre les événements d'ouverture, de message, d'erreur et de fermeture qui définissent la durée de vie d'une connexion. Prépare les étudiants à gérer correctement chaque état dans le code de l'application.

  • Leçon 2 • Structure de trame et opcodes

    Décompose le format de trame binaire : bit FIN, bits RSV, opcode, masquage et champs de longueur de charge utile. Permet aux étudiants de lire le trafic WebSocket brut dans un analyseur de paquets.

  • Leçon 3 • La poignée de main WebSocket

    Trace la requête HTTP Upgrade, la réponse du serveur et la validation basée sur une clé qui ouvre une connexion WebSocket. Relie les connaissances HTTP du chapitre 1 au changement de protocole.

  • Leçon 4 • Sous-protocoles et extensions

    Explique comment Sec-WebSocket-Protocol négocie les sous-protocoles de la couche application et comment des extensions comme permessage-deflate ajoutent de la compression. Élargit la flexibilité du protocole.

  • Leçon 5 • Sécurité au niveau du protocole

    Aborde l'encapsulation TLS avec wss://, la validation de l'origine et le masquage comme défense contre l'empoisonnement du cache. Établit des habitudes de sécurité avant même d'écrire du code.

Chapitre 3Voir les détails

API WebSocket du navigateur

  • Leçon 1 • Gestion des événements de connexion

    Fait correspondre onopen, onmessage, onerror et onclose au cycle de vie du protocole du chapitre 2. Les étudiants écrivent des gestionnaires d'événements robustes qui consignent et réagissent à chaque état.

  • Leçon 2 • Création d'un objet WebSocket

    Montre le constructeur WebSocket, la syntaxe URL et l'argument de sous-protocole facultatif. Relie les connaissances du protocole à la syntaxe JavaScript concrète.

  • Leçon 3 • Données binaires et binaryType

    Explique la propriété binaryType et quand choisir arraybuffer par rapport à blob. Prépare les étudiants aux protocoles binaires utilisés dans les jeux et la diffusion multimédia en continu.

  • Leçon 4 • Envoi et réception de messages

    Couvre send() pour les données textuelles et binaires et le gestionnaire onmessage pour les trames entrantes. Les étudiants implémentent un client d'écho minimal à la fin de cette section.

  • Leçon 5 • Mise en mémoire tampon et contrôle de flux

    Présente bufferedAmount pour éviter le gonflement de la mémoire lors de l'envoi plus rapide que le réseau ne se vide. Enseigne un modèle de limitation du débit d'envoi pour les données à haute fréquence.

Chapitre 4Voir les détails

Construction d'un serveur WebSocket

  • Leçon 1 • Intégration avec un serveur HTTP

    Attache le serveur WebSocket à un serveur HTTP ou Express existant sur le même port. Permet de servir des ressources statiques et du trafic WebSocket à partir d'un seul processus.

  • Leçon 2 • Gestion des connexions client

    Implémente l'événement de connexion, la gestion des sockets par client et le routage des messages. Les étudiants construisent un serveur qui renvoie les messages au client d'origine.

  • Leçon 3 • Configuration de l'environnement serveur Node.js

    Configure un projet Node.js avec la bibliothèque ws, les scripts package.json et les variables d'environnement. Établit l'échafaudage du projet utilisé tout au long du chapitre.

  • Leçon 4 • Diffusion à plusieurs clients

    Maintient un registre de clients et l'itère pour envoyer des messages à tous les sockets connectés. Implémente une diffusion de type salon de clavardage comme exercice concret.

  • Leçon 5 • Arrêt gracieux et nettoyage

    Gère les signaux SIGTERM et SIGINT pour fermer proprement tous les sockets avant la sortie du processus. Évite la perte de données et les connexions pendantes dans les déploiements de production.

Chapitre 5Voir les détails

Intergiciel

  • Leçon 1 • Défis d'authentification dans les WebSockets

    Explique pourquoi l'authentification standard par cookie et en-tête se comporte différemment lors de la mise à niveau WebSocket. Motive les modèles de jeton dans l'URL et de premier message comme solutions pratiques.

  • Leçon 2 • Authentification de connexion basée sur JWT

    Valide un jeton Web JSON lors de la requête de mise à niveau HTTP avant que le socket ne soit accepté. Les étudiants écrivent un intergiciel côté serveur qui rejette les jetons invalides avec une fermeture 401.

  • Leçon 3 • Autorisation des messages basée sur les rôles

    Attache l'identité de l'utilisateur à chaque objet socket et vérifie les rôles avant de traiter les messages privilégiés. Empêche l'exécution de commandes non autorisées après l'établissement d'une connexion.

  • Leçon 4 • Gestion de session et expiration

    Suit l'expiration du jeton et force la déconnexion lorsqu'une session expire. Implémente un flux de ré-authentification basé sur des battements de cœur pour les connexions de longue durée.

Chapitre 6Voir les détails

Évolutivité et répartition de charge

  • Leçon 1 • Courtiers pub/sub pour la messagerie multi-nœuds

    Intègre un canal pub/sub Redis pour que les messages publiés sur un nœud atteignent les clients sur tous les nœuds. Les étudiants implémentent un adaptateur Redis pour la fonction de diffusion construite au chapitre 4.

  • Leçon 2 • Défis de mise à l'échelle propres aux WebSockets

    Met en contraste la mise à l'échelle HTTP sans état avec la nature avec état des connexions socket persistantes. Identifie le problème de livraison des messages entre nœuds comme le défi central.

  • Leçon 3 • Sessions persistantes et répartiteurs de charge

    Configure un répartiteur de charge pour acheminer chaque client de manière cohérente vers le même nœud serveur. Couvre les stratégies d'affinité basées sur les cookies et le hachage IP ainsi que leurs compromis.

  • Leçon 4 • Surveillance des métriques de connexion

    Instrumente le serveur pour exposer le nombre de connexions actives, le débit de messages et les taux d'erreur. Alimente un tableau de bord pour détecter rapidement les problèmes de capacité.

  • Leçon 5 • Modèles de mise à l'échelle horizontale

    Applique les concepts d'orchestration de conteneurs pour exécuter plusieurs répliques de serveur WebSocket derrière un courtier partagé. Couvre les vérifications de santé et les redémarrages progressifs.

Chapitre 7Voir les détails

Techniques d'optimisation des performances

  • Leçon 1 • Protocoles binaires plutôt que textuels

    Remplace les trames JSON textuelles par MessagePack ou Protocol Buffers pour réduire la taille de la charge utile et le temps d'analyse. Les étudiants sérialisent et désérialisent un objet de domaine dans les deux formats.

  • Leçon 2 • Stratégies de compression des messages

    Active permessage-deflate et ajuste ses paramètres pour équilibrer le coût CPU et les économies de bande passante. Évalue les charges utiles compressées et non compressées sous un trafic réaliste.

  • Leçon 3 • Profilage et identification des goulots d'étranglement

    Utilise les DevTools du navigateur et les profileurs côté serveur pour localiser les points chauds CPU et mémoire dans le code WebSocket. Guide les étudiants à travers un flux de travail d'optimisation structuré.

  • Leçon 4 • Mise en commun de connexions côté client

    Partage une seule connexion WebSocket entre plusieurs composants d'interface utilisateur pour éviter les poignées de main redondantes. Implémente un gestionnaire de connexion singleton avec un registre d'abonnements.

  • Leçon 5 • Regroupement et rebond des messages

    Agrège les mises à jour à haute fréquence en trames regroupées pour réduire la surcharge par message. Implémente une file d'attente de rebond qui se vide à un intervalle configurable.

Chapitre 8Voir les détails

Déploiement et opérations de production

  • Leçon 1 • Battements de cœur et trames Ping/Pong

    Utilise les trames ping/pong au niveau du protocole et les battements de cœur au niveau de l'application pour détecter les connexions obsolètes. Configure des minuteries côté serveur pour fermer automatiquement les sockets qui ne répondent pas.

  • Leçon 2 • Journalisation structurée et traçage

    Émet des journaux JSON structurés pour les événements de connexion, les nombres de messages et les erreurs avec un ID de corrélation. Permet le traçage distribué à travers les étendues WebSocket et HTTP.

  • Leçon 3 • Modèles de reconnexion et de résilience

    Implémente une reconnexion avec backoff exponentiel côté client pour survivre aux redémarrages du serveur et aux pertes de réseau. Ajoute une composante de gigue pour éviter les tempêtes de reconnexion en troupeau.

  • Leçon 4 • Alertes et réponse aux incidents

    Définit les seuils d'alerte pour le taux de chute de connexion, les pics d'erreur et les percentiles de latence. Parcourt un manuel d'intervention pour diagnostiquer et récupérer d'une panne WebSocket.

  • Leçon 5 • Terminaison TLS et serveurs mandataires inverses

    Configure un serveur mandataire inverse pour terminer TLS et transférer le trafic WebSocket vers le serveur d'application. Couvre les en-têtes proxy requis et les paramètres de délai d'attente pour les connexions de longue durée.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

  • Développeur Web débutant : prêt à dépasser les modèles requête-réponse statiques.

  • Développeur pigiste : les clients demandent des fonctions en direct comme le clavardage ou les notifications.

  • Ingénieur back-end : souhaite maîtriser l'ensemble de la pile d'un service en temps réel.

  • Étudiant en informatique : fait le pont entre la théorie des réseaux académiques et la mise en œuvre pratique.

  • Développeur front-end : fatigué de bricoler des solutions de scrutation pour chaque fonction interactive.

  • Personne en réorientation de carrière : possède les bases de JavaScript et souhaite une spécialisation qui se démarque.

Ce que nos apprenants disent

Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir à changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Numérique
J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
J'aime le contenu et la façon dont il est présenté ainsi que la transcription des vidéos, ce qui accélère le processus !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

Formations principales

FAQ

Qui est Dedika?

Le certificat est-il valable au Canada ?

Les cours sont-ils gratuits?

Quelle est la charge de travail des cours?

Comment sont les cours?

Comment fonctionnent les cours?

Quelle est la durée des cours?

Quel est le coût ou le prix des cours?

Qu’est-ce qu’un cours EAD ou en ligne et comment ça fonctionne?

Cours PDF