Demande d'information
Alignement des images
Les balises audio et video foirent
Planète Libre et Micro-blogging
Mis à jour du flux RSS
Partages ?
®om
4LW
Admin-Linux
agatzebluz
Aldevar
Another Pinky Punky
AnTav
Antistress
Antoine Millet
Antonin Moulart
archi02
arNuméral
Artisan Numérique
Asher256
Aternatik
Aurélien Bompard
Bastnic
Benkemoun
Bilbo Planet
Biscotte
Blogmotion
bochecha
botchchikii
bouleetbil
Boutor
Breizh ardente
Cairo-Dock
Cameleon
Capof's Space
Captaine74
Carl Chenet
Cedynamix
champtoussel dominique
ChEza
Chicha
Chimrod
Christophe-Marie
Clapico
Corbier
Costalfy
Creasy
CSM 'illovae' Seldon
CyberSDF
Cyrille BORNE
dada
dahu_fou
Damien Cougar
Damocles
Daria
David Dup
David Larlet
Davromaniak
Ddmdllt
Des nouvelles de Wikilivres
Desidia
Devil505
Dhoko
DigitalSpirit
djibux
Dorian Dd
Duchatelet
E-PhasE
Eddy33
Edouard
Effraie
eMerzh
Emilien Macchi
Emilpoe
Emmanuel Gontcho
Emmanuel Kasper
Equinoxefr
Eric
Exceed
FACIL
Facilinux
Feilong
fgallaire
Finss
florentg
floruby
Fonctionerd
Framablog
François
Franck Archange
FredBezies
Full Circle Magazine
Fuse
Génération Linux
G3L
Gaëtan Tenshu
Gilir
Grégory Gutierez
Gregory Colpart
Guillaume Kulakowski
Hugues
Hyla project
Il Palazzo-sama
inalgnu
Jérémy Verda
Jeff
jeremy2491
jeromeg
jesuislibre
JJL
Johan Cwiklinski
Jonathan Ernst
Jonathan Le Lous
Jopa
Jp Fox
Juky
Julien
Julius
ka.da
Kagou
kamagatos
Kate
Kiddo
KissCoolMan
Labo-Linux
LeDucDuBleuet
Lemarinel
Lenezir
Liberez le tux
Libre Astux
Linalis
Littlewing
Louis Roché
lowje
Luc
Macsim
Manu Absolacom
Marco
Matao
Mathieu Comandon
Maxime Carron
McKey
meepix
Michael Zwyssig
Michauko
Mickaël
Minimumserious
Monitoring-FR
Morot
Motarion
mozillaZine-fr
Mr.Yann
MrTom
Nÿco
Naparuba
Nicofo
Nicolargo
Nicosmos
Nicoz
NiKo
nizarus
Noplay
Olivier Faurax
Olivier Prieur
Omega
Oncle Tom
Op'Aisne Source
openSyd
opossum1er
Osku
OxyRadio
Paquet Fedora du Jour
Pascal Chevrel
pc-kc
Peck
Phil
Pianopenguin
Pingax
PlayOnLinux
Ploum
Pokemon_JOJO
Poupoul2
Rémi Samier
Raphaël Hertzog
Ravomavain
Renaud Littolff
Renault
Respawner
Retouche Libre
Ricard
Robin Millette
Roland Mas
RollsRox
Rydgel
Saïmon
Samuel Martin
Sauthier
SckyzO
Scoffoni
Scurz
Shnoulle
Silvyn
Skhaen
Slobberbone
Splitsch
StandarT
StephZ
Sylvain
System Linux
Taltan
Tbellemb
Tchouvince
theClimber
TheGlu
TheLinuxFr
Thibaut
Thierry Andriamirado
Thom1
Thomas Bassetto
Tigrou Damien
TitaX
toitoinebzh
Toorop
TrouveTonGull.info
Tuxargon
Tuxicoman
U-Classroom
Uggy
Ulrich Diplodocus
Une goutte de blog
Uselink
Vanaryon
VELCS
Vetsel
Warren Dumortier
Wattazoum
Wavemaker
Weedfast
Yannig
yeKcim
Yellowiscool
Yoho
Yves Gesnel
Zanko
Zic
Zippy
ZitrouilleQuand on écrit un billet avec Dotclear, on dispose de deux modes : le mode “wiki” ou le mode “xhtml”.
En mode wiki, on dispose d’une syntaxe codifiée et simplifiée, mais il faut apprendre cette syntaxe, et ce qui est affiché à l’écran est très différent de ce qui sera affiché sur le site ensuite. Il y a quelques temps, je préférais ce mode de rédaction (c’est plus rigolo
), mais c’est moins facile d’accès pour les débutants, et après tout, on ne fait pas des programmes que pour les informaticiens.
Le second mode affiche le texte dans la zone d’édition avec le formatage qu’il aura à l’affichage final, un peu comme votre traitement de texte préféré[1]. En plus, et c’est important pour moi, il y a un onglet “source” qui permet de voir le XHTML généré, et éventuellement de faire des retouches, ou d’ajouter des blocs de code.
Mais voilà, le mode wiki a beaucoup plus de fonctionnalités que ce qui est repris dans la barre de formatage du mode xhtml. Notamment, il y en a une que j’aime bien utiliser : les notes de bas de page[2]. En mode wiki, on entoure la note par des symboles “$$”, et Dotclear génère automatiquement l’appel de note, la note de bas de page, et les liens entre les deux. C’est très pratique, je voulais retrouver cette possibilité en mode xhtml.
J’ai donc fait un plugin pour Dotclear qui ajoute un bouton à la barre de formatage, et qui génère les appels de note, la zone de notes de bas de page, les liens entre les notes, tout en s’occupant d’incrémenter le numéro de note à chaque fois. Le plugin s’appelle footnotesToolbar, et il est disponible sur le lab Dotclear. Si vous pensez qu’il peut vous être utile, n’hésitez pas à le télécharger et à me donner votre avis !
Bonne rédaction 
Mise à jour : j’ai aussi ajouté un bout de code pour lui faire afficher les notes de bas de page au survol de l’appel de notes. C’est une très bonne idée que j’ai piquée à Dokuwiki, sur conseil d’antistress (voir commentaires ci-dessous).
Il est un peu tard pour faire un compte-rendu de la conférence de Copenhague sur l’évolution du climat, mais bon, il faut le temps que les articles soient lus, que les idées se décantent, etc, etc. Voilà ce que j’en retire.

