Move some technical info into the doc page instread of about

This commit is contained in:
Daniel Berteaud 2015-03-13 18:23:56 +01:00
parent d8d321dca3
commit e99d91610a
4 changed files with 20 additions and 83 deletions

View File

@ -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 " .

View File

@ -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 " .

View File

@ -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">

View File

@ -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