[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 !

Démarche de recrutement : comment ne pas tomber au 42ème étage…

Bientôt un an que je suis développeur Parisien, le temps est passé vite… Cet article sera une tentative de feedback, histoire de raconter comment, et pourquoi je pense avoir fait le bon choix.

Petit retour en arrière…

Ne soyons pas mesquin, pour ma précédente, et première expérience professionnelle, j’aurais pu tomber sur bien pire ! (Citons les : Infotel, à Toulouse). J’y ai bossé au forfait plus de 4 ans, principalement pour Airbus… Une bonne ambiance, de très bons amis et une structure très professionnelle dans la gestion des projets, j’y ai vraiment énormément appris. Le problème d’une société de service Toulousaine, c’est qu’il est souvent difficile de toujours proposer à ses collaborateurs des projets super excitants quand son plus gros client s’appelle Airbus. La façon de faire d’Airbus est de mettre sur le marché des pools de projets, avec des choses plus ou moins funky, et si une SSII le gagne, c’est du boulot assuré pour 50 personnes pendant 3 ans au moins… Autant dire que pour l’entreprise, difficile de refuser.
La conséquence directe avec ce genre de projets, c’est que Struts 1, JSP et IE6, à Toulouse, ça nous connait ! 🙂 La marge de manœuvre technique était assez faible avec un client comme celui-là, d’après mon expérience en tout cas.

Bref, on se lasse un peu vite du contenu purement technique. Pour palier à ça, mon réflexe a été de me tourner vers le Toulouse JUG. Et là, paf, une révélation! On se met à rencontrer plein de geeks qui codent avec plaisir, et qui sont payés pour le faire 😉 Et puis ça permet de découvrir, se tenir à jour, de discuter, de se faire peu à peu un cercle de connaissances, tout en partageant Tariquet, Saucisson et autres mets raffinés !

Comment en sortir ?

Vint le jour où j’ai voulu déménager pour Paris… Bon. Comment trouver du travail et surtout comment s’y retrouver ? Solution de facilité : un CV sur Monster…. Hors de question. C’est un peu comme ça que j’avais trouvé ma première boite, mais la donne avait changé, j’avais un peu d’expérience, et ce coup-ci j’avais envie de choisir mon entreprise, et pas l’inverse. J’étais encore partant pour une SSII, je voulais voir différents types de mission, plus courtes si possibles, techniquement plus sympas, et SURTOUT, sentir que ma boite était derrière moi, soutenait la communauté des développeurs et en voyait la vraie plus-value. Avec ces critères, le premier site sur lequel je me suis dirigé est le site… du Paris JUG ! Et hop, colonne Sponsors… Une 15aine de sponsors, parfait, j’ai même le choix ! A partir de là, on commence à s’inscrire à des mailings lists de développeurs parisiens pour prendre la température, commencer à connaître les noms qui comptent… On suit les gens sur Twitter, et rapidement on voit que l’un des Jug Leader parisien tient un site de recrutement orienté offres de qualité, pour développeurs passionnés… (Coucou Nicolas Martignole, et merci pour ton site de recrutement !). Ma méthode a été simple, j’ai bêtement filtré les offres d’emploi disponibles avec les sponsors du Paris JUG que j’ai repérés, pour tomber à 4 ou 5 entreprises. Et voilà, si on enlève 2 ou 3 autres repérages relatifs aux salaires, je n’ai vraiment postulé que dans ces quelques sociétés. Pour être honnête, je ne les connaissais pas, mais je savais que je signerais chez l’une de celles-là, si j’étais à la hauteur, bien entendu.

La suite, c’est une touche de hasard, des emplois du temps compliqué (gérer ses entretiens à 800km, ce n’est pas si simple 🙂 ), du feeling, et un petit détail qui m’a aidé à me décider : le 42ème étage ! Vous en avez surement entendu parler, de cette Web-Série bien geek caricaturant les SSII, leurs gestions des ressources humaines inexistantes, et leurs perfides commerciaux :p J’ai aimé la façon dont Sfeir, la SSII à l’origine de la Web Série, voulait se démarquer de ses concurrentes de façon originale, sans trop se prendre au sérieux. Je ne vais pas le cacher, les autres entretiens parallèles s’étaient aussi très bien passés, et je n’avais pas trop de critères objectifs pour choisir. Alors voilà, le choix d’une entreprise ne tient pas à grand chose des fois… Quelques entretiens plus tard, j’avais signé !

Bilan

Durant cette année, j’aurais assisté, avec le soutien de Sfeir, à Devoxx France, à Devoxx World, je suis encouragé à venir échanger avec mes collègues une fois par mois autour de différents sujets techniques (les BOFs), j’ai rencontré des collègues passionnés, je me surprends à vouloir apprendre la programmation aux plus jeunes, on m’a même envoyé à La Rochelle pour en parler (au JUG Summer Camp)… Pour l’anecdote, si vous fouillez dans certains épisodes de la deuxième saison de 42ème étage, vous pourrez même tenter de me reconnaître ! (Oui oui, chez Sfeir, nous sommes plein de talents cachés !)
Plus concrètement je commence à me dépatouiller en Scala, je connais tous les buzz word et les noms des 1000 frameworks du moment, et encore, tout ça c’est sans compter les collègues motivés qui m’ont emmené des dizaines de fois rencontrer plein d’enthusiastics du Paris JUG, du GDG Paris, aux Meetup HTML5, au Paris Scala User Group, et j’en passe !

Bref, professionnellement cette année a été vraiment très riche. Et je pense que les choses auraient été moins cools si je m’étais entouré différemment en arrivant à Paris !

En espérant que ma démarche puisse aider l’un d’entre vous, et surtout vous croiser dans un évènement bien geek en 2013 !

LB.

ANNEXES

Sites de recrutement auxquels je me fierais facilement :

Liens relatifs à SFEIR et la web-série 42ème étage :

 

CloudBees et Cloud-IDE en 11min28s

Vendredi 20 octobre s’est déroulé le traditionnel BOF (Birds of Feather, selon Wikipedia, « petit groupe de discussion informel crée dans le but de résoudre un problème ponctuel dans un groupe de travail ») chez SFEIR. Autrement dit, une quinzaine de geeks assemblés dans une salle pour discuter des derniers sujets qui les bottent… C’était l’occasion pour moi de rapporter à mes collègues une présentation vue lors de l’OSDC 2012 qui s’est déroulé la semaine dernière à Paris, par Sacha Labourey, CEO de CloudBees.

En quelques mots, l’OSDC, c’était un peu bizarre. En effet, s’adressant autant à des décideurs que des développeurs, le contenu des conférences était un peu bancal et l’on sentait bien que les conférenciers n’étaient pas toujours à l’aise… De plus les locaux bien que situés idéalement (Georges V à Paris,  excusez du peu…) n’étaient pas vraiment adaptés (salles trop petites, programme pas très clair, porte d’entrée des salles à côté des speakers, créneaux cours entre les conférences…). Pourtant, apparemment ce n’était pas faute de moyens…

Bref, revenons à nos moutons. J’avais déjà eu l’occasion de voir Sacha Labourey au Paris JUG pour nous parler de Cloud, et j’ai trouvé sa présentation une fois de plus pertinente. Mise à part la partie commerciale de son discours (encore une fois OSDC oblige…), il a terminé par une démonstration bluffante des dernières fonctionnalités de CloudBees, en particulier le ClickStart. Le ClickStart, qu’est ce que c’est ? Et bien c’est la possibilité de créer une usine de développement en un clic. Comprendre par là que CloudBees propose différentes configurations de projets Java par défaut (genre un projet Jax-RS / Backbone, un projet Clojure ou encore un classique Java EE6), et en un simple clic CloudBees va créer un repository Git avec un archetype du projet, un job Jenkins qui sera capable de compiler et déployer tout ça sur une instance de serveur, accompagné de sa base de données… Bref, du tout en un, fonctionnel, et personnalisable à posteriori (rediriger vers un repo Github, changer la bdd, et j’en passe…)

Sacha Labourey a beaucoup parlé de « scalabilité », de stabilité, de support de la part de personnes compétentes (petite pensée pour Nicolas De Loof). Moi j’aimerais surtout insister sur le fait que ce genre d’initiatives permet de ne plus se préoccuper d’infrastructure, et de ces tâches récurrentes qui font perdre un temps fou. Alors ok, le « barbu » technique trouvera très important de mettre en place toute son infrastructure soit-même, bien optimisée comme on le souhaite, et c’est surement vrai dans beaucoup de cas. Mais si l’on souhaite se concentrer sur le coeur du problème, sur l’idée elle-même et ne plus perdre de temps sur toutes les choses autour, pour moi les avancées CloudBees vont dans le bon sens. Bref, si je suis tout seul et je veux tester un concept rapidement, et bien c’est clairement la solution. Qui plus est c’est gratuit, ça marche impeccablement bien, et je vous encourage à tester tout ça par vous-même !

Ce vendredi, en 11min et 28s, j’ai donc tenté d’évangéliser mes collègues en reproduisant tout ça avec ma vision des choses. J’en ai profité pour découvrir Cloud-IDE qui est vraiment un outil  prometteur…

Et c’est visionnable sur Youtube ! (d’ailleurs n’hésitez pas, abonnez vous au flux SfeirTube pour toutes les présentations SFEIR !)

LB.

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

[JugSummerCamp] Notre présentation Programatoo

Le vendredi, présentation de 17h à 18h au Jug Summer Camp. Une salle bien remplie, un speaker en retard, une speakeuse qui se bat avec son portable (sous Windows) et le rétroprojecteur, MAIS des sourires et de la bonne humeur. Pendant une heure, on allait pouvoir parler éducation, informatique, amusement et goûters !

Programatoo pour les grands : how your kid can code ?
par Audrey Neveu et Ludovic Borie 

Synopsis : 

Les geeks sont de grands enfants, c’est bien connu. Il n’y a qu’à voir leur passion pour les Lego et autres robots en tout genre pour s’en convaincre. Mais les geeks d’aujourd’hui sont aussi des papas et des mamans !

Ces mêmes parents ont du découvrir la programmation par eux-même, à l’école ou à la maison, au travers d’ateliers, de clubs, de magazines, etc… Mais aujourd’hui, alors que l’ordinateur est omniprésent dans notre environnement, et apprivoisé par le plus grand nombre, nous nous apercevons que la programmation n’est toujours qu’une science destinée uniquement à ceux qui ont envie d’aller plus loin dans l’informatique…
Comment faire comprendre à votre enfant votre passion pour l’informatique et pour votre métier ? Comment lui montrer que tout ce qui est pour lui totalement naturel (facebook, youtube, google, word, …) est en fait le résultat du travail de personnes comme nous ? Comment lui donner envie de prendre le contrôle de son ordinateur, cette machine qui lui est si familière et à laquelle on ne prend pas toujours la peine de l’initier correctement ? 
Cette session “pour les grands” sera pour nous l’occasion de vous partager nos retours d’expériences, de faire un tour d’horizon des outils existants avec démos et enfin de vous présenter  les initiatives déjà existantes. Que vous ayez simplement envie de partager votre passion avec votre (vos) enfant(s) ou que vous souhaitiez allez plus loin et monter des ateliers, cette session est pour vous !
Continuer la lecture de « [JugSummerCamp] Notre présentation Programatoo »