“Stop the Politics Climate Treaty Now - Greenpeace”
par Takver
Je n’ai pas de remarque particulièrement plus pertinente que qui que ce soit d’autre sur le sujet, ni de point de vue d’insider (je n’y étais pas), mais j’aimerais tout de même porter à votre attention un article que je trouve à la fois pertinent, bien argumenté, et surtout doté d’une bonne prise de recul sur cette question. Il s’agit de l’article de Sylvestre Huet, journaliste scientifique à Libération, intitulé « Climat : qui est responsable du Flopenhague ? ».
Je vous encourage évidemment à courir le lire en entier, mais pour faire un résumé rapide je pense qu’il pose une très bonne question : les ONG écolo se sont-elles trompées de cible ?
En effet, en orientant leur actions et leurs communications vers les responsables politiques, n’ont-elles pas choisi la solution de facilité (toute relative qu’elle est bien sûr ) ? Les politiques sont peu nombreux, semblent avoir le pouvoir de décision et d’action, sont en général très instruits, etc. Ils ressemblent à s’y méprendre à la parfaite cible à viser.
Sauf que voilà, comme l’écrivait déjà Alexis de Tocqueville au début du 19ème siècle dans De la Démocratie en Amérique, et comme le rappelle Jean-Marc Jancovici sur son site, la démocratie est un régime politique dans lequel les dirigeants sont des représentants du peuple. C’est le peuple qui décide, pas les politiques, et il ne peut pas se reposer sur eux pour être une sorte de grand frère bienveillant qui prend tout seul les bonnes décisions. La démocratie responsabilise le peuple, il se doit donc d’être responsable. Au passage, je vous encourage à aller lire les deux articles de J.M. Jancovici sur le sujet, c’est particulièrement intéressant. Avec du très très bon dedans, notamment la façon dont on pourrait mettre en place de la démocratie directe, le fait que les sondages actuels en sont un ersatz puant, etc. Mais je ne vais pas me lancer dans la paraphrase de J.M.J., j’ai mis ça dans mes bonnes résolutions pour 2010.

“COP15 - Klimademo”
par gruenenrw
Pour en revenir au sujet, je pense donc que Sylvestre Huet met le doigt sur le fond du problème : pour faire changer les choses, il ne faut pas essayer de convaincre les politiques, il faut convaincre les citoyens. Et c’est beaucoup plus difficile. Les citoyens :
Bref, c’est une toute autre paire de manches. Sauf que voilà, le jour où un politique lira dans les derniers sondages : « Pensez-vous qu’il faut mettre en place une taxe carbone ? Oui 70% / Non 30% », vous pouvez être sûr qu’il le fera sans hésiter une seconde. Après tout, c’est bien ça son boulot.

