XWii

XWii logo

Comme vous le savez peut êre, la wiimote utilise le bluetooth pour se connecter à la Wii, or il se trouve justement que le bluetooth équipe aussi presque tout les PC neuf. L’époque où il fallait souder et créer son circuit pour connecter les manètes de console est donc révolue ! Il est possible de connecter simplement et rapidement la wiimote au PC, et sans fil en plus.

Même si il est tout à fait possible de le faire sous Windows, je n’ai pas la moindre idée des logiciels existants, en revanche je vais m’attarder un peu sur XWii, qui se trouve être le moyen le plus simple et le plus efficace d’utiliser la wiimote sous linux. Il s’agit donc d’un logiciel assez simple qui utilise la librairie wiiuse. XWii ne fourni pas de fichiers binaires à installer, il faut donc compiler à la main. Pour ce faire, vous devez d’abord disposer de gcc et g++. Sous ubuntu, l’installation du paquet build-essential devrai suffire. Une fois le compilateur installé, il suffit de décompresser les sources et de se rendre dans le dossier ainsi créé. Là la commande “make” lance la compilation, et c’est prêt ! Il ne reste plus qu’à lancer la commande xwii de cette manière (il faut se trouver dans le dossier de xwii pour lancer la commande) :

./xwii profiles/votre_profil.xwii

Vous remarquerez le fichier de profil (qui est nécessaire au lancement de xwii). Il contient en fait les associations entre les touches de la wiimote et des actions. Pour écrire vos propres profils, vous pouvez vous inspirer des fichiers déjà existants. Il y a aussi une documentation accessible sur le site de xwii. J’ai aussi mis à disposition mes profils pour quodlibet et vlc.

Add comment January 17th, 2008

Attentien vieux !

Est-ce une blague ? Est-ce un montage ? Non ! C’est authentique, ça vient d’angleterre, et je peut garantir qu’il n’y a pas de montage, car j’ai pris la photo moi même… En tout cas je me suis bien marré.

Attention vieux !

Add comment January 15th, 2008

K2000

Ah toute mon enfance… Si vous aussi vous dépêchiez de rentrer de l’école pour ne pas manquer les aventures de Michael Knight et KITT, ce spot devrait vous laisser tout comme moi impatient…

Add comment December 27th, 2007

Comprendre les librairies sous linux

En cherchant à faire ce que j’ai marqué dans le titre de ce billet, je suis tombé sur ce howto qui me semble assez complet :

–> http://www.dwheeler.com/program-library

Add comment November 29th, 2007

Génération Procédurale

Prenons la création d’un jeu : les studios du jeu doivent générer les textures, modèles 3D, etc… Ceci présente 2 inconvégnants : ça prend de la place sur le disque dur, et en plus on ne peut pas modifier ces modèles à la volée. On a donc inventé la génération procédurale, qui consiste à générer les données à partir de formules mathématiques et d’algorithmes au lieu de se baser sur des données pré enregistrées. Sans rentrer dans les détails (que vous trouverez sur wikipedia par exemple), je peut vous dire que cette technique donne des résultats assez impressionant : j’ai en tête l’incroyable .kkrieger, qui est un FPS complet d’une taille totale de 96ko !

kkrieger (thumb)

Bluffant non ? À noter que l’outil qui leur sert à générer les textures et les modèles 3D est distribué gratuitement par le groupe ayant créé krigger (.theprodukkt).

Add comment November 10th, 2007

Installer LDAP

Comme c’est la deuxième fois que je dois travailler avec LDAP et que c’est aussi la deuxième fois que je galère pour l’installer, je vais faire ici un petit tuto qui explique comment mettre en place un serveur LDAP valide.

Pour commencer, une petite intro sur LDAP : les serveurs LDAP sont des serveurs d’annuaire, c’est à dire qu’ils ont une base de données contenant divers objets stockés de manière hiérarchique et ayant diverses propriétés : par exemple une société peut stocker les comptes informatiques de ses utilisateurs en les plaçant dans des “dossiers” correspondants aux divisions de la société (par exemple France -> Toulouse -> Département informatique). Chaque compte utilisateur contient le nom d’utilisateur, le nom complet, le mot de passe, l’addresse mail, le numéro de téléphone, etc de chaque utilisateur. On peut faire de même pour stocker les imprimantes, les terminaux ou n’importe quel objet pour lequel il existe une classe (pour chaque type d’objet on créé une classe qui contient la liste des propriétés qu’on peut lui attribuer).

