Redimensionner une image au vol

1 01 2009

Comme vous le savez, je développe en ce moment une application Facebook. Dans cette application, je devrai afficher des images un peu partout, issues d’une sorte de base de données. Pour ne pas révéler le contenu de mon application, supposons qu’il s’agisse de pochettes de CDs. Je dispose donc d’un répertoire dans lequel se trouvent des milliers d’images de pochettes, généralement en bonne qualité, assez grandes. Mais un peu comme sur last.fm, je devrais pouvoir afficher une série de pochettes de taille plus petite, disons 64 pixels de large.

Pour redimesionner ces images, j’ai deux possibilités:

  • Faire un traitement en batch avec un logiciel conçu pour des conversions en séries.
  • Convertir au vol ces images via GD ou ImageMagick

La première solution ne me convient pas, car de nouvelles pochettes seront ajoutées au fil du temps, et je ne veux pas être obligé de refaire une conversion de temps à autres. La seconde est gourmande en ressources, la conversion d’images prend un grand nombre de cycles processeur, et s’il y a ne serait-ce que 50 personnes qui veulent afficher une page contenant 20 de ces images, le serveur risque de planter.

L’idéal est un mélange entre ces deux solutions. Le redimensionnement de l’image par ImageMagick (ou GD) suivi de son stockage dans un autre répertoire. Mon script va donc faire cela. Cependant cela donne lieu à un problème technique. Comment savoir si l’image a déjà été convertie auparavant?

Ma solution à ce problème est tellement logique qu’elle ne saute pas aux yeux : ne lancer le script de redimensionnement que si l’image stockée n’existe pas.

En pseudo-code, cela donnerait ceci:

1
2
3
4
5
if(is_file($fichier_demandé)) {
  envoyer_le_fichier();
} else {
  generer_le_fichier_redimensionne();
}

Mais cela voudrait dire qu’on lance un script php et fait un accès au disque pour vérifier si le fichier existe ou pas. Il y a mieux à faire…

Au lieu de faire ce script qui vérifie si le fichier existe ou pas, ne lancer ce script qu’a condition que le fichier n’existe pas à l’endroit attendu. Et comment faire en sorte que cela soit automatisé, ou géré par le serveur lui-même?

ErrorDocument 404 404.php

Toutes mes images sont stockées dans le répertoire /i/ de ma racine de site web. Donc j’ai mis cette directive dans /i/.htaccess.

Mon script n’est ainsi appelé que si l’image n’existe pas. Et au lieu d’afficher le sempiternel message d’erreur, je corrige cette erreur en créant le fichier redimensionné. D’autant que vu qu’on appelle une image, afficher un « message d’erreur»  ne sert à rien…

Example:

1
<img src="/i/w=64/pochette/Aphex-Twin/Hangable-Auto-Bulb.jpg" />

Code source de 404.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
/* Initialisation des variables */
$requestedWidth = 0;    // Largeur demandée
$requestedHeight= 0;   // Hauteur demandée
$filename='';            // Nom du fichier original (avec chemin)
$requestedFilename = ''; // Nom de fichier redimensionné (avec chemin)
$basePath = '/var/foo/mon_site/';

/* Parcours de l'url demandée */
if(ereg("/w=([0-9]+)/", $_SERVER['REQUEST_URI'], $regs)) {
    $requestedWidth = (int)$regs[1];
}
unset($regs);
if(ereg('/h=([0-9]+)/', $_SERVER['REQUEST_URI'], $regs)) {
    $requestedHeight = (int)$regs[1];
}
unset($regs);

/* Détermine le fichier à lire */
ereg('i/[wh]{1}=[0-9]*/([a-zA-Z0-9/-\.]*)', $_SERVER['REQUEST_URI'], $regs);
if(!is_file($basePath.'i/'.$regs[1])) {
    error_log("The path doesn't lead to a file: ".$basePath.$regs[1]);
}
if(!is_readable($basePath.'i/'.$regs[1])) {
    error_log('The file is not readable:'.$basePath.$regs[1]);
}
$filename = $basePath.'i/'.$regs[1];
unset($regs);

