Trucs de geek

A bicyclette

Posted on novembre 12, 2007

Ce matin, avant d’aller donner un TP de bases de données à l’ECE, je suis allé chez Décathlon acheter un vélo. Je voulais prendre le premier prix, mais la selle était bien dure, donc montée en gamme, avec un B’Twin 5 avec une selle avec du gel dedans.

Les grévistes peuvent gréver (sic), rien à faire (avant aussi, y avait rien à faire à part les détester)

Au niveau des performances, c’est pas mal. Le premier benchmark entre le Décathlon Porte de Montreuil et le café en bas de la rue du Bac avec le café posé sur ma table et vélo garé/antivol verrouillé : 40 minutes.

Et y a de la place pour l’optimisation vu que je n’ai pas trouvé le trajet optimal.

Le GPS m’indique une distance de 11km, sur un trajet relativement sympa : Nation, Bastille, île de la Cité, quartier latin.

J’ai quand même réussi à dérailler boulevard Diderot :/

La sécurité et le wifi

Posted on novembre 08, 2007

malin.jpg

Un screenshot pris pendant un TP.

Ma déontologie m’empêche de fouiller, et pourtant, on trouverait des trucs cotons !

Ceci dit, l’utilisateur lui-même n’est pas le seul en faute… Si je me souviens bien, l’interface de Windows est tellement décourageante qu’on a pas envie de mettre un mot de passe.

SVN et PHP : attention !

Posted on novembre 08, 2007

PHP

Le site GForceSoftware nouveau est arrivé.

Il est hébergé sur le serveur d’Ohm Force dont j’ai la charge ; c’était une expérience intéressante, car je devait mixer une application à base de Servlets avec une application PHP, derrière le même domaine.

En frontal, il y a nginx, le serveur http russe léger et qui fonce.

Pendant 24 heures, il y avait un trou de sécurité flagrant, qui permettait de récupérer le code source des scripts php, à cause de svn. (je me suis tapé sur la tête quand je m’en suis rendu compte. Heureusement en analysant les logs, personne n’a eu l’idée de l’exploiter).

SVN

Le déploiement sur la production, c’est un checkout des scripts. C’est à dire que tous les répertoires ont un répertoire .svn qui contient les métadonnées sur les fichiers du répertoires ainsi qu’un cache contenant les fichiers originaux tels qu’ils sont stockés sur le repository svn.

Les fichiers originaux sont identifiés par une extension svn-base.

La faille

Or la configuration du serveur est d’envoyer le contenu tel quel pour une extension inconnue.

Du coup, on pouvait récupérer le code de la page d’index avec ce lien :

http://www.gforcesoftware.com/.svn/text-base/index.php.svn-base

Pas glop.

La correction

Donc pensez bien à ajouter la configuration suivante dans votre serveur web (ici pour nginx) :


location ~ .svn/ {
        deny all;
    }

La conclusion

C’est un des trucs qui me plaît le moins avec PHP, le fait que l’arborescence détermine l’URL, je préfère un MVC un peu plus abstrait comme avec les servlets ou avec Rails. On a beaucoup plus de souplesse, sans s’encombrer de rewrite rules trop complexes.

Vu que pour le MVC, toutes les URLs sont masqués derrière le contrôleur l’utilisateur ne sait même pas quel est l’arborescence système.

Sur le site Ohm Force, les JSP elles-même sont cachés dans le répertoire WEB-INF dont le contenu n’est pas publié.

Comment répondre à une candidature spontanée

Posted on novembre 06, 2007

On a reçu ça, il y a quelques jours sur jointeam@ohmforce.com de la part d’un ingénieur tout juste diplômé :

Je suis très intéressé par les stages de chef de projet, consultant ou d’ingénieur d’affaire. Néanmoins toutes autres propositions est la bienvenue.

D’habitude, on réponds poliment “non, merci”

Mais un élève ingénieur même pas diplômé qui veut faire chef de projet ou consultant en STAGE, ça sent un peu le pipo. Apprends à coder dans la vraie vie avant de viser ce genre de boulot.

Et dans le cas de “consultant”, comme le dit Steve Yegge ici, c’est un peu plus compliqué.

The problem with “consultant” is that it has two meanings. It can either mean “person who was hired on a contract basis to fill a coding need in the organization”, or it can mean “person hired to ‘consult’, aka ‘wank’, because the hiring organization is too clueless to solve their own problems and too incompetent to retain even one full-time staff member capable of helping them, so they turn to paid self-help.” When you see the word on a resume, it can be hard to distinguish which kind it is.

Du coup, concours informel pour savoir comment lui répondre.

Et c’est Lolo qui a proposé la meilleure réponse, et c’est celle qui a été choisie :

F89E0708-F54B-4F85-89D8-D56C64EF9FD7.jpg

Source : Les LOLCats of course.

Plus tard : de la conf intéressante avec nginx + PHP + Tomcat.