Tox (protocole)

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Page d'aide sur l'homonymie Pour les articles homonymes, voir Tox (homonymie).
Tox
Description de l'image ToxLogo.png.
Description de cette image, également commentée ci-après
Capture d'écran du client uTox sous GNU/Linux.
Informations
Première version
Dernière version 0.2.8 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/TokTok/c-toxcoreVoir et modifier les données sur Wikidata
Écrit en C
Système d'exploitation Microsoft Windows, Linux, macOS, Android, iOS, FreeBSD, OpenIndiana et Sailfish OSVoir et modifier les données sur Wikidata
Environnement Android, FreeBSD, iOS, Linux, Microsoft Windows, OpenIndiana, OS X, Sailfish OS
Langues Multilingue
Type VoIP, Messagerie instantanée, Visioconférence
Politique de distribution Gratuit
Licence GPL-3.0Voir et modifier les données sur Wikidata
Site web tox.chat

Tox est un protocole réseau ouvert de messagerie instantanée, voix sur IP et visioconférence, fonctionnant en pair à pair et chiffré. Le but affiché du projet est de fournir à tous une communication sécurisée et aisée[2] et une alternative à Skype[3]. Une implémentation de référence est disponible sous la licence libre GNU GPL 3 ou supérieure.

Histoire[modifier | modifier le code]

Tox a débuté le 22 juin 2013, sur 4chan, dans un sujet concernant la vie privée des utilisateurs de Skype par rapport aux révélations d'Edward Snowden liées à la surveillance globale, lesquelles s'étaient produites quelques semaines auparavant [4]. Le nom de Tox fut suggéré[4] et fut accepté officiellement du fait de son usage persistant.

La publication officielle sur GitHub a été effectuée le 23 juin 2013 par un utilisateur nommé irungentoo[5]. Des binaires de test pré-alpha ont été rendus disponibles aux utilisateurs à partir du 3 février 2014.