“Bring Home a Climate Treaty”
par Takver
Alors ça tombe bien, il y a des gens qui bossent depuis des années sur la façon de diffuser un message pour convaincre le public. Ce sont les gens du marketing et de la communication. Principalement employés par les publicitaires, ils le sont aussi parfois par les lobbies, les politiques, etc. Je sais qu’on touche là à un tabou, parce que la consommation de masse et tout ce qui peut l’inciter est aux antipodes de l’écologie, mais je pense qu’il faudra inévitablement utiliser ou acquérir les compétences qui sont actuellement celles des agences de communication.
Ça me rappelle une situation relativement similaire que nous avons vécu dans le monde du logiciel libre. Mes premiers contacts avec le logiciel libre l’ont été par résistance à une société en situation de monopole (il s’agit bien sûr de Microsoft) et dont les pratiques commerciales étaient… comment dire… très éloignées de ma conception de l’éthique.
Autant dire qu’à l’époque, toute société qui se montait dans le domaine du logiciel libre recevait illico un a priori négatif, d’autant plus si elle gagnait en popularité (« Mandrake c’est du Microsoft à la sauce Linux »).
Et au cours des années, les associations du logiciel libre se sont rendu compte que ce qui les empêchait de toucher le grand public, ce n’était plus les raisons techniques (logiciels moins faciles d’utilisation) mais tout simplement la méconnaissance des gens, le manque de communication, et finalement de marketing.
Je pense que la première association à avoir lancé une opération marketing d’envergure a été la Fondation Mozilla. Une fois l’horreur et le rejet viscéral passés, beaucoup d’autres lui ont emboîté le pas.

