vendredi 31 octobre 2014

CSV versus XML

David contre Goliath



Le XML. Tout le monde en parle comme le langage informatique du XXIe siècle. Souvent présenté comme la solution ultime à tous les problèmes. Mais arrivera-t-il un jour à supplanter définitivement le bon vieux format CSV ? Quel avenir peut-on encore donner  à ce dernier, face au nouveau et séduisant standard XML ? Cet article veut amener une comparaison plausible entre ses deux formats informatiques, sur le seul et unique terrain de confrontation possible, c’est-à-dire l'échange automatisé de données de type tabulaire entre systèmes d'informations hétérogènes.




Wikipédiant un peu

http://www.svsarah.com/Sailing/ewExcelWaypoint.htm
Exemple fichier CSV
En lançant une simple recherche Wikipédia, on peut se rendre compte que le sigle composé des trois lettres C, S et V, peut faire référence à :
  • Composés Sulfurés Volatils (« Halitose ?! Heu... quelqu’un a un chewing-gum ? »)
  • Chrëschtlech Sozial Vollekspartei (« Parti politique luxembourgeois !? Non, merci ! »)
  • Comma-Separated Values (« Format informatique. Ouf : on commençait à désespérer ! »)


CSV (Comma-Separeted Value) signifie "Valeurs séparées par des virgules". Ce qui veut dire que les fichiers CSV ont une virgule entre chaque élément d'information qu'ils contiennent. Rien de plus simple que cela.

Le même exercice pour XML donne, par contre, le résultat:
  • eXtensible MarkableLanguage (« Langage de balisage extensible !? Comment ça ? Pas de résultat en français ? Et… Quoi ? C’est déjà du français ça ?»)


XML est un langage de balisage, qui définit un ensemble de règles syntaxiques pour la présentation structurée de l’information. On aura une autre occasion pour approfondir ces règles. Maintenant, on va juste se limiter à dire que, grâce à ses balises, XML arrive à identifier non seulement l'information, mais aussi sa structure.


Avantage CSV

Le point fort du format CSV est sans doute sa facilité d’implémentation : chaque ligne du texte correspond à une ligne du tableau, et les portions de texte délimitées par les caractères de séparation, correspondent ainsi, aux contenus des cellules du tableau.
Comparé à l'export CSV d'une table, XML est très bavard : il réplique le nom de la colonne pour chaque cellule (une fois pour un attribut, deux fois pour un élément). Le poids du fichier généré est inévitablement supérieur à celui d'un fichier CSV. Les fichiers XML ont tendance à être très volumineux.


Egalité

Quelques points forts communs aux deux formats :
  • Format texte, non « binaires » : lisibles pour humain et machine
  • Stockage long terme et réutilisation des données
  • Reliées à aucun système : indépendants des OS


Avantage XML

http://kensall.com/big-picture/bigpix22.html
La Galaxie XML
Le format CSV n'a jamais vraiment fait l'objet d'une spécification formelle. Ils en existent plusieurs variations, qui portent sur le simple choix d’un caractère différent de séparation (virgule, point-virgule, caractère tabulation).
Le XML, non seulement a été standardisé par le World Wide Web Consortium (W3C, aussi à l’origine du HTML), mais il est un métalangage, puisqu’il permet de définir d'autres langages. XHTML, XSLT, RSS, XQuery, et plusieurs centaines d’autres langages, sont basés sur les normes XML. En fait, ce sont tous ces langages qui lui gravitent autour, qui font tout l'intérêt et le succès de XML.


Jeu, set et match !

D'un point de vue formel, un document XML est un arbre. Même si un  arbre XML permet de représenter beaucoup de choses ne signifie pas que ce soit toujours la forme la plus adaptée. Si XML est la solution pour l’échange de données avec structure complexe ou atypique, le CSV reste incontournable pour les données simples et de type tabulaire.


Aucun commentaire:

Enregistrer un commentaire