Des nightly builds de Tox (littéralement des constructions nocturnes, c'est-à-dire des versions réalisées et mises à disposition en soirée ou pendant la nuit) sont continuellement publiées par l'automate Jenkins[6].

Le 12 juillet 2014, Tox est entré dans le stade alpha de son développement et une page de téléchargement rénovée a été créée pour l'occasion[7].

Fonctionnalités[modifier | modifier le code]

Les utilisateurs se voient assigner une clé publique et une clé privée, puis se connectent les uns aux autres directement dans un réseau pair à pair. Ils ont la possibilité d'envoyer des messages à leurs amis, de se joindre à des salons de discussion avec des amis ou des étrangers, ainsi que de s'échanger des fichiers. Tout est chiffré en utilisant les bibliothèques libsodium (software) (en) ou NaCl (software) (en).

En février 2014, les appels audio et vidéo, ainsi que les conférences étaient toujours en cours d'implémentation.

En août 2014, ces fonctionnalités étaient prêtes dans tous les clients principaux.

Le client officiel a pour objectif de fournir le support de la messagerie instantanée, des salons de discussion, des appels vocaux et de la visioconférence, de l'indication de frappe, des accusés de réception, de la technologie push to talk, de la technologie de partage de fichiers et du partage d'écran.

Des fonctionnalités supplémentaires peuvent être implémentées par n'importe quel client, du moment qu'elles sont supportées par le protocole principal. Les fonctionnalités qui ne sont pas liées au système principal de réseau sont laissées à la discrétion du client.

Architecture[modifier | modifier le code]

Principale[modifier | modifier le code]

L'architecture du projet Tox est basée sur une bibliothèque principale (cœur) établissant le protocole et l'API. La première API stable nommée Toxcore est sortie le 14 décembre 2016, sous le numéro 0.10[8]. Les front-ends des utilisateurs, ou clients, sont construits au-dessus de ce cœur. N'importe qui peut créer un client utilisant le cœur.

Un rapport technique décrivant la conception du cœur, écrit par son développeur irungentoo et mis à jour occasionnellement, est disponible publiquement depuis août 2014 sur le Jenkins de la Tox Foundation[9].

Protocole[modifier | modifier le code]

Le cœur de Tox est une implémentation du protocole Tox. Il s'agit donc d'un exemple de la couche application du modèle OSI et probablement de la couche présentation.

Il existe des implémentations du protocole Tox qui ne sont pas issues du projet, tel que par exemple Xot[10].

Tox utilise le format audio Opus et le format vidéo VPX (VP8 en 2015)[11]. Le protocole SIP n'est pas utilisé[11].

Clients[modifier | modifier le code]

Un client est un programme qui utilise la bibliothèque Tox principale pour communiquer avec d'autres utilisateurs du protocole Tox. Le mock-up du site officiel représente le client GTK+ Venom, mais beaucoup d'autres clients sont disponibles pour une large variété de systèmes[12].

Les clients officiels sont[7] :

Système d'exploitation Nom du client Écrit en…
Linux, Windows, OS X, BSD, Android uTox[13] C (API Win32, Xlib)
FreeBSD, Linux, OS X, Windows qTox[14] C++ (Qt)
FreeBSD, Linux, OpenIndiana Venom[15] Vala (GTK+)
Android (2.3+) Antox[16] Scala
iOS (7.0+) Antidote[17] Objective-C

Autres projets utilisant le protocole Tox :

  • Otruta : premier projet à utiliser le protocole Tox dans son propre réseau. Otruta est un « outil de talkie-walkie crypto-protégé »[18] à l'usage des activistes pour communiquer dans des situations dangereuses. Aucun code n'a encore été soumis sur la page GitHub. Ce projet a été accepté par le Project Tox dans le cadre du Google Summer of Code 2014[19].
  • ToxSync : synchronisation chiffrée de fichiers utilisant le protocole Tox. Synchronise des répertoires entre les dispositifs de l'utilisateur qui utilisent des clients ToxSync. Pas encore fonctionnel (novembre 2014). Constitue une alternative au logiciel BitSync[20].

Il existe aussi un plugin Tox pour Pidgin.

Le client tierce partie ratox, basé sur des tubes nommés et réalisé par plusieurs membres du projet suckless.org, est également disponible[21].

Réception[modifier | modifier le code]

Tox a fait l'objet d'une énorme couverture médiatique au cours des premières étapes de sa conception, attirant l'attention de sites d'information technologique du monde entier[22],[23],[24],[25].

Le 15 août 2013, Tox était numéro cinq sur la liste des projets les plus tendance de GitHub[26].

Des inquiétudes au sujet de fuites de métadonnées ont été soulevées. Les développeurs y ont alors répondu en implémentant un routage en oignon pour le processus de recherche d'amis[27].

La fondation Tox (dont les développeurs se sont séparés depuis[28]) puis le projet Tox a été acceptée par le Google Summer of Code en qualité d'organisation mentor en 2014 et 2015[29],[30].

Références[modifier | modifier le code]

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Tox (software) » (voir la liste des auteurs).
  1. « Release 0.2.8 » (consulté le 8 octobre 2018)
  2. « Tox (site officiel) » (consulté le 23 novembre 2014)
  3. Richard Hartmann, ProjectTox-Core: Free as in freedom Skype replacement, (lire en ligne) :

    « Project Tox, also known as Tox, is a FOSS instant messaging application aimed to replace Skype »

  4. a et b (en) « Daily reminder that Skype reads the URLs you send, your browser profile, sends encrypted data to Microsoft data centers and gives your conversations to the NSA. », Rebecca Black Tech Archive (consulté le 23 novembre 2014)
  5. (en) « Initial commit », sur GitHub (consulté le 23 novembre 2014)
  6. (en) « The magical Tox binary build system » (consulté le 23 novembre 2014)
  7. a et b (en) « The day we've all been waiting for » [archive du ], Tox project (consulté le 23 novembre 2014)
  8. (en) « First Stable API », sur github.com (consulté le 8 novembre 2017)
  9. (en) « Technical Report », Tox Foundation (consulté le 23 novembre 2014)
  10. (en) « Xot » (consulté le 23 novembre 2014)
  11. a et b (en) « users:techfaq - Tox Wiki », sur wiki.tox.chat (consulté le 1er août 2017)
  12. (en) « Client » (consulté le 23 novembre 2014)
  13. (en) « uTox » (consulté le 24 novembre 2014)
  14. (en) « qTox » (consulté le 24 novembre 2014)
  15. (en) « Venom » (consulté le 24 novembre 2014)
  16. (en) « Antox » (consulté le 8 novembre 2017)
  17. (en) « Antidote » (consulté le 8 novembre 2017)
  18. (en) « Otruta » (consulté le 24 novembre 2014)
  19. (en) « Project Tox » (consulté le 24 novembre 2014)
  20. (en) « ToxBox » [archive du ] (consulté le 24 novembre 2014)
  21. (en) Dimitris Papastamos, « ratox: FIFO based tox client » (consulté le 24 novembre 2014)
  22. (en) Saroj Kar, « Tox: A Replacement For Skype And Your Privacy? », SiliconANGLE, (consulté le 24 novembre 2014)
  23. (de) Sebastian Grüner, « Skype-Alternative Freier und sicherer Videochat mit Tox », Golem.de, (consulté le 24 novembre 2014) (Le tchat vidéo plus libre et sûr avec Tox)
  24. (ru) « Проект Tox развивает свободную альтернативу Skype », opennet.ru,‎ (consulté le 24 novembre 2014) (Le projet Tox développe un remlpaçant libre de Skype)
  25. (de) Manuel Nitschke, « Skype-Alternative Tox zum Ausprobieren », heise.de, (consulté le 24 novembre 2014) (Tox le remplaçant de Skype testé)
  26. (en) Matt Asay, « GitHub's new 'Trending' Feature Lets You See The Future », ReadWriteWeb, (consulté le 24 novembre 2014)
  27. (en) « Prevent_Tracking.txt », sur GitHub (consulté le 24 novembre 2014)
  28. « News regarding the Tox Project »
  29. « Project Tox », GSoC 2014 (consulté le 7 mars 2015)
  30. « Project Tox », GSoC 2015 (consulté le 7 mars 2015)

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]