lundi 21 septembre 2009

Trad' en trois actes

ACTE I : innocence

Il y a quelques temps, suite à une idée de Romanito, je m'étais lancé dans l'écriture d'une extension MediaWiki pour gérer des traductions. Le principe était simple, les chaînes à traduire et les traductions étaient stockées dans des pages wiki, l'extension ne fournissant qu'une manière simplifiée d'éditer les pages. Les traductions pouvaient ensuite être récupérée par un script Python pour être incluse dans le logiciel à traduire. Le système était simpl(ist)e, fonctionnel et je l'ai d'ailleurs mis en production et testé sur le wiki de Yabause.

Cette partie de l'histoire s'achève là, ou presque... je me suis ensuite rendu compte que pour pouvoir traduire le port Windows de Yabause, il me faudrait des outils qui n'existaient pas encore et je me suis alors lancé dans leur développement. Et je n'ai pas fini.

ACTE II : révélation

Une bonne partie de mon temps de travail est consacrée au développement d'Okawix, un navigateur hors-ligne pour les contenus de Wikipédia. Un des points fort du logiciel est qu'il permet de récupérer facilement le contenu de tous les wikis géré par la fondation (oui, même Wikipédia en normand, dé diou). Pour faire bonne mesure, il fallait pouvoir proposer aux utilisateurs une traduction de l'interface dans un maximum de langues.

Tout ceci nous a amené à découvrir un projet absolument fabuleux: translatewiki.net (TWN). En gros, l'idée est la même : amener des gens à traduire en passant par une extension de MediaWiki ; par contre, le projet est beaucoup plus avancé : l'extension est stable, gère plusieurs projets, plusieurs formats de fichier et les contributeurs sont nombreux.

Après avoir fourni un patch pour le support des DTD, Okawix est venu s'ajouter à la liste des projets gérés par TWN. Et la, je dois dire que j'ai été impressioné par la vitesse à laquelle le logiciel a été traduit dans des langues plus ou moins exotiques. De plus, TWN est configuré pour accéder directement à notre dépôt : en lecture, pour récupérer les nouvelles chaînes à traduire, et en écriture, pour nous envoyer les traductions. Un vrai bonheur.

ACTE III : tentation

Avec d'un coté un mini-projet que je suis seul à (ne pas) maintenir et de l'autre un projet maintenu, actif, en évolution et qui a réuni autour de lui une communauté de traducteurs, je pense que le choix va être rapidement fait :)

Bien sur, tout n'est pas encore prêt à fonctionner et le ne le sera pas demain : il faut déja postuler sur TWN et être accepté ; mais même avant cela, il faut terminer la bibliothèque Respire pour que le port Windows soit complétement traductible, écrire un patch pour TWN pour gérer le fichiers de traduction de mini18n et surement d'autres détails à régler.

Bref... encore pas mal de choses à faire en perspective, mais l'idée d'avoir un système de traduction fonctionnant de manière autonome est séduisante, très séduisante et mérite surement le détour.

samedi 19 septembre 2009

Headbang like a Pirate!

Ohé, matelos!

Aujourd'hui c'est la journée internationale du parler pirate et à cette occasion, je vous propose de vous mettre au True Scottish Pirate Metal, à savoir Alestorm!



Bonne écoute et si vous en voulez plus, vous pouvez aller faire un tour sur deezer

vendredi 18 septembre 2009

Quand Yabause rencontre Haiku

Il y a quelques jours (le 14 septembre, pour être précis) le projet Haiku sortait une version alpha de son système d'exploitation. Il m'était arrivé de tester cet OS par le passé, mais sans jamais réussir à en faire grand chose, cette version alpha semblait le bon moment de refaire un essai ; hop, c'est parti, j'installe le truc dans Qemu.

Ma première impression est qu'ils ont du demander à Biff de passer du polish et deux couches plutot qu'une, il se dégage du truc une impression de finition assez agréable. Une fois l'impression passée, je me suis demandé ce que je pourrais tester... bon ok, je lance le navigateur, je poste un truc sur identi.ca, ok ok, ça fonctionne. C'est bien tout ça, mais est ce qu'on peut vraiment utiliser ce truc ? genre développer ? ah mais oui... essayons de compiler Yabause ! :)

Et la, deuxième surprise, tout se passe à merveille, tout ce dont j'ai besoin pour compiler est installé par défaut : subversion, les autotools, gcc, etc. Pire encore, la compilation passe du premier coup et génère le moteur d'émulation ; bon bien sur, il n'y a pas d'interface pour tester et il manque deux, trois bricoles comme le son, par exemple. Mais OpenGL est bien detecté et toute la partie graphique devrait donc être fonctionnelle.

