Vignettes de pages Web

vignette du site XMLfr Pour égayer la page articles du site http://dyomedea.com, j’ai mis des vignettes composées de captures d’écran.

Pour constituer ces vignettes, j’ai voulu éviter la méthode bestiale « capture d’écran et redimensionnement manuel avec Gimp ».

Le procédé n’étant pas bien original, j’ai recherché des outils faisant cela et n’ai trouvé en Open Source que webthumb, un script Perl qui enchaîne des commandes pour lancer Mozilla sur un serveur Xvfb et en effectuer une capture d’écran.

Pour une raison que je n’ai pas cherché à approfondir, webthumb ne semble pas tourner directement sur mon poste de travail (Ubuntu Hoary). Par contre le lancement manuel des commandes pour obtenir le résultat est assez facile.

Dans un premier terminal, il suffit de lancer Xvfb et les commandes dont on veut capturer le résultat, par exemple :

vdv@grosbill:~ $ Xvfb :2 -screen 0 1024x768x24 -ac -fbdir /tmp/xvfb/ &
[1] 14006
vdv@grosbill:~ $ Could not init font path element /usr/X11R6/lib/X11/fonts/TTF/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/CID/, removing from list!

vdv@grosbill:~ $ export DISPLAY=:2
vdv@grosbill:~ $ firefox http://dyomedea.com
Could not init font path element /usr/X11R6/lib/X11/fonts/TTF/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/CID/, removing from list!
        

Dans un deuxième terminal, on peut alors vérifier l’affichage avec xwud et le sauvegarder avec xwdtopnm. Pour obtenir ces captures, j’ai utilisé les séquences :

vdv@grosbill:~ $ xwud -in /tmp/xvfb/Xvfb_screen0
vdv@grosbill:~ $ xwdtopnm /tmp/xvfb/Xvfb_screen0| pnmscale -xysize 120 120 | pnmtojpeg -quality 95 > thumb.jpg
xwdtopnm: writing PPM file
vdv@grosbill:~ $ gimp thumb.jpg
*** attempt to put segment in horiz list twice
*** attempt to put segment in horiz list twice
            

Simple, non?

Notes :

  • Les messages d’avertissements affichés ci-dessus ne semblent pas être importants.
  • Les packages Debian/Ubuntu nécessaires pour lancer ces commandes sont xvfb (virtual framebuffer X server), netpbm (Graphics conversion tools) et bien entendu Firefox.

Dyomedea.com est enfin valide!

Après avoir passé des années à expliquer à mes clients qu’il fallait suivre les recommandations du W3C, je viens tout juste d’appliquer ces principes à mon propre site institutionnel : http://dyomedea.com/!

Pour ceux d’entre vous qui voudraient voir la différence, l’ancienne version appartient maintenant aux archives du Web

Le nouveau site parait être très différent, mais sa structure est similaire et les URIs n’ont pas changé.

Ce nouveau site est bien entendu conforme à XHTML 1.1 et CSS 2.0, dénué de tables de présentation et, comme il se doit, basé sur XML.

En plus des grands classiques (GNU/Linux, Apache, …); les site est propulsé par une nouvelle version bêta de Orbeon PresentationServer.

Cette nouvelle version apporte plein de fonctionnalités sexies telle qu’un support de XForms basé sur les technologies Ajax (que je n’utilise pas ici) et un support de XHTML en standard (ce qui n’était pas le cas des versions précédentes qu’il fallait bricoler pour générer du XHTML valide).

J’utilise ce produit (un peu trop puissant pour les besoins de ce site) parce que je l’aime bien (c’est une bonne raison!) et également pour générer des pages dynamiques ce qui a quelques avantages y compris pour un site relativement statique comme celui-là :

  • J’envoie du XHTML (avec un type média « application/xhtml+xml ») uniquement aux navigateurs qui annoncent dans leur réponse qu’ils le supporte (sauf le validateur XHTML du W3C qui ne dit pas ce qu’il supporte; si vous pensez qu’il a tort, vous pouvez voter pour ce bug!) et du HTML aux autres (curieusement, Konqueror qui ne le devrait pas semble faire partie de cette liste).
  • Bien entendu, j’en profite pour faire de l’agrégation de flux RSS 1.0 (de XMLfr et de ce carnet Web) pour afficher mes derniers articles et l’agenda XMLfr.
  • Plus intéressant, j’ai développé deux nouveaux générateurs OPS qui vont récupérer dans ma boîte à lettres les derniers messages que j’ai envoyé sur des listes publiques.
  • Ces générateurs utilisent mon API de binding XML/Java pour lire leurs configurations.
  • Et bien entendu, une plateforme XML/XSLT facilite grandement la gestion de l’internationalisation (le site est en français et en anglais) et permet d’ajouter des gadgets tels qu’un plan du site.

