Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. WeltenzyklopÀdie
  2. WebRTC
WebRTC 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.

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 en mode Free & Open-Source Software au sein du W3C et de l'IETF. C'est aussi 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[1],[2],[3],[4],[5],[6],[7],[8]. 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[9].

Historique

[modifier | modifier le code]
IcĂŽne d'horloge obsolĂšte.
Cette section doit ĂȘtre actualisĂ©e. (fĂ©vrier 2023)
Il manque des informations récentes pertinentes et vérifiables, et certains passages peuvent annoncer des événements désormais passés, ou des faits anciens sont présentés comme actuels. Mettez à jour ou discutez-en.

Les Ă©changes directs entre navigateurs ne sont pas une nouveautĂ© introduite par le W3C et l'IETF mais les recherches et implĂ©mentations prĂ©cĂ©dentes n'Ă©taient pas standard (Ă  cause de l'utilisation de plugins propriĂ©taires tels qu'Adobe Flash ou Microsoft ActiveX) et souvent mal documentĂ©es[10]. Ces protocoles et plugins furent Ă  la source de difficultĂ©s d'interopĂ©rabilitĂ© et de mise Ă  jour pour les sites utilisant ces systĂšmes. Bien que ces implĂ©mentations permettaient une utilisation allant jusqu'Ă  la visioconfĂ©rence (telle que celle proposĂ©e par Adobe avec le Real Time Media Flow Protocol (en)[11]), elles reposaient sur des plugins propriĂ©taires et Ă©taient donc dĂ©pourvues de standards[12].

Les applications internet riches Ă©tant perçues comme une Ă©volution des pages web statiques, elles ont rapidement offert la possibilitĂ© d’animer les textes et les dessins prĂ©sentĂ©s par le navigateur mais aussi de rĂ©aliser des fonctionnalitĂ©s de glisser-dĂ©poser ou encore de flux (audio et vidĂ©o) bidirectionnel[13]. Cependant, si les applications riches sont, en partie au moins, exĂ©cutĂ©es par le navigateur, elles n'impliquent des communications qu'entre ce dernier et un (ou parfois plusieurs) serveur(s) web.

WebRTC est une technologie permettant les communications directes (i.e. sans passer par un serveur web) et en temps réel entre plusieurs navigateurs[14] soutenue par Google[15], Mozilla et Opera[16] au sein des standards du World Wide Web Consortium (W3C), dont les premiÚres ébauches sont apparues en mai 2011. Afin d'en assurer le développement, une liste dédiée a été créée au sein du W3C dÚs avril 2011[17],[18] ainsi qu'un groupe de travail au sein de l'IETF en mai 2011[19].

Cependant, Ă  ces initiatives s'opposait Microsoft qui a soumis une proposition concurrente CU-RTC-WEB (en) le 8 aoĂ»t 2012[20].

Le standard qui définit WebRTC n'était pas encore complet en 2012, il pouvait encore subir de fortes modifications. Toute expérimentation était ainsi encouragée afin d'obtenir des retours d'expérience. L'API est basée sur des travaux préliminaires du WHATWG[21] (qui se basaient sur l'API ConnectionPeer et sur les travaux issus des laboratoires d'Ericsson[22]).

Le groupe de travail espĂ©rait en 2012 des Ă©volutions[23] suffisantes des spĂ©cifications Ă  travers :

  • les Ă©changes d'entrĂ©es/sorties au sein du groupe RTCWEB d'IETF[24] pour dĂ©finir les protocoles pouvant permettre les communications en temps-rĂ©el au sein des diffĂ©rents navigateurs web ;
  • le respect de la vie privĂ©e : des intrusions pouvant se faire en accĂ©dant Ă  des parties locales de l'ordinateur (camĂ©ra, micro...) ou en espionnant depuis l'extĂ©rieur les donnĂ©es Ă©changĂ©es ;
  • les discussions techniques sur les canaux d'Ă©change de donnĂ©es (quels qu'ils soient) entre particuliers[25] [Quoi ?] ;
  • les retours d'expĂ©riences venant d'autres groupes et individus.

Description générale de la norme

[modifier | modifier le code]
Architecture d'une application WebRTC

L'architecture dĂ©veloppĂ©e en mode Free & Open-Source Software[26] de l'API WebRTC repose sur une construction triangulaire impliquant un serveur et deux pairs[12]. Les deux navigateurs tĂ©lĂ©chargent depuis un serveur une application JavaScript vers leur contexte local. Le serveur est utilisĂ© comme point de rendez-vous afin de coordonner les Ă©changes entre navigateurs jusqu'Ă  ce que la connexion directe entre navigateurs soit Ă©tablie. L'application tĂ©lĂ©chargĂ©e utilise l'API WebRTC pour communiquer avec le contexte[Quoi ?] local. Le but est d'avoir une application cliente en JavaScript et HTML5 interagissant avec le navigateur au travers de l'API WebRTC[12].

Les flux d'échange entre navigateurs peuvent rencontrer divers serveurs qui se chargeront de modifier, traduire ou gérer le signal au besoin, permettant par exemple la traversée de pare-feux, proxys ou NAT[27].

Afin d'Ă©tablir une connexion utilisant le standard WebRTC, les navigateurs A et B doivent ĂȘtre connectĂ©s simultanĂ©ment Ă  la page du service et tĂ©lĂ©charger la page HTML ainsi que le code JavaScript permettant de maintenir la connexion ouverte par HTTPS ou socket. Lorsque le navigateur A souhaite Ă©tablir la connexion avec B, l'API instancie un objet PeerConnection qui, une fois créé, permet d'Ă©tablir des flux de mĂ©dias ou de donnĂ©es. Il est aussi nĂ©cessaire, pour une vidĂ©oconfĂ©rence par exemple, que les utilisateurs A et B acceptent le partage de leur camĂ©ra et/ou de leur microphone.

Établissement d'une connexion entre deux clients utilisant WebRTC
  • 1 : A demande au serveur une connexion avec B.
  • 2 : Le serveur relaie la demande de A Ă  B.
  • 3 : Si B accepte, il envoie une demande de connexion Ă  A.
  • 4 : Le serveur relaie la demande Ă  A.
  • 5 et 6 : Les PeerConnection bidirectionnelles sont Ă©tablies.