/* Détermine le fichier à créer */
ereg('(i/[wh]{1}=[0-9]*/[a-zA-Z0-9/-\.]*)', $_SERVER['REQUEST_URI'], $regs);
$requestedFilename = $basePath.$regs[1];
unset($regs);

$image = new Imagick();
$image->readImage($filename);
$image->resizeImage($requestedWidth, $requestedHeight, imagick::FILTER_LANCZOS, 1);
if(!is_dir(dirname($requestedFilename))) {
    mkdir(dirname($requestedFilename), 0777, true);
}
$image->writeImage($requestedFilename);

header('Content-Type: image/'.$image->getImageFormat());
echo $image;

?>

N’oubliez pas, si vous utilisez ce script, que sur mon serveur, toutes les images sont dans /var/foo/mon_site/i/. Aussi, vu que ce répertoire ne contient QUE des images, je ne vérifie pas si le visiteur demande une image ou une page web normale… Pensez donc à faire cette vérification si vous utilisez ce script en tant que page 404 sur tout le serveur, au lieu de limiter l’emploi de celle-ci à un répertoire donné via un .htaccess ou une directive dans votre .conf Apache…

Enfin, une demande vers l’image donnée en exemple créera un répertoire /var/foo/mon_site/i/w=64/pochette/……

Dernière considération: ce script ne peut gérer le redimensionnement que selon la largeur OU la hauteur, et redimensionne en conservant le rapport largeur/hauteur original.



Un hack de malade!

5 06 2008

Alors que je cherchais des modules Ajax, ou un framework qui m’aide sous PHP, je suis tombé sur un truc de malades. Un petit script pas idiot du tout permet de vérifier via un serveur web la liste des sites « sociaux»  que le visiteur a consultés récemment. En vérité, il vérifie si vous avez visité une liste de sites prédéfinie.

Le but de cela? En fin de chaque message, sur mon blog, vous avez un petit lien qui permet de poster le permalien de cet article sur l’un ou l’autre site social. Facebook, Digg, ou d’autres. Mais le fait est que si vous n’allez jamais sur certains de ces sites, le lien en question ne sert à rien. Donc pourquoi ne pas se limiter à n’afficher que les liens vers les sites que vous fréquentez souvent?

L’astuce consiste à créer une petite iframe dans laquelle on place un lien vers chacun des sites de la liste. Ensuite, on ajoute une micro feuille de style qui masque ou affiche les liens selon qu’ils soient visités ou non par la personne… Enfin, il suffit de vérifier si le lien vers un certain site est affiché ou non, via un script, et voilà. Le tour est joué.

L’idée n’est pas stupide… Après tout, quand une liste de liens est affichée sur une page web « normale» , à l’ancienne, le lien est bleu si l’on est jamais allé sur le site lié, et violet si il a déjà été visité! Il suffisait (ahem) de faire un script pour vérifier cela côté serveur.

Dans mon cas, je vais utiliser ce script, modifié, pour mon projet actuel… Cela me permettra de poser les bonnes questions à mes membres! En effet, pourquoi demander « Quel est ton pseudo sur Last.fm?»  à quelqu’un qui n’y a jamais mis les pieds??? Le script est ici



La télécommande BD PS3 sous Linux

29 04 2008

Je suis tombé par hasard (enfin, après une recherche assez vague sur Google) sur un script en python qui permet de capturer les signaux envoyés par la télécommande BD pour la PS3. Cette télécommande fonctionnant en Bluetooth, elle fait une télécommande de choix pour contrôler de façon simple et efficace tout média center digne de ce nom… Bien mieux que l’infrarouge vu que ça fonctionne même si un objet non transparent se trouve sur le chemin entre la télécommande et l’appareil à contrôler, et aussi il est plus facile de trouver des capteurs bluetooth bon-marché de nos jours que de trouver un capteur IR pas trop cher et efficace… La grande difficulté dans le cas de l’IR restant de trouver un module qui puisse être placé — si possible de façon discrète — sur un media center de façon à ce qu’il soit visible depuis l’avant de l’appareil sans pour autant faire tache.

