txs:contrib:peertube_a18:decouverte_peertube

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
txs:peertube-a18:decouverte_peertube [2018/12/19 18:05] – [Stack technique] clement.brizardtxs:peertube-a18:decouverte_peertube [2019/01/12 19:41] – [Streaming peer-to-peer avec WebTorrent] clement.brizard
Ligne 48: Ligne 48:
 Quand une instance A //follow// une instance B, elle donne accès à ses utilisateurs aux vidéos de l'instance B. Pour ce faire, B fournit à A des //metadata// sur ses vidéos : en particulier la [[https://fr.wikipedia.org/wiki/Magnet_(standard)|magnet URI]] du fichier torrent, une image miniature et une description. Quand une instance A //follow// une instance B, elle donne accès à ses utilisateurs aux vidéos de l'instance B. Pour ce faire, B fournit à A des //metadata// sur ses vidéos : en particulier la [[https://fr.wikipedia.org/wiki/Magnet_(standard)|magnet URI]] du fichier torrent, une image miniature et une description.
  
-Pour ce faire, PeerTube utilise , un outil s'appuyant sur [[https://fr.wikipedia.org/wiki/WebRTC|procotole WebRTC]] (//Web Real Time Communication//). Cette technologie connecte les clients pairs entre eux (les navigateurs) pour permettre la **distribution des torrents directement dans le navigateur**.+Pour ce faire, PeerTube utilise [[https://en.wikipedia.org/wiki/WebTorrent|WebTorrent]], un outil s'appuyant sur [[https://fr.wikipedia.org/wiki/WebRTC|WebRTC]] (//Web Real Time Communication//). WebRTC définit les spécifications de quelques API javascript pour permettre la communication temps réel entre navigateurs (cf. [[https://www.w3.org/TR/webrtc/|www.w3.org/TR/webrtc/]]). Ces spécifications sont ensuite implémentées par les différents navigateurs web. WebTorrent utilise le même protocole que [[https://www.bittorrent.com/lang/fr/]|BitTorrent]], qui permet de //streamer// le contenu avant d'avoir fini de le télécharger. La vidéo est fragmentée en //chunks// (morceauxqui sont partagés en temps réel par les navigateurs des utilisateurs en train de visionner la vidéo. Chaque client est donc bien lui-même fournisseur du contenu, on parle de //streaming peer-to-peer//.
  
-Le problème qui pourrait se poser, c'est **si une vidéo devenait virale**, ce qui est loin d'être improbable. À cet effet, WebTorrent est une implémentation du protocole [[https://www.bittorrent.com/lang/fr/]|BitTorrent]], qui permet de //streamer// le contenu avant d'avoir fini de le télécharger. La vidéo est fragmentée en //chunks// (morceaux) qui sont partagés en temps réel par les navigateurs des utilisateurs en train de visionner la vidéo. Chaque client est donc bien lui-même fournisseur du contenuon parle de //streaming peer-to-peer//.+WebTorrent utilise cependant une couche transport différenteTandis que BitTorrent utilise des connexions TCP/UDP qui ne peuvent pas être implémentées directement dans une application web pour des questions de sécuritéWebTorrent utilise les API WebRTC.
  
 +Petite parenthèse: cela crée deux réseaux de partage de torrents: un réseau basé sur WebRTC et un autre basé sur TCP/UDP. Ces réseaux ne peuvent pas communiquer directement entre eux, bien qu'il existe certaines applications comme [[https://webtorrent.io/desktop/|WebTorrent Desktop]] qui permettent de faire le pont entre les deux.
 +
 +L'intérêt d'utiliser WebTorrent est de ne pas surcharger le serveur lorsqu'une vidéo devient virale. En effet, au lieu de devoir envoyer la même vidéo à des centaines d'utilisateurs en même temps, il suffit de l'envoyer à quelques-uns, qui la rediffuseront à leur tour, leur navigateur devenant fournisseur du contenu.
 ==== Stack technique ==== ==== Stack technique ====
 PeerTube est développé à l'aide de nombreuses technologies((Celles soulignées correspondent à celles auxquelles nous avons eu affaire durant notre TX.)). PeerTube est développé à l'aide de nombreuses technologies((Celles soulignées correspondent à celles auxquelles nous avons eu affaire durant notre TX.)).
  • txs/contrib/peertube_a18/decouverte_peertube.txt
  • de 127.0.0.1