“Copenhagen during COP15”
par UN Climate Change
Dans le cadre de l’écologie, je pense qu’il y a là un exemple à prendre. Les associations du logiciel libre ne sont pas spécialement plus fortunées que celles qui défendent l’environnement, il y a donc très probablement des méthodes à réutiliser. Je pense par exemple au concours de vidéo que Mozilla a lancé pour la sortie de Firefox 3.0. Pourquoi pas un concours de vidéo pour sensibiliser le public à sa dépendance aux énergies fossiles ? À l’impact du réchauffement planétaire sur les activités humaines futures ? Je suis sûr qu’il y a des idées à échanger.
La communauté du logiciel libre étant déjà plutôt politisée (la liberté dans le logiciel est un problème éminemment politique), je suis sûr qu’il y a déjà beaucoup de membres communs aux deux causes. J’espère que le besoin de mutualisation des compétences et des expériences va se faire plus clair au cours des mois qui viennent, et que nous pourrons nous entre-aider sur ce sujet commun. Il est grand temps, plus nous attendons et plus la note climatique sera salée.
Et voilà, je viens de boucler une première version utilisable d’un plugin d’export ODT pour Trac.
Parce que une fois c’est bien, deux fois c’est mieux, et trois fois bonjour les dég… euh, non en fait ça devrait marcher pareil que le reste. Il faut excuser mon humour pourri, mais je cauchemarde rêve de l’XML en ce moment.
Après avoir bien cherché, je suis obligé de me rendre à l’évidence : il n’y a toujours personne d’autre que moi qui ait écrit de feuille de style XSLT pour convertir de l’HTML en ODT. Dans l’autre sens, il y en a pléthore, mais dans ce sens, rien. Comme j’ai réutilisé pour le plugin Trac les feuilles que j’avais écrites pour le plugin Dotclear, je me suis dit qu’il n’était pas forcément complètement stupide d’en faire un projet séparé. C’est donc ce que j’ai fait, j’ai ouvert un projet sur Gitorious appelé xhtml2odt (oui, très original, je sais). J’en ai profité pour écrire tout un tas de tests unitaires, pour m’éviter les régressions et aussi parce que ça se prête quand même bien aux conversions
.
Je vais maintenant adapter le plugin Dotclear pour qu’il utilise ces feuilles, qui ont été légèrement améliorées lors de la réalisation du plugin Trac.
Si vous décidez de les utiliser pour un autre plugin d’export ODT dans une autre appli, ce serait cool de m’envoyer un petit mail, ça m’intéresse 
Voilà, si vous utilisez Trac et que vous êtes intéressé par l’export ODT des les pages du wiki, n’hésitez pas à tester ! Ce n’est pas encore parfait mais c’est déjà suffisamment avancé pour que vos retours soient utiles.
Je m’intéresse, comme beaucoup en ce moment, à ce qui se passe dans le monde des smartphones, ces téléphones / PDA dont tout le monde parle. Malheureusement, pour quelqu’un attaché à ses libertés électroniques (et plus généralement, n’ayant pas envie de se faire prendre pour un porte-feuille sur pattes), j’ai la forte impression qu’il n’y a pas de Graal en vue… Voilà un petit passage en revue des différentes options.
Je vais commencer par celui que tout le monde connaît, l’iPhone d’Apple. Très joli couple appareil / système d’exploitation, qui cache quand même des limitations comme on en avait rarement vu dans le monde de l’informatique. Je n’en ai pas, donc ce qui suit est basé sur les infos que j’ai pu glaner sur le web. Si je me suis trompé, n’hésitez pas à corriger.
Il paraît qu’il est possible de “pirater” un iPhone pour contourner certaines de ces limitations, mais je ne vois pas pourquoi j’achèterais un téléphone qui a été conçu dans le but de limiter ses utilisateurs. Bref, c’est clair que l’iPhone ne passera pas par moi.
Cela fait plusieurs années que j’ai des contacts avec les smartphones sous Windows Mobile. Le premier contact, dans un cadre professionnel, a été avec un Qtek 2020i (HTC Alpine), sous Windows CE 3 (je crois). Il m’est apparu tout de suite que ce sont en fait des mini-ordinateurs dans lesquels on a essayé de faire rentrer un Windows au chausse-pied, et sur lesquels on a greffé une application de téléphonie. C’est assez pratique comme PDA, mais difficilement utilisable comme téléphone. Parfois les SMS n’étaient pas annoncés, les options de sonneries étaient plus que minimales, le lien entre les contacts et le reste des applis était rarement fait, etc.
Or depuis quelques mois, mon frère m’a donné son ancien téléphone sous Windows Mobile 6. La situation technique s’est beaucoup améliorée, c’est nettement plus utilisable en tant que téléphone, notamment grâce aux interfaces d’HTC. Cependant, la synchronisation avec un PC sous linux est encore assez sensible, c’est toujours du propriétaire, et sous Windows il n’est toujours pas possible de le synchroniser avec quelque chose de standard (un fichier VCard ou iCalendar par exemple), seul Outlook est accepté. A tel point que, par exemple, ma boîte n’utilise pas Outlook comme client de messagerie, mais est obligée de l’accpeter quand même sur les postes parce que certaines personnes haut placé ont des téléphones/PDA sous Windows Mobile… Là aussi, la quasi vente liée qu’on connaît bien chez Microsoft.
Au passage, depuis que j’ai ce téléphone, j’ai pu participer à SynCE, le projet qui permet de synchroniser un téléphone sous Windows Mobile et un ordinateur sous Linux. J’ai corrigé quelques bugs de conversion, j’ai ajouté des tests unitaires, quelques fonctionnalités de partage de connexion, et finalement les responsables du projet m’ont donné les accès en écriture au SVN
Très sympa de leur part.
En tout cas, grâce à SynCE et OpenSync, je peux synchroniser mon Windows Mobile avec mon PC Linux, et ça c’est bien cool. L’installation d’applications n’est pas restreinte, donc la plate-forme est assez ouverte, bien que fondamentalement propriétaire.
Android est un système d’exploitation libre pour téléphone portable, fait par Google. Certains gourous de chez XDA-developers ont porté Android sur mon téléphone originellement sous Windows Mobile, donc j’ai pu l’essayer. J’ai un avis très mitigé : techniquement, c’est très joli et très intuitif, mais ça semble tout de même très fermé (un comble pour un OS libre). Les applications de contacts et de calendrier ne sont pas libres, elles sont propriété de Google et non redistribuables. De plus, on peut démarrer le téléphone sans compte Google, mais il le demande aussitôt. On peut ignorer l’inscription, mais dans ce cas il est impossible d’utiliser :
On est donc coincé avec un joli téléphone, sans les applications les plus utiles, et sans la possibilité d’en installer d’autres.
Ah, et au passage : il n’est pas prévu qu’Android puisse se synchroniser avec un PC ou un Mac, quelque soit le système d’exploitation de ce dernier : le principe est de tout synchroniser avec son compte Google, justement…
On sait que l’objectif d’Android est de concurrencer Apple avec l’iPhone, mais ce serait bien qu’il ne le concurrence pas sur le terrain des restrictions et de la vente liée. Pour l’instant on est loin du niveau de restrictions de l’iPhone, mais c’est quand même inquiétant. L’omniprésence de Google est elle-aussi inquiétante. Si Microsoft se fait remplacer par Google, on y aura perdu au change : on sera toujours dans une situation de monopole, mais elle sera plus difficile à déloger : à la différence de Microsoft, chez Google, ils sont bons.
Maemo est un système d’exploitation libre développé par Nokia à destination de ses “tablettes internet” : des PDA communicants très évolués à qui il ne manque que la téléphonie GSM. L’OS est basé sur Linux, et utilise massivement GTK/GNOME. Très récemment est sorti le N900 qui ajoute un puce GSM. Le tableau semble complet, mais voilà : il y a quelques mois Nokia a racheté TrollTech, la société à l’origine de QT (concurrent de GTK). Maemo 5, l’OS du N900, est encore basé sur GTK, mais Nokia a annoncé que les prochaines versions seront basées sur QT. En achetant un N900 aujourd’hui, on se retrouve finalement à investir dans une plate-forme logicielle en fin de vie.
OpenMoko est une plate-forme 100% libre et 100% ouverte, mais encore en développement. Elle n’est pour l’instant pas vraiment utilisable en tant que téléphone de tous les jours pour le quidam moyen, et son évolution est assez lente par manque de ressources.
Personne ne sort de mes tests avec un sans faute, et c’est bien dommage. Le salut viendra-t-il de LiMo ? Ce qui est certain, c’est que le secteur est en pleine ébullition en ce moment. Vos avis sont évidemment les bienvenus.
Trouvaille musicale de la semaine, complètement par chance, sur Jamendo.
Pour ceux qui ne connaissent pas encore, Jamendo est un site de diffusion de musique sous licence Creative Commons. J’ai écrit un petit billet sur le sujet il y a quelques années. Toute la musique que vous trouverez là-bas est au minimum librement téléchargeable et distribuable, et même parfois plus (remixable, utilisable commercialement, etc…). Alors bien sûr, vous n’y trouverez pas Britney Spears et autres Star Academy, les artistes y sont généralement auto-produits. Mais attention, ça ne veut pas dire qu’il n’y a que de la musique ressemblant à celle du cousin Kevin dans sa cave, ou à celle de 5 gus dans un garage. J’en veux pour preuve l’énorme découverte de cette semaine : Diablo Swing Orchestra.
Dès les tags, le groupe annonce la couleur : Jazz-Métal. Oulà ! Mais quelle est donc cette chose ? Je vous laisse vous faire une idée avec le lecteur ci-dessous.
Alors ? C’est-y pas gigantesque ? Lisez-aussi la description du groupe sur Jamendo, c’est bien fun 
Mes préférées :
Certes, tout n’est pas parfait sur Jamendo, il faut chercher un peu pour trouver ce qui vous plaît. Mais quand on tombe sur un groupe comme ça, on accepte facilement les quelques écoutes ratées. Au passage, j’en profite pour lister les albums que j’ai bien aimé.
Je souhaite le plus grand succès possible au Diablo Swing Orchestra, en espérant qu’ils continuent à placer leur musique sous licence Creative Commons. Merci pour la musique, vous êtes très très forts !
Mon afficheur web de photos, que j’avais présenté précédemment, a maintenant un nouveau nom : Photo Imp !
J’en ai profité pour ouvrir un espace sur Gitorious, pour que le développement soit plus accessible et plus visible.
En ce moment, je suis en train de porter la bibliothèque javascript type “Lightbox” qui permettait d’afficher les photos depuis ShadowBox vers PrettyPhoto, puisque ShadowBox n’est plus libre dans les versions récentes (utilisation commerciale interdite). C’est un peu plus long que prévu, mais je vois le bout.
Pour en revenir au nom, il a été trouvé par Peuf, et c’est une référence à une créature du monde de Terry Pratchett : le “photo imp” est un petit démon dans une boîte noire avec une petite fenêtre, appelée Iconographe. Quand on ouvre la fenêtre, le “photo imp” peint très rapidement ce qu’il voit sur une toile. L’appareil dispose aussi d’une salamandre pour éclairer rapidement l’objet à dessiner. C’est évidemment une transposition de l’appareil photo, très très bien vu de la part de Peuf, merci beaucoup. Pour les détails : voyez la page Wikipedia.
Je publierai une nouvelle version quand j’aurais porté le code sur PrettyPhoto. Si vous utilisez Photo Imp, dites-le moi, ça m’intéresse !
Comme dirait la demoiselle : « Oops, I did it again » (oui, je sais, je ne suis pas fier). Il y a quelque temps (deux ans en fait) que je m’intéresse au format OpenDocument, utilisé principalement par OpenOffice. Je vous annonce donc solannellement en ce jour béni de votre divinité préférée le résultat de mon labeur acharné : un plugin d’export des billets de Dotclear en ODT. Oui, tout ça pour ça.