De toute façon, le problème ne se pose pas sur la télécommande de la PS3. Les instructions se trouvent dans la suite (en attendant un tutoriel dans les prochains jours sur ce site)

Lire la suite »



J’aime la chiptune!

26 03 2008

J’aime pas mal de styles musicaux, et parmi ceux-cis, j’aime la Chiptune. C’est un style musical simpliste, créé à la base par de petits ordinateurs antiques. La musique produite par la première GameBoy, par exemple, c’est de la chiptune. Mais assez parlé. Écoutez!



Une Sixaxis comme gyroscope?

23 03 2008

Quand on fait du mapping pour OpenStreetMap, un problème qui peut survenir, c’est la perte du signal GPS… Quand on passe sous un tunnel, ou dans une zone où il y a d’énormes bâtiments… Pour éviter ce problème, le module GPS qui est installé en option sur certaines voitures — et qui coûte généralement très cher — est équipé de gyroscopes. Le principe est que ces modules enregistrent les mouvements de la voiture, et en déduisent la direction du véhicule. Ensuite, en calculant la différence par rapport à la dernière position GPS connue, on peut savoir où on se trouve… Pourrait-on faire ça avec une Sixaxis?

PS3
Creative Commons License photo credit: CharlesThompson Lire la suite »



Et la nétiquette, bordel?

20 03 2008

Ce matin, j’ai reçu une sorte de spam. Mais un petit truc sympa, pas le genre qui file directement à la poubelle. L’auteur de ce spam a — de son propre aveu — péché des adresses au pif dans un hoax, et s’en est servi pour envoyer de la pub pour une série de MP3 dont il est l’auteur. Il a composé un peu de musique en amateur, et la distribue gratuitement, et s’est permis d’en faire la pub par e-mail… J’ai donc téléchargé ces MP3, les ai écoutés, et j’ai répondu par mail en lui donnant mon avis sur son travail. En passant, je lui ai tout de même fait remarquer son non respect de la netiquette. Et il a de nouveau répondu, très sincèrement, c’est quoi la netiquette? Lire la suite »



L’intelligence des spammeurs

16 03 2008

À l’arrivée des blogs, le spammeurs ont rapidement trouvé des moyens de faire leur pub à moindres frais, et gonfler artificiellement leur pagerank sur Google. D’abord via le referer spam, et ensuite via le trackback et le comment spam (qui restent actifs encore de nos jours). Puis vinrent l’attribut nofollow et les polémiques qu’il a fait naître, puis des scripts assez efficaces tel qu’akismet, permettant de filtrer de façon assez efficace les spams dans les commentaires et trackbacks.

Bref. Je viens de voir une technique très bien pensée. En fait, j’envisage de créer un second blog, communautaire celui-là, et ma première réaction a été d’aller sur un site bien connu proposant le téléchargement de thèmes prêts à l’emploi. Je lance ma recherche, j’en choisi un premier, puis je lance la prévisualisation. Il est habituel que le développeur d’un thème insère en bas de page un lien vers son propre site. D’ailleurs ce site possède un lien vers jide.fr en bas de page.

Et là, le lien avait pour texte « Online Casino»  et lie vers un site de casino online…

Il est rare que quelqu’un qui décide d’installer un thème tout fait prenne le temps d’enlever ce genre de lien. D’ailleurs, ce serait mal venu. J’ai moi-même fait la leçon à l’auteur d’un site utilisant le même thème que le mien en ayant supprimé le lien de Jide…

Soit. Ca me fait un peu peur, tellement c’est bien pensé!



Collaborer à OpenStreetMap

16 03 2008

