<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Christian Fauré &#187; XML</title> <atom:link href="http://www.christian-faure.net/tag/xml/feed/" rel="self" type="application/rss+xml" /><link>http://www.christian-faure.net</link> <description>Hypomnemata : supports de mémoire</description> <lastBuildDate>Wed, 08 Feb 2012 13:01:47 +0000</lastBuildDate> <language>fr</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>XML versus Protocol Buffer</title><link>http://www.christian-faure.net/2008/09/18/xml-versus-protocol-buffer/</link> <comments>http://www.christian-faure.net/2008/09/18/xml-versus-protocol-buffer/#comments</comments> <pubDate>Thu, 18 Sep 2008 17:11:23 +0000</pubDate> <dc:creator>Christian</dc:creator> <category><![CDATA[Défaut]]></category> <category><![CDATA[Web-Sémantique]]></category> <category><![CDATA[XML]]></category><guid
isPermaLink="false">http://www.christian-faure.net/?p=652</guid> <description><![CDATA[La nouvelle ne m&#8217;aurait pas effleurée si un Googler (membre du Conseil d&#8217;Adminsitration d&#8217;Ars Industrialis par ailleurs) ne m&#8217;en avait parlé. La nouvelle en question c&#8217;est la mise à disposition de Protocol Buffer par Google. C&#8217;est quoi &#171;&#160;Protocol Buffer&#160;&#187; ? C&#8217;est le mécanisme qu&#8217;utilise en interne Google pour sérialiser des données structurées lors d&#8217;échanges entre [...]
Related posts:<ol><li><a
href='http://www.christian-faure.net/2006/10/14/introduction-a-xml/' rel='bookmark' title='Introduction à XML'>Introduction à XML</a> <small>Une introduction n&#8217;est pas, disait Heidegger, quelque chose de général...</small></li><li><a
href='http://www.christian-faure.net/2005/12/14/houston-weve-got-a-problem/' rel='bookmark' title='Houston, we&#8217;ve got a problem'>Houston, we&#8217;ve got a problem</a> <small>Sacr&#233;es Logiques Descriptives, on n&#8217;a d&#233;cid&#233;ment pas fini d&#8217;en parler...</small></li><li><a
href='http://www.christian-faure.net/2007/07/09/xml-pipeline-langage/' rel='bookmark' title='XML Pipeline Langage'>XML Pipeline Langage</a> <small>Un working draft de XML Pipeline Langage vient d&#8217;être publié....</small></li></ol>]]></description> <content:encoded><![CDATA[<p></p><p>La nouvelle ne m&#8217;aurait pas effleurée si <a
href="http://johmathe.nonutc.fr/wordpress/" onclick="pageTracker._trackPageview('/outgoing/johmathe.nonutc.fr/wordpress/?referer=');">un Googler</a> (membre du Conseil d&#8217;Adminsitration d&#8217;Ars Industrialis par ailleurs) ne m&#8217;en avait parlé. La nouvelle en question c&#8217;est la mise à disposition de <a
href="http://code.google.com/apis/protocolbuffers/docs/overview.html" onclick="pageTracker._trackPageview('/outgoing/code.google.com/apis/protocolbuffers/docs/overview.html?referer=');">Protocol Buffer</a> par Google.</p><p>C&#8217;est quoi &laquo;&nbsp;Protocol Buffer&nbsp;&raquo; ? C&#8217;est le mécanisme qu&#8217;utilise en interne Google pour sérialiser des données structurées lors d&#8217;échanges entre des systèmes ou des applicatifs.</p><p><span
id="more-652"></span></p><p>Mais aujourd&#8217;hui on fait çà en XML non ? Exact, mais la majorité des développeurs, surtout quand il s&#8217;agit ne s&#8217;agit pas de systèmes documentaires, n&#8217;ont jamais vraiment aimé XML.</p><p>Pourquoi ? &laquo;&nbsp;Trop verbeux&nbsp;&raquo; disent-ils.</p><p>C&#8217;est aussi l&#8217;avis des ingénieurs de Google qui ont mis au point ce mécanisme <strong>pour sérialiser les données qui s&#8217;échangent sous forme de message </strong>entre des applications de leur système d&#8217;information. Le principal avantage est le <strong>gain de temps</strong>, bien sûr ce gain de temps dans le traitement d&#8217;un message en &laquo;&nbsp;Protocol Buffer&nbsp;&raquo; est de l&#8217;ordre de la nano seconde, mais on sait que quand on a les infrastructures de Google, les nano-secondes ont tendance à se multiplier de manière exponentielle, d&#8217;où l&#8217;intérêt d&#8217;avoir des <strong>messages compilés</strong>, puisque c&#8217;est ce que propose Protocol Buffer.</p><p>Parlant d&#8217;optimisation,<strong> voici les chiffres qu&#8217;avance Google sur la base de l&#8217;exemple suivant en comparant Protocol Buffer et XML</strong> (ma traduction) :</p><p>Les Protocoles Buffers sont :</p><ul><li>plus simples</li><li>de taille 3 à 10 fois plus petits</li><li>20 à 100 fois plus rapides</li><li>moins ambigus</li><li>génèrent des classes d&#8217;accès plus faciles à manipuler en programmation</li></ul><p>Par exemple, si vous souhaitez modéliser une <code>person</code> avec un <code>name</code> et un <code>email</code>. En XML, aurez :</p><pre>  &lt;person&gt;
    &lt;name&gt;John Doe&lt;/name&gt;
    &lt;email&gt;jdoe@example.com&lt;/email&gt;
  &lt;/person&gt;</pre><p>Alors que le message correspondant en <em>protocol buffer</em> (avec le protocole buffer au format texte) est :</p><pre># Textual representation of a protocol buffer.
# This is *not* the binary format used on the wire.
person {
  name: "John Doe"
  email: "jdoe@example.com"
}</pre><p>Quand ce message est <strong>encodé au format binaire</strong> il aura une taille de 28 bytes et sera parsé en 100-200 nanosecondes. La version XML fait 69 bytes sans les espaces vides, et sera parsée en 5 000 à 10 0000 nanosecondes.</p><p>Bien sûr, ces chiffres ne deviennent significatifs que sur des architectures traitant des volumes importants et/ou nombreux, et <strong>où la rapidité de traitement est critique</strong>. Par ailleurs, Google précise bien que <strong>XML garde tout son sens dans un environnement documentaire avec des langages à balises</strong> comme pour l&#8217;HTML, et où il est important d&#8217;avoir du contenu self-descriptif puisque le sens d&#8217;un message en protocole buffer (l&#8217;équivalent de sa DTD) est à part, dans le fichier ayant l&#8217;extension <code>.proto.</code></p><p>M&#8217;est d&#8217;avis que, là où il y a besoin de performance et qu&#8217;il y a de la donnée structurée, Protocol Buffer va vite décoller y compris dans l&#8217;environnement web sémantique qui lui aussi travaille sur des volumes importants et structurés. Inutile donc de craindre que Protocol Buffer fasse de l&#8217;ombre au web sémantique sous prétexte qu&#8217;il remplace le XML, puisque <strong>le web sémantique n&#8217;a rien à voir avec XML</strong> qui n&#8217;est qu&#8217;une sérialisation possible parmi d&#8217;autres.</p><p>Sur <a
href="http://code.google.com/apis/protocolbuffers/docs/overview.html" onclick="pageTracker._trackPageview('/outgoing/code.google.com/apis/protocolbuffers/docs/overview.html?referer=');">la page de présentation de Protocol Buffer</a> vous trouverez tout ce qu&#8217;il faut : <a
href="http://code.google.com/apis/protocolbuffers/docs/tutorials.html" onclick="pageTracker._trackPageview('/outgoing/code.google.com/apis/protocolbuffers/docs/tutorials.html?referer=');">tutotrial</a>, <a
href="http://code.google.com/apis/protocolbuffers/docs/proto.html" onclick="pageTracker._trackPageview('/outgoing/code.google.com/apis/protocolbuffers/docs/proto.html?referer=');">guides</a> et <a
href="http://code.google.com/apis/protocolbuffers/docs/reference/overview.html" onclick="pageTracker._trackPageview('/outgoing/code.google.com/apis/protocolbuffers/docs/reference/overview.html?referer=');">APIs</a>.</p> <span
class="post-twitter" ><a
href="http://twitter.com/home?status=Chez%20%40ChristianFaure%20%3A%20%22XML%20versus%20Protocol%20Buffer%22%20http%3A%2F%2Ftinyurl.com%2Fyd9kk9j" title="Signaler sur Twitter" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Chez_20_40ChristianFaure_20_3A_20_22XML_20versus_20Protocol_20Buffer_22_20http_3A_2F_2Ftinyurl.com_2Fyd9kk9j&amp;referer=');">Signaler sur Twitter</a></span><p>Related posts:<ol><li><a
href='http://www.christian-faure.net/2006/10/14/introduction-a-xml/' rel='bookmark' title='Introduction à XML'>Introduction à XML</a> <small>Une introduction n&#8217;est pas, disait Heidegger, quelque chose de général...</small></li><li><a
href='http://www.christian-faure.net/2005/12/14/houston-weve-got-a-problem/' rel='bookmark' title='Houston, we&#8217;ve got a problem'>Houston, we&#8217;ve got a problem</a> <small>Sacr&#233;es Logiques Descriptives, on n&#8217;a d&#233;cid&#233;ment pas fini d&#8217;en parler...</small></li><li><a
href='http://www.christian-faure.net/2007/07/09/xml-pipeline-langage/' rel='bookmark' title='XML Pipeline Langage'>XML Pipeline Langage</a> <small>Un working draft de XML Pipeline Langage vient d&#8217;être publié....</small></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.christian-faure.net/2008/09/18/xml-versus-protocol-buffer/feed/</wfw:commentRss> <slash:comments>21</slash:comments> </item> <item><title>XML Pipeline Langage</title><link>http://www.christian-faure.net/2007/07/09/xml-pipeline-langage/</link> <comments>http://www.christian-faure.net/2007/07/09/xml-pipeline-langage/#comments</comments> <pubDate>Mon, 09 Jul 2007 18:53:39 +0000</pubDate> <dc:creator>Christian</dc:creator> <category><![CDATA[Défaut]]></category> <category><![CDATA[XML]]></category><guid
isPermaLink="false">http://www.christian-faure.net/2007/07/09/xml-pipeline-langage/</guid> <description><![CDATA[Un working draft de XML Pipeline Langage vient d&#8217;être publié. A rapprocher de ce que fait l&#8217;UIMA d&#8217;IBM ou le Document Processing de FAST, dont je parlais dans mon introduction au text-mining. La démarche est intéressante pour normaliser les mashups et l&#8217;agrégation des contenus directement sur Web. [Update] On lira avec plaisir et intérêt la [...]
Related posts:<ol><li><a
href='http://www.christian-faure.net/2007/02/08/le-script-pour-tout-le-monde/' rel='bookmark' title='Le script pour tout le monde'>Le script pour tout le monde</a> <small>Yahoo propose à présent, via Yahoo Pipe, la possibilité de...</small></li><li><a
href='http://www.christian-faure.net/2006/11/27/la-plus-courte-definition-du-web-20/' rel='bookmark' title='La plus courte definition du Web 2.0'>La plus courte definition du Web 2.0</a> <small>Une application Web 2.0 est un formulaire de saisie en...</small></li><li><a
href='http://www.christian-faure.net/2008/04/01/a-propos-de-la-virtualisation-de-windows/' rel='bookmark' title='A propos de la virtualisation de Windows'>A propos de la virtualisation de Windows</a> <small>Nasstar (il faut aller voir leur site avec la video...</small></li></ol>]]></description> <content:encoded><![CDATA[<p></p><p>Un <a
href="http://www.w3.org/TR/2007/WD-xproc-20070706/" onclick="pageTracker._trackPageview('/outgoing/www.w3.org/TR/2007/WD-xproc-20070706/?referer=');">working draft</a> de XML Pipeline Langage vient d&#8217;être publié.</p><p>A rapprocher de ce que fait l&#8217;UIMA d&#8217;IBM ou le Document Processing de FAST, dont je parlais dans mon <a
href="http://www.christian-faure.net/2007/05/30/introduction-au-text-mining/">introduction au text-mining</a>.</p><p>La démarche est intéressante pour normaliser les mashups et l&#8217;agrégation des contenus directement sur Web.</p><p>[Update] On lira avec plaisir et intérêt <a
href="http://www.bortzmeyer.org/xproc.html" onclick="pageTracker._trackPageview('/outgoing/www.bortzmeyer.org/xproc.html?referer=');">la note de Stéphane Bortzmeyer</a>, toujours passionnant dans sa présentation des normes.</p> <span
class="post-twitter" ><a
href="http://twitter.com/home?status=Chez%20%40ChristianFaure%20%3A%20%22XML%20Pipeline%20Langage%22%20http%3A%2F%2Ftinyurl.com%2Fybelyud" title="Signaler sur Twitter" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Chez_20_40ChristianFaure_20_3A_20_22XML_20Pipeline_20Langage_22_20http_3A_2F_2Ftinyurl.com_2Fybelyud&amp;referer=');">Signaler sur Twitter</a></span><p>Related posts:<ol><li><a
href='http://www.christian-faure.net/2007/02/08/le-script-pour-tout-le-monde/' rel='bookmark' title='Le script pour tout le monde'>Le script pour tout le monde</a> <small>Yahoo propose à présent, via Yahoo Pipe, la possibilité de...</small></li><li><a
href='http://www.christian-faure.net/2006/11/27/la-plus-courte-definition-du-web-20/' rel='bookmark' title='La plus courte definition du Web 2.0'>La plus courte definition du Web 2.0</a> <small>Une application Web 2.0 est un formulaire de saisie en...</small></li><li><a
href='http://www.christian-faure.net/2008/04/01/a-propos-de-la-virtualisation-de-windows/' rel='bookmark' title='A propos de la virtualisation de Windows'>A propos de la virtualisation de Windows</a> <small>Nasstar (il faut aller voir leur site avec la video...</small></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.christian-faure.net/2007/07/09/xml-pipeline-langage/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Introduction à XML</title><link>http://www.christian-faure.net/2006/10/14/introduction-a-xml/</link> <comments>http://www.christian-faure.net/2006/10/14/introduction-a-xml/#comments</comments> <pubDate>Sat, 14 Oct 2006 19:31:08 +0000</pubDate> <dc:creator>Christian</dc:creator> <category><![CDATA[Défaut]]></category> <category><![CDATA[internet]]></category> <category><![CDATA[liste]]></category> <category><![CDATA[technique]]></category> <category><![CDATA[XML]]></category><guid
isPermaLink="false">http://www.christian-faure.net/2006/10/14/introduction-a-xml/</guid> <description><![CDATA[Une introduction n&#8217;est pas, disait Heidegger, quelque chose de général qui vous laisserait au pas de la porte d&#8217;une question. Non, une introduction se doit de vous introduire au coeur même du problème. C&#8217;est dans l&#8217;introduction que l&#8217;acte pédagogique se doit d&#8217;être le plus intense. Quiconque s&#8217;est retrouvé devant un public pour enseigner quelque chose [...]
Related posts:<ol><li><a
href='http://www.christian-faure.net/2006/02/16/de-la-temporalit-des-ontologies/' rel='bookmark' title='De la temporalité des ontologies'>De la temporalité des ontologies</a> <small>Cela fait un petit moment que je voulais ajouter des...</small></li><li><a
href='http://www.christian-faure.net/2008/09/18/xml-versus-protocol-buffer/' rel='bookmark' title='XML versus Protocol Buffer'>XML versus Protocol Buffer</a> <small>La nouvelle ne m&#8217;aurait pas effleurée si un Googler (membre...</small></li><li><a
href='http://www.christian-faure.net/2007/07/09/xml-pipeline-langage/' rel='bookmark' title='XML Pipeline Langage'>XML Pipeline Langage</a> <small>Un working draft de XML Pipeline Langage vient d&#8217;être publié....</small></li></ol>]]></description> <content:encoded><![CDATA[<p></p><p>Une introduction n&#8217;est pas, disait Heidegger, quelque chose de général qui vous laisserait au pas de la porte d&#8217;une question. Non, une introduction se doit de vous introduire au <strong>coeur même du problème</strong>. C&#8217;est dans l&#8217;introduction que l&#8217;acte pédagogique se doit d&#8217;être le plus intense.</p><p>Quiconque s&#8217;est retrouvé devant un public pour enseigner quelque chose vous le dira : le commencement, l&#8217;introduction, va déterminer et conditionner toute la suite. Faisons un essai d&#8217;introduction à XML, en quelques lignes. <span
id="more-122"></span></p><p>XML est une notation. Et au coeur même des premières pratiques de notation on trouve la liste.</p><ul><li>Faire la liste des courses</li><li>C&#8217;est la rentrée, l&#8217;enseignant consulte la liste des noms pour faire l&#8217;appel.</li><li>Les moteurs de recherche nous affichent des listes</li><li>Les bibliothécaires constituent des listes de classement pour gérer leur catalogue.</li><li>Le web c&#8217;est l&#8217;affichage des listes, et maintenant aussi le partage des listes</li><li>Je commence un projet, quelle va être la liste des tâches ?</li><li>La liste de mariage</li><li>Fin de la liste</li></ul><p>Au commencement est la liste. On ne fait rien sans une liste. Je pense même que toute pratique symbolique qui est portée par un dispositif technique, tel que l&#8217;écriture, commence par la constitution et l&#8217;utilisation de listes. Cela fait entrevoir la raison pour laquelle XML, en tant que norme de notation de listes, est si important dans le traitement des supports numérique.</p><p>Mais continuons : les techniques d&#8217;écriture de listes se sont diversifiées,  particularisées et  singularisées, en se donnant des <strong>ordres</strong> :</p><ul><li>Liste par ordre croissant ou décroissant</li></ul><ul><li>Liste par ordre alphabétique</li></ul><ul><li>Liste par ordre numérique</li></ul><ul></ul><ul><li>Liste par ordre chronologique</li></ul><p>On a même inventé des listes de listes, c&#8217;est à dire des <strong>listes imbriquées</strong>, celles sur lesquelles reposent précisément l&#8217;encodage XML.<br
/> Bien que l&#8217;écriture en XML dispose d&#8217;autres possibilités, le format de base d&#8217;un encodage XML reste la liste imbriquée, qui prend la forme d&#8217;une arborescence.</p><p><strong>Représenter de l&#8217;information</strong><br
/> On parle souvent de programmation XML, c&#8217;est un abus de langage: le programme accède et/ou produit des informations au format XML. Celui-ci n&#8217;est pas un langage de programmation, c&#8217;est un code pour représenter et décrire de l&#8217;information.</p><p><strong>Un programme exécute la liste des instructions qui lui sont données.</strong><br
/> Les programmes sont des listes d&#8217;exécution, alors que XML est une liste descriptive. L&#8217;informatique, c&#8217;est l&#8217;art d&#8217;articuler l&#8217;exécution de liste (algorithmes) avec la description des listes.<br
/> <strong><br
/> Programmer et encoder ne sont pas la même chose.</strong><br
/> Vous pouvez être très bon en listes de description (XML) et être très mauvais en liste d&#8217;exécution (programmation).<br
/> Les compétences en liste de description XML sont moins courantes que les compétences en listes d&#8217;exécution, même si la tendance est en faveur des listes de description. Voilà pourquoi la bibliothéconomie et les sciences de l&#8217;information sont si importantes, ce que je préciserai dans une prochaine note.</p> <span
class="post-twitter" ><a
href="http://twitter.com/home?status=Chez%20%40ChristianFaure%20%3A%20%22Introduction%20%C3%A0%20XML%22%20http%3A%2F%2Ftinyurl.com%2Fy89vruh" title="Signaler sur Twitter" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home?status=Chez_20_40ChristianFaure_20_3A_20_22Introduction_20_C3_A0_20XML_22_20http_3A_2F_2Ftinyurl.com_2Fy89vruh&amp;referer=');">Signaler sur Twitter</a></span><p>Related posts:<ol><li><a
href='http://www.christian-faure.net/2006/02/16/de-la-temporalit-des-ontologies/' rel='bookmark' title='De la temporalité des ontologies'>De la temporalité des ontologies</a> <small>Cela fait un petit moment que je voulais ajouter des...</small></li><li><a
href='http://www.christian-faure.net/2008/09/18/xml-versus-protocol-buffer/' rel='bookmark' title='XML versus Protocol Buffer'>XML versus Protocol Buffer</a> <small>La nouvelle ne m&#8217;aurait pas effleurée si un Googler (membre...</small></li><li><a
href='http://www.christian-faure.net/2007/07/09/xml-pipeline-langage/' rel='bookmark' title='XML Pipeline Langage'>XML Pipeline Langage</a> <small>Un working draft de XML Pipeline Langage vient d&#8217;être publié....</small></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.christian-faure.net/2006/10/14/introduction-a-xml/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: basic (User agent is rejected)
Database Caching 63/111 queries in 0.109 seconds using disk: basic

Served from: www.christian-faure.net @ 2012-02-11 13:43:32 -->