“old book stara ksiazka”
par v.max1978
Depuis les débuts de l’informatique grand public, le traitement de texte est omniprésent, et a rapidement remplacé la machine à écrire. Au début des années 90, plusieurs logiciels de bureautique se faisaient concurrence, Microsoft Word bien sûr, mais aussi Corel WordPerfect, AppleWorks, etc.
Les éditeurs de logiciel on vite compris que leur logiciel servait avant tout à traiter des données, et que pour battre la concurrence il fallait être capable de lire leur format tout en s’assurant qu’ils ne pourraient pas lire le sien. Il s’en est suivi une guerre des format, accentuée par l’explosion des communications et des transferts de fichiers, dont le vainqueur a été Microsoft et le grand perdant l’utilisateur final. Même si il est plus “simple” d’un premier abord pour l’utilisateur final de ne pas se demander si son correspondant utilise le même logiciel, en fait cette simplicité revient à donner les clés de ses données à la société éditrice. Si elle décide de changer son format, comme elle l’a déjà fait plusieurs fois, elle force les utilisateurs à une mise à jour coûteuse. C’est plus facile de vivre dans une dictature, on a pas à choisir pour qui voter.
Il a fallu attendre l’avènement de StarOffice, une suite bureautique réalisée par une société allemande du nom de StarDivision, puis rachetée par Sun, pour voir les prémisses d’un format de bureautique standardisé. StarOffice a ensuite évolué en OpenOffice, dont le format était ouvert (c’est à dire documenté), et qui a été soumis à normalisation. L’ISO a mis son tampon sur une version légèrement modifiée du format, appelé OpenDocument, qu’OpenOffice à utilisé à partir de sa version 2.0.
Enfin, enfin, nous avons un format de bureautique standard, sur lequel tout le monde s’est mis d’accord, et qui répond à nos besoins. Tous ? Non, pas Microsoft bien sûr, qui n’a aucun intérêt à mettre en péril son monopole et l’emprise qu’il a sur ses utilisateurs en adoptant un format de fichier ouvert…
Mais la révolution est en marche, et Microsoft va avoir beaucoup de mal à l’arrêter. Je pense même sincèrement qu’il ne pourra tout au plus que la retarder légèrement. L’OpenDocument voit son adoption progresser très régulièrement, c’est maintenant une question de quelques années.
Pour des besoins professionnels, j’ai développé depuis mi-2007 un plugin pour Dokuwiki permettant d’exporter des pages au format ODT. Je me suis donc intéressé à la syntaxe de ce format, et j’ai découvert avec plaisir qu’il est très clair, assez proche de HTML/CSS (pas la peine de réinventer ce qui marche déjà et que tout le monde connaît), et très bien pensé.
Le plugin achevé (et, avouons-le, légèrement grisé par la réussite), je me suis dit que je devais absolument faire des exports ODT sur d’autres logiciels pour populariser le format. Finalement, l’eau à coulé sous les ponts, j’ai été pris par d’autres choses, j’ai vaguement commencé à participer à l’export ODT sous SPIP, mais je ne me suis jamais vraiment impliqué.
Depuis ma migration sous Dotclear, j’avais en tête de réaliser un export ODT. C’est maintenant chose faite.