Maintenant passons à la pratique. Les explications sont faites pour ubuntu gutsy gibbon, mais ça devrai marcher à peu près pareil sous debian.

La première étape est d’installer le serveur et les outils d’administrations. Dans un premier lieu, on installe le paquet slapd qui contient le serveur OpenLDAP, ainsi que ldap-utils qui contient un certain nombre d’outils d’administration en ligne de commande et finalement le paquet db4.2-util qui contient les outils permetant de manipuler les fichiers de base de données.

aptitude install slapd ldap-utils db4.2util

Pendant l’installation de slapd, il va vous être demandé de rentrer le mot de passe administrateur. Vous pouvez rentrer n’importe quel mot de passe, nous allons le changer par la suite.

Un autre outil qu’il peut être intéressant d’installer et que nous utiliseront par la suite est phpLDAPadmin, qui est un outil d’administration web de LDAP plutôt puissant (en fait il s’agit du meilleur outil disponible).

Maintenant que slapd est installé, on va le configurer un peu. Tout d’abord, il faut éteindre le serveur :

/etc/init.d/slapd stop

Et on va commencer par calculer le hash du nouveau mot de passe administrateur :

slappasswd -h {SHA}

Il vous est demandé le mot de passe que vous voulez hasher, puis une deuxième fois pour confirmation, et finalement le hash est affiché. Il devrai ressembler à quelquechose comme ça : {SHA}uFjLKCYX+wlW2WAhXI6E0cz5CcY=
Gardez cette valeur bien au chaud dans votre presse papier, on va s’en resservir tout de suite.

Il est temps d’éditer le fichier de configuration, /etc/ldap/slapd.conf
Cherchez ce passage :

# The base of your directory in database #1
suffix          "dc=nodomain"

Il s’agit de la configuration de la base de votre serveur. Il s’agit du/des éléments les plus haut dans la hiérarchie. Habituellement on y met son nom de domaine. Par exemple pour hyperthese.net on mettra dc=hyperthese,dc=net
Bien qu’il soit conseillé de mettre un vrai domaine, ça n’a pas vraiment d’importance dans le cadre d’un petit serveur comme il sera probablement le cas poru vous, donc sentez vous libre de mettre ce que vous voulez si vous n’avez pas de domaine (attention tout de même à respecter la syntaxe…)

Une fois que ceci est changé, il faut rechercher dans le fichier de configuration toutes les occurences de dc=nodomain pour les remplacer par la nouvelle base que vous avez défini. Ceci étant fait, on peut changer le mot de passe administrateur. Il faut pour cela s’en prendre à la ligne (attention vu que vous avez remplacé toutes les occurences de dc=nodomain votre ligne sera différente…)

# rootdn          "cn=admin,dc=nodomain"

Vous devez la décommanter et lui ajouter une copine de cette manière :

rootdn          "cn=admin,dc=nodomain"
rootpw LE_HASH_DE_TOUT_A_L_HEURE

Par exemple dans mon cas ça va donner

rootdn          "cn=admin,dc=hyperthese,dc=net"
rootpw		{SHA}uFjLKCYX+wlW2WAhXI6E0cz5CcY=

Maintenant que ceci est fait, on va enregistrer le fichier et vider la base de données que l’installateur a créé automatiquement :