Tout cela a été bien intéressant à réaliser, j’aurais dû le faire avant!

Il ne me reste plus qu’à faire la même chose avec XMLfr…

Un garage a niveaux

Dialogue entendu en amenant ma voiture à la révision au troisième étage d’un grand concessionnaire parisien :

Technicien : C’est une voiture de société? Je me demande pourquoi on vous a envoyé ici, les voitures de société c’est au deuxième étage!

Client : ???

Technicien : C’est pas grave, je vais voir ce que je peux faire, mais la prochaine fois il faudra que vous preniez rendez-vous avec le deuxième étage.

Technicien (après quelques minutes de pianotage infructueux sur un clavier graisseux) : L’informatique est en panne. Je vais vous enregistrer manuellement mais ça va être plus long.

Technicien : Vous avez quelque chose d’autre à signaler sur votre véhicule?

Client : oui, il y a un petit problème de carrosserie qu’il faudrait régler.

Technicien : Oh là là, il faudrait prendre rendez-vous avec le quatrième, mais je vous prévient, ils sont complètement débordés : ça fait deux jours qu’ils doivent venir voir une <nom-de-monospace/> pour faire un devis et ils n’ont pas encore eu le temps de passer!

Client : Vous allez la garder combien de temps, ma voiture?

Technicien : Je ne sais pas encore. S’il y a un problème à la direction, cela peut prendre quelques jours.

Client : Dans ce cas il me faudrait un véhicule de remplacement.

Technicien : Il faut voir avec le premier.

Client : Non mais ça va pas? Vous croyez que j’ai l’intention de faire le tour des étages? Vous allez prendre votre téléphone et me régler tout cela!

Technicien (après avoir téléphoné au premier étage) : Au premier, ils n’ont plus de véhicules de location.

Client : Je crois que vous n’avez pas bien compris, ce n’est pas un véhicule de location que je veux, mais un véhicule de remplacement! Quand j’ai acheté mon véhicule (au rez-de-chaussée), on m’a promis un véhicule de remplacement en cas d’immobilisation de mon véhicule.

Technicien : Qui est-ce qui vous a promis ça?

Client : Le vendeur.

Technicien : Les vendeurs de voitures, ils promettent toujours n’importe quoi!

Client : Je veux voir le patron!

Premiere visite de printemps

prunier en fleurCe week-end, le printemps était au rendez-vous. Le temps était au beau fixe, et les saules marsaults et les premiers pruniers bien en fleur…

Abeille butinant une fleur de prunierLes abeilles étaient nombreuses à profiter de l’aubaine et le vrombissement que l’on pouvait entendre sous les pruniers se rapprochait de celui que l’on peut entendre en ouvrant une ruche.

La température dépassant les vingt degrés, nous avons décidé d’effectuer la première visite de printemps afin d’évaluer l’état de nos deux ruches.

Couvain en mosaïque dans notre première rucheLa joie de retrouver nos abeilles que nous n’avions fait qu’apercevoir de loin depuis l’automne a été un peu tempéré par l’état de notre première ruche qui semble avoir été très affaiblie par l’hiver.

C’est notre premier « hivernage » apicole et nous manquons d’expérience pour juger la situation, mais le couvain nous parait être très réduit et il est « en mosaïque », ce qui d’après nos lectures, ne nous semble pas être bon signe.

Réserves de miel dans notre deuxième rucheLa deuxième ruche semble beaucoup plus forte, son couvain est plus abondant et plus régulier et il reste quelques belles réserves de miel.


Les abeilles semblent d’ailleurs bien décidées à compléter ces réserves par des récoltes de pollen et de nectar toutes fraîches!

Abeilles revenant à la ruche chargées de nectar et de pollen

Les abeilles sont de sortie

la planche d'envol d'une de nos ruchesCela faisait plus de trois mois qu’elles ne faisaient que de courtes sorties individuelles mais ce week-end les planches d’envol de nos deux ruches ont retrouvé une animation bien rassurante.

Cette animation ne se limite d’ailleurs pas à la planche d’envol et nous retrouvons des éclaireuses dans tout le jardin, y compris loin des ruches.

Elles font preuve de plus d’éclectisme qu’en été, semblent vouloir essayer toutes les fleurs qui passent à leur portée sans en dédaigner aucune et nous en retrouvons ainsi butinant perces-neige, crocus, bruyères, hellébores et même un skimmia que nous étions en train de planter…

