Salut,
Est ce qu'il y en a qui ont de l'expérience avec des technologies de p2p dans le navigateur ? Il y a des librairies comme https://webtorrent.io/ et http://pixelscommander.github.io/Viral.JS qui permettent de distribuer en pair à pair du contenu ou le code source de l'application.
Cas d'usage : je trouve l'idée très intéressante pour créer une application communautaire et décharger/réduire volontairement tout le travail d'adminsys et coûts de serveurs sur l'ensemble de la communauté, pour peu que les utilisateurs soient sensibilisés à ces problématique (ils sauront qu'ils doivent faire tourner l'application en arrière plan pour contribuer). Par exemple un site/réseau social de partage de photographies en bonne qualité. Quels seraient les risques et les problèmes d'un tel système selon vous ?
- Il faut imaginer que l'on a pas le contrôle sur les données (donc les codes sources) échangées entre pairs, cela peut amener plusieurs problèmes, mais aussi re réfléchir à la conception même de l'application. Par exemple on peut se dire qu'il faut une forme de certification du code source, donc une "source officielle" garantie par le serveur, les gens peuvent après choisir de ne pas utiliser le code source officiel. Puis au final on peut se dire que les codes sources ne sont que des données et que les clients exécutent le code qu'ils veulent.. Ce qui ne résout pas les problèmes de sécurité évidemment.
- Ensuite vient la question de savoir si on peut stocker des données privées entre les pairs ainsi que chaque pair (puisqu'il fait tourner le code qu'il a envie) peut choisir les contenus qu'il va stocker et transmettre aux autres pairs (l'ensemble des données peut peser trop lourd pour un seul pair), ainsi il peut notamment refuser de stocker & transmettre des informations chiffrées / qu'il n'arrive pas à lire / qui ne l'intéresse pas. Comment s'identifier et s'authentifier sur un tel réseau ?
- Autre question, comment identifier une donnée que l'on souhaite acquérir ? Un truc comme les liens magnet des torrents ?
- Après il y a des question techniques secondaires comme : créer des sessions, ne pas surcharger les utilisateurs mobile qui payent la bande passante, le fait qu'on ne peut pas stocker beaucoup si c'est lancé dans un navigateur (utiliser le localStorage ?), le fait que l'on peut créer une application desktop avec des outils comme Electron et donc disposer de plus de fonctionnalités et gestion des fichiers etc…
On peut aussi faire un compromis entre le fonctionnement classique serveur-client et le nouveau fonctionnement en p2p : par exemple c'est le serveur central qui distribue le code source, stocke les informations privées et authentifie les utilisateurs, et tout le reste est distribué parmi les clients (surtout les gros fichiers, les photographies haute résolution pour reprendre l'exemple plus haut).
Est ce que vous voyez d'autres problèmes, est ce que vous penser que ce genre de technologies a des cas d'usages concrets ?
Merci d'avance .