Qu'est-ce que WebRTC ? Un guide complet pour les développeurs en 2026
Si vous avez déjà participé à un appel vidéo dans votre navigateur sans rien installer, vous avez utilisé WebRTC. Si vous vous êtes déjà demandé comment cela fonctionne réellement -- comment deux navigateurs aux antipodes de la planète peuvent diffuser de la vidéo l'un à l'autre avec une latence inférieure à une seconde, sans plugins, sans Flash, sans applets Java -- ce guide est pour vous.
WebRTC (Web Real-Time Communication) est un framework open-source qui permet aux navigateurs et aux applications mobiles d'échanger de l'audio, de la vidéo et des données arbitraires en temps réel, peer-to-peer. Google a publié le code initial en 2011, le W3C l'a standardisé en 2021, et en 2026, il sous-tend tout, de la conférence de style Zoom aux agents vocaux IA aux plates-formes de télémédecine. Le marché mondial de WebRTC devrait atteindre 10,89 milliards de dollars cette année, avec un TCAC d'environ 37% jusqu'en 2034.
J'ai intégré des fonctionnalités basées sur WebRTC dans plusieurs applications en production au fil des ans, et je peux vous le dire : le protocole est élégant, les API sont étonnamment accessibles, mais les cas limites vous humilieront. Approfondissons tout cela.
Table des matières
- Ce que WebRTC est réellement
- Comment WebRTC fonctionne en coulisse
- Les trois API principales
- La signalisation : la partie que WebRTC ne gère pas
- Traversée NAT : STUN, TURN et ICE
- Sécurité dans WebRTC
- Cas d'usage de WebRTC en 2026
- Quoi de neuf en 2026
- WebRTC vs alternatives
- Construire avec WebRTC : bibliothèques et plates-formes
- Pièges courants et leçons apprises
- FAQ

