From e99d91610a66eee725a8f4beffd15d967e09a3ab Mon Sep 17 00:00:00 2001
From: Daniel Berteaud
Date: Fri, 13 Mar 2015 18:23:56 +0100
Subject: [PATCH] Move some technical info into the doc page instread of about
---
lib/Vroom/I18N/en.pm | 24 ----------------------
lib/Vroom/I18N/fr.pm | 35 ---------------------------------
templates/default/about.html.ep | 24 ----------------------
templates/default/documentation.html.ep | 20 +++++++++++++++++++
4 files changed, 20 insertions(+), 83 deletions(-)
diff --git a/lib/Vroom/I18N/en.pm b/lib/Vroom/I18N/en.pm
index ce30134..329f14c 100644
--- a/lib/Vroom/I18N/en.pm
+++ b/lib/Vroom/I18N/en.pm
@@ -307,30 +307,6 @@ our %Lexicon = (
" A web browser" .
"" .
"*: 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: " .
- "" .
- " - A meeting point: lets clients exchange each other the needed information to establish peer to peers connections
" .
- " - 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)
" .
- " - 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
" .
- " - NAT traversal helper: the ICE " .
- " 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 " .
- "TURN 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)
".
- "
",
"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 " .
diff --git a/lib/Vroom/I18N/fr.pm b/lib/Vroom/I18N/fr.pm
index 85ff885..7d95fd8 100644
--- a/lib/Vroom/I18N/fr.pm
+++ b/lib/Vroom/I18N/fr.pm
@@ -325,41 +325,6 @@ our %Lexicon = (
" Un navigateur web moderne" .
"" .
"*: 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:" .
- "" .
- " - 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
" .
- " - 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)
" .
- " - 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
" .
- " - Aide aux contournements du NAT: le mechanisme " .
- "ICE " .
- " 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 " .
- "TURN " .
- " 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)
".
- "
",
"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 " .
diff --git a/templates/default/about.html.ep b/templates/default/about.html.ep
index c08a072..0fbda21 100644
--- a/templates/default/about.html.ep
+++ b/templates/default/about.html.ep
@@ -14,30 +14,6 @@
-
-
-
- <%=l 'HOW_IT_WORKS' %>
-
-
-
-
- <%==l 'ABOUT_HOW_IT_WORKS' %>
-
-
-
-
-
-
- <%=l 'SERVERLESS' %>
-
-
-
-
- <%==l 'ABOUT_SERVERLESS' %>
-
-
-
<% if ($config->{'interface.demo'}){ %>
diff --git a/templates/default/documentation.html.ep b/templates/default/documentation.html.ep
index 72db4e8..bb69f8c 100644
--- a/templates/default/documentation.html.ep
+++ b/templates/default/documentation.html.ep
@@ -53,6 +53,26 @@
+
+ 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. VROOM takes advantage of those
+ new WebRTC technologies, and does the following:
+
+ - 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
+ - When a second peer joins the same room, he get through this signaling channel informations about how to connedct directly to the other one
*
+ - Now, both peer exchange their video and audio stream directly
+ - The signaling channel stays open and is used to transmit non sensitive informations (peer colors synchronization, notification of muting/kicking etc...)
+ - Everything else (audio/video/text chat) is sent through data channels
+
+
+
+ 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
+
Install your own VROOM instance