mirror of https://github.com/dani/vroom.git
Move some technical info into the doc page instread of about
This commit is contained in:
parent
d8d321dca3
commit
e99d91610a
|
@ -307,30 +307,6 @@ our %Lexicon = (
|
|||
" <li>A web browser</li>" .
|
||||
"</ul>" .
|
||||
"*: except iPad and iPhone",
|
||||
"HOW_IT_WORKS" => "How it works ?",
|
||||
"ABOUT_HOW_IT_WORKS" => "WebRTC allows browsers to browsers direct connections. This allows the best latency " .
|
||||
"as it avoids round trip through a server, which is important with real time communications. " .
|
||||
"But it also ensures the privacy of your communications.",
|
||||
"SERVERLESS" => "Serverless, really ?",
|
||||
"ABOUT_SERVERLESS" => "We're talking about peer to peer, but, in reality, a server is still needed somewhere" .
|
||||
"In WebRTC applications, server fulfil several roles: " .
|
||||
"<ol>" .
|
||||
" <li>A meeting point: lets clients exchange each other the needed information to establish peer to peers connections</li>" .
|
||||
" <li>Provides the client! you don't have anything to install, but your browser still need to download a few scripts" .
|
||||
" (the core is written in JavaScript)</li>" .
|
||||
" <li>Signaling: some data without any confidential or private meaning are sent through " .
|
||||
" what we call the signaling channel. This channel is routed through a server. However, " .
|
||||
" this channel doesn't transport any sensible information. It's used for example to " .
|
||||
" sync colors between peers, notify when someone join the room, when someone mute his mic " .
|
||||
" or when the rooom is locked</li>" .
|
||||
" <li>NAT traversal helper: the <a href='http://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment'>ICE</a> " .
|
||||
" mechanism is used to allow clients behind a NAT router to establish their connections. " .
|
||||
" As long as possible, channels through which sensible informations are sent (called data channels) " .
|
||||
" are established peer to peer, but in some situations, this is not possible. A " .
|
||||
"<a href='http://en.wikipedia.org/wiki/Traversal_Using_Relays_around_NAT'>TURN</a> server is used to relay data. " .
|
||||
" But even in those cases, the server only relays ciphered packets, and has no access to the data " .
|
||||
" so confidentiality is not compromised (only latency will be affected)</li>".
|
||||
"</ol>",
|
||||
"WHO_IS_BEHIND_VROOM" => "Who's behind VROOM ?",
|
||||
"ABOUT_WHO_IS_BEHIND_VROOM" => "VROOM started as a simple personal project, developped by a single person " .
|
||||
"(Daniel Berteaud) on my spare time. This project wouldn't be that far without my employer " .
|
||||
|
|
|
@ -325,41 +325,6 @@ our %Lexicon = (
|
|||
" <li>Un navigateur web moderne</li>" .
|
||||
"</ul>" .
|
||||
"*: exceptés ipad et iphone",
|
||||
"HOW_IT_WORKS" => "Comment ça marche ?",
|
||||
"ABOUT_HOW_IT_WORKS" => "WebRTC permet d'établir des connexions directement entre les navigateurs " .
|
||||
"des participants. Cela permet d'une part d'offrir la meilleur latence possible ".
|
||||
"en évitant les allés-retours avec un serveur, ce qui est toujours important " .
|
||||
"lors de communications en temps réel. D'autre part, cela permet aussi de " .
|
||||
"garantir la confidentialité de vos communications.",
|
||||
"SERVERLESS" => "Aucun serveur, vraiment ?",
|
||||
"ABOUT_SERVERLESS" => "On parle de pair à pair depuis tout à l'heure. En réalité, vous avez toujours " .
|
||||
"besoin d'un serveur quelque part. Dans les applications WebRTC, le serveur " .
|
||||
"remplis plusieurs rôles:" .
|
||||
"<ol>" .
|
||||
" <li>Le point de rendez-vous: permet à tous les participants de se " .
|
||||
" retrouver et de s'échanger les informations nécessaires pour " .
|
||||
" établir les connexions en direct</li>" .
|
||||
" <li>Le client: il n'y a rien à installer sur le poste, mais votre navigateur " .
|
||||
" doit cependant télécharger un ensembles de scripts (la majorité étant du " .
|
||||
" JavaScript)</li>" .
|
||||
" <li>Le signalement: certaines données sans caractère confidentiel transitent " .
|
||||
" par ce qu'on appel le canal de signalement. Ce canal passe par un serveur. " .
|
||||
" Cependant, ce canal ne transmet aucune information personnelle ou sensible. Il " .
|
||||
" est par exemple utilisé pour synchroniser les couleurs associées à chaque " .
|
||||
" participant, quand un nouveau participant arrive, quelqu'un coupe son micro " .
|
||||
" ou encore verrouille le salon</li>" .
|
||||
" <li>Aide aux contournements du NAT: le mechanisme " .
|
||||
"<a href='http://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment'>ICE</a> " .
|
||||
" est utilisé pour permettre aux clients derrière un NAT d'établir leurs connexions. " .
|
||||
" Tant que c'est possible, les cannaux par lesquels les données sensibles transitent " .
|
||||
" (appelés canaux de données) sont établis en direct, cependant, dans certaines " .
|
||||
" situations, celà n'est pas possible. Un serveur " .
|
||||
"<a href='http://en.wikipedia.org/wiki/Traversal_Using_Relays_around_NAT'>TURN</a> " .
|
||||
" est utilisé pour relayer les données. Même dans ces situations, le serveur " .
|
||||
" n'a pas accès aux données, il ne fait que relayer des trames " .
|
||||
" chiffrées parfaitement inintelligibles, la confidentialité des communications " .
|
||||
" n'est donc pas compromise (la latence sera par contre affectée)</li>".
|
||||
"</ol>",
|
||||
"WHO_IS_BEHIND_VROOM" => "Qui développe VROOM ?",
|
||||
"ABOUT_WHO_IS_BEHIND_VROOM" => "VROOM a démarré comme un simple projet personnel, développé par une seule personne " .
|
||||
"(Daniel Berteaud) sur mon temps libre. Ce projet n'en serait pas " .
|
||||
|
|
|
@ -14,30 +14,6 @@
|
|||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">
|
||||
<%=l 'HOW_IT_WORKS' %>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p>
|
||||
<%==l 'ABOUT_HOW_IT_WORKS' %>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">
|
||||
<%=l 'SERVERLESS' %>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p>
|
||||
<%==l 'ABOUT_SERVERLESS' %>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<% if ($config->{'interface.demo'}){ %>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
|
|
|
@ -53,6 +53,26 @@
|
|||
</p>
|
||||
|
||||
|
||||
<h1 id="how_it_works">
|
||||
How it works
|
||||
</h1>
|
||||
<p>
|
||||
WebRTC allows browsers to browsers direct connections. This allows the best latency as it avoids round trip through a server,
|
||||
which is important with real time communications. But it also ensures the privacy of your communications. VROOM takes advantage of those
|
||||
new WebRTC technologies, and does the following:
|
||||
<ul>
|
||||
<li>When a client joins a room, it establishes a Websocket link to VROOM. This is called the signaling channel. With this, all peers are able
|
||||
to exchange small messages between them. But messages sent through this channels is routed through VROOM server, so it's not yet peer to peer</li>
|
||||
<li>When a second peer joins the same room, he get through this signaling channel informations about how to connedct directly to the other one</li>*
|
||||
<li>Now, both peer exchange their video and audio stream directly</li>
|
||||
<li>The signaling channel stays open and is used to transmit non sensitive informations (peer colors synchronization, notification of muting/kicking etc...)</li>
|
||||
<li>Everything else (audio/video/text chat) is sent through data channels
|
||||
</ul>
|
||||
</p>
|
||||
<div class="alert alert-info">
|
||||
As long as possible, data channels are established directly between peers, but in some situations, this is not possible. In those case
|
||||
data streams are relayed through a TURN server
|
||||
</div>
|
||||
|
||||
<h1 id="install_your_own">
|
||||
Install your own VROOM instance
|
||||
|
|
Loading…
Reference in New Issue