Au final, j'arrive à deux conclusions : le système de compilation de Yabause est assez intelligent pour se débrouiller sur un système inconnu ; comme quoi, les autotools c'est pas si mal. D'un autre coté, Haiku est assez avancé pour pouvoir compiler un Yabause fonctionnel et je pense que quelqu'un de courageux pourrait créer facilement un port Haiku de Yabause.

Messieurs les courageux, c'est donc à vous de jouer ! :p (au passage, si vous avez un copain courageux qui s'ennuie, j'ai une version Mac qui prend la poussière...)

mercredi 16 septembre 2009

Sous-culture

Suite à mon précédent billet, jugé trop hermétique par certains d'entre vous, j'ai décidé de changer un peu de sujet et de vous parler de ce que je lis et écoute en ce moment. Ok, ça ne vous intéresse surement pas, mais c'est pas grave ; de nos jours tout le monde raconte sa vie dans un blog, ou dans facebook, ou twitter, alors je m'y met aussi. :)

Coté lecture, j'arrive à la fin du premier cycle de l'assassin royal et j'aime toujours beaucoup.
Petit rappel pour ceux qui n'ont pas suivi et qui n'ont pas non plus envie de lire l'article Wikipédia : le cycle de l'assassin royal est le nom français d'une série de trois trilogies écrites par Robin Hobb : The Farseer Trilogy, The Liveship Traders, et The Tawny Man. En français, c'est le bazar, la première et la dernière trilogie sont réunies en tant que cycle de l'assassin royal et celle du milieu devient les aventuries de la mer. Ouch...
Comme souvent, je n'ai pas fait les choses dans l'ordre et j'avais commencé par lire les aventuriers de la mer et contrairement à beaucoup de monde, je crois que je continue de préférer ce cycle à celui de Fitz et de ses copains. Reste que si vous aimez un tant soit peu le medfan, ça risque fortement de vous plaire.

Pour ce qui est de la musique, mon dernier gros coup de cœur a été pour le deuxième album de Cynic (au passage, vous remarquerez que je suis l'auteur de la première version de l'article, bon... ya eu deux ou trois informations d'ajouté depuis, mais l'esprit reste là) : Traced in Air. Ma première impression sur l'album a été assez mauvaise et il m'a fallu quelques écoutes avant de « rentrer dedans », maintenant que j'y suis, j'y reste et je ne saurais que vous conseiller de tenter l'aventure. Ma chanson préférée sur l'album est Adam's Murmur ; vous pouvez l'écouter, elle et les autres, sur deezer.
Je me suis aussi étonné à apprécier le dernier album d'Opeth : Watershed. Avec un peu de concentration, il est même possible de l'écouter en entier sans s'endormir. Vous pouvez aussi l'écouter sur deezer ; pour les décideurs pressés, je conseillerais Porcelain Heart, mais bon l'album a l'avantage d'être assez varié dans le styles des compositions ; fait assez rare en Metal pour être noté.
Dans un style qui n'a absolument rien à voir, on nous a récemment offert un album de Rodrigo y Gabriella, deux ex-guitaristes de Metal reconvertis dans le flamenco. Alors, bien sur, il faut être prêt à écouter un album joué intégralement à la guitare séche, mais une fois franchi ce cap c'est très bon. En plus, ils reprennent Orion de Metallica qui est surement parmi mes titres favoris du groupe. Pour le coup, deezer n'a pas l'album en stock, mais j'imagine que vous pouvez vous faire une idée en écoutant d'autres trucs de Rodrigo y Gabriella.

Au début, je comptais vous parler un peu de Folk Metal aussi, mais bon... on verra ça plus tard.

lundi 14 septembre 2009

Début de la fin

Après avoir longtemps attendu que ma partie développeur arrive à pondre un moteur de blog assez fonctionnel pour pouvoir poster un billet, ma partie utilisateur en a eu marre et a créé un compte sur blogger ; au final, tout le monde est content, je peux poster facilement des trucs et j'ai du temps pour coder d'autres trucs.

"Quels autres trucs ?" me diraient vous... hé bien, principalement respire, qui devrait au final être une bibliothèque pour gérer des fichiers resources windows. L'idée au final étant de coupler respire et mini18n pour permettre de traduire les interfaces des différents ports de Yabause (et surement de DeSmuME aussi) en n'ayant à maintenir qu'une seule traduction par langue ; et non pas, une traduction pour la version Gtk+, une pour la version Windows, etc.

Au début, je comptais gérer ça avec un simple grep, mais dans un fichier resource les tailles des éléments sont en dur, il faut donc redimenssioner les éléments que l'on vient de traduire, et ceux qui les contiennent aussi, hu... donc voila, je me suis lancé dans un compilateur de fichiers resources et histoire de rendre le sport intéressant, je suis parti from scratch, en C pur, mode guerrier assoifé de sang.

De la à ce que mon coté utilisateur s'impatiente et demande un truc vite fait avec lex et yacc...