Caractéristiques-clefs
Description
Présentation rapide et historique
WebRTC (Web Real-Time Communication, littéralement « communication en temps réel pour le Web ») est une interface de programmation (API) JavaScript développée au sein du W3C (World Wide Web Consortium) et de l'IETF (Internet Engineering Task Force). Il s'agit également d'un canevas logiciel avec des implémentations précoces dans différents navigateurs web pour permettre une communication en temps réel. Le but du WebRTC est de lier des applications comme la voix sur IP, le partage de fichiers en pair à pair, en s'affranchissant des modules d'extensions propriétaires jusqu'alors nécessaires.
L'API repose sur une architecture triangulaire puis pair à pair dans laquelle un serveur central est utilisé pour mettre en relation deux pairs désirant échanger des flux de médias ou de données qui échangent ensuite sans autre relais. Cette architecture et la pile de protocoles utilisée posent des questions de sécurité et d'utilisation en relation avec d'autres technologies (comme les NAT ou les pare-feux) qui sont pour la plupart en cours de résolution par l'IETF et le W3C.
La technologie WebRTC est assez récente, les groupes de travail W3C/IETF ont débuté en 2011. Les navigateurs ont commencé à l'intégrer à partir de 2013-2014. Son intégration au sein des différents navigateurs est encore inégale en 2019. Pour certains navigateurs, des extensions propriétaires existent comme celle de Temasys pour Internet Explorer et Safari.
Caractéristiques et fonctionnalités
- Communication en temps réel: WebRTC permet la communication en temps réel entre les utilisateurs, facilitant des applications comme la voix sur IP, la vidéoconférence et le partage de fichiers en pair à pair.
- Interopérabilité: Grâce à son implémentation dans différents navigateurs web, WebRTC assure une interopérabilité entre les utilisateurs, indépendamment du navigateur qu'ils utilisent.
- Sécurité: WebRTC intègre des mécanismes de sécurité pour protéger les communications, notamment le chiffrement des flux de données et de médias.
- Architecture pair à pair: Après l'établissement de la connexion initiale via un serveur central, les pairs communiquent directement entre eux, réduisant ainsi la dépendance aux serveurs intermédiaires.
- API JavaScript: WebRTC est accessible via une API JavaScript, ce qui permet aux développeurs de créer des applications web riches et interactives sans avoir besoin de modules d'extensions propriétaires.
- Support multiplateforme: WebRTC est soutenu par plusieurs navigateurs web, y compris Google Chrome, Mozilla Firefox, Microsoft Edge et Safari, bien que l'intégration soit encore inégale pour certains navigateurs.
- Évolution continue: En tant que technologie récente, WebRTC continue d'évoluer avec des mises à jour et des améliorations régulières, résolvant progressivement les questions de sécurité et d'interopérabilité.