Plongez dans mon univers
Je viens de passer un mois et demi à bosser comme une brute, notamment à réaliser un CMS avec symfony 1.2 + doctrine + jQuery (je reviendrai là dessus bientôt.)
J’ai donc eu peu de temps libre, mais j’ai quand réussi à lire Sandman [fr] de Neil Gaiman [fr] (une lecture logique après avoir lu American Gods[fr] et Culture Libre [fr] de Lawrence Lessing [fr].
Le premier est proche d’American Gods par son côté “Rock n’ roll”. Sandman, le héros, m’évoque Alice Cooper ou à Robert Smith, selon le dessinateur. Et Méphistophélès ressemble étrangement à David Bowie… À part ça, je ne suis pas trop fan de ce genre de récit (les épisodes des X-Men avec Belasco ou encore les aventures du Dr Strange m’ennuyaient quand j’étais adolescent…)
Le second n’est pas un roman, mais plutôt un essai politique. Alors que la loi Hadopi est discutée en ce moment à l’Assemblée Nationale, la lecture de ce livre montre combien cette loi (et toutes celles du même genre) semble vouée à l’échec. Il montre aussi la très grande hypocrisie de l’industrie de la culture, qui après s’être créée grâce au piratage, s’insurge contre les nouveaux usages dès lors qu’ils vont à son encontre. Très documenté mais en même temps très simple à lire (les traducteurs ont fait un énorme travail bénévole), je pense que toute personne qui s’intéresse à l’avenir la culture doit le lire. Vous pouvez le télécharger ici [fr]
J’ai aussi réalisé mon premier script Python, suite au post [fr] de David Larlet [fr]. Il s’agit d’un petit script qui convertit des fichiers markdown[en] en HTML à l’aide de py-markdown, pour faire une doc utilisateur par exemple.
L’expérience est enrichissante, et David a raison de dire que l’on peut obtenir un résultat sympa en quelques heures. Par contre, je ne comprend toujours pourquoi il faut que je convertisse mon contenu en UTF-8, alors que mes fichiers et mon script sont en UTF-8 ?
Le code en lui-même est évidemment très perfectible, et j’espère pouvoir le travailler un peu. J’ai comparé mon code avec celui de deliciousbackup de Nicolas Steinmetz [fr] et compte améliorer l’initialisation et refactoriser le tout dans une classe pour supprimer la variable globale.
Je cherche aussi une solution pour générer une table des matières. J’ai dans un premier temps chercher à générer la table des matières à partir des entêtes <H1>, <H2>, etc. avec HTMLParser [en]. Le problème est que HTMLParser ne permet pas de modifier le contenu analysé. Je me suis donc tourné vers ElementTree [en], mais impossible de lui faire lire le HTML généré par py-markdown. Peut-être n’est-il pas valide (ElementTree est avant tout un parse XML), aussi l’ai-je abandonné pour Beautiful Soup [en], librairie connue pour justement ne pas être trop regardante sur la validité du HTML à analyser, au détriment de la lenteur (cela reste parfaitement acceptable pour l’usage que j’en ai.) Pour l’instant j’arrive à lire l’arbre et à le modifier, reste à renvoyer le tout, mais entre temps, j’ai vu qu’il y a une extension à py-markdown qui permet de gérer une table des matières. Du coup, je ne sais pas quelle solution je vais choisir…