Nous nous retrouvons pour la suite de notre exploration de WebRTC. Aujourd'hui, nous allons voir son histoire, sa présence dans notre, ainsi que les raisons pour lesquelles c'est une technologie intéressante à utiliser et où on la retrouve.
WebRTC c'est quoi?
Avec l’émergence de l’utilisation d’Internet pour la communication, ce n’était qu’une question de temps avant qu’une technologie n’amène sur le web ce qui se faisait déjà avec la téléphonie. C’est l’un des rôles de WebRTC, une technologie qui simplifie la communication en temps réel. Elle permet le partage de vidéo, d’audio et même de fichiers. Une autre de ses utilités est le travail en temps réel sur une même page. Elle rend tout cela possible grâce à une connexion directe « peer-to-peer » (pair à pair).¹
Son histoire
C'est en 2011 que WebRTC est né. Il s'agissait alors d'un projet « open-source » créé par Google dans le but de faciliter la communication en temps réel. Par la suite, plusieurs autres acteurs se sont mis à développer diverses fonctionnalités qui ont façonné la technologie telle qu'elle est aujourd'hui, comme Ericsson, qui fut le premier à implémenter WebRTC sur WebKit (le cœur du navigateur Safari). Quelques temps après, on compte des réalisations comme le premier appel vidéo entre différents navigateurs.¹
Présence dans notre monde
Aujourd'hui, WebRTC se retrouve dans plusieurs applications et est compatible avec les principaux navigateurs comme Firefox, Chrome et Safari, ainsi que ceux basés sur leurs moteurs, Android, et différents systèmes d'exploitation comme ChromeOS ou FirefoxOS, pour ne citer qu'eux.¹
C'est donc sans surprise que nous pouvons retrouver cette technologie dans différentes applications que nous utilisons, surtout depuis la COVID et l'explosion en popularité de la vidéoconférence pour le travail à distance, par exemple.
Commençons par parler de Microsoft Teams, un géant de la communication en entreprise et à l'école. Il s'agit là en fait d'une plateforme utilisant WebRTC. Même s'il s'agit d'une information assez connue un peu partout où j'ai cherché, ils ne mentionnent pas exactement comment ils l'utilisent, mais cela doit sûrement être lié aux appels audio et vidéo, surtout sur la version web de l'application. Une des sources officielles que j'ai trouvées mentionne comment accéder aux logs de WebRTC pour mieux communiquer avec l'équipe de support de Microsoft.²
Ensuite, si on s'éloigne du monde professionnel, une autre application qui utilise WebRTC est Discord. L'équipe derrière est un peu plus transparente et nous explique un peu plus comment ils l'utilisent. Pour la version web, ils utilisent l'implémentation offerte par les différents navigateurs, tandis que pour la version native, ils ont leur propre gestionnaire de médias construit en C++ par-dessus la technologie WebRTC.³
Il ne s'agit là que de deux exemples de l'utilisation de WebRTC au sein de différents produits, mais il en existe encore beaucoup d'autres.
Pourquoi l'utiliser?
Comme nous l'avons vu plus tôt, WebRTC est une technologie déjà adoptée par plusieurs, mais on pourrait toujours se demander les raisons pour lesquelles on devrait l'utiliser.
L'une des premières raisons découle du fait qu'il s'agit d'une technologie déjà adoptée par plusieurs navigateurs et donc, si l'on recherche le moyen d'implémenter de la communication en temps réel sur nos applications, le fait qu'elle soit implémentée par les navigateurs devient un atout indispensable.
Ensuite, son adoption par Teams et Discord, entre autres, renforce sa crédibilité. De plus, pour le cas de Discord, comme il est mentionné dans l'article « Comment Discord gère 2,5 millions d'utilisateurs simultanés grâce à WebRTC », cette technologie leur permet de gérer des conversations avec plus de 1000 participants : « Every audio/video communication in Discord is multiparty. Supporting large group channels (we have seen 1000 people taking turns speaking) »³. Cela démontre donc que cette technologie fait ses preuves à grande échelle.
Malgré tout, comme toute technologie, son pouvoir réside dans la façon dont elle est utilisée.
Pour la suite du blog, nous essayerons de mieux la comprendre, et même si je ne suis pas un expert, je ferai de mon mieux pour nous guider à travers cette exploration. Alors n'hésitez pas à revenir la semaine prochaine où nous explorerons différentes architectures utilisées pour les connexions en WebRTC.
Sources :
-
« WebRTC », dans Wikipédia, 15 janvier 2025, https://en.wikipedia.org/wiki/WebRTC
-
wlibebe, « Browser logs and tracing for Teams - Microsoft », dans Microsoft, 10 octobre 2023, https://learn.microsoft.com/en-us/microsoftteams/browser-logs-and-tracing-for-teams
-
Jozsef VASS, « Comment Discord gère 2,5 millions d'utilisateurs simultanés grâce à WebRTC », dans Discord, 10 septembre 2018, https://discord.com/blog/how-discord-handles-two-and-half-million-concurrent-voice-users-using-webrtc
Commentaires1
Superbe article sur une technologie très importante
Salut Nicholson !
C'est super intéressant comme choix de technologie ! C'est l'une des technologies qui a permis de garder notre santé mentale et plusieurs emplois pendant les années de Covid. J'en suis grandement reconnaissant à ce niveau-là !
À ce sujet, je me demandais si WebRTC est la seule technologie que l'on pourrait utiliser pour effectuer des appels audio, vidéo et le partage d'écran ?
Tu parles également de conversations avec plusieurs participants, ce serait intéressant d'en apprendre plus sur les techniques pour optimiser l'utilisation de cette technologie !
Merci encore pour cet article fort intéressant !
Philippe