Résumé:
Avec le développement du web 2.0 ces dernières années, et plus récemment l'avènement des technologies web temps réel, il est désormais possible de créer des applications web aussi performantes que les logiciels "classiques" que nous avons tous l'habitude d'utiliser sur nos ordinateurs. C'est dans cette optique que s'inscrit ce travail de Master dont l'objectif est de développer une application web pour le partage de fichiers en peer-to-peer. Une telle application permettrait d'éviter à l'utilisateur d'avoir à installer un logiciel sur son ordinateur, tout en lui offrant des fonctionnalités aussi avancées que celles proposées par les logiciels classiques de peerto-peer. En effet, contrairement aux anciennes approches qui nécessitaient l'installation de plugins spécifiques pour pouvoir bénéficier d'une communication peer-to-peer entre deux navigateurs, l'application web EasyP2P que nous avons réalisée utilise les technologies web temps réel incorporées récemment dans les navigateurs web. Pour la conception de l'application EasyP2P, nous avons utilisé l'extension WAE (Web Application Extension) du langage UML qui permet de prendre en compte les spécificités des applications web. Pour la réalisation, nous avons opté pour une solution basée sur JavaScript. L'utilisation de ce langage permet d'avoir un code léger que ce soit du côté client et du côté serveur assurant ainsi de hautes performances pour notre application web. Plus précisément, nous avons utilisé Node.js pour la mise en æuvre du serveur, la librairie socket.io pour l'utilisation des websockets et enfin la bibliothèque EasyRTC pour la communication peer-to-peer.
Mots clés: peer to peer, web socket, WebRTC, node.js, architecture p2p centralisée, application web