rm -rf /var/lib/ldap/*

Et pour finir, on démarre le serveur

/etc/init.d/slapd start

Nous avons normalement un serveur LDAP fonctionnel maintenant. Vous pouvez tester la connexion au serveur avec par exemple la commande

ldapsearch -x -D "cn=admin,dc=hyperthese,dc=net" -W

Il ne reste plus qu’à configurer phpLDAPadmin. Il suffit d’ouvrir le fichier /etc/phpldapadmin/config.php et de chercher la ligne

$ldapservers->SetValue($i,'server','base',array('dc=nodomain'));

Pour ensuite la remplacer, celon la configuration que vous avez rentré précédament, par

$ldapservers->SetValue($i,'server','base',array('dc=hyperthese,dc=net'));

Et vous pourrez normalement accéder à l’administration de votre serveur ldap à l’addresse http://localhost/phpldapadmin/.

Et voila, il ne reste plus qu’à remplir tout ça !

1 comment November 1st, 2007

Faire tourner des applications 32 bits sur du 64 bits

J’ai réçament passé mon système en 64 bits, et je me suis retrouvé confronté à des applications non compilées pour du 64 bits, ce qui est en fait assez problématique…
Je suis donc parti à la recherche d’une solution et je suis finalement tombé sur cet article assez bien écris qui me semble apporter une réponse suffisante :) .

Add comment November 1st, 2007

Brainfuck

Dans des temps anciens et reculés, avant l’apparition du micro ordinateur personnel, il vivait un mathématicien du nom de Turing qui inventa la machine de Turing (comme c’est original vous ne trouvez pas ?). Cette machine se compose d’un ruban magnétique d’une longueur indéfinie (on suppose que quand on arrive au bout on peut l’allonger) et comportant des cases contenant la valeur d’un entier. Turing a démontré qu’il est possible d’adapter n’importe quel alogrithme pour sa machine. Il a par ailleurs été démontré que nos ordinateurs actuels sont équivalents à cette machine de Turing, ce qui leur confère aussi cette capacité d’executer n’importe quel algorithme. Enfin bref, de nos jours les ordinateurs utilisent des concepts bien plus évolués que la machine à ruban de Turing, ce qui fait que personne ne s’y est jamais intéressé… Sauf le suisse Urban Müller qui a inventé un langage de programmation qui permet de programmer un ordinateur comme on programmerai une machine de Turing. Ce langage est probablement le plus simple au mondre syntaxiquement parlant : il n’y a que 8 opérateurs :

  • > déplace le ruban vers la droite
  • < déplace le ruban vers la gauche
  • + incrémente la case
  • - décrémente la case
  • [ début de la boucle
  • ] fin de la boucle
  • . affichage du carractère correspondant au numéro dans la case
  • , demande d’un caractère à l’utilisateur et insertion de son numéro dans la case

Voici un exemple de programme (un hello world pour un peu d’originialité)

>+++++++++[<++++++++>-]<.>+++++++[
<++++>-]<+.+++++++..+++.>+++++++++
++++[<------>-]<-.>+++++++++++[<++
+++>-]<.>++++++[<++++>-]<.+++.----
--.--------.>+++++++++++[<------>-
]<--.+.>++++++++[<+++++++>-]<+++.>
++++++[<+++>-]<.

Vous pouvez d’ailleurs utiliser mon générateur de chaine (à utiliser depuis un shell linux). Pour de l’aide sur l’usage du convertisseur utilisez l’option -h.

Pour un complément d’informations, vous pouvez aller voir sur wikipedia ou alors sur ce très bon tutorial.

Bien qu’il existe un compilateur brainfuck, il est largement plus simple de l’interprêter. Sous linux, j’utilise le logiciel “bf” qui remplis parfaitement cette tâche et qui est intégré aux paquets ubuntu.

Sur ce, bon niquage de cerveau ! (c’est garanti si vous essayez de faire un programme un brin complexe…)

Add comment October 22nd, 2007

Plats cuisinés

Martine achète un congélo

Je ne suis malheureusement pas en mesure de citer le nom de l’auteur, mais je trouve sa blague géniale :D (bien qu’un peu sombre)

Edit: par contre je peut dire que les martines viennent du Martine Generator

Add comment October 22nd, 2007

Optimisation PHP

Voici un slide d’excellent conseil sur l’optimisation en PHP. Il regorge de tout un tas de tests que j’ai toujours voulu faire et que j’ai toujours eu la flemme de faire…

http://ilia.ws/files/phptek2007_performance.pdf

1 comment October 7th, 2007

Next Posts Previous Posts


Categories

Links

Feeds