Une fois cet objet PeerConnection créé par A, le navigateur envoie au serveur un paquet contenant les informations sur les mĂ©dias partagĂ©s ainsi qu'une empreinte liant la connexion Ă  A. Le serveur va dĂ©coder ce paquet et identifier qu'il s'agit d'une communication Ă  destination de B et enverra donc un signal Ă  B. B est notifiĂ© du souhait de A d'Ă©tablir une connexion et accepte ou non sa requĂȘte. Si elle est acceptĂ©e, le mĂȘme processus a lieu entre B et A cette fois afin d'Ă©tablir la connexion bidirectionnelle. Une fois celle-ci Ă©tablie, les flux de mĂ©dias ou de donnĂ©es peuvent ĂȘtre ajoutĂ©s Ă  la connexion librement.

Dans le cadre par exemple d'un streaming vidéo en peer-to-peer entre navigateurs, l'utilisateur télécharge depuis un serveur les métadonnées de la vidéo qu'il souhaite regarder ainsi qu'une liste de pairs disponibles et ayant tout ou partie de la vidéo. L'établissement d'une connexion avec les pairs permet, par le flux de données, le téléchargement des morceaux de la vidéo qui sont réassemblés aprÚs vérification de leur intégrité puis lancement de la vidéo dans un lecteur HTML5[28].

L'API webRTC s'appuie sur des standards existants comme STUN[29], ICE, TURN, DTLS ou encore SRTP[29], technologies en parties issues du projet libjingle[30].

PeerConnection

[modifier | modifier le code]

L'API RTCPeerconnection[31] reprĂ©sente le lien Ă©tabli avec un navigateur distant, reposant sur le protocole UDP[32] (habituellement une autre instance de la mĂȘme application JavaScript s’exĂ©cutant sur le client distant). Afin d'Ă©tablir cette connexion en pair Ă  pair, il est nĂ©cessaire de s'appuyer sur un canal de communication Ă©tabli par un serveur web et utilisant par exemple un objet XMLHttpRequest ou une WebSocket[33]. Mozilla et Google en ont rĂ©alisĂ© une dĂ©monstration technique en fĂ©vrier 2013[34],[35].

Pour obtenir une connexion, l'un des pairs doit obtenir les informations locales (telles que les protocoles supportĂ©s pour l'audio ou la vidĂ©o). Cette Ă©tape est permise par l'API via Session Description Protocol[36]. SDP se base sur la RFC 3264[37] de l'IETF dĂ©finissant une approche requĂȘte / rĂ©ponse. Lors de l'Ă©tablissement d'une session, un pair crĂ©e une requĂȘte qui dĂ©crit ce qu'il dĂ©sire faire et l'autre rĂ©pond en spĂ©cifiant les options qui ont Ă©tĂ© sĂ©lectionnĂ©es[38]. NĂ©anmoins, l'utilisation de SDP est en cours de remplacement au sein de la norme WebRTC par le protocole JSEP[39], notamment Ă  cause des problĂšmes posĂ©s par le format de transmission de SDP, le blob d'information[40].

Dans le cadre de WebRTC, l'Ă©change de ces requĂȘtes et rĂ©ponses par SDP se fait par un mĂ©canisme laissĂ© au choix de l'implĂ©mentation (typiquement un serveur Web utilisant une socket)[41],[42].

Ce processus utilisant SDP permet la négociation à la fois pour RTP (transport de médias) et pour SCTP (permettant le transport de données).

Afin d'assurer la continuité de la connexion en cas de conversion d'adresse par NAT et éviter le blocage par les pare-feux (notamment en entreprise), l'objet PeerConnection utilise les protocoles UDP, STUN et ICE[41].

Une fois cette connexion en pair à pair établie, chaque partie peut établir des MediaStreams ou DataStreams l'utilisant.

Data channels

[modifier | modifier le code]
Structure de la pile de protocoles utilisée par WebRTC dans un échange de données.

L'API DATA channels offre un moyen d'échange de données génériques bidirectionnel et pair à pair[33]. Cette composante de webRTC permet l'échange de données telles que des images ou du texte. Une premiÚre démonstration par Mozilla a eu lieu en novembre 2012 [43].

Ces canaux de donnĂ©es sont créés entre pairs en utilisant l'objet PeerConnection. Ces donnĂ©es autres que les flux mĂ©dias sont Ă©changĂ©es via le protocole SCTP [44], lui-mĂȘme encapsulĂ© dans DTLS[45]. Cette solution permet au flux de donnĂ©es d'ĂȘtre intĂ©grĂ© dans le mĂȘme paquet que les flux de mĂ©dias et donc de partager le mĂȘme numĂ©ro de port pour les Ă©changes.