Ce que WebRTC est réellement
Au cœur, WebRTC est un ensemble d'API JavaScript et de protocoles réseau sous-jacents qui permettent à deux points de terminaison -- généralement des navigateurs -- d'établir une connexion directe et d'échanger des médias ou des données. Aucun serveur ne se trouve au milieu du chemin des médias (dans le cas idéal). Aucun plugin. Aucun téléchargement.
La partie « temps réel » compte. Nous parlons d'une latence mesurée en millisecondes, pas en secondes. La diffusion traditionnelle basée sur HTTP (HLS, DASH) introduit généralement un délai de 3 à 30 secondes. WebRTC réduit cela à moins de 500 ms, souvent moins de 200 ms. C'est la différence entre une conversation et parler dans un talkie-walkie.
WebRTC est supporté par tous les navigateurs majeurs en 2026 :
| Navigateur | Support WebRTC | Notes |
|---|---|---|
| Chrome | Complet | Implémentation de référence |
| Firefox | Complet | Support fort de DataChannel |
| Safari | Complet | Rattrapé considérablement depuis 2020 |
| Edge | Complet | Basé sur Chromium, reflète Chrome |
| Brave | Complet | Basé sur Chromium |
| Chrome Mobile/Safari | Complet | iOS avait des défauts historiquement, principalement résolus |
Il est également disponible en dehors du navigateur. Des bibliothèques natives existent pour iOS, Android, C++, Rust et Python. Si vous construisez une application VoIP, un système de contrôle de drone ou un pipeline de données IoT, WebRTC fonctionne aussi là.
Comment WebRTC fonctionne en coulisse
Voici le modèle mental qui m'a vraiment aidé à comprendre WebRTC quand j'ai d'abord rencontré.
Imaginez deux personnes essayant d'avoir un appel téléphonique, mais ni l'une ni l'autre ne connaît le numéro de téléphone de l'autre, et tous deux sont derrière des portes fermées (NATs et pare-feu). Ils ont besoin d'un ami mutuel (le serveur de signalisation) pour échanger des numéros. Une fois qu'ils ont les informations l'un de l'autre, ils parlent directement -- l'ami mutuel n'est plus impliqué.
Le flux technique ressemble à ceci :
1. Capture des médias
Le navigateur demande la permission d'accéder à la caméra et au microphone de l'utilisateur via getUserMedia(). Cela retourne un objet MediaStream.
2. Signalisation (hors bande)
Avant que deux pairs puissent se connecter, ils doivent échanger les métadonnées de connexion : quels codecs ils supportent, leurs adresses réseau, les empreintes de sécurité. Cet échange s'appelle la signalisation, et WebRTC ne spécifie délibérément pas comment cela se produit. Vous pouvez utiliser WebSockets, l'interrogation HTTP, les pigeons voyageurs -- tout ce qui fonctionne.
L'échange de signalisation implique deux types de messages :
- SDP (Session Description Protocol) : Décrit quels médias le pair veut envoyer/recevoir et comment
- Candidats ICE : Adresses réseau où le pair peut être atteint
3. Établissement de la connexion (ICE)
Le framework ICE (Interactive Connectivity Establishment) essaie plusieurs chemins pour connecter les pairs. Il essaie d'abord les connexions directes, puis utilise les serveurs STUN pour découvrir les adresses IP publiques, et revient aux serveurs de relais TURN si le peer-to-peer échoue.
4. Flux de médias sécurisé
Une fois connectés, les médias circulent directement entre les pairs, chiffrés avec DTLS et SRTP. Aucune connexion WebRTC non chiffrée n'est autorisée -- ceci est obligatoire par spécification.
Les trois API principales
WebRTC expose trois API principales à JavaScript. Comprendre ces trois constitue 80% de la bataille.
getUserMedia()
Capture l'audio et la vidéo du appareil de l'utilisateur.
// Accès de base à la caméra + microphone
const stream = await navigator.mediaDevices.getUserMedia({
video: {
width: { ideal: 1280 },
height: { ideal: 720 },
frameRate: { ideal: 30 }
},
audio: {
echoCancellation: true,
noiseSuppression: true
}
});
// Attacher à un élément vidéo
document.getElementById('localVideo').srcObject = stream;
Vous pouvez aussi obtenir des partages d'écran, en utilisant getDisplayMedia() :
const screenStream = await navigator.mediaDevices.getDisplayMedia({
video: { cursor: 'always' },
audio: true // audio système, le support du navigateur varie
});
RTCPeerConnection
C'est le cheval de trait. Il gère le cycle de vie complet d'une connexion pair : négociation des codecs, collecte des candidats ICE, poignée de main DTLS, estimation de la bande passante, récupération des pertes de paquets.
const config = {
iceServers: [
{ urls: 'stun:stun.l.google.com:19302' },
{
urls: 'turn:turn.yourserver.com:3478',
username: 'user',
credential: 'pass'
}
]
};
const pc = new RTCPeerConnection(config);
// Ajouter des pistes locales
stream.getTracks().forEach(track => pc.addTrack(track, stream));
// Gérer les pistes entrantes du pair distant
pc.ontrack = (event) => {
document.getElementById('remoteVideo').srcObject = event.streams[0];
};
// Créer une offre (côté appelant)
const offer = await pc.createOffer();
await pc.setLocalDescription(offer);
// Envoyer l'offre au pair distant via votre serveur de signalisation
// De l'autre côté, recevoir l'offre et créer une réponse
await pc.setRemoteDescription(receivedOffer);
const answer = await pc.createAnswer();
await pc.setLocalDescription(answer);
// Envoyer la réponse via la signalisation
RTCDataChannel
Celui-ci ne reçoit pas assez d'attention. DataChannel vous permet d'envoyer des données arbitraires entre les pairs -- texte, binaire, fichiers, état du jeu, peu importe. Il est construit sur SCTP, donc vous avez des options pour une livraison ordonnée/non ordonnée et un transport fiable/non fiable.
const dataChannel = pc.createDataChannel('chat', {
ordered: true // garantir l'ordre des messages
});
dataChannel.onopen = () => {
dataChannel.send('Hello from peer A!');
};
dataChannel.onmessage = (event) => {
console.log('Received:', event.data);
};
// Sur le pair distant
pc.ondatachannel = (event) => {
const channel = event.channel;
channel.onmessage = (e) => console.log('Got:', e.data);
};
J'ai utilisé les DataChannels pour l'édition collaborative en temps réel, la synchronisation d'état de jeu multijoueur, et même les transferts de fichiers volumineux. La latence est dramatiquement inférieure à WebSocket car les données ne passent pas par un serveur.

