Menu

Connexion utilisateur

Thaw

Site officiel: Thaw

Avant de lire cette page, je vous recommande de lire celle-çi.

J'ai commencé à travailler sur Thaw pour mon Summer of code (2006). Le but initial était de remplacer Fuqid. Fuqid est (était ?) un logiciel écrit en Delphi permettant, grosso-modo, l'insertion et le téléchargement de fichier depuis Freenet (je vous passes içi la longue liste de fonctionnalités inutiles fournies en plus). Le gros problème avec Fuqid est qu'il n'est pas portable (Windows only) et son concepteur disait aux linuxiens que "mais si mais si, il marche super bien sous Linux, suffit d'utiliser Wine" (perso quand je lis ce genre de truc, j'ai envie de prendre une grosse pierre et la balancer sur le monsieur).

Pour des raisons de portabilités, et parce-que c'est le seul langage commun entre tout les développeurs Freenet, j'ai choisi d'écrire Thaw en Java (aille, patapé, aille). Et pour éviter d'avoir une dépendance supplémentaire comme SWT, j'ai choisi de faire l'interface à grand coup de Swing (d'ailleurs, la bonne nouvelle, c'est que avec Java 1.6, on peut passer ça en GTK tout beau tout bien (quoique) ... la mauvaise nouvelle, c'est que je lutte avec des bugs de Swing ... bon je m'égare là).

Une autre partie de mon Summer of Code était axée sur le besoin de rendre Freenet plus attractif. Et à ce moment là, ce qu'il manquait à Freenet était un outil permettant d'échanger facilement des fichiers. Thaw fournit un moyen pour échanger des fichiers par dessus Freenet, et plus encore (forum de discussions Frost, monitoring de vos connexions Freenet, etc).

Télécharger Thaw

http://downloads.freenetproject.org/alpha/Thaw/

Thaw.jar correspond toujours à la dernière version stable.
Thaw-testing.jar correspond toujours à la version en cours de développement (aussi connu sous le nom de "faites-vos-backups-avant-parce-que-ça-peut-cramer")

Pas mal de gens ont tendance à préférer la version de développement parce-qu'elle a bien souvent plus de fonctionnalités et moins de bugs. Au passage, je n'accepte que les rapports de bugs fait à partir de la version de développement. Ceci dit, je ne serais être tenu pour responsable en cas de perte de données dûe à la version de dev (enfin légalement parlant, c'est aussi vrai pour la version stable, cf la license GPL sous laquelle est distribuée Thaw).

Lancer Thaw

Mettez Thaw.jar (ou Thaw-testing.jar) dans un dossier bien à lui. En effet, Thaw.jar n'est pas un installateur, mais le programme lui-même.

Sous Windows

Double-cliquez sur Thaw.jar. Si ça ne marche pas comme prévu, vérifiez que vous avez bien installé Java, et si ce n'est pas la source du problème, je vous renvoi sur cette manipulation.

Sous Linux

Dans un terminal:

À sa première execution, Thaw.jar va mettre en place dans le répertoire courant les .jar dont il dépend (BouncyCastle, Hsqldb, jmDns), mettre en place la base de données dont il se sert pour stocker divers "trucs" (=> 5 fichiers dont les noms commencent par 'thaw.db'), et écrire son fichier de configuration (thaw.conf.xml). D'où l'intérêt de l'avoir mis dans un répertoire à part.

Les indexes

Dans le cas de Thaw, un index c'est

  1. un fichier XML contenant une liste de clefs Freenet (=> de fichiers)
  2. et des liens vers d'autres indexes.
  3. potentiellement d'autres choses, comme:
    1. la clef privé de l'index pour que n'importe qui puisse le modifier
    2. la catégorie de l'index (utilisé pour les trier automagiquement)
    3. des mots-clefs ainsi que les fichiers dans lesquels ils ont été trouvé*
    4. les informations nécessaires au postage de commentaires
    5. les informations nécessaires pour faire de l'insertion-sur-demande* (oui je sais c'est Mal(tm), mais des fois ça peut servir)
    6. et j'en passe

C'est tellement simple que ça en devient magique. :)
(pour les curieux, les specifications sont disponibles sur le wiki Freenet)

MiniFrost

MiniFrost est un plugin Thaw (cf ci-dessous) permettant de consulter et d'écrire des messages sur les boards Frost (un système de forums profitant de l'anonymat offert par Freenet). À noter qu'il est possible d'importer ses clefs de signature depuis un Frost déjà existant.

Les plugins Thaw

Le système de plugin dans Thaw est relativement rudimentaire. À l'heure actuelle, les plugins doivent être intégrés dans le même fichier .jar que Thaw (autrement dit, vous ne pourrez pas ajouter de plugins externes à votre Thaw). Cependant ils offrent tout de même l'avantage de pouvoir être activés / désactivés à la demande, laissant l'utilisateur libre d'utiliser les parties de Thaw qui l'intéresse.

Il y a par exemple deux plugins, SqlConsole et LogConsole, qui n'intéresseront probablement pas le commun des mortels. En effet, le premier me sert à farfouiller rapidement dans la base de données de Thaw, et le deuxième permet de consulter les logs Thaw même quand on est sur un OS douteux où les terminaux ne sont pas toujours facilement accessibles.

Dans le même style, certaines personnes peuvent vouloir désactiver le plugin PeerMonitor. Ce plugin est en effet un peu plus gourmand que les autres en bande passante (toutes les 10 secondes, ils demande l'intégralité des informations relatives aux peers à la node, c'est pas colossal, mais c'est pas négligeable non plus), et l'UI est encore un peu mal définie.

Quelques screenshoutes

Depuis la version 0.6, j'ai pris l'habitude de faire des screenshots de la bête (avant j'avais trop honte ;).
Voici donc les-dits screenshots.


* : Pas encore développé