SCTP supporte nativement plusieurs flux de données de façon bidirectionnelle (jusqu'à 65536 dans chaque direction) au sein d'une association SCTP et gÚre les priorités. De cette façon, il est possible de favoriser les messages de haute priorité face aux gros objets à priorité basse. Chaque flux représente une connexion logique unidirectionnelle[38].

Afin d'assurer la confidentialité et l'authenticité des paquets SCTP échangés, chaque flux repose sur le protocole DTLS.

Au sein d'un canal de donnĂ©es, les applications peuvent transmettre des messages de façon ordonnĂ©e ou dĂ©sordonnĂ©e. L'ordre de remise est prĂ©servĂ© uniquement dans le cas d'une transmission de paquets ordonnĂ©s envoyĂ©s sur le mĂȘme lien de donnĂ©es.

Un flux de données est créé lorsque l'un des pairs appelle une méthode CreateDataChannel() pour la premiÚre fois aprÚs avoir créé un objet PeerConnection. Chaque appel suivant à CreateDataChannel() créera un nouveau flux de données au sein de la connexion SCTP existante[33].

Le protocole DTLS n'a pas pour seul rÎle d'encapsuler les paquets SCTP. Dans le cadre d'un multiplexage avec des flux médias, le protocole DTLS encapsule la gestion des clés et la négociation des paramÚtres pour le protocole SRTP[46], utilisé pour la gestion des flux médias. Il y a donc dépendance du flux média vis-à-vis du flux de données[47].

Flux Media

[modifier | modifier le code]
Structure de la pile de protocoles utilisée par WebRTC dans un échange de médias.

Un MediaStream[48] est une reprĂ©sentation d'un flux de donnĂ©es spĂ©cifique audio ou vidĂ©o. Il permet la prise en charge des actions sur le flux mĂ©dia telles que l'affichage, l'enregistrement et l'envoi Ă  un pair distant. Un MediaStream peut ĂȘtre local ou distant. L'API MediaStream gĂšre les flux audio et vidĂ©o et indique Ă  l'application qu'elle doit donner accĂšs Ă  la camĂ©ra, aux haut-parleurs et au microphone ;

Afin d'ĂȘtre utilisĂ©, un MediaStream local doit demander l'accĂšs aux ressources multimĂ©dia de l'utilisateur via la fonction getUserMedia(). L'application spĂ©cifie le type de mĂ©dia (audio ou vidĂ©o) auquel elle souhaite accĂ©der et le navigateur autorise ou refuse l'accĂšs Ă  la ressource demandĂ©e. Une fois que le mĂ©dia n'est plus utilisĂ©, l'application peut rĂ©voquer son propre accĂšs avec la mĂ©thode stop() sur le flux mĂ©dia local[33].

Les flux médias sont transportés par le biais du protocole RTP[49], utilisable sur tout protocole de transport implémentant une abstraction de datagram (UDP par exemple). La confidentialité, l'authentification des messages et la protection contre les répétitions sont apportées par l'utilisation sécurisée de RTP, SRTP.

La gestion des clĂ©s pour SRTP est assurĂ©e par DTLS et donc le flux de donnĂ©es. Il est donc impossible d'avoir un flux mĂ©dia indĂ©pendant d'un flux de donnĂ©es lĂ  oĂč l'inverse est envisageable.

Il est possible d'associer plusieurs flux mĂ©dias sur une mĂȘme connexion SRTP qui utiliseront des ressources mĂ©dias diffĂ©rentes ou non. Dans ce cas, les sources de chaque flux sont clairement identifiĂ©es comme des SSRC[38].

Multiplexage media / data

[modifier | modifier le code]

L'API WebRTC prĂ©voit le multiplexage de flux donnĂ©es ou mĂ©dia reposant sur une seule connexion de niveau transport. Ce multiplexage fait que les trois protocoles STUN, SRTP et DTLS coexistent au mĂȘme niveau du modĂšle et qu'il est nĂ©cessaire de dĂ©multiplexer les paquets arrivants. Pour cela, le premier octet indiquant la nature du contenu UDP sert Ă  dĂ©terminer de quel protocole il s'agit[50]. Une valeur de 0 ou 1 indique un paquet STUN, une valeur entre 20 et 63 indique un paquet DTLS une valeur de 128 Ă  191 indique un paquet SRTP.

L’intĂ©rĂȘt principal de ce multiplexage est qu'en partageant un mĂȘme paquet de niveau transport, les flux de mĂ©dias et de donnĂ©es passent plus facilement des NAT ou pare-feux en Ă©vitant, par exemple, qu'un paquet portant un flux de mĂ©dia ne soit bloquĂ© alors qu'un paquet de donnĂ©es passe[50].

Spécifications techniques

[modifier | modifier le code]

À partir de mars 2012, le brouillon de travail de l'IETF WebRTC requiert au minimum[51] les codecs audio suivants :

  • PCMA/PCMU (RFC 3551[52]) ;
  • Telephone Event (RFC 4733[53]) comme le code DTMF ;
  • Opus (RFC 6716[54]) que toutes les applications (cĂŽtĂ© client) doivent prendre en charge.

Les codecs vidĂ©o ne sont pas encore dĂ©finis mais doivent rĂ©pondre Ă  certains critĂšres. Pour ĂȘtre retenu, un codec doit, entre autres, supporter au minimum 10 images par seconde (fps) et jusqu'Ă  30 ; il doit Ă©galement supporter une rĂ©solution minimale de 320×240 pixels ; en ce qui concerne le codec VP8, il doit ĂȘtre en mesure de supporter l'algorithme bilinĂ©aire du traitement des images et n'appliquer aucun filtre de reconstruction[55].

ProblÚmes posés par WebRTC et solutions potentielles

[modifier | modifier le code]

Sécurité des applications

[modifier | modifier le code]
Article principal : SĂ©curitĂ© des systĂšmes d'information.

Plusieurs problĂšmes de sĂ©curitĂ© se posent lors de l'utilisation de WebRTC :

  • L'application JavaScript (le code utilisant WebRTC) peut ĂȘtre tĂ©lĂ©chargĂ©e depuis n'importe quel site sans consentement de l'utilisateur.
  • L'exploitation de ressources mĂ©dia locales (par exemple les camĂ©ras et microphones) doit requĂ©rir l'approbation de l'utilisateur.
  • La confidentialitĂ© et l'authentification doivent ĂȘtre garanties dans tout Ă©change pour Ă©viter les attaques telles que l'attaque de l'homme du milieu.
  • Les informations privĂ©es de l'utilisateur ne doivent pas ĂȘtre dĂ©voilĂ©es Ă  des tiers sans le consentement de celui-ci.

Si certains de ces problÚmes sont inhérents à toute communication sur Internet, d'autres problÚmes ont été résolus par l'implémentation de WebRTC. Ainsi les échanges de médias sont sécurisés par le protocole SRTP[38].

IP locale privée

[modifier | modifier le code]

WebRTC permet de dĂ©voiler votre adresse IP locale rĂ©elle, mĂȘme en cas d'utilisation d'un VPN[56].

Gestion de la perte de paquets

[modifier | modifier le code]

Le protocole UDP Ă©tant dĂ©connectĂ© et n'utilisant pas de systĂšme de vĂ©rification de rĂ©ception des paquets (contrairement au protocole TCP par exemple), la perte de paquets est un problĂšme pouvant se poser lors des transmissions en pair Ă  pair de flux mĂ©dias. Deux mĂ©thodes se prĂ©sentaient afin de limiter la perte de paquets dus aux problĂšmes de rĂ©seaux :

  • NACK[57] qui permet de signaler Ă  l'Ă©metteur une rĂ©ception Ă©chouĂ©e ou l'absence de transmission ;
  • FEC[58], un code de contrĂŽle qui permet au rĂ©cepteur de vĂ©rifier que la totalitĂ© des paquets est arrivĂ©e correctement ;
  • RPS (Reference Picture Selection).

Lors de l'envoi d'un flux mĂ©dia, l'Ă©metteur dĂ©coupe le flux et calcule une somme de contrĂŽle (FEC) qui est envoyĂ©e avec ces paquets. À la rĂ©ception, les FEC sont recalculĂ©s pour vĂ©rifier l'absence d'erreurs et les donnĂ©es stockĂ©es dans une mĂ©moire tampon. Si des paquets manquent, ils sont redemandĂ©s.

Dans le cadre de l'API WebRTC, une solution hybride entre NACK et FEC a été implémentée, accompagnée de contrÎles temporels afin d'équilibrer la qualité de la vidéo, sa fluidité et le temps de réponse d'une extrémité de la connexion à l'autre[59].

Ainsi, dans le cadre d'une transmission média, la mémoire tampon servant à la construction des images est de taille variable, dépendant de la longueur des paquets et de la fluidité de rendu optimal calculée par l'application. Du cÎté de l'émetteur, un optimiseur de flux calcule périodiquement la qualité du trafic sur le réseau et adapte dynamiquement la taille des paquets afin d'éviter au maximum collisions et pertes[60].

En outre, le calcul de FEC étant la partie la plus longue du processus, l'optimisation de flux permet d'en varier la fréquence, créant ainsi une FEC/NACK adaptative qui répond au mieux aux problÚmes rencontrés durant la transmission.

Transiter par des pare-feux ou le NAT

[modifier | modifier le code]

Transiter au travers d'un pare-feu

[modifier | modifier le code]

WebRTC peut ĂȘtre difficile Ă  utiliser en entreprises dans la mesure oĂč celles-ci ont souvent des politiques de sĂ©curitĂ© en informatique incompatibles avec les besoins de l'API. En effet, WebRTC est basĂ© sur des flux peer-to-peer entre navigateurs et ces flux sont trĂšs sensibles Ă  la latence lorsqu'il s'agit de flux mĂ©dias. En outre, les serveurs utilisĂ©s pour faire transiter les paquets peuvent ĂȘtre Ă©loignĂ©s gĂ©ographiquement des pairs qui communiquent ou avoir une bande passante trop faible pour permettre un transit correct des paquets.

Des approches existent dĂ©jĂ  pour franchir un pare-feu :

  • Le RTP symĂ©trique est une implĂ©mentation de RTP basĂ©e sur UDP qui utilise les mĂȘmes ports en entrĂ©e et en sortie, afin de simuler un flux bidirectionnel et Ă©viter le blocage arbitraire de paquets;
  • Le protocole ICE, qui utilise des paquets de test pour dĂ©terminer les rĂšgles de filtrage du pare-feu et est aussi utilisĂ© pour traverser un NAT.

NĂ©anmoins les entreprises utilisent de plus en plus des SBC, des pare-feux de niveau application, utilisant un contrĂŽle des flux de signaux et mĂ©dias (ALG). Ces SBC posent des difficultĂ©s pour WebRTC dans la mesure oĂč le flux de signaux n'est pas standardisĂ© par l'API et l'implĂ©mentation est laissĂ©e libre. De plus, les SBC se placent comme intermĂ©diaires dans la transmission du client vers le serveur, mais le protocole DTLS utilisĂ© par WebRTC ne permet pas l'observation par un tiers de par son chiffrement. Enfin, les SBC utilisent les flux de signaux pour authentifier les flux de donnĂ©es, mais l'API WebRTC ne standardisant pas les flux de signaux, leur utilisation est impossible dans un but d'identification[61].

L'une des solutions pour venir à bout des difficultés posées par les SBC serait que les entreprises convertissent les flux entrants en sessions SIP, utilisent cette encapsulation pour traverser le SBC puis décapsulent le flux pour le transmettre à l'application. Cependant cette approche reprenant le principe de l'attaque de l'homme du milieu est rendue difficile par la variété des utilisations de WebRTC et par le chiffrement des flux de contrÎle et de média de l'API[61].

Transiter au travers d'un NAT

[modifier | modifier le code]

Afin d'ĂȘtre utilisable si l'un des pairs se situe derriĂšre un NAT, WebRTC utilise le protocole ICE. Deux techniques principales sont utilisĂ©es pour traverser ce genre de difficultĂ©s.

  • La premiĂšre technique est souvent appelĂ©e Hole Punching (en): l'appareil Ă  l'intĂ©rieur du NAT envoie un paquet STUN Ă  un serveur en dehors du NAT. Le serveur rĂ©pond en informant l'Ă©metteur de l'adresse IP et du port apparent avec lequel le paquet a Ă©tĂ© envoyĂ©, sur lequel les deux communiqueront.
  • La seconde technique utilise un relais intermĂ©diaire. Le protocole utilisĂ© pour cela est Traversal Using Relays around NAT : l'entreprise dĂ©ploie un serveur TURN au sein de la zone dĂ©militarisĂ©e (DMZ) avec lequel le pair interne communique et se charge de vĂ©rifier qu'il a les droits requis et de surveiller les flux mĂ©dias qui passent par lui. Le serveur sert ainsi de point de relais aux paquets WebRTC qui transitent entre un pair et l'autre[62].

Intégration

[modifier | modifier le code]

Navigateurs web

[modifier | modifier le code]
  • Opera : une premiĂšre intĂ©gration a Ă©tĂ© dĂ©voilĂ©e en janvier 2012. La version stable comporte cette technologie[63];
  • Google Chrome : une intĂ©gration de la technologie est arrivĂ©e dans la branche de dĂ©veloppement en janvier 2012, et dans la version stable numĂ©ro en juin 2012[64],[65] (toutefois PeerConnection et MediaStream doivent ĂȘtre activĂ©s via la page « chrome://flags/ Â»(Archive.org ‱ Wikiwix ‱ Archive.is ‱ Google ‱ Que faire ?));
  • Mozilla Firefox : Mozilla a fait une dĂ©monstration en avril 2012[66]. Le 8 janvier 2013, Firefox 18 a fait l'objet d'une implĂ©mentation prĂ©liminaire[67]. La fondation a fait plusieurs dĂ©monstrations de cette fonction au sein de son navigateur[68],[69],[70]. Mozilla a activĂ©, par dĂ©faut, WebRTC dans Firefox 22 sorti le 25 juin 2013[71],[72]. La prise en charge de WebRTC dans Firefox mobile sur la plateforme Android est incluse depuis la version 24[73]. Mozilla prĂ©voit de prendre bientĂŽt en charge TURN[74];
  • Internet Explorer: Microsoft a commencĂ© l'intĂ©gration d'une API similaire[75], et Edge propose un support incomplet[76];
  • Ericsson a annoncĂ© en octobre 2012, un premier navigateur compatible WebRTC pour tĂ©lĂ©phone mobile, appelĂ© Browser et dĂ©veloppĂ© pour iOS et Android[77],[78];
  • En avril 2016 Safari (navigateur web) ne supporte pas le WebRTC[76] mais Apple annonce travailler en ce sens[79].
  • En fĂ©vrier 2017, Microsoft annonce le support de WebRTC sur les prochaines versions du navigateur Edge, Ă  l'exception cependant des data channels [80].
  • Depuis septembre 2017, le WebRTC est supportĂ© par Safari et Chrome pour IOS 11[81].

Implémentations et démonstrations

[modifier | modifier le code]

MalgrĂ© sa relative nouveautĂ©, la norme webRTC a, dĂšs 2011, Ă©tĂ© implĂ©mentĂ©e dans le cadre de plusieurs projets. Ainsi, en mai 2011, les laboratoires Ericsson ont proposĂ© une premiĂšre implĂ©mentation de l'API[82],[83] et en mai 2012, Doubango Telecom a proposĂ© le premier client Sources ouvertes SIP HTML5 utilisant WebRTC[84],[85]. En septembre de la mĂȘme annĂ©e, un canvas logiciel Ă  base de JavaScript pour faire tourner le protocole SIP baptisĂ© JsSIP est lancĂ© par Versatica, Ă©quipe dĂ©jĂ  Ă  l'origine du brouillon de travail sur les WebSockets[86].

Diverses applications sur l'internet utilisent les outils proposĂ©s par WebRTC. C'est le cas par exemple de tawk.com, appear.in[87], Talky.io[88], vroom.im[89] ou encore Bistri.com[90], sites proposant des services de vidĂ©oconfĂ©rence. Dans la mĂȘme mouvance, en novembre 2012, ToxBox lance OpenTok qui permet aux dĂ©veloppeurs des visioconfĂ©rences directement au sein de leurs sites Web ou de leurs applications IOS (Apple) et Android. Cette solution s'appuie sur WebRTC[91] quand celui-ci existe au sein du navigateur ou sur Flash. De mĂȘme, l'Ă©change de donnĂ©es est offert par des sites tels que rtccopy, s'appuyant sur les DataChannel[92].

Malgré ces premiÚres implémentations, les différents acteurs du web continuaient de travailler sur la technologie. En février 2013, lors du Mobile World Congress Mozilla, Ericsson et AT&T ont fait des démonstrations de WebRTC avec leurs produits[93]. L'ancien service de conversation de Google, Google Talk, devait lui aussi migrer vers WebRTC, le travail était en cours en 2013[94].

Alternatives

[modifier | modifier le code]

En août 2012, Microsoft a présenté une proposition alternative appelée CU-RTC-WEB (Customizable, Ubiquitous Real Time Communication over the Web) au groupe WebRTC du W3C[95],[96], une technologie qui aurait débuté en 2010 conjointement avec Skype (que Microsoft a racheté en 2011)[97].

La proposition de Google s'appuie sur le codec VP8[98],[99],[100],[101] non soumis à des redevances de brevets, tandis que la proposition de Microsoft utilise le standard ISO/CEI H.264[102],[103],[104],[105], trÚs répandu mais soumis aux redevances de nombreux brevets.

En 2016, Opera et Google Chrome ne supportent que le VP8, firefox et Bowser H.264 et VP8, et Edge partiellement H.264[76].

Voir aussi

[modifier | modifier le code]
  • Extensible Messaging and Presence Protocol
  • Jingle (protocole)
  • Visiophonie
  • Voix sur IP
  • WebTorrent, protocole p2p basĂ© sur WebRTC, BitTorrent et le DHT Kademlia

Liens externes

[modifier | modifier le code]
  • Site officiel de WebRTC
  • W3C Web Real-Time Communications Working Group
  • IETF Real-Time Communication in WEB-browsers (rtcweb) Working Group

Bibliographie

[modifier | modifier le code]
  • (en) Cullen Jennings, Ted Hardie et Magnus Westerlund, « Real-Time Communications for the Web Â», Communications Magazine, IEEE, vol. 51,‎ 2013, p. 20-26 (ISSN 0163-6804, DOI 10.1109/MCOM.2013.6495756)
  • (en) Salvatore Loreto et Simon Pietro Romano, « Real-time Communications in the Web : Issues, Achievements, and Ongoing Standardization Efforts Â», Internet Computing, IEEE, vol. 16,‎ 2012, p. 68-73 (ISSN 1089-7801, DOI 10.1109/MIC.2012.115)
  • (en) Alan Johnston, John Yoakum et Kundan Singh, « Taking on webRTC in an Enterprise Â», Communications Magazine, IEEE, vol. 51, no 4,‎ avril 2013, p. 48-54 (ISSN 0163-6804, DOI 10.1109/MCOM.2013.6495760)
  • (en) Lin Li et Xiping Zhang, « Research On The Integration of RTCWeb Technology with IP Multimedia Subsystem Â», Image and Signal Processing (CISP), 2012 5th International Congress on,‎ 2012, p. 1158-1161 (ISBN 978-1-4673-0964-6, DOI 10.1109/CISP.2012.6469705)
  • (en) Marcin Davies, Joachim Zeiss et Rene Gabner, « Evaluating two approaches for browser-based real-time multimedia communication Â», Proceedings of the 10th International Conference on Advances in Mobile Computing & Multimedia,‎ 2012, p. 109-117 (ISBN 978-1-4503-1307-0, DOI 10.1145/2428955.2428982)
  • (en) Alessandro Amirante, Tobia Castaldi, Lorenzo Miniero et Simon Pietro Romano, « On the Seamless Interaction between WebRTC Browsers and SIP-Based Conferencing Systems Â», Communications Magazine, IEEE, vol. 51, no 4,‎ 2013, p. 42-47 (ISSN 0163-6804, DOI 10.1109/MCOM.2013.6495759)
  • (en) Stephan Holmer, Mikhal Shemer et Marco Paniconi, « Handling Packet Loss in WebRTC Â», International Conference on Image Processing (ICIP 2013),‎ 2013, p. 1860-1864 (lire en ligne)
  • (en) Hoanh Huu Tho Le et YoungHan Kim, « Circle-mesh overlay for P2P-based RTCWeb conferencing system Â», Ubiquitous and Future Networks (ICUFN), 2013 Fifth International Conference on,‎ juillet 2013, p. 489-494 (DOI 10.1109/ICUFN.2013.6614869)
  • (en) Kundan Singh et Venkatesh Krishnaswamy, « A case for SIP in JavaScript Â», Communications Magazine, IEEE, vol. 51, no 4,‎ avril 2013, p. 28-33 (DOI 10.1109/MCOM.2013.6495757)
  • (en) Christian Vogt, Max Jonas Werner et Thomas Schmidt, « Content-centric User Networks: WebRTC as a Path to Name-based Publishing Â», 21st IEEE Intern. Conf. on Network Protocols (ICNP 2013), PhD forum, IEEEPress,‎ octobre 2013 (lire en ligne)
  • (en) Salvatore Loreto, Vijay Gurbani et Jörg Ott, « Web-Base Communications (guest editorial) Â», Communications Magazine, IEEE, vol. 51, no 4,‎ 2013, p. 18-19 (DOI 10.1109/MCOM.2013.6495755)
  • (en) Martin Becke, Erwin Rathgeb, Sebastian Werner, Irene RĂŒngeler, Michael TĂŒxen et Randall Stewart, « Data Channel Considerations for RTCWeb Â», Communications Magazine, IEEE, vol. 51, no 4,‎ avril 2013, p. 34-41 (DOI 10.1109/MCOM.2013.6495758)
  • (en) Colin Perkins, « Can congestion-controlled interactive multimedia traffic co-exist with TCP? Â», Proceedings of the 2012 ACM workshop on Capacity sharing,‎ 2012, p. 45-46 (ISBN 978-1-4503-1780-1, DOI 10.1145/2413219.2413232)
  • (en) H. Sinnreich et W. Wimmreuter, « Communications on the Web Â», e & i Elektrotechnik und Informationstechnik, vol. 127, no 6,‎ juin 2010 (ISSN 1613-7620, DOI 10.1007/s00502-010-0742-l)
  • (en) « WebRTC 1.0: Real-time Communication Between Browsers Â»
  • (en) Arno Baker, Riccardo PĂ©trocco, Michael Dale, Jan Gerber, Victor Grishchenko, Diego Rabaioli et Johan Pouwelse, « Online video using BitTorrent and HTML5 applied to Wikipedia Â», Peer-to-Peer Computing (P2P), 2010 IEEE Tenth International Conference on,‎ 2010, p. 1-2 (DOI 10.1109/P2P.2010.5569984)
  • (en) Pedro Rodriguez, Javier Cervino, Irena Trajkoska et Joaquin Salvachua, « Advanced videoconferencing services based on WebRTC Â», Proceedings of the IADIS International Conferences Web Based Communities and Social media,‎ 2012 (ISBN 978-972-8939-72-4)
  • (en) Jukka Nurminen, Antony Meyn, Eetu Jalonen, Yrjo Raivio et Raul Garvia Marrero, « P2P media streaming with HTML5 and WebRTC Â», IEEE International Conference on Computer Communications,‎ 2013
  • (en) Tjrek de Greef, Charlie Gullström, Leif Handberg, Peter Parnes et Harold Nefs, « Shared mediated workspaces Â», Presence Live 2012,‎ octobre 2012 (lire en ligne)
  • (en) « Real Time Media Flow Protocol Â»
  • (en) « URCP: Universal Rate Control Protocol Â»
  • (en) « JavaScript Session Establishment Protocol Â», 2012

Références

[modifier | modifier le code]
  1. ↑ « Hello Firefox 34 : support de WebRTC et outils pour dĂ©veloppeurs Â», sur www.linformaticien.com (consultĂ© le 31 octobre 2019)
  2. ↑ « Firefox en version 34. Quoi de neuf ? Â», sur GĂ©nĂ©ration-NT (consultĂ© le 31 octobre 2019)
  3. ↑ « Mozilla veut vous faire tester les communications WebRTC dans Firefox Â», sur www.nextinpact.com, 9 mai 2014 (consultĂ© le 31 octobre 2019)
  4. ↑ « Firefox 24 - LinuxFr.org Â», sur linuxfr.org (consultĂ© le 31 octobre 2019)
  5. ↑ (en-US) « Firefox 24 for Android gets WebRTC support by default – Mozilla Hacks - the Web developer blog Â», sur Mozilla Hacks – the Web developer blog (consultĂ© le 31 octobre 2019)
  6. ↑ 01net, « Firefox 24, dĂšs Ă  prĂ©sent

    Thank You For This Article 

    disponible pour Windows, Linux et Mac
     Â», sur 01net (consultĂ© le 31 octobre 2019)
  7. ↑ Yohann Poiron, « Google lance Chrome 29 avec l'amĂ©lioration des suggestions Omnibox, et WebRTC sur Android Â», sur BlogNT : le Blog dĂ©diĂ© aux Nouvelles Technologies, 21 aoĂ»t 2013 (consultĂ© le 31 octobre 2019)
  8. ↑ (en) « Smarter omnibox suggestions for all Â», sur Google Chrome Blog (consultĂ© le 31 octobre 2019)
  9. ↑ Temasys
  10. ↑ S. Loreto 2012, p. 68
  11. ↑ LittĂ©ralement : Protocole de flux mĂ©dia en temps rĂ©el
  12. ↑ a b et c C. Jennings 2013, p. 20
  13. ↑ P. Rodriguez 2012, p. 1
  14. ↑ (en) « Google release of WebRTC source code from Harald Alvestrand on 2011-05-31 Â», Lists.w3.org (consultĂ© le 12 septembre 2012)
  15. ↑ AurĂ©, « Google partage WebRTC pour le chat vidĂ©o et audio depuis votre navigateur Â», sur journaldugeek.com, 15 juin 2011 (consultĂ© le 17 septembre 2020).
  16. ↑ (en) « Introducing WebRTC - an open real-time communications project - WebRTC Â», Sites.google.com (consultĂ© le 12 septembre 2012)
  17. ↑ (en) « WebRTC 1.0: Real-time Communication Between Browsers Â», W3.org (consultĂ© le 12 septembre 2012)
  18. ↑ (en) « Welcome to the list! from Harald Alvestrand on 2011-04-27 Â», Lists.w3.org, 27 avril 2011 (consultĂ© le 12 septembre 2012)
  19. ↑ http://tools.ietf.org/wg/rtcweb/charters?item=charter-rtcweb-2011-05-03.txt
  20. ↑ (en) « Customizable, Ubiquitous Real Time Communication over the Web (CU-RTC-Web) Â», Html5labs.com (consultĂ© le 12 septembre 2012)
  21. ↑ (en) href, « 1 Introduction — HTML Standard Â», Whatwg.org (consultĂ© le 12 septembre 2012)
  22. ↑ (en) « Beyond HTML5: Peer-to-Peer Conversational Video | Ericsson Labs Â», Labs.ericsson.com (consultĂ© le 12 septembre 2012)
  23. ↑ (en) http://lists.w3.org/Archives/Public/public-media-capture/2012Dec/att-0159/RecordingProposal.html
  24. ↑ (en) « Rtcweb Status Pages Â», Tools.ietf.org (consultĂ© le 12 septembre 2012)
  25. ↑ (en) « draft-jesup-rtcweb-data-protocol-00 - WebRTC Data Channel Protocol Â», Tools.ietf.org (consultĂ© le 12 septembre 2012)
  26. ↑ « src - Git at Google Â», sur webrtc.googlesource.com (consultĂ© le 13 fĂ©vrier 2023)
  27. ↑ S. Loreto 2012, p. 69
  28. ↑ J. Nurminen 2013, p. 2
  29. ↑ a et b « Architecture - WebRTC Â», sur webrtc.org via Wikiwix (consultĂ© le 15 juin 2023).
  30. ↑ « FAQ - WebRTC Â», sur webrtc.org via Wikiwix (consultĂ© le 8 octobre 2023).
  31. ↑ http://dev.w3.org/2011/webrtc/editor/webrtc.html#peer-to-peer-connections
  32. ↑ User Datagram Protocol
  33. ↑ a b c et d S. Loreto 2012, p. 71
  34. ↑ (en) « Hello Chrome, it's Firefox calling! – Mozilla Hacks - the Web developer blog Â», sur Mozilla Hacks – the Web developer blog (consultĂ© le 17 septembre 2020).
  35. ↑ (en) « Hello Firefox, this is Chrome calling! Â», sur Chromium Blog (consultĂ© le 17 septembre 2020).
  36. ↑ Session Description Protocol
  37. ↑ (en) « An Offer/Answer Model with the Session Description Protocol (SDP) Â», Request for comments no 3264, juin 2002
  38. ↑ a b c et d C. Jennings 2013, p. 21
  39. ↑ JavaScript Session Establishment Protocol, http://tools.ietf.org/html/draft-ietf-rtcweb-jsep-03
  40. ↑ 2012
  41. ↑ a et b S. Loreto 2012, p. 70
  42. ↑ P. Rodriguez 2012, p. 2
  43. ↑ (en) « WebRTC makes Social API even more social – Future Releases Â», sur Future Releases (consultĂ© le 17 septembre 2020).
  44. ↑ Stream Control Transmission Protocol
  45. ↑ Datagram Transport Layer Security
  46. ↑ Secured Real-Time Transport Protocol
  47. ↑ C. Jennings 2013, p. 23
  48. ↑ http://dev.w3.org/2011/webrtc/editor/getusermedia.html#widl-NavigatorUserMedia-getUserMedia-void-MediaStreamConstraints-constraints-NavigatorUserMediaSuccessCallback-successCallback-NavigatorUserMediaErrorCallback-errorCallback
  49. ↑ Real-Time Transport Protocol
  50. ↑ a et b C. Jennings 2013, p. 22
  51. ↑ (en) « draft-cbran-rtcweb-codec-02 - WebRTC Codec and Media Processing Requirements Â», Tools.ietf.org, 12 mars 2012 (consultĂ© le 12 septembre 2012)
  52. ↑ (en) « RTP Profile for Audio and Video Conferences with Minimal Control Â», Request for comments no 3551, juillet 2003
  53. ↑ (en) « RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals Â», Request for comments no 4733, dĂ©cembre 2006
  54. ↑ (en) « Definition of the Opus Audio Codec Â», Request for comments no 6716, septembre 2012
  55. ↑ (en) « If VP8 is supported, then it MUST support the bilinear and none reconstruction filters Â», Tools.ietf.org, 12 mars 2012 (consultĂ© le 12 novembre 2012)
  56. ↑ Daniel Roesler, Demo: https://diafygi.github.io/webrtc-ips/. Contribute to diafygi/webrtc-ips development by creating an account on GitHub, 9 janvier 2019 (lire en ligne)
  57. ↑ Negative-Acknowledgment
  58. ↑ Forward Error Correction
  59. ↑ S. Holmer 2013, p. 1860
  60. ↑ S. Holmer 2013, p. 1861
  61. ↑ a et b A. Johnston 2013, p. 49
  62. ↑ A. Johnston 2013, p. 51
  63. ↑ (en) « How can we help you? - Opera Help Â», sur Opera Help (consultĂ© le 17 septembre 2020).
  64. ↑ « WebRTC : Google libĂšre un framework de communication audio et vidĂ©o en temps rĂ©el depuis le navigateur et Ɠuvre pour le standardiser Â», sur Developpez.com (consultĂ© le 17 septembre 2020).
  65. ↑ (en) « Chromium Blog: Real-time Communications in Chrome Â», Blog.chromium.org, 18 janvier 2012 (consultĂ© le 12 septembre 2012)
  66. ↑ « Support WebRTC dans Firefox : dĂ©monstration en vidĂ©o Â», sur GĂ©nĂ©ration-NT (consultĂ© le 17 septembre 2020).
  67. ↑ (en)https://www.mozilla.org/en-US/firefox/18.0/releasenotes/
  68. ↑ (en)https://www.youtube.com/watch?v=S6-rAv6bU8Q
  69. ↑ (en)https://hacks.mozilla.org/2012/11/progress-update-on-webrtc-for-firefox-on-desktop/
  70. ↑ (en)https://hacks.mozilla.org/2012/09/full-webrtc-support-is-soon-coming-to-a-web-browser-near-you/
  71. ↑ (en)https://www.mozilla.org/en-US/firefox/22.0/releasenotes/
  72. ↑ (en)https://hacks.mozilla.org/2013/02/webrtc-enabled-h-264mp3-support-in-win-7-on-by-default-metro-ui-for-windows-8-more-firefox-development-highlights/
  73. ↑ (en)https://blog.mozilla.org/blog/2013/09/17/webrtc-now-available-across-mobile-and-desktop-with-new-firefox-for-android-compatibility/
  74. ↑ (en)http://www.webrtc.org/firefox#TOC-Firefox-implementation-details
  75. ↑ « WebRTC : vers une version Web de Skype... plus tard Â», sur GĂ©nĂ©ration-NT (consultĂ© le 17 septembre 2020).
  76. ↑ a b et c http://iswebrtcreadyyet.com
  77. ↑ (en) « Experimental WebRTC mobile browser released by Ericsson Â», 19 octobre 2012 (consultĂ© le 20 octobre 2012)
  78. ↑ (en) « Welcome to Ericsson Blog Â», sur Ericsson.com (consultĂ© le 17 septembre 2020).
  79. ↑ « Apple implĂ©mente les WebRTC sur Safari Â», sur ZDNet France (consultĂ© le 17 septembre 2020).
  80. ↑ Vincent Hermann, « Edge : support confirmĂ© de WebRTC et nouveautĂ©s prĂ©vues pour la Creators Update Â», sur NextINpact, 2 fĂ©vrier 2017 (consultĂ© le 2 fĂ©vrier 2017).
  81. ↑ (en-US) « Can I use... Support tables for HTML5, CSS3, etc Â», sur caniuse.com (consultĂ© le 19 octobre 2017)
  82. ↑ (en) « A Web RTC Tutorial | Ericsson Labs Â», Labs.ericsson.com (consultĂ© le 12 septembre 2012)
  83. ↑ « Web Real-Time Communication / Ericsson Labs Â» [vidĂ©o], sur YouTube (consultĂ© le 17 septembre 2020).
  84. ↑ http://sipml5.org/
  85. ↑ https://code.google.com/p/sipml5/
  86. ↑ http://tools.ietf.org/html/draft-ietf-sipcore-sip-websocket
  87. ↑ https://whereby.com/
  88. ↑ https://talky.io/
  89. ↑ « Bienvenue sur VROOM !! Â», sur vroom.im (consultĂ© le 21 juillet 2015)
  90. ↑ http://www.webrtcworld.com/topics/webrtc-world/articles/307673-carriers-may-find-new-opportunities-with-webrtc.htm
  91. ↑ « API Video Â», sur tokbox.com (consultĂ© le 17 septembre 2020).
  92. ↑ https://rtccopy.com/
  93. ↑ (en) https://blog.mozilla.org/blog/2013/02/24/webrtc-ringing-a-mobile-phone-near-you/
  94. ↑ https://sites.google.com/site/webrtc/faq#TOC-Do-Google-products-use-WebRTC-and-iSAC-
  95. ↑ http://blogs.msdn.com/b/interoperability/archive/2012/08/06/customizable-ubiquitous-real-time-communication-over-the-web-cu-rtc-web.aspx
  96. ↑ « Microsoft soumet ses propositions pour WebRTC au W3C, vers une version Web de Skype sans recours aux plug-ins ? Â», sur Developpez.com (consultĂ© le 17 septembre 2020).
  97. ↑ « Next INpact - ActualitĂ©s informatique et numĂ©rique au quotidien Â», sur pcinpact.com (version du 10 aoĂ»t 2012 sur Internet Archive).
  98. ↑ (en)https://www.ietf.org/mail-archive/web/rtcweb/current/msg04953.html
  99. ↑ (en)http://tools.ietf.org/html/draft-cbran-rtcweb-codec-02#section-3.2
  100. ↑ (en)http://www.webrtc.org/blog/webrtcimprovementbetterrealtimevp8andnewrtpprofileadopted
  101. ↑ (en)http://tools.ietf.org/html/draft-ietf-payload-vp8-10#page-3
  102. ↑ « Microsoft : vers une version web de Skype Â», sur MacGeneration (consultĂ© le 17 septembre 2020).
  103. ↑ (en)http://html5labs.interoperabilitybridges.com/cu-rtc-web/cu-rtc-web.htm#attributes-2
  104. ↑ (en)http://webrtchacks.com/ietf-finally-made-decision-mandatory-implement-mti-video-codec-webrtc/
  105. ↑ (en)http://html5labs.interoperabilitybridges.com/prototypes/cu-rtc-web-video/cu-rtc-web-video/info
v Â· m
API Web
CÎté serveur
Protocole de communication
  • CGI
  • SCGI
  • FCGI
  • AJP
  • WSRP
  • WebSocket
APIs serveur
  • C NSAPI (en)
  • C ASAPI
  • C ISAPI
  • COM ASP
  • Servlet
  • container
  • CLI OWIN (en)
  • ASP.NET Handler (en)
  • Python WSGI
  • Ruby Rack
  • JavaScript JSGI (en)
  • Perl PSGI
  • Portlet container
Modules apaches
  • mod_jk
  • mod_lisp (en)
  • mod_mono (en)
  • mod_parrot (en)
  • mod_perl
  • mod_php
  • mod_proxy (en)
  • mod_python (en)
  • mod_wsgi
  • mod_ruby (en)
  • Phusion Passenger
Sujets
  • Ressource du World Wide Web vs. Service web
  • Open API (en)
  • Webhook
  • Serveur d'applications
  • Scripting
CÎté client
W3C
  • HTML5 audio (en)
  • Canvas
  • CORS
  • DOM
  • DOM events (en)
  • File (en)
  • Geolocation (en)
  • IndexedDB
  • SSE
  • SVG
  • Video
  • WebRTC
  • WebSocket
  • Web messaging (en)
  • Stockage web local
  • WebAuthn
  • Web worker (en)
  • XMLHttpRequest
Khronos
  • OpenCL
  • WebGL
Autres
  • Gears
  • Web SQL Database (formerly W3C)
Sujets
  • Page web dynamique
  • Open Web Platform (en)
  • Rich Internet application
  • icĂŽne dĂ©corative Portail d’Internet
  • icĂŽne dĂ©corative Portail des tĂ©lĂ©communications
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=WebRTC&oldid=227808883 Â».
CatĂ©gories :
  • Technologie web
  • Pair Ă  pair
  • Logiciel libre sous licence BSD
  • Standard du web
CatĂ©gories cachĂ©es :
  • Article Ă  mettre Ă  jour
  • Article contenant un appel Ă  traduction en anglais
  • Article contenant un lien mort
  • Portail:Internet/Articles liĂ©s
  • Portail:MĂ©dias/Articles liĂ©s
  • Portail:SociĂ©tĂ©/Articles liĂ©s
  • Portail:TĂ©lĂ©communications/Articles liĂ©s
  • Portail:Technologies/Articles liĂ©s

  • indonesia
  • Polski
  • Ű§Ù„Ű±ÙŠŰ©
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • Ù…Ű”Ű±
  • Nederlands
  • æœŹèȘž
  • PortuguĂȘs
  • Sinugboanong Binisaya
  • Svenska
  • ĐŁĐșŃ€Đ°Ń—ĐœŃĐșа
  • Tiáșżng Việt
  • Winaray
  • äž­æ–‡
  • РуссĐșĐž
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id