Technologie qui semble séduire de plus en plus les entreprises, le WebRTC voit son avenir rayonné. De nombreuses applications basées sur cette technologie sont déjà commercialisées et touchent nombre de domaines comme la visioconférence, la téléphonie ou encore les jeux vidéos. Le grand avantage du webRTC est de permettre à deux utilisateurs de se communiquer directement sur la toile sans passer par le téléchargement d’un logiciel qui encombre l’ordinateur. Voyons les étapes d’une connexion WebRTC peer-to-peer.

La signalisation

Avant de commencer, il faut savoir que le WebRTC utilise des APIs pour pouvoir récupérer et communiquer les flux. On a alors l’API MediaStream qui gère la synchronisation des flux de données vidéo et audio (ceux venant du micro et de la caméra) ; l’API RTCPeer Connection qui assure l’efficacité et la stabilité des échanges de flux entre les utilisateurs et l’API RTCDataChannel qui permet de faire des échanges peer-to-peer avec d’autres types de données.

La signalisation est le processus qui désigne l’échange de 3 types d’informations que sont les messages de contrôle de session (ouvrir ou fermer un lien de communication), la configuration réseau et la compatibilité des médias.

Mais pour que le processus aboutisse, le WebRTC requiert un serveur dont le rôle principal est de relayer les requêtes des pairs.

La découverte

Comme l’univers du web est jonché d’obstacles, le serveur doit être en mesure de découvrir les coordonnées des utilisateurs (adresses IP, noms…) en vue de l’établissement de la communication, d’outrepasser les firewall et les barrières NAT, mais aussi de proposer une solution de secours en cas d’échec de la communication.

À l’aide des serveurs STUN/TURN utilisés dans le Framework ICE, les utilisateurs prennent connaissance des adresses IP de leurs périphériques connectés au réseau. En effet, ICE a pour objectif de connecter les pairs directement. Pour arriver à cette fin, il utilise du serveur STUN à travers le protocole UDP (User Datagram Protocol). Si cela échoue, il va essayer TCP (Transmission Control Protocol). Si les firewalls sont résistants, il devra donc faire appel à TURN, le serveur relais.

La connexion Peer-to-Peer

Une fois que la recherche des « candidats » (ceci fait référence au procédé de découverte des ports et des interfaces réseaux) est faite, les pairs peuvent commencer à passer leurs appels ou à échanger leurs données en temps réel.