rulururu

post DNS-323 - Installer Fun Plug

mars 14th, 2010

Catégorie: Code — 23unit @ 19:11

Etant en possession depuis maintenant une semaine d’un NAS Dlink DSN-323, j’ai voulu effectuer quelques manipulations dessus n’étant pas satisfait de la prise en charge totale de mac par ce dernier.

En effet, il faut avoir windows pour pouvoir se servir de leur interface de gestion des torrents. Quel honte me direz-vous ! :D

Je me suis dit alors, tant pis, je vais essayer d’en installer un autre, Transmission par exemple.

Mais pour pouvoir effectuer des manipulations de ce genre sur le DNS-323, il faut installer au préalable un package connu dénommé Fun-Plug.

Il suffit tout d’abord de récupérer fun_plug et fun_plug.tgz ici : http://www.inreto.de/dns323/fun-plug/0.5/

Placez ses 2 fichiers dans votre NAS, à la racine de Volume_1 (par le finder de votre mac).

Ensuite, redémarrez votre NAS, et l’installation se lancera automatiquement au boot de ce dernier.

Pour savoir si l’installation c’est bien passé, il suffit de vérifier la présence du répertoire ffp dans Volume_1, puis de la suppression de fun_plug.tgz.

C’était simple non?

Vous pouvez maintenant, avec le terminal de votre mac (ou putty sous windows) accéder en telnet à votre NAS en tapant : telnet <IP>.

Maintenant que nous avons cet accès telnet, passons à l’installation de Transmission.

Pour le faire fonctionner, nous aurons besoin bien entendu de transmission, mais aussi de curl et uclibc (que l’on récupérera par la suite).

Une fois ses 2 fichiers téléchargés, placez les dans Volume_1, puis en telnet, exécutez ses lignes :

# funpkg -i curl-7.18.1.tgz
# funpkg -i Transmission-1.91-1.tgz
# wget http://www.inreto.de/dns323/fun-plug/0.5/packages/uclibc-0.9.29-7.tgz
# funpkg -i uclibc-0.9.29-7.tgz

Alors, sans rentrer dans les détails, Transmission fonctionne avec transmission-daemon et transmission-remote.

La première fois, il est nécessaire de le configurer un minimum, un petit coup de transmission-daemon –help ou transmission-remote –help vous ferons comprendre beaucoup de choses.

Configurons maintenant l’interface web par laqu’elle nous pourrons, entre autre, gérer nos téléchargements (légaux :D) torrents :

transmission-daemon -f -g /mnt/HD_a2/.transmission-daemon -t -u <username> -v <password> -a 127.0.0.1,192.168.*.* –incomplete-dir /mnt/HD_a2/Progress -w /mnt/HD_a2/Downloads

Dans ce cas précis je demande à me logger sur l’interface avec un <username> et un <password>, que j’autorise le local et le réseau, que les téléchargements en cours doivent aller dans Volume_1/Progress et que les téléchargements finis doivent aller dans Volume_1/Downloads (les créer par le finder de votre mac par exemple ou avec mkdir en telnet).

En exécutant cette ligne plusieurs lignes vont s’affichés, pas de panique c’est normal, attendez un petit peu, puis un petit ctrl+c pour stopper cela.

Normalement à ce stade vous pouvez accéder à votre interface web de gestion de torrents en tapant http://<NAS IP>:9091/ (9091 étant le port par défaut).

Et pour finir, on lance Transmission :

 /ffp/start/transmission.sh start

Voilà, c’est fini !

Et pour ceux qui se posent la question, oui si on redémarre notre NAS transmission se lance automatiquement :D (car son script sh de lancement est situé dans ffp/start/, là où on met les scripts à lancer par fun_plug au boot du NAS [avec un petit chmod a+x dessus si cela ne se lance pas ;) ] ).

Prochaine article -> ajouter les torrents automatiquement à partir d’un dossier, les supprimer lors de l’ajout et arrêter et retirer de la liste les torrents qui ont un ratio supérieur à 1. Que de choses :D

Je finirais bien sur ce billet en citant mes sources :

http://forum.dsmg600.info/viewtopic.php?id=2719
http://wiki.dns323.info/start

Bye ;)

post APE - Ajax Push Engine 1.0 Beta 5 - Test

décembre 12th, 2009

Catégorie: Code — 23unit @ 16:19

Comme vous le savez surement, une technique devient très à la mode si on peu dire : le push.

L’iPhone a démocratiser le terme avec ses applications se servant du dit push.

Mais un autre langage met l’accent sur cette nouvelle façon d’intéragir en temps réel avec les utilisateurs : le javascript.

Et plus particulièrement http://www.ape-project.org

