Passionné
Mes centres d'intérêt professionnel, mes éventuelles contributions, etc.
Côté technique
Langages de programmation
Mon premier intérêt, en Informatique, a toujours été la programmation, même si je travaille aujourd'hui à un niveau qu'on qualifie plus respectueusement de « développement ». Dans ce domaine, j'ai eu la chance d'utiliser, au travers des nombreux projets auxquels j'ai contribué, à de nombreux langages.
Pour n'en citer que quelques-uns : BASIC, Turbo-Pascal, Delphi, JavaScript, C++, Java, Haskell, Ruby. Et je ne vous parle ici que des branches principales (par exemple, dans le domaine BASIC, j'ai fait du BASIC 1.0, du GW-BASIC, du QBASIC, du QuickBasic, du VisualBasic…), et uniquement de langages de programmation (ce qui exclut, par exemple, les langages de balisages comme XML, XHTML et SVG, ceux de formatage comme CSS, etc.).
L'avantage de ce parcours, c'est qu'il permet de bien faire la différence entre les différentes composantes de ce qu'on perçoit globalement comme un langage :
- les concepts fondamentaux, qui font (pour le pire ou pour le meilleur) la puissance du langage
- la syntaxe, à laquelle on ramène trop souvent le langage tout entier
- les bibliothèques, qui sont là pour faciliter la vie du développeur en lui évitant de réinventer la roue tous les matins
C'est comme tout : plus on apprend, plus il devient facile d'apprendre encore. À force d'assimiler de nouveaux langages, le nombre de concepts réellement nouveaux diminue rapidement, et ajouter un langage à sa panoplie finit par se résumer à la compréhension éventuelle d'un ou deux concepts innovants (ce qui est rare), à mémoriser les différences syntaxiques avec les langages qu'on maîtrise déjà, et à se familiariser avec les bibliothèques qu'on a désormais sous la main.
On se rend également compte que les langages les plus répandus sont généralement les moins puissants (encore une confirmation, si besoin était, de l'incontournable loi de Kiwi n°1). Ainsi par exemple, le C est un assembleur poudré, et l'utiliser pour autre chose que du développement noyau relève du masochisme. Java et C++ sont très améliorables, mais ont chacun leurs forces et sont complémentaires (je suis un grand fan des deux), et ceux qui rejettent l'un pour glorifier l'autre n'ont rien compris au film.
Autre vérité cinglante : à bien des égards, JavaScript est bien plus puissant que Java ! Pas en termes de bibliothèques, mais en termes de concepts. Par exemple, JavaScript supporte l'essentiel des fonctionnalités de Java, mais aussi, par exemple, les fonctions d'ordre supérieur, une possibilité fabuleuse qui fait défaut à Java (et à C++, soit dit en passant), mais qu'on retrouvera systématiquement dans les langages fonctionnels tels Lisp, Scheme, Caml ou Haskell.
En somme, j'adore découvrir de nouveaux langages de programmation, et toucher du doigt les bons et mauvais points de leur conception. S'il n'existe pas, aujourd'hui, de langage meilleur que tous les autres, cela ne veut pas dire que la situation ne peut pas changer.
De mon côté, je mets un point d'honneur à apprendre un nouveau langage aussi souvent que possible. Idéalement, au moins un par an. Voyez mes résolutions pour 2006.
Technologies Web
Je développe des sites, des intranets et des extranets depuis 1998 (et des pages depuis 1995). À cette époque, on faisait du « HTML des années 90 », un doux euphémisme qu'on trouve aujourd'hui partout pour remplacer le plus prosaïque « HTML de merde » que ces pages méritent pourtant amplement.
En gros, personne ne lisait les specs du W3C, tout le monde apprenait le HTML sur le tas, dans les magazines bas de gamme, sur le site de Microsoft, et les webmestres ne juraient que par Microsoft Internet Explorer (MSIE, plus communément dit « IE »).
Mais depuis 2001 environ, on commence à réaliser que IE n'a pas bougé d'un iota (ou à peine) depuis 1999, qu'il est pharaoniquement en retard sur les standards disponibles, et qu'en plus d'être un attardé technique fini, il est une véritable passoire en termes de sécurité. Microsoft ne fait strictement rien pour améliorer la situation, et nous serions tous dans une belle m—— si d'autres groupes n'avaient pas à cœur de fournir des solutions intelligentes, techniquement à jour, et correctement sécurisées, pour permettre à Monsieur Tout Le Monde de naviguer agréablement et en confiance.
Je ne vais pas passer trois pages à vous expliquer pourquoi les standards du Web c'est bien, et pourquoi les formats ouverts aussi. Si le sujet vous intéresse (et il devrait, car les enjeux ne sont pas seulement techniques, mais aussi profondément citoyens), allez donc voir OpenWeb et Formats Ouverts, ils expliquent ça très bien.
Parmi les groupes qui font du bon boulot, je pense au premier plan à Mozilla.org, bien entendu, qui coordonne le développement de nombreux logiciels libres, au premier rang desquels les désormais incontournables Firefox (navigateur) et Thunderbird (messagerie électronique). Je les utilise moi-même depuis leurs toutes premières versions beta, et j'évangélise activement pour eux.
On trouve aussi, pas toujours en logiciel libre mais de qualité néanmoins, Konqueror (le navigateur de KDE), Opera et Safari, pour ne citer qu'eux.
Depuis 2002, j'ai pour ma part complètement viré de bord technologiquement, en m'attachant très fort aux standards du Web (XHTML 1.0 Strict, CSS 2, ECMAScript 3e édition, DOM niveau 2, etc.) et en utilisant exclusivement Firefox et Thunderbird.
Ce qui est top avec les standards, c'est qu'on développe son site une fois, et une fois qu'on a un site fini, tout beau, tout puissant, tout pratique, on se rend compte qu'il marche sur tous les navigateurs récents, sans changer une ligne.
Par ailleurs, ne vous y trompez pas : le futur de la plate-forme applicative, c'est le Web. Les applications de la prochaine génération tourneront toutes via le Web, avec ce qu'on commence à appeler des « clients riches », c'est-à-dire des petits programmes tout légers utilisant des technologies de type Web (ex. XUL de Mozilla, très bien positionné). Il est largement temps de monter dans le train, sous peine de rester sur le carreau dans même pas 5 ans.
Je fais aussi partie de Mozilla Europe, et je leur file un coup de main chaque fois que je peux : sur des salons, sur le site, sur le système de réponse aux courriels, dans la presse, etc.
Compilation
La compilation est l'ensemble des procédés techniques qui transforment un programme écrit dans un langage donné vers un langage de niveau inférieur, c'est-à-dire plus proche de la machine. Le plus bas niveau de langage est le binaire, une représentation fondamentale des instructions envoyées au microprocesseur. À l'inverse, plus un langage fournit d'abstraction au programmeur, plus il lui permet d'exprimer des concepts complexes en peu de code, et plus son niveau est elevé.
Il est tout-à-fait possible d'écrire un compilateur « bête et méchant », qui fonctionnera mais ne présentera qu'un intérêt technique limité. Ce qu'il y a de fascinant dans la compilation, c'est tout le domaine de l'optimisation (et de la compilation parallèle, mais la c'est vraiment la Cour des Grands™).
Mon intérêt pour les langages m'a toujours donné envie de créer le mien. Même si aujourd'hui cette envie m'a passé, notamment en raison l'excellence de certains langages récents, j'ai toujours cet intérêt pour la réalisation de compilateurs. En 1997, j'ai réalisé un EDI complet (éditeur, interpréteur, débogueur interactif, etc.) pour le langage algorithmique utilisé à l'EPITA. Il s'agit d'une version un peu bancale (même si plusieurs cours s'en servent, de par le pays), et techniquement insatisfaisante pour moi. J'ai toujours l'espoir de trouver assez de temps, un jour, pour le réécrire complètement et proprement, et mettre en application certains concepts avancés.
Côté non technique
Langues
J'adore les langues, qu'il s'agisse du français, ma langue maternelle, ou des langues étrangères.
J'ai toujours beaucoup lu et je suis un perfectionniste compulsif. Je me targue donc (tant pis pour la modestie de rigueur) d'une très bonne maîtrise de ma langue natale, à l'écrit comme à l'oral.
Mais je suis tout aussi rigoureux et passionné pour les autres langues, au premier rang desquelles l'anglais. J'ai beaucoup travaillé mon anglais dès la 3e (1992), et suis bilingue (écrit comme oral, US comme UK) depuis plusieurs années. Je possède plusieurs ouvrages entièrement consacrés à cette langue, ou à ses rapports—étroits—avec le français. Pour vous donner une idée, et au risque de vous inquiéter pour ma santé mentale, j'ai lu avec intérêt le Merriam-Webster's Pocket Guide to Punctuation, un ouvrage de 330 pages entièrement consacré aux règles de ponctuation !
Je mets un point d'honneur à voir les films en VO, et je voyage à l'étranger quand j'en ai la possibilité. Je lis aussi énormément en anglais, et parfois dans d'autres langues.
Récemment, j'ai commencé à me mettre à l'italien (qui semble très facile), et à reprendre l'allemand, que je ne parlais pas trop mal en sortant du lycée. Ces deux tentatives sont, à ce jour, interrompues. Mais j'espère bien retrouver le temps, et la discipline, de reprendre le collier prochainement.
Et un jour peut-être, par ordre de priorités actuelles, le néerlandais, le japonais, le suédois, le russe...
Bouquins
Je lis pas mal, même si je lis aujourd'hui moins que lorsque j'étais célibataire et bossais en indépendant. J'ai un gros faible pour certains auteurs américains, et je suis très bédéphile.
Côté bouquins, je lis surtout, ces dernières années, les romans de Orson Scott Card (les cycles Ender, Homecoming, Alvin Maker ; les histoires indépendantes et toutes les nouvelles), de Neal Stephenson (Zodiac, Snow Crash, The Diamond Age, Cryptonomicon, et les 3 000 pages du Cycle Baroque : QuickSilver, Confusion et The System of the World), Raymond E. Feist (le cycle de Pug, Faerie Tale) et Robert Silverberg (cycle de Majipoor). Sur le côté, j'ai toujours quelques bouquins électiques (sur le fooding, sur le vin, sur les langues, sur la géopolitique...)
Pour plus de détails, regardez-moi jouer le prescripteur…
Par le passé, j'ai dévoré pratiquement l'intégrale de Jules Verne, ainsi que la quasi-totalité de Stephen King (jusqu'à mes 22 ans environ, quand j'ai fini par m'en lasser), et les 42 premiers tomes des romans à deux balles tirés de l'univers des Royaumes Oubliés (dont presque aucun ne vaut le coup, hormis peut-être ceux de R.A. Salvatore).
Côté BD, j'ai un peu plus de 400 volumes ici, plus ceux qui sont restés en province. J'ai essentiellement des séries éditées chez Delcourt ou Soleil (Travis, Carmen McCallum, Nash, Anahire, UW1, Lanfeust, Zentak, Little Blade...), plus quelques Glénat et Humanoïdes Associés (Sanctuaire, Troisième Testament, Triangle Secret). La plupart des Troisième Vague du Lombard, les Blake et Mortimer, les Nomad et HK, et les grands classiques : Thorgal, Largo Wynch, XIII... Enfin, des mangas et une quarantaine de BD érotiques de styles variés (très appréciées des visiteurs !).
Cinéma
Je suis assez cinéphile. Il fut un temps (1997–2000) où j'allais au cinéma pratiquement tous les soirs. Lorsqu'UGC a lancé l'abonnement Illimité, j'étais l'un des tous premiers inscrits ! L'avantage d'être à Paris, c'est qu'on peut voir tous les films en VO, et dans de grandes salles. La province rattrape sporadiquement, mais quand même... Aujourd'hui, je vais beaucoup moins au cinéma (2–4 fois par mois).
Ayant le souci des noms et la curiosité des filmographies, je vais beaucoup sur l'IMDb. J'apprécie particulièrement les films de (sans ordre particulier) Quentin Tarantino, James Cameron, Hiyao Miyazaki, David Fincher, Michael Mann, Oliver Stone (mais lui pardonnerai-je Alexandre ?!)... Quant aux acteurs et actrices, la liste de ceux que j'apprécie serait trop longue pour ne pas être ennuyeuse.
Le meilleur au cinéma, c'est peut-être le plaisir des surprises, ces films qu'on est allé voir par curiosité et sans en attendre grand chose, et dont on ressort délicieusement étonné. Dans ce registre, je classerais notamment Oldboy, Closer et (dans une moindre mesure) 100 Girls.
Voyages
J'adore voyager, et si j'avais les moyens, je partirais loin et souvent.
Dans la pratique, j'ai quand même la chance d'avoir déjà pu passer quelques temps dans pas mal d'endroits :
- La quasi-totalité de la France, même si je connais moins le Nord, le Centre et le Sud-Ouest. Il faut dire qu'en plus des balades, j'ai habité en PACA, en Normandie et à Paris.
- Divers pays d'Europe occidentale, avec de nombreux passages en Angleterre et aux Pays-Bas, et des visites en Allemagne, en Italie, en Espagne et en Suisse.
- La Hongrie en 1996. Envie d'y retourner prochainement.
- La Turquie en 1998, et l'intention claire d'y retourner plusieurs fois.
- La Tunisie en 2004. J'y retournerai aussi...
- L'Afrique du Sud, et plus précisément le Western Cape, à trois reprises (1997, 1998, 2002), et ce n'est pas fini.
- Les USA, en particulier la Californie du Nord (Bay Area), où je retournerai sans doute plusieurs fois.
- Tahiti, en 1996.
En-dehors de cela, j'ai des envies de lointain, avec notamment (par ordre approximatif de priorité) :
- L'Australie, notamment Sydney
- La Nouvelle-Zélande
- Le Japon
- L'Inde
- L'Europe centrale, notamment la Pologne, la République Tchèque et les Balkans
- L'Europe du Nord, notamment la Finlande et la Suède
- L'Amérique Latine, particulièrement le Brésil.
Résolutions pour 2006
Si j'arrive à faire 25% de ça, je serai déjà content...
- Me remettre pour de bon à Haskell.
- Enfin lire le bouquin de Muchnick, acheté en 1998 !
- M'investir plus avant (mais vraiment !) dans Mozilla Europe
- Approfondir mon XUL, coder des extensions Thunderbird et commencer à proposer des bugfixes et des patches pour Firefox/Thunderbird
- Collaborer à OpenWeb, éventuellement à Pompage
- Si ce n'est pas un doublonnement d'effort (voir avec Tristan), me mettre à écrire ce bouquin technique pour de bon, si possible avec Manu
- Enfin rédiger le contenu de TheDelphiDeveloper
- Passer les certifications J2SE et J2EE
- Enfin finir DelphID3 et surtout DelphiDoc
- Retourner passer une ou deux semaines en Californie, avec Elodie
- Me remettre à l'Allemand, me mettre pour de bon à l'Italien
- Me remettre au sport
- Lire plus d'auteurs français
- Gagner davantage ?

Ce site est mis à disposition sous un contrat Creative Commons.