OpenStreetMap est une initiative technologique permettant à tout le monde de collaborer pour concevoir une base de données géographique mondiale, libre de droits, et extrêmement complète. Alors que la plupart des GPS commerciaux et des bases de données commerciales se limitent à des attributs simplistes concernant les routes (vitesse maxi, sens interdits), OpenStreetMap est volontairement ouvert à la création de nouveaux attributs par les participants. Ainsi on peut indiquer des lignes électriques à haute tension, des arrêts de bus et de train, des routes en forte pente, si une route est autorisée ou non à certains types de véhicules… On peut aussi ajouter directement les POI1

Le principe est bien joli. Mais pour parvenir à créer cette base de données, le projet fait appel aux volontaires pour contribuer au dessin virtuel des routes. Pour cela, il y a plusieurs techniques. Je vais dans ce tutoriel me contenter de vous décrire comment utiliser la même technique que moi. Vous pourrez cependant passer par d’autres outils, ou peaufiner tel ou tel moyen de travailler…

Principe de base

La création de routes dans OSM repose sur l’observation et l’enregistrement des données par la récolte de celles-cis. Une chose est de tracer une route, une autre est de la dessiner exactement là où elle doit se trouver, et d’y assigner les valeurs correctes.

Matériel nécessaire

D’abord, vous aurez besoin d’un PC portable. En réalité, il est également possible de travailler avec un simple GPS commercial pour autant qui vous soit possible d’enregistrer les traces GPS et de les importer par la suite dans votre PC. Je ne dispose pas de GPS commercial, donc je ne peux pas vous indiquer la marche à suivre.

Ensuite, vous aurez besoin d’une antenne GPS, à brancher sur votre portable. J’utilise un récepteur Holux GR-213, qui se branche en USB. En cherchant un peu sur Amazon.fr, j’ai trouvé ceux-cis, qui semblent similaires:

Selon l’autonomie de votre pc portable, je ne peux que vous conseiller d’avoir aussi un adaptateur permettant de brancher votre pc portable à la prise allume-cigares de votre voiture.

Vous aurez aussi besoin d’un moyen pour prendre des notes. Choisissez une ou plusieurs méthodes suivantes.

Le moyen le plus simple est d’avoir un appareil photo numérique avec une grosse carte mémoire. Privilégiez un « tout automatique»  plutôt qu’un appareil professionnel. Vous prendrez la plupart des photos en conduisant. Vous ne ferez pas des photos « artistiques»  mais simplement pratiques. Si votre appareil photo est capable d’enregistrer des notes vocales à associer aux photos, cela peut aider. Pensez à avoir des piles bien chargées, et si possible des piles de rechange.

Un micro-cravatte, à relier à votre pc, pourrait être pratique. Il vous permettra d’enregistrer en temps réel des notes vocales, que vous pourrez par la suite synchroniser à vos traces GPS.

Un petit bloc notes et un crayon peuvent aussi être utiles. Mais l’utilisation de ceux-cis vous obligera à vous arréter sur le bord de la route pour faire vos dessins et prendre vos notes. Si c’est la méthode que vous choisissez, préférez un petit carnet (taille A6). Pensez aussi à noter sur chaque page les coordonnées GPS de l’endroit auquel vous faites référence.

Enfin, vous aurez besoin d’une série de logiciels sur votre PC. J’en dresserai la liste non-exhaustive dans la suite.

Logiciels utiles

Josm

Josm, qui est l’outil de base permettant d’éditer les données sur OpenStreetMap. Très puissant, il est un peu difficile à prendre en main. Mais une fois le système compris, il fera exactement ce que vous voudrez. Quoi qu’il en soit, il est absolument nécessaire d’utiliser ce logiciel pour collaborer à OSM.

GPSd

C’est un composant un peu copliqué à définir exactement. Disons qu’il fait l’interface entre les données brutes de votre antenne GPS et les logiciels. Il contient également quelques petits scripts utiles tels que xgps (qui affichera une visualisation des satellites détectés, et les informations données par votre GPS) et gpspipe (que j’utilise pour enregistrer mes traces)

Navit

Navit est un logiciel qui se contente d’afficher les cartes. Il est en cours de développement, et se destine à devenir un logiciel de navigation complet. Il gère plusieurs types de sources de données, dont OSM. Je l’utilise afin de visualiser si les environs de ma position sont déjà indiqués dans la base de données OSM ou pas.

