Une manière de se démarquer...
Existe-t-il quelque chose de plus fade et impersonnel qu'un curriculum vitæ
sous word? Hum difficile à dire dans mon cas, je suis un arriéré datant de la
version 2000. Au-delà je ne connais ne suis plus compétent. Ma petite bureautique
se fait sous OpenOffice.org (00o pour les intimes) qui convient amplement à la
plupart de mes besoins (un peu de propagande pro logiciel libre ne fait pas de mal).
Oui mais voilà un curriculum vitæ relève du domaine professionnel. Je suis
ingénieur informaticien oui ou non? Dois-je me contenter d'un outil
de secrétaire? Sûrement pas! Quelle est donc la solution ultime?
Réponse : il n'y en a pas malheureusement pas mais j'ai à vous proposer une
méthode simple d'un point de vue conceptuel, un peu plus sportif d'un point
pratique. Bien sûr, si vous avez des idées après la lecture de ce qui suit je
suis preneur. A bon entendeur...
J'ai découvert Latex. Ce formidable outil bien connu du monde scientifique
produit des documents de grande qualité. C'est le processeur de texte (on ne
parle pas de traitement de texte dans le cas présent) standard pour tout
chercheur et mathématicien qui se respecte. Qualité... c'est bien l'outil dont
j'ai besoin. Facile à dire plus difficile à maîtriser. Latex (prononcer
latèque c'est une référence au grec) a un fonctionnement spécial. Il n'est
pas WYSIWYG comme les traitements
de texte traditionnels. On y code des instructions qui sont ensuite lues
par un compilateur adéquat. Ce dernier se
charge donc de la césure des mots, espacement des signes diacritiques et
autres tracasseries typographiques... Si l'on souhaite une certaine police ou
une certaine taille de caractère il faut l'écrire noir sur blanc dans le code.
C'est vraiment pratique et définitivement dans l'esprit Un*x (en ligne de
commande) une fois qu'on maîtrise un peu la chose.
En effet, une fois que l'on a son modèle de document, il n'est plus nécessaire
de se rappeler quel est le menu à appeler dans l'infâme cliquodrome
à rallonge... vous m'avez compris.
Autre point en faveur de Latex, il convient très bien pour faire des
documents pdf. Le "portable document format" sensible amélioration du
postscript (qui tend à disparaître) est lisible sur toutes les machines
équipées d'un lecteur pdf, c'est-à-dire l'immense majorité des architectures
existantes hormis quelques rares ordinosaures qui croupissent dans les musées.
Si vous n'avez pas de lecteur de pdf installé sur votre machine je vous
recommande acrobat 6 sous windows
ou xpdf 3 pour GNU/Linux.
Le pdf c'est bien joli mais j'ai maintenant un site web qui se veut intégriste
sur les standards web. Il me fallait donc aussi une version html/css qui passe
à la validation.
Bref j'ai cherché à produire du html à partir de latex mais les outils
existants (pdftohtml) n'étaient pas
compatibles avec le cahier des charges que je m'étais fixé (même si le html
est respecte assez fidèlement le pdf initial, il crée des frames et ne passe
pas au validator). La solution pour laquelle j'ai optée réside dans la panacée
qu'est xml. Oui ce format qu'on voit partout dans la presse spécialisée mais
dont on ne sait pas trop quoi faire tellement il peut en faire. Ce fut pour
moi une bonne occasion de relire mon rapide cours xml. Très rapide, il n'y a
presque rien à dire sur xml si ce n'est que c'est un html à balisage universel
qui permet de hiérarchiser l'information. Il peut décrire des données tout en
spécifiant ses propres balises. Une idée qui a l'air toute simple mais
prodigieusement intéressante! (Pour la petite histoire ça m'a donnée une idée
de passerelle inter langage de programmation. Je pense que je vais chercher un
job sur cette technologie c'est trop fun!).
Tout d'abord, un des avantages du xml d'après moi, c'est que le contenu du
document n'a pas besoin d'être le même encodage que celui utilisé par le
charset en local sur la machine. C'est typiquement ma situation, j'utilise un
encodage ISO-8859-15 (windows utilise généralement le charset Windows-1252 mac
a aussi son encodage appelmac... résultat tout ne cohabite pas forcément lire
ceci et
ceci)
mais grâce à xml je génère des documents .html et .tex en utf-8 qui peuvent
donc contenir les caractères chinois!
Pour ceux qui sont largués le charset est le nom de l'ensemble des caractères
que l'on peut utiliser sur sa machine pour saisir des caractères. Le mécanisme
par lequel un élément du charset traduit le caractère est un encodage
d'entrée (là on joue sur les mots c'est presque la même chose). Concrètement un
encodage d'entrée permet de representer les lettres tapées sur le clavier en
en un code numérique (l'ordinateur ne manipule que des nombres).
Traditionnellement et pour des raisons techniques, on est limité à 256
caractères. Les gens ont tenté de résoudre cette limitation de 256 caractères
qui ne convenait finalement que pour l'anglais, forcément ils s'y sont pris de
manière différente. Résultat, il existe beaucoup d'encodages d'entrée ce qui
rend l'écriture de documents multi-langues assez problématique. Attention, ne
pas confondre codage d'entrée et codage de fonte (au secours les
informaticiens sont tordus!). Le codage de fontes fait la correspondance entre
le nom du caractère et sa position dans la table de la fonte. Pour encore
simplifier les choses on remplace souvent fonte (terme qui vient de l'anglais)
par police de caractère en français. Rassurez-vous, la solution définitive à
tout ce casse-tête arrivera un jour grâce à unicode qui
standardisera tous les caractères des cette planète. Vous percevez
donc mieux la jouissance (bon j'exagère juste un peu là) que l'on peut ressentir
lors de l'écriture d'un document français/chinois.
Revenons à xml, un des problèmes majeurs en informatique est de savoir ce
qu'on est train de manipuler. Petit exemple, comment dire à une machine :
toto@moncourrier.com est une adresse email? Il y a l'arobase on est d'accord
mais ce n'est pas très pratique car les webmasters prennent soin de truquer
leur adresse mail pour déjouer les robots spammeurs. Donc on aimerait pouvoir
dire : "toto at moncourrier.com (cette adresse est truquée)" est bien mon
adresse mail. En xml c'est facile on crée une balise <email>toto at
moncourrier.com (cette adresse est truquée)</email>. Une balise est un mot
spécial du langage qui s'ouvre <ma_balise> et se ferme comme ceci
</ma_balise>. La description des données devient très simple! C'est tellement
simple qu'un non informaticien pourra s'interroger à juste titre : "qu'est-ce
qu'il y a de si fantastique la dedans?" Réponse : les ambiguïtés ne sont plus
possibles, tout le monde arrive à comprendre tout le monde et tout est pour le
mieux dans le meilleur des mondes. Les débuts de l'informatique ont connu ce
cruel paradoxe d'avoir emmagasiné énormément d'information mais aussi d'en
avoir perdu énormément. En effet, il fallait stocker de l'information alors on
a stocké chacun à sa façon bien à lui. Le jour où on a voulu échanger des
informations, impossible les formats étaient différents. Pire, dans de
nombreux cas les formats sont propriétaires et dominés par seulement quelques
personnes. Imaginez ce qu'il est advenu (adviendra) des données une fois que
ces gens ont (auront) disparu dans la nature sans laisser d'explication sur
leur formats de fichier...
Ne sous estimez pas le problème! Il y a beaucoup à faire au niveau des formats
de fichier. Malheureusement, beaucoup de gens se fichent de savoir comment
sont stockées leurs données, ça marche et voilà... C'est une erreur induite
par l'aveuglement d'une courte vue. Jusqu'à encore quelques années le fameux
format .doc n'était maîtrisé que par microsoft. D'où les problèmes d'affichage
que l'on rencontre lorsqu'OpenOffice.org tente d'importer un .doc. On notera
le radical revirement de situation puisque microsoft a adopté le xml depuis la
version 2003 de leur suite bureautique. Pourquoi lâche-t-il un monopole sur
une technologie qui leur appartient? Oui c'est curieux mais ne vous y trompez
pas il n'est pas devenu militant du logiciel libre pour autant! Le xml est
devenu incontournable et microsoft espère donc imposer son schema xml en tant
que standard pour la bureautique et prendre de cours le dangereux concurrent
qu'est OpenOffice.org. Du microsoft dans toute sa splendeur... mais ne gâchons
pas notre plaisir, microsoft a cédé sur le plus important!
Le problème c'est que word sans être un standard est un format par défaut
adopté par "la majorité". Hé oui, le traditionnel dilemme démocratique
subjectif : la plupart des gens utilise word ipso facto la majorité à raison
et word devient le standard à utiliser sous peine de se faire marginaliser!
Cependant, une fois que l'on a conscience du problème, on comprend combien il
est impoli de forcer la main aux autres en leur imposant un format de fichier
propriétaire (je croise les doigts pour que le lecteur ainsi averti abandonne
définitivement cette pratique).
J'ouvre une parenthèse : vous l'avez deviné, il ne faut pas m'envoyer des
fichiers sous word ou quelque format propriétaire que ce soit... du texte, du
html ou du pdf (lire ceci
si mon argumentation anti-word ne vous a pas suffit). Utilisez par
exemple cutewriter (les
instructions d'installation)
pour windows (c'est un logiciel gratuit) pour convertir les
documents word. Le linuxien pourra imprimer son fichier dans un .ps et le
convertir avec la commande ps2pdf.
Faites le tour de votre ordinateur et regardez comme vous êtes dépendant des
formats propriétaires. Laissez moi casser le mythe du mp3 par exemple.
Saviez-vous que l'industrie reverse des sommes gigantesques aux laboratoires
qui ont mis au point cette méthode compression? Les usagers lambdas peuvent
l'utiliser librement, les spécifications sont aussi disponibles celà n'en fait
pas un format libre pour autant. Lui préférer dès maintenant l'ogg qui lui
est totalement libre plus performant et va s'imposer par la force des choses.
Allez plus loin, et vous verrez que votre voiture ne se démonte qu'avec la clé
multi-fonction-quasi-introuvable-par-le-simple-mortel-que-je-suis et qui coûte
accessoirement 200 euros... Sapristi les gars du marketing m'ont encore pris
pour Crésus :(. Je donne l'impression de chercher la petite bête mais la liberté
n'a pas de valeur si elle ne se vit qu'à moitié!
Revenons à mon cv. Pdf ou pas... si je ne produis pas ledit document en .doc
j'encours le risque de me faire houspiller et ridiculiser par les demi-dieux de
l'informatique que sont les utilisateurs férus de ce logiciel. En substance ça
donnerait : "un soit-disant informaticien qui sort d'une grande école et qui
n'est pas foutu d'utiliser word! Même mon fils de 5 ans sait faire...".
Tout ça pour dire que faire un curriculum vitæ n'est pas si évident quand on
essaye de faire les choses correctement. Paradoxalement, en voulant bien
faire, on risque de froisser la susceptibilité de celui qui prend la décision
fatidique ce qui n'est pas très adroit. J'espère qu'après ce texte ce
dernier aura compris que mon objectif n'était pas de l'embêter, mais au
contraire de lui faciliter l'accès à la lecture du document.
Bon j'en viens au fait, ma solution est la suivante :
- fichier xml
- je parse avec xsltproc et mes feuilles de style xslt pour produire du html et mon fichier .tex.
- Le .tex est compilé pour finalement produire un document pdf.
Bien sûr, je peux aussi produire un fichier word 2003 mais word
philosophiquement ça ne passe pas. A la limite, je me pencherai sur le .sxw
d'OOo si je m'ennuie :)
Je ne vous fais pas languir plus longtemps. J'attends les critiques sur mon CV
et surtout des offres d'emploi sonnantes et trébuchantes!
Pour la petite histoire, ce qui m'a donné le plus de fil à retordre c'est la
gestion de l'unicode sous latex pour avoir mon prénom
en chinois. Comme je l'ai déjà dit plus haut, l'unicode est un ambitieux
projet qui à terme permettra d'encoder tous les caractères utilisés par toutes
les langues vivantes et mortes de cette planète. J'en profite pour remercier
Olivier Delloye pour son aide précieuse et sans qui j'aurai cherché
longtemps pour installer l'unicode. Promis, dès que j'ai un peu de
temps je rédige une documentation pour debian (existe-t-elle déjà? j'ai un peu
cherché et j'ai rien trouvé à part quelques newsgroups documentant la
procédure pour MacOs qui diffère un peu de débian). Pascal Fresnay à
qui j'ai repris le modèle de présentation, et enfin mon père pour ses conseils!
Pour ceux que ça intéresse, mon fichier xml n'est pas fait dans les règles de l'art, j'en
ai bien conscience. Je le fournis à titre d'exemple mais n'importe
quel professionnel bondira au plafond en voyant celà. Je n'ai fait qu'un
script maison qui produit le résultat que je veux obtenir. Le xml n'est pas
(encore) mon métier donc je ne m'arrête là. C'est de la bidouille améliorée
rien de plus et ne pas être considérée comme un modèle absolu. Pour bien
faire, il faudrait se conformer aux schemas xml standards
(on sait jamais, on peut tomber sur un DRH intégriste du xml).
Voilà, reste plus qu'à trouver le job maintenant :)