La signalisation : la partie que WebRTC ne gère pas
Cela trompe chaque développeur la première fois. WebRTC est un protocole pour le transport de médias, pas pour la découverte. Deux pairs ne peuvent pas se trouver l'un l'autre sans aide.
Vous devez construire (ou utiliser) un serveur de signalisation qui :
- Permet aux pairs de s'enregistrer
- Transmet les offres et réponses SDP entre les pairs
- Relaye les candidats ICE
La plupart des équipes utilisent WebSockets pour la signalisation. Voici un exemple minimal en Node.js :
// Serveur (utilisant la bibliothèque ws)
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
const rooms = new Map();
wss.on('connection', (ws) => {
ws.on('message', (data) => {
const msg = JSON.parse(data);
if (msg.type === 'join') {
rooms.set(msg.roomId, [...(rooms.get(msg.roomId) || []), ws]);
}
if (['offer', 'answer', 'ice-candidate'].includes(msg.type)) {
// Transmettre aux autres pairs dans la salle
const peers = rooms.get(msg.roomId) || [];
peers.forEach(peer => {
if (peer !== ws && peer.readyState === WebSocket.OPEN) {
peer.send(JSON.stringify(msg));
}
});
}
});
});
Le serveur de signalisation est le seul serveur que vous devez exécuter. Une fois que la connexion est établie, il peut s'en aller (bien que vous la vouliez autour pour les scénarios de reconnexion).
Traversée NAT : STUN, TURN et ICE
C'est là que WebRTC devient difficile. La plupart des appareils sont derrière des NATs (Network Address Translation), ce qui signifie que leur adresse IP locale n'est pas accessible depuis Internet. WebRTC utilise une approche à trois niveaux pour résoudre cela :
STUN (Session Traversal Utilities for NAT) : Un serveur léger qui dit à votre navigateur « voici votre adresse IP publique et votre port ». Google exécute des serveurs STUN gratuits (stun:stun.l.google.com:19302). STUN est rapide, peu coûteux et fonctionne environ 80-85% du temps.
TURN (Traversal Using Relays around NAT) : Quand le peer-to-peer direct échoue (NATs symétriques, pare-feu stricts), TURN agit comme un relais multimédia. Tout le trafic circule par le serveur TURN. Cela fonctionne 100% du temps mais consomme la bande passante et ajoute de la latence. L'exécution de votre propre serveur TURN est obligatoire pour les applications en production. Coturn est l'option standard open-source.
ICE (Interactive Connectivity Establishment) : Le framework qui orchestre STUN et TURN. ICE rassemble les adresses candidates (locale, serveur-réflexive via STUN, relais via TURN) et les teste systématiquement pour trouver le meilleur chemin fonctionnant.
D'après mon expérience, environ 15-20% des connexions en production finissent par passer par TURN. Les pare-feu d'entreprise sont le plus grand coupable. Budgétez les coûts du serveur TURN -- ils ne sont pas facultatifs.
Sécurité dans WebRTC
WebRTC est sécurisé par défaut, ce qui est rafraîchissant. Voici ce qui est intégré :
- DTLS (Datagram Transport Layer Security) : Chiffre tous les canaux de données. Pensez TLS mais pour l'UDP.
- SRTP (Secure Real-time Transport Protocol) : Chiffre tous les flux de médias.
- Chiffrement obligatoire : Vous ne pouvez littéralement pas établir une connexion WebRTC non chiffrée. La spécification l'interdit.
- Invites de permission : Les navigateurs exigent le consentement explicite de l'utilisateur avant d'accéder aux caméras ou aux microphones.
- Isolement de l'origine : Les pages Web ne peuvent accéder aux API WebRTC que depuis des origines sécurisées (HTTPS).
Il n'y a pas de drapeau « désactiver le chiffrement ». Aucun recours non sécurisé. C'était un choix de conception délibéré, et c'est un bon.
Cela dit, votre serveur de signalisation est une vulnérabilité potentielle. Si quelqu'un compromet la signalisation, il pourrait rediriger les connexions vers un pair malveillant. Utilisez des connexions WebSocket authentifiées et validez tout côté serveur.
Cas d'usage de WebRTC en 2026
Le cas d'usage évident est l'appel vidéo, mais WebRTC s'est propagé bien au-delà de cela.
Conférence vidéo
Zoom, Google Meet, Microsoft Teams et des dizaines de joueurs plus petits utilisent tous WebRTC (ou une version modifiée de ses protocoles sous-jacents). Pour les appels multipartites, la plupart des plates-formes utilisent une architecture SFU (Selective Forwarding Unit) plutôt que du peer-to-peer pur -- plus sur cela ci-dessous.
Agents vocaux IA
C'est le cas d'usage qui connaît la croissance la plus rapide en 2026. Des entreprises comme Vapi, Retell et Bland.ai utilisent WebRTC pour transporter l'audio entre les utilisateurs et les modèles IA en temps réel. La latence inférieure à 200 ms est critique -- tout délai supplémentaire rend la conversation peu naturelle.
Télésanté
Les visites chez le médecin à distance ont explosé pendant le COVID et ne sont jamais reparties. WebRTC offre une vidéo chiffrée compatible HIPAA sans installation de logiciel requise.
Shopping en direct et diffusion
Diffusion à ultra-faible latence pour le commerce en direct. Le spectateur voit la démonstration du produit en temps réel et peut interagir instantanément. Les protocoles de diffusion traditionnels ajoutent trop de délai.
Support client
Partage d'écran et chat vidéo intégrés directement dans les widgets de support. Le client ne télécharge rien. L'agent voit le problème en temps réel.
IoT et drones
Les DataChannels sont excellents pour envoyer des commandes de contrôle et recevoir la télémétrie des appareils périphériques. La traversée NAT intégrée à WebRTC résout une tonne de maux de tête que les développeurs IoT devraient autrement gérer manuellement.
Quoi de neuf en 2026
WebRTC ne reste pas immobile. Quelques développements importants façonnent la façon dont nous l'utilisons maintenant.
L'intégration IA est partout
Transcription en temps réel, traduction en direct, suppression du bruit de fond alimentée par les modèles ML, analyse des sentiments lors des appels -- tout cela dépend du transport à faible latence de WebRTC. La convergence de l'infrastructure WebRTC avec les grands modèles de langage est probablement la plus grande tendance dans les communications en temps réel cette année.
WebTransport et WebCodecs
WebTransport (construit sur HTTP/3 et QUIC) offre une couche de transport alternative pour certains scénarios de diffusion. Il ne remplace pas WebRTC -- il ne gère pas le peer-to-peer ou la traversée NAT -- mais c'est un complément solide pour la diffusion serveur-client où vous voulez plus de contrôle sur l'encodage.
WebCodecs donne aux développeurs un accès direct aux encodeurs et décodeurs vidéo matériels, contournant le pipeline multimédia du navigateur. Combiné avec l'API Insertable Streams de WebRTC, cela permet un traitement vidéo personnalisé (chiffrement de bout en bout, filtres AR) avec bien meilleures performances.
Scalable Video Coding (SVC)
Le support SVC s'est considérablement amélioré. Les encodeurs comme VP9 SVC et AV1 SVC permettent à un seul flux encodé de servir plusieurs niveaux de qualité, ce qui est énorme pour les architectures basées sur SFU. Au lieu d'encoder trois flux de qualité distincts (simulcast), vous encodez une seule fois et le SFU supprime les couches en fonction de la bande passante de chaque récepteur.
WHIP et WHEP
WebRTC-HTTP Ingestion Protocol (WHIP) et WebRTC-HTTP Egress Protocol (WHEP) standardisent comment WebRTC se connecte aux serveurs de médias. Avant ces protocoles, chaque serveur de médias avait sa propre signalisation propriétaire. WHIP/WHEP apportent la santé à l'écosystème.
WebRTC vs alternatives
Où WebRTC s'inscrit-il par rapport à d'autres technologies de communication en temps réel ?
| Technologie | Latence | Direction | Traversée NAT | Support navigateur | Meilleur pour |
|---|---|---|---|---|---|
| WebRTC | < 500ms | P2P ou via SFU | Intégré (ICE) | Tous les navigateurs majeurs | Appels vidéo, interaction en temps réel |
| HLS | 3-30s | Serveur → Client | N/A | Universel | VOD, diffusion en direct à large audience |
| DASH | 3-30s | Serveur → Client | N/A | La plupart des navigateurs | VOD avec débit adaptatif |
| WebSocket | ~50ms (données uniquement) | Client ↔ Serveur | Non | Tous les navigateurs majeurs | Chat, notifications, données en temps réel |
| WebTransport | ~50ms | Client ↔ Serveur | Non | Chrome, Firefox, Edge | Diffusion serveur à faible latence |
| RTMP | 1-5s | Client → Serveur | Non | Nécessite un lecteur | Ingestion vers les plates-formes de diffusion |
| SRT | 0.5-2s | Point à point | Limité | Nécessite une application | Contribution de diffusion |
La distinction clé : WebRTC est la seule option native du navigateur qui fait du peer-to-peer avec la traversée NAT intégrée et le chiffrement obligatoire. Si vous avez besoin d'une communication bidirectionnelle en temps réel dans le navigateur, c'est toujours la réponse.
Construire avec WebRTC : bibliothèques et plates-formes
Vous pouvez construire tout à partir de zéro en utilisant les API brutes du navigateur. Je l'ai fait. Je ne le recommande pas pour la production sauf si vous avez une expertise approfondie et une raison spécifique.
Voici les outils qui comptent en 2026 :
Serveurs de médias (SFUs)
- LiveKit : Open-source, construit en Go, excellente expérience développeur. Ma recommandation actuelle pour la plupart des projets. Supporte l'architecture SFU, simulcast, les canaux de données et a des SDK pour chaque plate-forme majeure.
- Janus : Serveur de médias C mature. Très flexible mais de niveau inférieur. Vous écrirez plus de code.
- mediasoup : SFU basé sur Node.js. Bon si votre équipe vit dans l'écosystème JavaScript.
- Pion : Implémentation WebRTC en Go. Pas un serveur de médias complet, mais incroyablement utile pour construire une infrastructure WebRTC personnalisée.
Plates-formes CPaaS
- Twilio : Le poids lourd de 800 livres. API étendues, bonne documentation, tarification premium.
- Agora : Fort en Asie-Pacifique, bonne qualité SDK.
- Daily.co : Convivial pour les développeurs, API propres, tarification raisonnable.
- Vonage (anciennement Tokbox) : Solide, existe depuis longtemps.
Quand construire vs acheter
Si vous construisez un produit où la vidéo est une fonctionnalité (comme ajouter un chat vidéo à un tableau de bord de support), utilisez un CPaaS ou LiveKit. Si la vidéo est le produit, vous aurez probablement besoin de plus de contrôle et devriez envisager d'exécuter votre propre infrastructure SFU.
Pour les applications web construites avec des frameworks comme Next.js ou Astro, l'intégration de WebRTC via une bibliothèque comme le SDK React de LiveKit est simple. Nous avons intégré des fonctionnalités vidéo en temps réel dans des sites pilotés par CMS headless -- l'architecture découplée en fait un peu plus facile puisque votre framework front-end gère l'interface utilisateur tandis que WebRTC gère le transport multimédia indépendamment.
Pièges courants et leçons apprises
Après avoir construit plusieurs applications WebRTC, voici ce que j'aurais aimé que quelqu'un m'ait dit plus tôt :
Déployez toujours des serveurs TURN. J'ai vu des développeurs sauter TURN parce que « cela fonctionne bien en test ». Cela fonctionne bien parce que vos appareils de test sont sur le même réseau. En production, 15-20% des utilisateurs seront derrière des NATs restrictifs ou des pare-feu. Sans TURN, ces utilisateurs ne peuvent simplement pas se connecter.
Gérez les déconnexions gracieusement. Les conditions réseau changent constamment. Votre application doit détecter les chutes de connexion, tenter une reconnexion et informer l'utilisateur -- tout sans perdre l'état de l'application. L'événement iceconnectionstatechange est votre ami.
L'estimation de la bande passante est difficile. WebRTC a une estimation de bande passante intégrée, mais ce n'est pas magique. Sur les réseaux congestionnés, la qualité vidéo se dégradera. Utilisez getStats() pour surveiller la qualité de la connexion et adaptez votre interface utilisateur en conséquence -- peut-être montrez un indicateur « mauvaise connexion » ou passez à l'audio uniquement.
Safari a des particularités. C'est devenu beaucoup mieux, mais Safari gère toujours certains cas limites différemment. Testez sur des appareils iOS réels tôt et souvent. Le comportement du simulcast, en particulier, peut vous surprendre.
La mise à l'échelle au-delà du peer-to-peer nécessite un SFU. Un appel 1-à-1 est un P2P simple. Un appel à 4 personnes utilisant mesh (tout le monde se connecte à tout le monde) signifie que chaque participant maintient 3 connexions, encodant et mettant en ligne 3 flux vidéo. Ça n'évolue pas. Pour tout ce qui dépasse 3 participants, utilisez un SFU où chaque participant envoie un seul flux au serveur, et le serveur le transmet à tout le monde.
Si vous construisez une application en temps réel et avez besoin d'aide pour architecturer la couche WebRTC aux côtés de votre configuration de CMS headless, contactez-nous -- nous l'avons fait assez de fois pour savoir où se trouvent les pièges.
FAQ
Que signifie WebRTC ?
WebRTC signifie Web Real-Time Communication. C'est un projet open-source et une norme W3C qui fournit aux navigateurs et aux applications mobiles des capacités de communication audio, vidéo et de données en temps réel via des API JavaScript simples.
L'utilisation de WebRTC est-elle gratuite ?
Les API et protocoles WebRTC sont complètement gratuits et open-source. Cependant, la construction d'une application en production implique des coûts pour les serveurs de signalisation, les serveurs de relais TURN (qui consomment de la bande passante) et potentiellement les serveurs de médias (SFUs) pour les appels multipartites. Les serveurs STUN sont généralement gratuits -- Google en fournit des publics.
WebRTC fonctionne-t-il sans serveur ?
Pas entièrement. Bien que les médias circulent peer-to-peer (pas de serveur dans le chemin des médias), vous avez toujours besoin d'un serveur de signalisation pour aider les pairs à se découvrir et à échanger les informations de connexion. Vous aurez également besoin de serveurs STUN/TURN pour la traversée NAT. Le point clé est que le serveur ne voit ni ne traite les données multimédia.
En quoi WebRTC est-il différent de WebSockets ?
WebSockets fournissent une connexion bidirectionnelle persistante entre un client et un serveur -- idéal pour le chat, les notifications et les données en temps réel. WebRTC fournit des connexions peer-to-peer entre les clients, optimisées pour les médias (audio/vidéo). WebRTC utilise l'UDP pour une latence plus faible, tandis que WebSockets utilisent TCP. En pratique, de nombreuses applications utilisent WebSockets pour la signalisation et WebRTC pour le transport multimédia.
WebRTC peut-il être utilisé pour la diffusion en direct vers des milliers de spectateurs ?
Le WebRTC peer-to-peer pur ne peut pas évoluer vers des milliers de spectateurs. Cependant, combiné avec un SFU ou un serveur de médias, WebRTC peut gérer les diffusions à grande échelle. Les plates-formes utilisent des architectures où le diffuseur envoie un seul flux à un serveur, qui le distribue ensuite à des milliers de spectateurs via WebRTC. Pour les audiences supérieures à 10 000, une approche basée sur CDN avec HLS/DASH est généralement plus rentable.
WebRTC est-il sécurisé ? Les appels peuvent-ils être interceptés ?
WebRTC est sécurisé par conception. Tous les médias et données sont chiffrés à l'aide de DTLS et SRTP -- le chiffrement est obligatoire et ne peut pas être désactivé. Le chiffrement se produit en bout en bout dans les scénarios peer-to-peer. Lors de l'utilisation d'un SFU, le serveur déchiffre et rechiffre les médias, vous faites donc confiance à l'opérateur du serveur. Pour un vrai chiffrement de bout en bout via un SFU, regardez les Insertable Streams (également appelé « E2EE » dans WebRTC).
Quelle est la différence entre les serveurs STUN et TURN ?
Les serveurs STUN sont légers -- ils indiquent simplement à votre navigateur son adresse IP publique et son port, ce qui aide à établir des connexions peer-to-peer directes. Les serveurs TURN sont plus lourds -- ils agissent comme des relais, transférant tout le trafic multimédia quand les connexions directes échouent. STUN est peu coûteux (presque gratuit), TURN est cher (vous payez pour la bande passante). Environ 80-85% des connexions réussissent avec STUN seul ; TURN gère le reste.
WebTransport remplacera-t-il WebRTC ?
Non. WebTransport et WebRTC résolvant des problèmes différents. WebTransport (construit sur HTTP/3 et QUIC) est idéal pour la communication client-serveur avec une faible latence, mais il ne fait pas de connexions peer-to-peer ou de traversée NAT. WebRTC reste la seule solution native du navigateur pour la communication multimédia peer-to-peer directe. Ce sont des technologies complémentaires, et en 2026, de nombreuses applications utilisent les deux.