Préparer votre trajet

Avant de prendre la route, préparez votre PC. Commencez par vous familiariser avec les outils. Téléchargez quelques données de la région sur laquelle vous comptez travailler, histoire de savoir ce qui est déjà répertorié et ce qui ne l’est pas. Faites des tests pour voir si tout fonctionne correctement, et si les différents logiciels peuvent voir votre position.

Ensuite, planifiez votre trajet, notez quelles routes manquent dans OSM. Si possible, imprimez une carte du quartier et tracez les routes à faire avec un marqueur fluo par exemple…

Avant de partir

Montez en voiture, installez comfortablement votre portable branchez tous les câbles (GPS, alimentation), allumez le PC, lancez tous les logiciels. Xgps vous indiquera notament la qualité de votre positionnement. Une fois que votre antenne aura suffisament de signaux de différents satellites, la case « Status»  devrait indiquer « 3D Fix» .

Faites une photo de l’écran de votre PC, à ce moment là. L’élément important de la photo, quoi que vous en pensiez, c’est le champs « time» . Il permettra par la suite de géotagger vos photos.

Prendre la route

Je vous conseille fortement d’emmener un copilote avec vous, qui sera chargé de faire les photos, prendre les notes, surveiller l’activité du pc et la carte affichée par Navit.

Vous pourrez prendre la route. Mais n’oubliez pas que vous n’êtes pas seul sur la route! En cours de route, arrétez-vous de temps en temps, prenez des notes, des photos, et jetez un oeuil à ce que vous avez fait jusque là.

Les éléments à noter sont principalement le nom des rues et routes que vous empruntez, les panneaux routiers, et les lieux qui peuvent être utiles: boîtes postales, stations essence, restaurants, églises, monuments historiques… Si vous faites des photos en roulant (bien que je le déconseille fortement), visez à l’aveugle. Tenez votre volant d’une main, votre appareil dans l’autre, et regardez LA ROUTE, et pas votre appareil photo. Faites plusieurs photos à la suite, car vu que vous ne pourrez pas viser, vous aurez plus de chances d’avoir ce que vous cherchez à montrer.

De retour chez vous

Une chose est de récolter des informations. Mais si elles restent sur votre PC, ca ne sert pas à grand chose. La première chose à faire est de géotagger vos photos. Pour cela, j’utilise geotag, un petit logiciel en Java. On ouvre les photos, on importe un tracé en .gpx, on définit la différence entre l’heure GPS et l’heure des photos sur l’appareil photo, et le logiciel fait le reste.

Ensuite, vous pouvez ouvrir votre .gpx dans Josm, et commencer à ajouter des données à OpenStreetMap! Mais cela fera l’objet d’un autre tutoriel…

  1. Point Of Interest: des endroits utiles tels que stations essence, téléphones publics, restaurants… []


Un petit script pour sauver mes traces GPS

10 03 2008

Comme vous le savez sans doute déjà, je participe à OpenStreetMap. Jusque là, pour mapper, j’utilisais JOSM en activant le mode LiveGPS. L’ennui c’est que pour le géotagging de mes photos, Josm n’enregistre pas les timestamps des traces. Je suis donc dans l’impossibilité de rajouter — après coup — les données géographiques à mes photos. Enfin, j’y arrive parce que généralement je fais assez peu de photos pour me souvenir mentalement d’où je les ai prises; mais ce n’est pas « optimal» .

J’ai donc été demandé de l’aide sur le salon #osm sur irc, et on m’a donné pour astuce d’utiliser gpspipe, et d’enregistrer les données brutes en NMEA, pour plus tard les convertir via gpsbabel.

Ces conseils m’ont permis de générer un script qui automatise le processus…
Lire la suite »



Mon CV

29 02 2008

Un CV traditionnel, c’est assez chiant à lire. Alors je vais tenter de le raconter façon bio plutot que sous forme d’une liste…