“A Rainbow Of Books”
par Dawn Endico
Pour ne pas recoder ce qui existe déjà, je me suis appuyé sur odtPHP, un module d’accès aux fichiers ODT depuis PHP (développé par une boîte française au passage). Mon objectif était de permettre à l’utilisateur de Dotclear de faire un fichier ODT qui contiendrait potientiellement les mêmes tags que ceux qu’il a utilisé pour faire son thème. De cette façon, on reste au maximum dans l’esprit Dotclear, et pas la peine d’apprentre un nouveau langage de templates. L’infrastructure de Dotclear n’est pas aussi souple que celle de Dokuwiki sur cet aspect-là, ça a donc été un peu plus compliqué de brancher le générateur ODT sur le moteur de templates de Dotclear.
Une fois ce branchement réalisé, j’avais donc du HTML dans mon document ODT. Il me restait alors à le convertir en ODT XML. Il n’existe pas à ce jour de convertisseur complet de HTML vers ODT, la fondation OpenDocument Fellowship a même proposé un prix de 11 500 dollars à qui le réaliserait. Mais ça tombe bien, je n’avais pas besoin de quelquechose de compliqué qui irait re-créer les styles présents dans les feuilles de style CSS, j’avais juste besoin de convertir quelques tags.
Je me suis donc appuyé pour cela sur le moteur de conversion DocBook vers ODT de Consultia, en remplaçant les tags Docbook par le HTML auquel je m’attends. Ma conversion est donc entièrement basée sur des feuilles de traduction XSL ! Cool, non ?
Enfin, j’ai paufiné le plugin pour le faire respecter les conventions Dotclear sur les plugins, lui ajouter un tag pour les thèmes graphiques, et un widget pour proposer facilement un export sur toutes les pages.
Les conséquences de tout ça, c’est que pour fonctionner le plugin nécessite le module XSL de PHP, disponible dans toutes les bonnes distribs, dont le nom du paquet est en général “php-xsl”. Il est aussi absolument nécessaire que les billets à exporter soient valides XHTML, donc pensez à utiliser le lien “Validation XHTML” sous la fenêtre d’édition de billet.
Mon plugin peut donc convertir tout post en ODT, mais aussi les pages, ainsi que la page d’acceuil. Par défaut, les documents générés sont très simples, mais je propose aussi un modèle d’export pour la page d’accueil permettant d’exporter tous les articles du blog, avec tout leur contenu. Une conversion du blog entier en ODT, en somme.
Le code est sous licence AGPLv3, comme toujours, et je vous attache à ce billet un Zip tout prêt à être déployé dans votre blog Dotclear.
Si ça vous intéresse, essayez-le et remontez-moi les bugs (ou les idées d’amélioration). Je ferai de mon mieux pour le maintenir et le faire évoluer. Comme vous avez pu comprendre, c’est un sujet qui me tient à cœur…
Comme il ne faut pas s’arrêter en si bon chemin (et que ma boîte fait le pont de l’ascension…), je me suis attelé à un nouveau plugin Dotclear. Il s’agit d’une fonctionnalité que j’aimais bien dans SPIP : la possibilité de voir les commentaires par fils de discussion.

