<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.sorcellerieweb.net/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>Sorcellerie Web - Tag - xml</title>
  <link>http://blog.sorcellerieweb.net/</link>
  <description>Bienvenue dans l'antre d'un sorcier du web. Ici vous seront dévoilées les formules les plus secrètes, les potions les plus goutues, les sorts les plus faramineux pour en mettre plein la vue à vos collègues nerds avec votre sorcellerie web niveau 36. Ou au moins à mettre en ligne un gif animé.</description>
  <language>fr</language>
  <pubDate>Thu, 28 Aug 2008 11:22:26 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Fichiers de configuration</title>
    <link>http://blog.sorcellerieweb.net/post/2007/12/07/Fichiers-de-configuration</link>
    <guid isPermaLink="false">urn:md5:6141a8df36266042717321c4a8302074</guid>
    <pubDate>Fri, 07 Dec 2007 16:27:00 +0100</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>Formules</category>
        <category>ini</category><category>php</category><category>pratique</category><category>python</category><category>xml</category><category>yaml</category>    
    <description>&lt;p&gt;&lt;img src=&quot;http://blog.sorcellerieweb.net/public/img/advanced-directory.png&quot; alt=&quot;configuration-48x48&quot; style=&quot;float: left; margin: 0 1em 1em 0;&quot; /&gt;Lorsqu'on développe une application
ou un composant de manière à pouvoir le réutiliser, il est nécessaire de
pouvoir définir une configuration d'environnement de manière séparée du code.
Cela peut être fait par inclusion d'un fichier se contentant de déclarer un
suite de variables ou de constantes dans le language de l'application (c'est le
cas des fichiers urls.py et settings.py de Django). Mais il est généralement
préférable d'utiliser un format qui puisse être lu et modifié par un
non-programmeur.&lt;/p&gt;    &lt;h3&gt;Le format INI&lt;/h3&gt;
&lt;p&gt;A la fois très simple et très largement utilisé, le &lt;a href=&quot;http://fr.wikipedia.org/wiki/Fichier_INI&quot;&gt;format INI&lt;/a&gt; permet de définir des
paires clefs/valeur, éventuellement organisées par sections. Il est
suffisamment intuitif pour être modifié par quelqu'un qui n'en connait pas la
syntaxe.&lt;/p&gt;
&lt;p&gt;C'est le format de configuration de PHP, et une &lt;a href=&quot;http://fr.php.net/manual/fr/function.parse-ini-file.php&quot;&gt;fonction native&lt;/a&gt;
permet de lire un tel fichier et de récupérer directement les données stockées
dans un tableau associatif, à deux dimensions en activant le support des
sections.&lt;/p&gt;
&lt;p&gt;Python dispose du module &lt;a href=&quot;http://docs.python.org/lib/module-ConfigParser.html&quot;&gt;ConfigParser&lt;/a&gt;, qui
supporte une syntaxe un peu plus évoluée.&lt;/p&gt;
&lt;h3&gt;Le format XML&lt;/h3&gt;
&lt;p&gt;Le patriarche des formats de structuration et d'échange de données. Plus
qu'un format de fichier, &lt;a href=&quot;http://fr.wikipedia.org/wiki/Xml&quot;&gt;XML&lt;/a&gt; est
une grammaire dont dérivent des zillions de syntaxes, qu'elles soient
standardisées ou propriétaires. Très largement utilisé pour la configuration
d'application, ce n'est pourtant pas forcément des plus simples à éditer. De
plus, il est généralement assez lourd à manipuler en programmation, ce qui
n'est pas terrible en termes de performance. Surtout dans le cadre d'une
application web, si celle-ci doit lire le fichier à chaque requete...&lt;/p&gt;
&lt;h3&gt;Le format YAML&lt;/h3&gt;
&lt;p&gt;Si vous avez besoin de données de configuration plus élaborées, notamment
s'il vous faut plus de deux niveaux de données ou des textes sur plusieurs
lignes, il y a le &lt;a href=&quot;http://fr.wikipedia.org/wiki/Yaml&quot;&gt;format YAML&lt;/a&gt;.
Celui-ci se veut une alternative à XML, qui soit à la fois plus concise (donc
plus légère à stocker) et plus lisible pour un être humain. Ce qui en fait un
candidat idéal pour des fichiers de configuration. Comme en Python,
l'indentation y joue un rôle clef.&lt;/p&gt;
&lt;p&gt;Contrairement à INI, il n'est pas supporté nativement par PHP, mais la
&lt;a href=&quot;http://spyc.sourceforge.net/&quot;&gt;librairie Spyc&lt;/a&gt; permet de convertir
ces fichiers en tableaux de données et inversement.&lt;/p&gt;
&lt;p&gt;Python dispose de la librairie &lt;a href=&quot;http://pyyaml.org/&quot;&gt;PyYaml&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.sorcellerieweb.net/post/2007/12/07/Fichiers-de-configuration#comment-form</comments>
      <wfw:comment>http://blog.sorcellerieweb.net/post/2007/12/07/Fichiers-de-configuration#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.sorcellerieweb.net/feed/rss2/comments/183556</wfw:commentRss>
      </item>
    
  <item>
    <title>xml-rpc blah blah blah</title>
    <link>http://blog.sorcellerieweb.net/post/2006/05/11/xml-rpc-blah-blah-blah</link>
    <guid isPermaLink="false">urn:md5:79892ce403f31858068dd265f59d3662</guid>
    <pubDate>Thu, 11 May 2006 20:08:00 +0200</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>Bave de crapaud</category>
        <category>xml</category>    
    <description>&lt;p&gt;Je soupçonne les concepteurs de la &lt;a href=&quot;http://www.xmlrpc.com/spec&quot; hreflang=&quot;en&quot;&gt;spécification&lt;/a&gt; &lt;acronym title=&quot;eXtensible Markup Language - Remote Procedure Call&quot;&gt;XML-RPC&lt;/acronym&gt; d'avoir
