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!

Half a day to learn about XML schema languages…

One of the things which are really hard when you specialize in XML schema languages is to play the classical « elevator story » and explain in the time it takes to go from the ground floor to your 7th floor what you are doing to own your life to your neighbor.

That’s already tough to play the elevator story explaining what is XML, just try to imagine how difficult it is with XML schema languages!

In fact, I have found that the shorter amount of time it takes me to really initiate people (that is, not my neighbors but people already knowing XML quite well) to XML Schema languages is half a day and I have made a tutorial to perform that initiation!

The next times I’ll be giving this tutorial will be on April 18th in Amsterdam for XML Europe and then on July 27th in Portland for the Open Source Conference.

I have already been giving that tutorial quite a few times at various conferences including previous issues of XML Europe, XML 2003, OSCON and even SD West 2004 no later than last month but I am still enjoying giving that talk as much as I did the first time.

As far as I know, its agenda is unique and no other tutorials or training cover all three big schema languages (Schematron, RELAX NG and W3C XML Schema).

Most of the attendees seem to enjoy this tutorial as well and to be astonished by the scope that is hiding beyond the term of « XML schema languages ». Of course, many of the concepts seem familiar to those of them who are DTD experts, but the approach taken by these « modern » schema languages is quite different and people tend to underestimate the amount of work that has been done in these areas.

I have been asked why people should want to learn about three different schema languages if they are going to use only one or two of them.

Of course, people can always learn no more than what they will immediately need, but I think that it’s a good thing to know your environment before stepping into a new discipline.

When you start learning computer science, you can start learning only a single programming language, let’s say Visual Basic, if you think that it’s the one that you’ll be using later on. I would argue that you’ll become a better programmer (even in Visual Basic) if you have an insight of other programming languages (let’s say C and Java or Python). Furthermore, you may also find out that Visual Basic isn’t always the best choice for what you’ll have to do later on.

That’s the same with schema languages. Even if right now you think that you’ll be using only one of them (let’s say W3C XML Schema), you’ll get a better understanding of W3C XML Schema if you learn about other approaches: that will help you to understand its most basic principles and also its limitations. And eventually, you may find out that W3C XML Schema isn’t always the best choice for what you’ll have to do…

See you in Amsterdam!