Grâce à leur documentation très clair, j’ai fait un petit essai de serveur APE sur une machine virtuelle sous Ubuntu (Karmic).

Tout d’abord télécharger la dernière version de APE Server sur le site cité plus haut.

Ensuite, en console, écrire :
ape-get install build-essential libmysqlclient-dev

Une fois les dépendances installées, décompresser le tar.gz puis depuis le dossier, et écrire :
./build.sh

On passe ensuite à la décompression du tar.gz du Framework APE.

Une fois cela fait, on rajoute (en haut) dans /etc/apache2/sites-available/default (apt-get install apache2 si le fichier n’est pas présent ^^):
<virtualhost *>
Servername local.ape-project.org
ServerAlias ape.local.ape-project.org
ServerAlias *.ape.local.ape-project.org
DocumentRoot "/répertoire/ou/sont/les/deux/dossiers/décompressés/"
</virtualhost>

Une fois cela fait, on lance le serveur APE depuis le répertoire bin du dossier APE_Server décompressé :
./aped

Sur l’écran doit apparaître le logo APE ainsi que le port sur lequel il écoute et plusieurs lignes avec des [modules] et [JS].

Si vous ne voyez pas cela, relancer le build.

On lance ensuite Firefox à l’url suivante pour tester que tout est bien installé : http://local.ape-project.org/APE_JSF/Tools/Check/

Et la normalement après avoir vu défilé quelques lignes de tests, à la fin on peut lire : All test done. Now you can play with your APE \o/

Je ne traduirais pas la phrase, c’est assez explicite :D

Vous pouvez désormais tester le framework APE.

post Problème rowHeight UITableView - Objective C

octobre 9th, 2009

Catégorie: Code — 23unit @ 18:18

Comme promis, je vous fais part de petits bouts de codes qui m’ont posés quelques soucis pendant le développement de ma première application iphone en cocoa.

Cela concernant la hauteur des cellules d’un TableView : rowHeight

Mon erreur : à l’init dans mon TableViewController j’écrivais : self.tableView.rowHeight = 100;

Mais parfois, cette valeur n’était pas prise en compte, engendrant un bug d’affichage.

Finalement, pour résoudre ce problème, j’ai fait appel à une méthode native de UITableView, qui renvoi à chaque affichage d’une cellule sur l’écran, sa valeur par défaut :

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

return 100;

}

Et voilà, le bug est de l’histoire ancienne :D

post Chrome Frame by Google, ou comment rendre IE moins ridicule

septembre 26th, 2009

Catégorie: Code, News — 23unit @ 11:11

Votre site, malgré vos efforts, est mal géré par internet explorer 6? ou même le 7 et le 8?

Pas de soucis, Google, voyant que les navigateurs ne sont pas la spécialité de Microsoft, s’en charge.

Comment? Avec Google Chrome Frame : un plugin permettant de gérer le HTML 5 et d’intégrer Webkit.

Et tout cela, dans Internet Explorer, et en moins de 2 minutes, sans redémarrage du navigateur.

Tout est expliqué ici : http://code.google.com/intl/fr/chrome/chromeframe/

Pour l’avoir testé dès sa sortie, je suis bluffé par son efficacité et sa facilité de mise en place.

Encore une fois le géant Google donne une bonne leçon à Microsoft…

post Jquery 1.3 - live() - Propagation des événements

février 18th, 2009

Catégorie: Code — 23unit @ 21:39

Qui n’a jamais été confronté au problème d’évènements qui ne s’applique pas au contenu Ajax ou  à la modification du dom avec Jquery?

Comme expliqué de façon clair dans cette vidéo, la nouvelle fonction live() de Jquery 1.3 règle ce problème.

On voit encore une fois toute la puissance de ce framework javascript.

post JQuery au service des images

janvier 16th, 2009

Catégorie: Code — 23unit @ 12:27

Voilà un projet intéressant de DeepLiquid pour effectuer des “Crops” sur des images.

La démo “thumbnail” peut s’avérer très pratique :D

 Par ici pour voir les démos.

(vu sur Free Tools)

post Différence en secondes entre 2 dates en AS3

décembre 18th, 2008

Catégorie: Code — 23unit @ 12:25

Je met à disposition, ayant cherché un peu avant sur google, un petit bout de code en AS3 (flash) pour obtenir la différence en secondes entres deux dates :

var date1:Date = new Date();
var date2:Date = new Date();
date2.seconds += 2; // on rajoute 2 secondes à la 2ème date
var difference:Number = Math.abs(date1.time - date2.time)/1000; // 1000 car le résultat est en millisecondes
trace(difference); // 2

Voilà j’espère que cela vous servira :-)

ruldrurd