pt
Moulé à la louche depuis 1999
Les trucs qui m'énervent... et je vais pas prendre de pincettes
Internet, informatique, logiciel libre, économie, politique, vie courante et tout le reste...

Un format XML "efficace" ?

Vendredi 11 mars 2011

(Ce qui suit est une déblatération de développeur.)

Je me suis toujours gaussé de voir des développeurs utiliser de l'XML pour tout et n'importe quoi. Surtout pour n'importe quoi. Comme disait je-ne-sais-plus-qui, XML est une solution à la recherche d'un problème. XML a son utilité, mais il faut arrêter de l'utiliser à toutes les sauces.

Parmi les nombreux reproches qu'on peut faire à l'XML, on peut citer son horrible gaspillage de place. Dans un monde où l'informatique embarquée foisonne (smartphones, baladeurs...), ce n'est pas l'idéal.

Le W3C a récemment adopté un format XML optimisé pour occuper moins de place: EXI (Efficient XML Interchange Format 1.0) qui se trouve être... un format binaire ! Ah bon ? Efficace=binaire pour les groupes de travail XML, maintenant ? Je croyais que les formats binaires c'était le mal. Mouahaha... Non vraiment c'est n'importe quoi.


A ce titre, je préfère encore SQLite: C'est un format binaire stable et magnifiquement portable: Je peux prendre ma base SQLite et l'utiliser tel que sous Windows, MacOSX, Linux, Unix, iPhone et bien d'autres systèmes (y compris embarqués).

En plus il m'offre l'indexation, la mise à jour partielle de données sans ré-écrire tout le fichier, la gestion des transactions, l'intégrité des opérations (ACID), le requêtage avec de nombreux critères, le tri, les opérations d'ensemble (groupements, calculs...), les jointures et bien d'autres choses qui sont hors de portée des lib XML et que vous allez vous palucher à la main. Vous aimez faire du boulot inutile ? (Vous préférez quoi pour parcourir votre fichier XML ? DOM qui bouffe toute la mémoire, ou SAX qui vous oblige à écrire une machine à état ? Meh.)

Tout ça dans une lib plus petite que celle de libxml2 (~300 ko pour libxml2, ~275 ko pour SQLite). SQLite existe depuis 11 ans et c'est probablement l'un des codes les mieux testé au monde. On en trouve dans des tas de systèmes embarqués (Apple's iOS, Symbian OS, Nokia Maemo, Google Android, RIM BlackBerry, MeeGo, HP/PalmwebOS...).


EXI, encore une solution à la recherche d'un problème déjà résolu ? (Bon pour être honnête, EXI a l'air d'être formidablement plus économe en octets pour encoder les informations, même plus efficace que SQLite ou de l'XML gzippé.).

Entre les specs qui restent en draft pendant des années, les non-décisions, les vendeurs (Apple/Google/Mozilla/Microsoft) qui - finalement - font plus avancer le schmilblick, les inventions incertaines et les conflits d'intérêts, plus le temps passe et plus le W3C me semble un "grand machin" à l'utilité douteuse. Loin de moi l'idée de dénigrer l'importance des standards, mais malgré des annonces tonitruante comme la "sortie" du HTML5 (oh le beau logo), on a l'impression qu'ils commencent à ne plus savoir où ils vont.


PS: SQLite, avec le fameux zlib dont je vous avais parlé, fait partie des librairies les plus réutilisées massivement par l'industrie sans reconnaissance. Honte à eux.

Merde au conseil constitutionnel

Vendredi 11 mars 2011

Le conseil constitutionnel a de la merde dans les yeux. Ils ont validé l'article 4 de la loi LOPPSI2. Le gouvernement français pourra donc censurer ce que bon lui semble sur internet, sans passer par un juge, et en gardant cette liste secrète.

Comme le CONseil CONstitutionnel ne semble pas savoir lire, je vais faire une petite explication de texte. Déclaration des Droits de l'Homme et du citoyen, faisant partie de la Constitution française:
Art. 11.
La libre communication des pensées et des opinions est un des droits les plus précieux de l'Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l'abus de cette liberté dans les cas déterminés par la Loi.

Ce qui implique de pouvoir répondre (comment répondre quand on est même pas informé qu'on est en infraction ?), qui plus est devant une personne apte à juger des faits par rapport aux lois, c'est à dire un juge, ce que ne prévoit pas la LOPPSI2. Elle prévoit un blocage immédiat pure et simple, sans prévenir, ni même évaluer la légitimité de ce blocage.

Un état qui se donne le droit d'agir en dehors de ses propres mécanismes de contrôle ne peut plus être considéré comme démocratique.


J'ignore comment sera effectué ce blocage chez les FAI français, mais je suppute que ça sera un blocage au niveau des DNS (c'est l'un des moins lourds à mettre en place), non par DPI (trop coûteux pour le moment) ou par blocage d'adresse IP (trop brutal, pour les serveurs mutualisés). Si c'est un blocage DNS, l'utilisation d'OpenDNS (208.67.222.222/208.67.220.220), GoogleDNS (8.8.8.8/8.8.4.4) ou tout autre serveur DNS non-français devrait faire l'affaire pour outrepasser ce blocage.

Merde. Je dis merde.