Bundles of cotton thread par
Unhindered by Talent
En effet, quand un article commence à avoir beaucoup de commentaires (par exemple celui-là), il devient difficile de savoir qui répond à qui. Une convention est née : préfixer sa réponse par le signe “@” suivi du nom de la personne à qui on veut répondre. Il existe même un plugin Dotclear appelé @Reply pour pré-remplir la fenêtre d’ajout de commentaire avec ce préfixe, simplement en cliquant sur un bouton.
C’est très bien, mais ça n’aide pas beaucoup à la visualisation. Le mieux serait, selon moi bien sûr, de placer les réponses sous les commentaires auxquels elle répondent, en les indentant de quelques pixels.
Malheureusement, comme la réponse à un commentaire n’est pas prévue par le moteur de Dotclear, on ne peut pas trouver dans la base de données la référence au commentaire auquel répond un autre commentaire. Pour recréer les fils de discussion, j’ai donc décidé de m’appuyer sur la convention “@”, et notamment sur le lien qui est généré par le plugin @Reply. Cette méthode est la meilleure que j’ai trouvée, mais elle a tout de même deux inconvénients :
Donc ce n’est pas parfait, mais c’est déjà “suffisamment bien” pour moi.
Ce plugin fonctionne à 100% en javascript, à l’aide de jQuery. Le principe est simple : on ajoute un bouton pour activer la vue en fils de discussion, et en arrière-plan on prépare une liste des commentaires dans laquelle chaque élément a comme attribut supplémentaire le numéro du commentaire auquel il répond.
À l’activation de la vue par fils de discussion, on vide complètement la zone de commentaires, et on les réinsère les uns après les autres. Si un commentaire répond à un autre commentaire, il est inséré après celui-ci, et on lui ajoute une marge à gauche pour l’indenter.
Comme toujours, la complication est dans les détails :
Enfin voilà, vu de chez moi, ça marche. J’avais peur que ce soit extrêmement lent, mais en testant sur un de mes articles qui a eu beaucoup de commentaires, je n’ai pas constaté de lenteur excessive.
Je n’ai qu’un bug à déplorer : l’indentation du commentaire fait perdre les deux angles arrondis de droite. C’est dû à l’image de fond utilisée pour simuler les bords arrondis, peut-être que si j’ai le courage je corrigerai ça.
Si vous voulez l’essayer chez vous, j’attache le code packagé à cet article. Le fichier Zip est prêt à installer, et contient toute la plomberie Dotclear qui va bien (interface d’administration, aide en ligne, traductions, etc). Le code est sous licence AGPL (qui est plus ou moins la GPL des applications web).
Je vais le laisser tourner ici quelques jours, voire semaines, avant de le proposer au “lab”. Comme toujours, si vous ou l’un de vos collaborateurs étaient pris ou tués, le Département d’État nierait avoir eu connaissance de vos agissements. Euh, non, remontez-moi les bugs, quoi. Bonne chance Jim.
Mon site vient tout juste d’être ajouté à l’agrégateur de blogs Planet-Libre, un site de type “planet” regroupant les blogs francophones autour du logiciel libre. J’étais déjà sur Planet Fedora et Planet Fedora-Fr, en voici donc un troisième.
Une petite présentation est de rigueur : je suis un informaticien d’une petite trentaine d’années, utilisateur de logiciel libre sur le poste client depuis en gros 2000 (merci Mandriva), pour des raisons éthiques principalement (oui, ce n’est pas un gros mot).
Je suis contributeur à un certain nombre des logiciels que j’utilise, mais mes principales contributions sont au projet Fedora, dans lequel je suis impliqué depuis fin 2003. Juste avant que Red Hat ne transforme RH Linux en Fedora, il y avait un projet de contributions à RHL appelé Fedora.us, dont le nom a été repris par Red Hat pour sa distribution communautaire, et dont les méthodes et les paquets ont donné lieu à Fedora Extras, qui a finalement été réintégré à Fedora autour de Fedora 6. Plus d’infos sur la page wikipedia de Fedora.
Fermons cette petite parenthèse. Je suis resté très longtemps sur Mandriva, principalement parce que :
Puis, par curiosité, je suis passé par un certain nombre de distributions (toutes les plus connues de l’époque), pour finalement me stabiliser sur Fedora, qui répond parfaitement à mon besoin : goûter aux toutes dernières avancées du Logiciel Libre. Oui, je n’ai pas peur de le dire, je l’assume pleinement : je suis une fashion victim du Logiciel Libre 
J’ai migré très récemment mon site vers Dotclear, il y a donc pas mal d’articles traitant de cet excellent moteur de blogs en ce moment. Mais si je n’arrive pas à tenir ma bonne résolution de blogguer plus souvent, le rythme devrait se calmer rapidement…
Je suis aussi très intéressé par les aspects politiques du logiciel libre, donc vous devriez voir passer des articles sur le sujet de temps en temps.
Enfin, mon blog parle aussi d’autres sujets qui me sont chers :
Mais je ne vais pas envoyer ceux-là sur planet-libre, vu qu’aucun rapport avec le libre 
Bonjour à tous ceux qui vont me lire par l’intermédiaire de Planet-Libre, ce qui leur permettra de ne pas souffrir du thème graphique de mon blog… 
Les commentaires sont toujours vivement appréciés !
Ceux qui utilisent Dotclear (comme moteur de blog, ou juste en tant que commentateur d’un billet) le savent déjà : pour pouvoir commenter, il faut fournir un nom et une adresse email. Le nom est affiché, l’adresse mail ne sert qu’à l’administrateur, et éventuellement pour vous envoyer un suivi par mail, mais même dans cette situation un visiteur peut avoir envie de commenter de manière anonyme.