oeuvré en fonction des limitations de leur propre implémentation initiale... Je
travaille en ce moment sur une librairie en php et je trouve le format assez
torturé.&lt;/p&gt;    &lt;p&gt;Par nature le &lt;acronym title=&quot;eXtensible Markup Language&quot;&gt;XML&lt;/acronym&gt; est
un format &lt;em&gt;bavard&lt;/em&gt; puisqu'on retrouve le nom de chaque element dans le
tag de fermeture, alors qu'avec ses règles strictes d'imbrication un simple
&amp;lt;/&amp;gt; aurait suffi. De plus, les concepteurs de dialecte XML sont souvent
des gens un poil anxieux qui multiplient les éléments, je ne sais pas trop
pourquoi.&lt;/p&gt;
&lt;p&gt;Mais alors le xml-rpc, c'est franchement le bordel. Bon, il y a de quoi
vouloir etre prevoyant puisqu'il s'agit d'un language
&lt;strong&gt;générique&lt;/strong&gt; pour faire des appels de procedure distante. (par
exemple, les fameux &lt;em&gt;ping&lt;/em&gt; et &lt;em&gt;trackback&lt;/em&gt; des blogs). Mais quand
je vois :&lt;/p&gt;
&lt;code&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &amp;lt;methodResponse&amp;gt; &amp;lt;fault&amp;gt;
&amp;lt;value&amp;gt; &amp;lt;struct&amp;gt; &amp;lt;member&amp;gt; &amp;lt;name&amp;gt;faultCode&amp;lt;/name&amp;gt;
&amp;lt;value&amp;gt;&amp;lt;int&amp;gt;4&amp;lt;/int&amp;gt;&amp;lt;/value&amp;gt; &amp;lt;/member&amp;gt;
&amp;lt;member&amp;gt; &amp;lt;name&amp;gt;faultString&amp;lt;/name&amp;gt;
&amp;lt;value&amp;gt;&amp;lt;string&amp;gt;Too many parameters.&amp;lt;/string&amp;gt;&amp;lt;/value&amp;gt;
&amp;lt;/member&amp;gt; &amp;lt;/struct&amp;gt; &amp;lt;/value&amp;gt; &amp;lt;/fault&amp;gt;
&amp;lt;/methodResponse&amp;gt;&lt;/code&gt;
&lt;p&gt;Au lieu de, par exemple, ça :&lt;/p&gt;
&lt;code&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &amp;lt;methodResponse&amp;gt; &amp;lt;fault&amp;gt;
&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; &amp;lt;desc&amp;gt;Too many parameters.&amp;lt;/desc&amp;gt;
&amp;lt;/fault&amp;gt; &amp;lt;/methodResponse&amp;gt;&lt;/code&gt;
&lt;p&gt;Je me dis que la volonté initiale de simplicité s'est un peu perdue en
route... J'ai du mal à comprendre cette volonté de se passer totalement
d'attributs et d'intercaler des éléments inutiles comme le &amp;lt;data&amp;gt; entre
un &amp;lt;array&amp;gt; et les &amp;lt;value&amp;gt;. Le pire, c'est encore le type des
&amp;lt;value&amp;gt; qui est un élément s'intercalant entre l'élément et son contenu,
et optionnel avec ça !!! Il aurait été tellement plus logique d'utiliser un
attribut. Pfff...&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.sorcellerieweb.net/post/2006/05/11/xml-rpc-blah-blah-blah#comment-form</comments>
      <wfw:comment>http://blog.sorcellerieweb.net/post/2006/05/11/xml-rpc-blah-blah-blah#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.sorcellerieweb.net/feed/rss2/comments/178167</wfw:commentRss>
      </item>
    
</channel>
</rss>