Nous en voyons également revenir à la ruche les corbeilles chargées de pollen jaune foncé et orange. Il s’agit peut-être de pollen de crocus mais sans doute également de noisetiers qui sont encore en fleurs.

Les premiers chatons des saules marsaults et les boutons floraux des premiers pruniers commencent à s’ouvrir et si le temps se réchauffe comme le promet la météo, les abeilles ne devraient pas avoir longtemps à attendre avant de trouver des sources de pollen et de nectar plus abondantes.

Si le temps atteint vraiment les 18 degrés annoncés, nous pourrons peut-être même faire la visite de printemps dès le week-end prochain!

Cela nous permettrait de voir l’état des ruches et leurs réserves.

Apiculteurs.info

J’ai mis en ligne apiculteurs.info, un site conçu par des amateurs de miel (ma femme Catherine et moi-même) pour des amateurs de miel :

Ce site a pour objectif de répertorier le plus grand nombre possible d’apiculteurs qui commercialisent leur propre production, y compris les apiculteurs traditionnels qui ne sont pas connectés à internet.

Le résultat n’est pas encore très impressionnant et sa liste d’apiculteurs est encore courte, notamment parce que suivant les directives de la CNIL nous demandons par écrit l’accord des apiculteurs avant de publier leurs coordonnées et que nous sommes encore en attente d’un bon nombre de réponses.

Si je mentionne ce site ici, c’est que j’ai souhaité, dans sa conception et sa réalisation utiliser les principes, technologies et bonnes pratiques que j’enseigne et conseille à mes clients.

Le site est ainsi entièrement « powered by XML ».

Il repose sur le framework de publication XML Open Source Orbeon PresentationServer et la base de données XML eXist. Les informations sont stockées dans la base eXist un utilisant un vocabulaire XML/RDF que j’envisage de publier sous le nom de « foab » (Friend Of A Bee) et les pages sont constituées dynamiquement à l’aide de PresentationServer.

L’utilisation de cette architecture nous permet également de publier (en respectant leur licence) des articles de l’encyclopédie libre Wikipédia relatifs aux apiculteurs et à l’apiculture. Publiées sous l’adresse http://apiculteurs.info/wikipedia, ces pages sont téléchargées au format XHTML à partir de l’encyclopédie et stockées localement dans la base eXist.