“Anonymous” par
Laughing Squid
Avec les attaques récentes sur nos libertés informatiques, je pense qu’il est important de donner sa place à l’anonymisation. J’ai envie que chez moi, sur mon blog, on puisse commenter anonymement si on le veut. Et sans avoir à inventer un faux nom et une fausse adresse mail, mais tout simplement en cliquant une case “anonyme”.
J’ai donc réalisé un (deuxième[1]) plugin pour Dotclear qui ajoute une simple case à cocher dans la zone de commentaire, permettant de régler le nom et l’adresse à quelque chose de neutre, genre “Anonyme” (c’est configurable, mais c’est ça la valeur par défaut).
Techniquement, tout se fait à base de javascript, en utilisant jQuery. Le fonctionnement est relativement simple finalement, toute l’astuce est dans les détails. Donc à la base, on crée une boîte de dialogue dans la page (en utilisant les “behaviors” de Dotclear), et on ajoute dans l’en-tête de la page (par la même méthode) un appel à un fichier javascript, qui va associer une action au clic sur cette boîte.
Cette action commence par sauvegarder ce qui était inscrit avant dans les champs nom, email et site, puis ferme les champs du formulaire. Quand les champs se sont fermés, elle remplace les valeurs par celles que l’administrateur du blog aura choisies (par défaut: “Anonyme” et “anonymous@example.com”). Un nouveau clic sur la case “anonyme” restaure les valeurs.
Tout ça serait resté très simple sans le mode de prévisualisation. À cause de la prévisualisation, il faut détecter au chargement de la page si on ne serait pas dans ce mode et que l’utilisateur n’aurait pas déjà choisi d’être anonyme. Ça se fait assez bien en comparant les valeurs des champs aux valeurs décidées par l’administrateur. Si on est en mode prévisualisation et que les champs sont déjà ceux du commentaire anonyme, on re-coche la case et on referme les champs.
Voilà, le principe n’est pas très compliqué, il fallait juste le faire 
Ce plugin va être en test sur mon blog pendant quelques semaines avant que je l’ajoute au SVN du “lab” Dotclear, histoire d’être sûr que j’ai pas oublié des morceaux, donc n’hésitez surtout pas à me remonter les bugs, même anonymement ! 
En attendant, pour ceux qui voudraient voir les sources et/ou le tester, j’attache à cet article un fichier zip tout prêt à déployer. Le code est sous licence AGPL (qui est plus ou moins la GPL des applications web).
[1] Voir le premier.