Ã?tudes

Rien de particulier à signaler. J’ai passé mes primaires dans une petite école communale en ardennes, à Melreux, pour être précis. Petite anecdote, en sixième, mon prof était le père de Philipe Courard.

Ensuite, trois années de secondaire à La-Roche-en-Ardennes. Mes options: sciences économiques et informatique. Autant dire que je n’ai rien appris à ce dernier cours. En raison d’un déménagement en cours d’année scolaire, j’ai été très absent de ma troisième année secondaire. Cela m’a valu d’échouer de peu aux examens de fin d’année. J’ai donc fait 4 ans à l’athénée royal Emile Fonck de Marche-en-Famenne. J’en ai profiter pour basculer sur les langues… Néérlandais, anglais et allemand. Un seul échec vraiment notable au cours de ces années: en cours de gym… Bah oui, j’aime pas courrir dans les bois!

Après ça, j’ai tenté une candidature en Droit, aux Facultés Universitaires Notre Dame de la Paix. J’ai adoré assister aux cours, mais malheureusement, un obstacle important s’est trouvé face à moi : la découverte du HTML, puis du JavaScript, et enfin du Java… J’ai commencé à passer plus de temps devant mon ordinateur que sur les bancs de l’amphi… J’ai donc lamentablement échoué mes examens.

Les vacances passèrent, j’ai découvert le C sous DJGPP, codé mes premières applications console, perdu quelques heures à m’émerveiller des émulateurs et de la demoscene… J’ai investi mon argent de poche dans l’achat de Microsoft Visual C++ 6 et codé quelques applis simplistes, entre autres un petit logiciel de « post-it»  et une variante d’un auto-extracteur de zips orienté démoscene… J’ai découvert les joies de MFC, y ai un peu trouvé d’ennui, puis j’ai redécouvert WinAPI et les joies du « tout par messages» .

Assez logiquement, j’ai débuté un graduat en informatique. En fait, c’est arrivé un peu par hasard, mais soit. La première semaine, j’ai été confronté aux horeurs du pascal, et peut attester de la légende : « Real Programmers don’t use pascal»  (mais pas pour les mêmes raisons). J’ai fait face à un mainframe qui parvenait parfois à rester actif plus de 5 minutes sans planter. J’ai aussi eu un cours sur « qu’est-ce qu’un ordinateur» , où le prof nous a expliqué en quoi consiste une souris et qu’il existait divers types de claviers. Ã?trangement, il n’a pas évoqué le dvorak. J’ai aussi eu des cours d’anglais et de néérlandais. Enfin… « Leer nederlands met Babar»  et « Speak English with Mickey Mouse» . On avait aussi des cours de sciences économiques, qui m’ont replongé 7 ans en arrière. Puis vint la seconde semaine, et l’exposé du programme des trois années de cours… Première année : pascal et cobol. Deuxième année, pascal, cobol, et un peu d’assembleur. Troisième année, un peu de C. Au deuxième semestre, si on a le temps, on fera peut-être les bases du Java. Je n’ai pas assisté à la troisième semaine.

Expérience

Donc fallait bien faire quelquechose. J’ai commencé par m’inscrire au chomage, et j’en ai profité pour reprendre le java, chipoter un peu plus loin sous WinAPI, et me suis remis à la conception de sites web. J’ai réappris le JavaScript qui avait déjà bien changé, appris le CSS qui n’en était qu’à ses balbutiements, ai approché les nouveautés du HTML 4.0, et joué des innovations apportées par Internet Explorer 4 à l’époque où Redmond était plutot en avance sur tous les autres. J’ai donc commencé à gérer Apache et à écrire en PHP et en Perl…