La souplesse de PresentationServer permet de respecter les principes de l’architecture REST et d’attribuer automatiquement à chaque apiculteur une adresse stable (telle que http://apiculteurs.info/apiculteur/exemple/). Les services se rapportant à cet apiculteur (tels que l’édition de ses informations, la suppression de l’enregistrement, son export XML, …) s’effectuent également au moyen d’adresses stables et spécifiques à chaque apiculteur.

Les formulaires de saisie, tels que celui qui permet de suggérer un nouvel apiculteur mais également tout ceux qui permettent d’administrer la base de données sont définis à l’aide du standard W3C XForms et s’appuient sur l’implémentation XForms côté serveur de PresentationServer ce qui permet d’utiliser XForms dès aujourd’hui sans attendre que XForms soit implémenté dans les navigateurs Web…

Le site dispose bien entendu d’un canal RSS 1.0.

Les pages ne sont pas encore valides au sens de la recommandation XHTML 1.1 (les formes de saisies générées par l’implémentation XForms de PresentationServer sont conformes à HTML et non à XHTML) mais c’est point que je compte corriger prochainement. Elles utilisent néanmoins des méthodes de présentations sans tables basées sur CSS.

Les lettres envoyées aux apiculteurs pour leur demander l’autorisation de publier leur coordonnées sont envoyées à partir des données extraites de la base XML formatées par transformation XSLT sous forme de document OpenOffice. Le tout est orchestré par PresentationServer et disponible à partir des pages d’administration du site.

Ce petit site qui se veut une vitrine de l’apiculture et des apiculteurs constitue donc également une véritable vitrine de quelques unes des possibilités apportées par XML en matière de publication Web!

Nous sommes au bord du gouffre et nous allons faire un grand pas en avant

Le débat entre François Hollande et Jean-Pierre Raffarin hier soir sur RTL a permis de constater une nouvelle fois l’ampleur du consensus autour de la croissance présenté par presque toute la classe politique comme un préalable indispensable pour résoudre tous nos problèmes.

Croissance (source Wikipédia) :
La croissance économique est l’accroissement durable de la production globale d’une économie. C’est donc un phénomène quantitatif que l’on peut mesurer. C’est aussi un phénomène de longue période. En effet, une augmentation brutale et sans lendemain de la production nationale ne correspond pas à la croissance économique. Il ne faut donc pas confondre croissance et expansion, l’expansion caractérisant une hausse de la production d’un pays durant une courte période.

Comment peut-on soutenir que l’accroissement durable de la production soit souhaitable ou même possible?

La notion même d’accroissement durable est incompatible avec la vie dans un espace confiné comme notre planète et nous n’en voyons aucun exemple sur terre.

A chaque crack boursier, les analystes aiment à rappeler que « les arbres ne poussent pas jusqu’au ciel ». Doit on attendre un grand crack écologique autrement plus dévastateur pour appliquer ce proverbe à la croissance économique?

Comment peut-on se dire sensible aux problèmes de l’environnement et présenter la croissance comme un objectif en soi et un préalable à la recherche d’une meilleure justice sociale?

Alors qu’accoler deux mots incompatibles comme « développement » et « durable » semble suffire à nos dirigeants actuels ou potentiels pour se donner bonne conscience, la seule solution durable est au contraire de préparer la décroissance, c’est à dire une « diminution durable » de notre production.

Pourquoi cherche t-on tant à occulter ce débat?

Les commercants les plus betes du monde

Les commerçants les plus bêtes du monde sont à deux pas de chez moi et je ne m’en doutais pas.

Il aura fallu que la mairie de Paris se décide enfin à construire une piste cyclable pour qu’ils se manifestent aussi clairement.

Les commerçants les plus bêtes du monde sont aussi les plus manipulés. Ils répandent sans discernement les contrevérités distillées par la mairie du 15ème arrondissement et affichent sur leurs vitrines les tracts qui expliquent que les pistes cyclables polluent et que celle-ci signera la mort du petit commerce et l’asphyxie du quartier.

Cette position pourrait se comprendre de la part de concessionaires automobiles, auto-écoles ou autres stations services. Mais non, ce sont des libraires, des boulangers, des coiffeurs, des restaurateurs qui semblent penser que leur chiffre d’affaires est directement proportionnel au nombre véhicules qui vrombissent devant leurs vitrines. Il ne me semble pourtant pas que les commerçants des rues piétonnes aient particulièrement à se plaindre, ni qu’il soit plus difficile de s’arrêter pour acheter une baguette en vélo qu’en voiture…

Et en admettant que ce soit vrai, la réduction de la circulation à Paris est une affaire de santé publique qu’on ne doit pas sacrifier aux intérêts catégoriels d’une minorité.

Si je ne pense vraiment pas que la construction d’une piste cyclable ait une influence négative sur leur chiffre d’affaires, je sais que leurs affiches leur a déjà fait perdre au moins un client (moi) et j’incite tout ceux qui pensent comme moi à les boycoter comme je le fais!

Declarer ses impots sous Linux

Je sais bien que nous avions jusqu’au 12 avril, mais nous gardions en mémoire les déboires que nous avions eu l’année dernière avec notre déclaration d’impôts sur Internet et nous nous y sommes mis hier soir…

Partant du principe que l’administration avait du privilégier Windows, nous avons décidé d’utiliser le poste de travail Wintel de Catherine que je n’ai pas encore réussi à convertir à Linux.

Mal nous en a pris puisque après trois bonnes heures de bataille (mot de passe du certificat de l’année dernière oublié, difficultés pour révoquer ce certificat, appel à l’assistance technique à un euro la minute, recherche laborieuse des multiples documents dans lesquels sont éparpillés les informations nécessaires à la création d’un nouveau certificat, remplissage des différentes pages de la déclaration…), cette merveilleuse application nous informe que nous n’avons pas de certificat et ne pouvons pas signer la déclaration. Un comble puisque la même application vérifie le même certificat avant de vous permettre de commencer la saisie.

Entre temps, il était déjà près d’une heure du matin et l’assistance technique était fermée…

Ce matin, long dialogue avec trois interlocuteurs différents, le premier qui filtre l’appel, la deuxième qui me fait vérifier une nième fois la configuration, me fait enlever tout ce qui ressemble à un caractère accentué dans la déclaration (il semble que le calcul de signatures bute sur nos malheureux caractères accentués) et un troisième qui me fait refaire ce que la deuxième m’avait déjà fait faire et finit par conclure qu’il s’agit sans aucun doute d’un problème réseau et qu’il faut que je révoque mon certificat pour en demander un nouveau.

J’ai dirigé, dans une vie antérieure, un service de support technique et cette explication me semblait un peu suspecte, aussi ai-je décidé de tenter autre chose…

Après d’autres essais sous Windows, j’ai fini par revenir sur mon poste de travail Linux/Debian que je n’aurais jamais du quitter pour voir ce que cela donnait.

Comme tout cela n’est pas très documenté sur le site des impôts, je vous donne la marche que j’ai suivi.

J’ai utilisé un navigateur Firefox tout neuf (package « mozilla-firefox » 0.8-7).

Ma machine virtuelle Java est une 1.4.2 Sun installée manuellement et pour la valider dans firefox, j’ai rajouté le lien symbolique suivant en tant que « root » (les chemins devront être adaptés à votre configuration) :

ln -s /usr/local/lib/j2sdk1.4.2/jre/plugin/i386/ns610-gcc32/libjavaplugin_oji.so /usr/lib/mozilla-firefox/plugins/ 

Après avoir pointé mon navigateur sur http://www.ir.dgi.minefi.gouv.fr/ et cliqué sur « déclarer », l’application cherche à télécharger « teleir_cryptolib.jar » dans le répertoire « /usr/local/lib/j2sdk1.4.2/jre/lib/ext/ », ce qui naturellement lui est refusé.

A nouveau sous root, j’ai donc temporairement permis l’écriture sous ce répertoire (par « chmod a+w ») puis, après le téléchargement, ai changé le propriétaire de ce jar et interdit l’écriture à ce répertoire (par « chmod a-w »).

La dernière manipulation a été de récupérer le certificat qui était sur la machine Windows.

Pour cela, il faut savoir (cela ne semble pas documenté sur le site des impôts) que sous Linux, le répertoire « teleir » qui contient les données de l’application et notamment les certificats est stocké sous le répertoire « home » de l’utilisateur qui utilise le navigateur.

J’ai donc simplement recopié le répertoire « c:\teleir » de la machine Windows sous mon répertoire home.

Et là, surprise, tout fonctionne à merveille.

Je peux visualiser les informations saisies hier, les modifier et même signer ma déclaration et l’envoyer comme cela m’avait été refusé sous Windows (au passage, j’ai remarqué que le champ de saisie du mot de passe ne s’était pas affiché sous Windows au moment de la signature ce qui explique sans doute que la signature ait échoué).

Déclarer ses impôts sous Linux? Assurément : c’est plus facile que sous Windows!

Le liberalisme n a pas d avenir

Je suis allé voir hier soir une conférence-débat où Guillaume Duval présentait son livre intitulé « le libéralisme n’a pas d’avenir ».

C’est un livre que j’avais commencé à feuilleter et dont la thèse est que le libéralisme porte en lui même les raisons d’un échec certain pour plusieurs raisons :

  • Pour se développer, le libéralisme (que Duval qualifie de « système marchand ») a besoin d’une infrastructure généralement étatique (le système « non-marchand »). Le libéralisme ne peut donc émerger et se maintenir que sur les bases d’un système non libéral.
  • Le marché pousse les entreprises à se concentrer (Duval explique chiffre à l’appui que la concurrence est source de coûts) et cette logique tend à créer de nouveaux monopoles qui sont contraires aux principes même du libéralisme.

La thèse est intéressante et crédible. Guillaume Duval est un orateur convaincant qui a le don de trouver des chiffres qui parlent et de relier ses thèses à des évènements d’actualité connus de tous. En revanche, j’ai trouvé le débat moins réussi : Duval semblait souvent replonger dans les démonstrations de son livre plutôt que de chercher à réellement comprendre les questions.

Je suis loin d’être un spécialiste de la question, mais je me demande si la principale raison pour laquelle le libéralisme n’a peut être pas l’avenir que certains lui prédisent n’est pas plutôt que ses principaux promoteurs semblent avoir cessé d’y croire et de l’appliquer (si tant est qu’ils l’aient réellement appliqué).

L’administration Bush semble sous bien des angles la moins libérale que l’on ait vu aux Etats-Unis depuis bien longtemps. On l’a vu lors de la crise de l’acier et on voit aujourd’hui les tentations protectionnistes pour protéger l’industrie du logiciel contre l’externalisation. De plus, les budgets de la défense (actuels) et de la recherche spatiale (annoncés) constituent un développement notable du « non-marchand » et la banque centrale des Etats-Unis semble plus soucieuse de la santé financière des entreprises américaines que du respect des règles du marché international.

Au point que l’on peut se demander si la « vieille Europe » n’est pas la seule à jouer un peu naïvement la carte du libéralisme dogmatique pur et dur, au risque de marquer contre son camp!