[Programatoo] Greenfoot, Kinect, et Ubuntu 64 bits !

GreenfootEn ce moment, un de mes hobbits (haha) dans le cadre de Programatoo, c’est de jouer avec Greenfoot. Mais qu’est ce donc? Et bien c’est un logiciel créé pour introduire le langage Java et la notion d’objets auprès d’apprentis développeurs. En quelques mots, il permet de définir en Java des objets (Actor) qui vont pouvoir évoluer dans un monde (World). C’est bien foutu, même si l’interface mériterait un petit coup de jeune.

L’un des intérêts de Greenfoot, c’est que l’on peut facilement le faire intéragir avec une Kinect ! Une API bien faite, et des exemples sont fournis pour arriver rapidement à un résultat sympa, et les enfants adorent le concept de la Kinect. Après tout, coder en jouant avec la position de sa main, sa tête ou ses pieds, c’est plutôt fun !

Bref, tout cela mériterait un article à part entière. Mais pour l’instant on va se concentrer sur la première étape: l’installation ! Pour Greenfoot, pas de soucis, ça s’installe bien, à l’aide d’installeurs automatiques dédiés à différentes plateformes.

Greenfoot et Kinect

Si l’on souhaite aller plus loin, avec pourquoi pas le branchement d’une Kinect, l’installation peut se corser. Je vais tâcher de donner quelques astuces pour mes soucis rencontrés, c’est à dire avec deux distributions Ubuntu 12.10, l’une 32bits, et l’autre 64bits. La documentation Greenfoot étant assez bien faite et complète, on arrive très vite sur un tutoriel :

http://www.greenfoot.org/doc/kinect/ubuntu.html

Dans le cadre de ma distribution 32 bits, le tutoriel est parfait, à deux détails prêts. A l’étape 0, les packages présentés n’étaient pas disponibles chez moi, j’ai remplacé libglut3-dev par libglui2c2

1
2
sudo apt-get install g++ libboost-all-dev libglui2c2
sudo apt-get install libwxbase2.8-dev libwxgtk2.8-dev wx-common

Le deuxième soucis que j’ai eu, c’est qu’une fois l’installation terminée, la Kinect n’était pas reconnue. Il suffit juste de recharger le module adequat :

1
sudo modprobe -r gspca_kinect

Et en 64 bits alors ?

Et bien là, n’essayez pas de suivre le tutoriel, cela ne fonctionnera pas. Le tutoriel est fait pour faire télécharger OpenNI, NITE et le driver en 32 bits (stockés sur le site de Greenfoot), il y aura forcément un problème de dépendance au moment de l’installation. Plusieurs solutions s’offrent alors à vous:

Une fois que OpenNI, NITE et le driver sont installés, il faut tout de même installer KinectServer qui fera la passerelle entre Greenfoot et OpenNI. Pour cela se référer à la fin du turoriel disponible sur le site de Greenfoot.
(A noter que je n’avais pas utilisé Simple-OpenNI à la base, mais l’installation manuelle de chaque élément, et pour la peine KinectServer n’arrivait pas à se connecter à la Kinect… Il faudrait que je comprenne pourquoi)
S
i la Kinect n’est pas reconnue à la fin de l’installation, pensez à recharger le module adequat, comme pour le mode 32bits.

Une fois que KinectServer est lancé, vous pouvez ouvrir Greenfoot puis les projets d’exemple fournis pour Kinect, qui sont une bonne base de travail !
Have Fun !

LB.

PS : Pour avoir une traduction récente et en Français de l’interface Greenfoot, vous trouverez votre bonheur sur mon compte Github !

Connecter la tablette Nexus 7 à Ubuntu

A la sortie de la nouvellement célèbre tablette de chez Google, j’ai eu la surprise de ne pas la voire reconnue nativement par mon Ubuntu 12.04. Voilà comment j’ai procédé pour monter son disque à travers le protocole MTP.

Première chose à faire, c’est d’installer quelques paquets nécessaires à ce protocole. Je pourrais vous renvoyer vers ce lien ubuntu : http://doc.ubuntu-fr.org/mtp
Mais concrètement, trois paquets intéressants :

1
sudo apt-get install mtp-tools mtpfs gmtp

Ensuite, il faut créer un fichier pour référencer ce nouveau matériel inconnu pour le service udev.

1
sudo vim /etc/udev/rules.d/99-android.rules

Et écrire à l’intérieur

1
2
# Nexus 7
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"

Rendre ce fichier exécutable, et redémarrer le service

1
2
sudo chmod +x /etc/udev/rules.d/99-android.rules
sudo service udev restart

A ce stade, si vous lancez gmtp qui est donc un utilitaire graphique pour explorer un périphérique à travers le dit protocole, vous devriez pouvoir explorer votre tablette. Mais si vous voulez vraiment la monter et l’explorer comme n’importe quel dossier de votre système, il faut créer un dossier d’ancrage (ici appelé Nexus7 dans le dossier media), et monter la tablette dedans :

1
2
3
sudo mkdir /media/nexus7
chmod 755 /media/nexus7
sudo mtpfs -o allow_other /media/nexus7

Et voilà ! Pour la démonter, n’oubliez pas de faire :

1
sudo umount /media/nexus7

Tooltips Eclipse noires sous Ubuntu

Petit article pense-bête. Venant de m’installer un environnement de développement Java sur un Ubuntu flambant neuf, je me suis retrouvé face à une contrainte assez pénible sous eclipse : les tooltips sont toutes noires. Et nous avons beau essayer de customiser ces options sous ecilpse, rien n’y fait.

Alors voilà la solution officielle, que j’ai trouvé ici :
http://wiki.eclipse.org/IRC_FAQ#Black_background_color_for_tooltips_on_Linux.2FUbuntu.2FGTK

Le problème vient du fait que pour certaines de ses propriétés graphiques, eclipse va utiliser directement des options du thème GTK d’ubuntu. Or, avec Ubuntu 11.10, les thèmes ne sont plus directement customisables.

Bref, voilà la solution à apporter.

Editer le fichier  /usr/share/themes/Ambiance/gtk-2.0/gtkrc (le thème par défaut étant Ambiance).
Rechercher tooltip_fg_color pour le setter à #000000
Rechercher tooltip_bg_color pour le setter à #E6E6FA

Relancer Eclipse le cas échéant…

LB.

Open Office ou IBM Lotus Symphony ?

Depuis quelques temps je n’utilise plus Windows… Pour des raisons un peu bêtes,  je joue moins en ce moment, et j’ai juste la flemme de formater… Donc, j’utilise Ubuntu, et pour mon usage du moment, j’en suis très content… En tout cas je l’étais jusqu’au jour où j’ai voulu rédiger un rapport pour le travail, avec nos merveilleux templates .doc 🙂

Continuer la lecture de Open Office ou IBM Lotus Symphony ?