Au bout de quelques mois, il fallait bien trouver un job. J’ai alors rencontré Claude B. qui ma offert mon premier job. En substance, il donnait des consignes à un graphiste, qui travaillait sous Photoshop, et ensuite je me chargeais de transformer ces images en pages web. Pas très passionnant, mais au moins, cela m’a permis d’approcher de vrais serveurs (que j’ai dû choisir, acheter, et configurer de fond en comble sans jamais avoir touché à Linux). En deux semaines, j’en ai appris assez pour effectuer les travaux basiques requis par mon job. En l’essence, j’avais plusieurs postes dans cette société. Web-designer, sysadmin, gestionnaire des backups, help-desk téléphonique (aussi bien pour les clients que pour mes deux patrons qui avaient autant de connaissances en informatique que j’en ai en cuisine). Ca a duré un an. Officiellement, j’étais engagé à mi-temps. Dans la pratique, je travaillais entre 10 et 16 heures par jour. Ceci étant dit, les jours ou j’avais de quoi faire, je travaillais « vraiment» , et les autres jours, je me contentais d’adopter le principe du « 20% time»  de Google.

Bref, au bout de cette année, mon contrat a pris fin. Le lendemain, celui de deux autres de mes collègues s’est terminé aussi. Bref, en 2 jours l’équipe est passée de 6 à 3 personnes.

Je devais donc retrouver un travail. J’ai cherché un peu dans l’informatique, mais sans succès. Mon expérience était insuffisante, je ne disposait pas de voiture ni de permis, et je n’ai bien-sûr aucun diplôme. J’ai donc atteri dans l’industrie agro-alimentaire. D’abord en intérim, ensuite via des CDD de 3 mois. Bien que mon contrat de travail ne me permettais pas — syndicalement parlant — d’atteindre le niveau de « chef de ligne» , j’en avais tout de même la tâche à l’occasion de congés des chefs de ligne officiels. Rien de bien compliqué dans ce job malgré tout. Du travail à la chaine, un regard attentif à tous les détails, et l’aptitude de réagir à tout problème en quelques secondes. Le tout à une température de 4Ã?°C (ça rigole pas, l’agro-alimentaire).

Puis un jour, en basse saison, mon 5ème CDD n’a pas été renouvelé. Le lendemain, pas de mission d’intérim. Ni le surlendemain. Par contre le troisième jour, on m’a laissé un message sur mon gsm. J’étais à 100 kilomètres de là, et mon gsm resté chez moi. Mon absence a été mal prise, et je n’ai plus été appelé…

Un peu dégouté, j’ai pensé à autre chose. J’ai continué à bosser sur divers sites web qui n’ont jamais vu le jour faute de moyens financiers. Et je suis venu me perdre à Bruxelles, et j’ai cherché un autre job. A l’heure où j’écris ces lignes, je travaille depuis bientôt 3 ans pour une société pharmaceutique. Au début, c’était presque de la chaîne… Pas de tracas, les journées passent vite… Puis j’ai gravi les échelons. Très vite, selon mon chef direct. Trop vite, selon ceux qui étaient là avant moi. Et maintenant, je suis un peu coincé. J’ai gravi en moins d’un an tous les niveaux, et je me retrouve coincé là. L’étape supérieure, c’est de devenir superviseur, mais tous les postes sont pourvus depuis pas mal de temps.

Et puis bon, le pharmaceutique, c’est bien; être à un niveau stable, où l’on sait ce que l’on a à faire, c’est très bien; mais ma passion est et reste l’informatique…

Ma vie

Le travail et la vie sont indéniablement liés. Dès lors, je trouve important d’en parler.

Je suis sur le point de me marier, nous n’avons pas d’enfant (et nous ne comptons pas en avoir dans un avenir proche). Mes temps libres, je les occupe à diverses choses que je décris dans ce blog… Je ne suis pas du genre à me fourrer devant une télé, impassible et inactif. Il est même très rare que je JOUE sur ma PS3, car je passe plus de temps à chipoter sous Gentoo. Quand je suis sur mon pc, je fais pas mal de choses un peu dans tous les sens. Je lis pas mal de blogs, je participe à des chatrooms, j’écris dans des forums ou (rarement) des wikis… Le dernier jeu auquel je me sois intéressé — Dofus — a d’ailleurs été une occasion de plus de passer du temps sous Visual Studio, à écrire du C#…