<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.hyla-project.org/index.php/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/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Hyla project - Outils</title>
  <link>http://blog.hyla-project.org/index.php/</link>
  <atom:link href="http://blog.hyla-project.org/index.php/feed/category/Outils/rss2" rel="self" type="application/rss+xml"/>
  <description>Blog du projet Hyla</description>
  <language>fr</language>
  <pubDate>Fri, 03 Sep 2010 12:50:05 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Actualité Hyla_Tpl : Nouveau site et nouvelle version 0.7.0</title>
    <link>http://blog.hyla-project.org/index.php/post/2010/06/21/Actualit%C3%A9-Hyla_Tpl-%3A-Nouveau-site-et-nouvelle-version-0.7.0</link>
    <guid isPermaLink="false">urn:md5:0908e3054b78f5912d4660e6783453d5</guid>
    <pubDate>Mon, 21 Jun 2010 15:37:00 +0200</pubDate>
    <dc:creator>hugo</dc:creator>
        <category>Outils</category>
        <category>gabarit</category><category>Hyla_Tpl</category><category>hyla_tpl</category><category>php</category><category>phplib</category><category>Planet-Libre</category><category>tpl</category>    
    <description>    &lt;p&gt;Pour cette nouvelle version, Hyla Tpl possède maintenant un nouveau site qui lui est dédié&amp;nbsp;: &lt;a href=&quot;http://tpl.hyla-project.org/&quot;&gt;http://tpl.hyla-project.org/&lt;/a&gt; sur lequel se trouve tout ce qu'il faut pour développer avec Hyla Tpl et notamment&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Une &lt;a href=&quot;http://tpl.hyla-project.org/fr/introduction&quot; hreflang=&quot;fr&quot;&gt;introduction&lt;/a&gt; avec un descriptif des &lt;a href=&quot;http://tpl.hyla-project.org/fr/introduction#phplib-diff&quot; hreflang=&quot;fr&quot;&gt;différences entre Hyla Tpl et la PhpLib&lt;/a&gt; et un &lt;a href=&quot;http://tpl.hyla-project.org/fr/introduction#perf&quot; hreflang=&quot;fr&quot;&gt;comparatif de performance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Une &lt;a href=&quot;http://tpl.hyla-project.org/fr/documentation&quot; hreflang=&quot;fr&quot;&gt;documentation complète&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Des &lt;a href=&quot;http://tpl.hyla-project.org/fr/exemples&quot; hreflang=&quot;fr&quot;&gt;exemples interactifs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;L'&lt;a href=&quot;http://tpl.hyla-project.org/fr/actualite&quot; hreflang=&quot;fr&quot;&gt;actualité de Hyla Tpl&lt;/a&gt; centralisée&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.hyla-project.org/public/screenshot.png&quot; title=&quot;Capture d&amp;#039;écran du site tpl.hyla-project.org&quot;&gt;&lt;img src=&quot;http://blog.hyla-project.org/public/.screenshot_m.jpg&quot; alt=&quot;Capture d&amp;#039;écran du site tpl.hyla-project.org&quot; title=&quot;Capture d&amp;#039;écran du site tpl.hyla-project.org, juin 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Concernant les nouveautés de cette nouvelle version de Hyla Tpl sort en version 0.7.0, les voici&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Il est dorénavant possible de définir une &lt;a href=&quot;http://tpl.hyla-project.org/fr/documentation#var-default-val&quot; hreflang=&quot;fr&quot;&gt;valeur par défaut&lt;/a&gt; à une variable&lt;/li&gt;
&lt;li&gt;Ajout de &lt;a href=&quot;http://tpl.hyla-project.org/fr/documentation#func-list-import&quot;&gt;la fonction import&lt;/a&gt; permettant de charger un fichier tpl depuis la vue&lt;/li&gt;
&lt;li&gt;Possibilité de &lt;a href=&quot;http://tpl.hyla-project.org/fr/documentation#var-set-var&quot; hreflang=&quot;fr&quot;&gt;définir des variables directement depuis le template&lt;/a&gt;, très utile pour les templates inclus depuis la vue&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://tpl.hyla-project.org/fr/documentation#api-methods&quot; hreflang=&quot;fr&quot;&gt;Nouvelles méthodes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Performances améliorées&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ça se passe par ici&amp;nbsp;: &lt;strong&gt;&lt;a href=&quot;http://tpl.hyla-project.org/&quot;&gt;http://tpl.hyla-project.org/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.hyla-project.org/index.php/post/2010/06/21/Actualit%C3%A9-Hyla_Tpl-%3A-Nouveau-site-et-nouvelle-version-0.7.0#comment-form</comments>
      <wfw:comment>http://blog.hyla-project.org/index.php/post/2010/06/21/Actualit%C3%A9-Hyla_Tpl-%3A-Nouveau-site-et-nouvelle-version-0.7.0#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.hyla-project.org/index.php/feed/atom/comments/1110</wfw:commentRss>
      </item>
    
  <item>
    <title>Nouvelle version mineure de Hyla_Tpl : 0.5.2</title>
    <link>http://blog.hyla-project.org/index.php/post/2010/02/04/Nouvelle-version-mineure-de-Hyla_Tpl-%3A-0.5.2</link>
    <guid isPermaLink="false">urn:md5:e2a9485a7db898ddc30817f041bdb6dc</guid>
    <pubDate>Thu, 04 Feb 2010 10:13:00 +0100</pubDate>
    <dc:creator>hugo</dc:creator>
        <category>Outils</category>
        <category>bug</category><category>gabarit</category><category>Hyla_Tpl</category><category>Planet-Libre</category><category>tpl</category>    
    <description>    &lt;p&gt;Voici une nouvelle version mineure de &lt;a href=&quot;http://blog.hyla-project.org/index.php/post/2009/10/23/Un-nouveau-moteur-de-template%2C-successeur-de-celui-de-la-phpLib-pour-Hyla&quot;&gt;Hyla_Tpl&lt;/a&gt; qui corrige un bug remonté par &lt;a hreflang=&quot;fr&quot; href=&quot;http://blog.hyla-project.org/index.php/post/2009/10/23/Un-nouveau-moteur-de-template%2C-successeur-de-celui-de-la-phpLib-pour-Hyla#c8904&quot;&gt;Lionel&lt;/a&gt; se produisant lorsqu'un bloc (&amp;lt;!-- BEGIN [...] --&amp;gt; ) se trouve au tout début d'un modèle ainsi qu'une vilaine régression empêchant l'utilisation correcte de plusieurs fonctions au sein d'une variable de gabarit.&lt;ins&gt;&lt;br /&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p&gt;Téléchargez cette nouvelle version ici même : &lt;a hreflang=&quot;fr&quot; href=&quot;http://blog.hyla-project.org/public/src/hyla_tpl-0.5.2.zip&quot;&gt;Hyla_Tpl 0.5.2&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.hyla-project.org/index.php/post/2010/02/04/Nouvelle-version-mineure-de-Hyla_Tpl-%3A-0.5.2#comment-form</comments>
      <wfw:comment>http://blog.hyla-project.org/index.php/post/2010/02/04/Nouvelle-version-mineure-de-Hyla_Tpl-%3A-0.5.2#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.hyla-project.org/index.php/feed/atom/comments/973</wfw:commentRss>
      </item>
    
  <item>
    <title>Un exemple d'utilisation de Hyla_Tpl : Un explorateur de fichiers</title>
    <link>http://blog.hyla-project.org/index.php/post/2009/11/20/Un-exemple-d-utilisation-de-Hyla_Tpl-%3A-Un-explorateur-de-fichiers</link>
    <guid isPermaLink="false">urn:md5:79354515419f7e7ae1853baf0a793a9b</guid>
    <pubDate>Tue, 12 Jan 2010 09:34:00 +0100</pubDate>
    <dc:creator>hugo</dc:creator>
        <category>Outils</category>
        <category>gabarit</category><category>gpl</category><category>Hyla</category><category>Hyla_Tpl</category><category>phplib</category><category>Planet-Libre</category><category>tpl</category>    
    <description>&lt;p&gt;Voici un exemple de programme réalisé avec Hyla_Tpl, il liste les éléments contenus dans un dossier et permet de naviguer dans l'arborescence, avec des textes en anglais et français afin de démontrer la facilité d'incorporer des éléments à traduire dans les gabarits, en fait, c'est une sorte de mini-Hyla ;)&lt;/p&gt;


&lt;p&gt;Le code est commenté et est assez parlant, il démontre assez bien la facilité d'utilisation de ce moteur de gabarit léger et rapide.&lt;/p&gt;


&lt;p&gt;Voici à quoi cela ressemble&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.hyla-project.org/public/hyla_tpl_example_explore.png&quot; title=&quot;Capture d&amp;#039;écran de l&amp;#039;explorateur de fichiers réalisé&quot;&gt;&lt;img src=&quot;http://blog.hyla-project.org/public/.hyla_tpl_example_explore_m.jpg&quot; alt=&quot;Capture d&amp;#039;écran de l&amp;#039;explorateur de fichiers réalisé&quot; title=&quot;Capture d&amp;#039;écran de l&amp;#039;explorateur de fichiers réalisé, nov. 2009&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Vous n'aurez besoin que de 2 fichiers&amp;nbsp;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Un fichier gabarit nommé main.tpl contenant le code HTML&lt;/li&gt;
&lt;li&gt;Le fichier php&lt;/li&gt;
&lt;/ol&gt;    &lt;p&gt;Voici le bout de code php&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;php&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;?php&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;header&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Content-type: text/html; charset=UTF-8'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Inclu les sources de la librairies&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;require&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'hyla_tpl.class.php'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Créé l'objet Hyla_Tpl&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$t&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Hyla_Tpl&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'.'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Import du gabarits&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$t&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #006600;&quot;&gt;importFile&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'main.tpl'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Fonction de traduction&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; traduction&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #000066;&quot;&gt;global&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$lang&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$lang&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'en'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #ff0000&quot;&gt;$l10n&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #ff0000;&quot;&gt;'Current path'&lt;/span&gt;  &lt;span style=&quot;color: #66cc66;&quot;&gt;=&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #ff0000;&quot;&gt;'Chemin courant'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #ff0000;&quot;&gt;'Size'&lt;/span&gt;          &lt;span style=&quot;color: #66cc66;&quot;&gt;=&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #ff0000;&quot;&gt;'Taille'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #ff0000;&quot;&gt;'Name'&lt;/span&gt;          &lt;span style=&quot;color: #66cc66;&quot;&gt;=&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #ff0000;&quot;&gt;'Nom'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #ff0000;&quot;&gt;'Switch lang'&lt;/span&gt;   &lt;span style=&quot;color: #66cc66;&quot;&gt;=&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #ff0000;&quot;&gt;'Changer de langue'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array_key_exists&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$l10n&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; ? &lt;span style=&quot;color: #ff0000&quot;&gt;$l10n&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Déclare la fonction de traduction&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$t&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #006600;&quot;&gt;setL10nCallback&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'traduction'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Cette fonction renvoie une taille facilement lisible (ex: 1024o renverra 1ko)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; get_human_readable_size&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$bytes&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #000066;&quot;&gt;global&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$lang&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #ff0000&quot;&gt;$types&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'k'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'m'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'g'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'t'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$i&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$bytes&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;gt;=&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;1024&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$i&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000066;&quot;&gt;count&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$types&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;-1&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$bytes&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;/=&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;1024&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$i&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;round&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$bytes&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;.&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$types&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$i&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;.&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$lang&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'fr'&lt;/span&gt; ? &lt;span style=&quot;color: #ff0000;&quot;&gt;'o'&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'b'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Enregistre la fonction get_human_readable_size en tant que humansize dans le template&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$t&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #006600;&quot;&gt;registerFunction&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'humansize'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'get_human_readable_size'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Récupère les variables get&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$dir&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;isset&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$_GET&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'dir'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; ? &lt;span style=&quot;color: #ff0000&quot;&gt;$_GET&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'dir'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;dirname&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;__FILE__&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$dir&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;realpath&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$dir&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$lang&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;isset&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$_GET&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'lang'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; ? &lt;span style=&quot;color: #ff0000&quot;&gt;$_GET&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'lang'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'fr'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Assigne quelques variables&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$t&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #006600;&quot;&gt;setVars&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #ff0000;&quot;&gt;'dir'&lt;/span&gt;           &lt;span style=&quot;color: #66cc66;&quot;&gt;=&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #ff0000&quot;&gt;$dir&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #ff0000;&quot;&gt;'lang'&lt;/span&gt;          &lt;span style=&quot;color: #66cc66;&quot;&gt;=&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #ff0000&quot;&gt;$lang&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #ff0000;&quot;&gt;'lang_switch'&lt;/span&gt;   &lt;span style=&quot;color: #66cc66;&quot;&gt;=&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$lang&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'en'&lt;/span&gt; ? &lt;span style=&quot;color: #ff0000;&quot;&gt;'fr'&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'en'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Ouvre le dossier&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$files&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;@&lt;/span&gt;scandir&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$dir&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #000066;&quot;&gt;exit&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Unable to open « $dir »&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Parcours des dossiers / fichiers&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;foreach&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$files&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;as&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$file&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #ff0000&quot;&gt;$path&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;realpath&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$dir/$file&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #ff0000&quot;&gt;$file&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #ff0000;&quot;&gt;'path'&lt;/span&gt;  &lt;span style=&quot;color: #66cc66;&quot;&gt;=&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #ff0000&quot;&gt;$path&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #ff0000;&quot;&gt;'name'&lt;/span&gt;  &lt;span style=&quot;color: #66cc66;&quot;&gt;=&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #ff0000&quot;&gt;$file&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #ff0000;&quot;&gt;'size'&lt;/span&gt;  &lt;span style=&quot;color: #66cc66;&quot;&gt;=&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #000066;&quot;&gt;filesize&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$path&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #ff0000&quot;&gt;$t&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #006600;&quot;&gt;setVar&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'file'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$file&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// L'élément courant est un dossier ?&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000066;&quot;&gt;is_dir&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$path&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #ff0000&quot;&gt;$t&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #006600;&quot;&gt;render&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'table.line.dir'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Affiche la ligne&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #ff0000&quot;&gt;$t&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #006600;&quot;&gt;render&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'table.line'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Affiche le résultat&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$t&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #006600;&quot;&gt;render&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;



&lt;p&gt;Et le code HTML contenant les déclarations pour Hyla_Tpl&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;html&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;html&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;head&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;title&amp;gt;&lt;/span&gt;&lt;/span&gt;{$title}&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;&lt;/span&gt;{_Current path} : {$dir}&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;a&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;href&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;?dir={$dir}&amp;amp;lang={$lang_switch}&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;{_Switch lang} : {$lang_switch}&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;table&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;50%&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;th&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;90%&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;{_Name}&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;th&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;10%&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;{_Size}&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;&amp;lt;!-- BEGIN table.line --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;tr&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;background-color: #{!cycle:'DDD', 'AAA'};&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;td&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;align&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;left&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;            &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;&amp;lt;!-- BEGIN table.line.dir --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;            &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;a&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;href&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;?dir={$file.path}&amp;amp;lang={$lang}&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;strong&amp;gt;&lt;/span&gt;&lt;/span&gt;{$file.name}&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;            &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;&amp;lt;!-- ELSE table.line.dir --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;            &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;strong&amp;gt;&lt;/span&gt;&lt;/span&gt;{$file.name}&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;            &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;&amp;lt;!-- END table.line.dir --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;td&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;align&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;right&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;            {$file.size|humansize}&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;&amp;lt;!-- END table.line --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;



&lt;p&gt;Téléchargez le tout dans la pièce jointe.&lt;/p&gt;</description>
    
          <enclosure url="http://blog.hyla-project.org/public/src/hyla_tpl_example.zip"
      length="42171" type="application/zip" />
    
    
          <comments>http://blog.hyla-project.org/index.php/post/2009/11/20/Un-exemple-d-utilisation-de-Hyla_Tpl-%3A-Un-explorateur-de-fichiers#comment-form</comments>
      <wfw:comment>http://blog.hyla-project.org/index.php/post/2009/11/20/Un-exemple-d-utilisation-de-Hyla_Tpl-%3A-Un-explorateur-de-fichiers#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.hyla-project.org/index.php/feed/atom/comments/870</wfw:commentRss>
      </item>
    
  <item>
    <title>Hyla_Tpl passe en version 0.5 et vous souhaite de joyeuses fêtes de fin d'année</title>
    <link>http://blog.hyla-project.org/index.php/post/2009/12/28/Hyla_Tpl-passe-en-version-0.5-et-vous-souhaite-de-joyeuses-f%C3%AAtes-de-fin-d-ann%C3%A9e</link>
    <guid isPermaLink="false">urn:md5:3bcd5597f84d0ad808b26cd600c118c4</guid>
    <pubDate>Mon, 28 Dec 2009 09:05:00 +0100</pubDate>
    <dc:creator>hugo</dc:creator>
        <category>Outils</category>
        <category>gabarit</category><category>gpl</category><category>Hyla_Tpl</category><category>Planet-Libre</category><category>template</category><category>tpl</category>    
    <description>    &lt;p&gt;Voici une nouvelle version de Hyla_tpl que vous trouverez en pièce
jointe de ce billet, voici les nouveautés apportées :&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Ajout d'une méthode pour récupérer le contenu d'un bloc : $tpl-&amp;gt;get('nom_du_bloc'); , il est aussi possible de récupérer le contenu du bloc non rendu : $tpl-&amp;gt;get('nom_du_bloc', false);&lt;/li&gt;
&lt;li&gt;Si vous utilisez la fonction de traduction intégrée ( {_XXX} ) dans vos fichiers de gabarits alors qu'aucune fonction l10n n'à été définie, Hyla_Tpl ne râlera plus en vous disant qu'aucune fonction l10n n'existe mais vous renverra tout simplement la chaine de caractère non traduite.&lt;/li&gt;
&lt;li&gt;Un peu de ménage fait&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour ceux qui ne saurait pas ce qu'est Hyla_Tpl, voici un lien qui vous expliquera plus en détail ce qu'est Hyla_Tpl : &lt;a href=&quot;http://blog.hyla-project.org/index.php/post/2009/10/23/Un-nouveau-moteur-de-template%2C-successeur-de-celui-de-la-phpLib-pour-Hyla&quot;&gt;Un nouveau moteur de template successeur de celui de la phpLib pour Hyla&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Je rappelle la présence du forum pour l'aide mais à en croire le nombre de téléchargement et le nombre de message sur &lt;a href=&quot;http://hyla-project.org/forums/viewforum.php?id=12&quot; hreflang=&quot;fr&quot;&gt;le forum&lt;/a&gt;., j'ai tendance à croire que Hyla_Tpl est suffisamment simple pour ne pas nécessiter d'aide... ;)&lt;/p&gt;
&lt;p&gt;Pour finir, il est dorénavant possible de télécharger Hyla_Tpl directement depuis &lt;a hreflang=&quot;en&quot; href=&quot;http://github.com/hugokernel/Hyla_Tpl&quot;&gt;GitHub&lt;/a&gt; qui est son dépôt officiel...&lt;/p&gt;</description>
    
          <enclosure url="http://blog.hyla-project.org/public/src/hyla_tpl-0.5.0.zip"
      length="12068" type="application/zip" />
    
    
          <comments>http://blog.hyla-project.org/index.php/post/2009/12/28/Hyla_Tpl-passe-en-version-0.5-et-vous-souhaite-de-joyeuses-f%C3%AAtes-de-fin-d-ann%C3%A9e#comment-form</comments>
      <wfw:comment>http://blog.hyla-project.org/index.php/post/2009/12/28/Hyla_Tpl-passe-en-version-0.5-et-vous-souhaite-de-joyeuses-f%C3%AAtes-de-fin-d-ann%C3%A9e#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.hyla-project.org/index.php/feed/atom/comments/920</wfw:commentRss>
      </item>
    
  <item>
    <title>Nouvelle version mineure de Hyla_Tpl : 0.4.1</title>
    <link>http://blog.hyla-project.org/index.php/post/2009/11/20/Nouvelle-version-mineure-de-Hyla_Tpl-%3A-0.4.1</link>
    <guid isPermaLink="false">urn:md5:638f25275eac1046d404acc66a343ee5</guid>
    <pubDate>Fri, 20 Nov 2009 15:07:00 +0100</pubDate>
    <dc:creator>hugo</dc:creator>
        <category>Outils</category>
        <category>gabarit</category><category>Hyla</category><category>Hyla_Tpl</category><category>php</category><category>phplib</category><category>Planet-Libre</category><category>template</category>    
    <description>    &lt;p&gt;Voici une nouvelle version de Hyla_tpl que vous trouverez en pièce jointe de ce billet, elle corrige un problème mineure d'affichage de notice.&lt;/p&gt;
&lt;p&gt;Pour plus d'informations concernant ce moteur de gabarits, je vous invite à lire le précédent billet : &lt;a href=&quot;http://blog.hyla-project.org/index.php/post/2009/10/23/Un-nouveau-moteur-de-template%2C-successeur-de-celui-de-la-phpLib-pour-Hyla&quot;&gt;Un nouveau moteur de template successeur de celui de la phpLib pour Hyla&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Un forum uniquement consacré à ce moteur à également été créé : &lt;a href=&quot;http://hyla-project.org/forums/viewforum.php?id=12&quot; hreflang=&quot;fr&quot;&gt;Forum d'aide pour Hyla_Tpl&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: Hyla_Tpl fonctionne parfaitement bien avec Php 5.3&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attention, cliquez sur le lien suivant pour télécharger la toute &lt;/strong&gt;&lt;a style=&quot;font-weight: bold;&quot; href=&quot;http://blog.hyla-project.org/public/src/hyla_tpl-latest.zip&quot;&gt;dernière version de Hyla_Tpl&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;</description>
    
          <enclosure url="http://blog.hyla-project.org/public/src/hyla_tpl-0.4.1.zip"
      length="14018" type="application/zip" />
    
    
          <comments>http://blog.hyla-project.org/index.php/post/2009/11/20/Nouvelle-version-mineure-de-Hyla_Tpl-%3A-0.4.1#comment-form</comments>
      <wfw:comment>http://blog.hyla-project.org/index.php/post/2009/11/20/Nouvelle-version-mineure-de-Hyla_Tpl-%3A-0.4.1#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.hyla-project.org/index.php/feed/atom/comments/868</wfw:commentRss>
      </item>
    
  <item>
    <title>Hyla_Tpl : Un nouveau moteur de template, successeur de celui de la phpLib</title>
    <link>http://blog.hyla-project.org/index.php/post/2009/10/23/Un-nouveau-moteur-de-template%2C-successeur-de-celui-de-la-phpLib-pour-Hyla</link>
    <guid isPermaLink="false">urn:md5:51b950b770b99d256361838fa3633c81</guid>
    <pubDate>Fri, 23 Oct 2009 14:16:00 +0200</pubDate>
    <dc:creator>hugo</dc:creator>
        <category>Outils</category>
        <category>gabarit</category><category>gpl</category><category>hyla</category><category>Hyla_Tpl</category><category>libre</category><category>modèle</category><category>php</category><category>phplib</category><category>Planet-Libre</category><category>template</category><category>tpl</category>    
    <description>&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;
Pour les besoins de la nouvelle version du gestionnaire de fichiers en ligne &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.hyla-project.org/&quot;&gt;Hyla&lt;/a&gt;, j'ai cherché des solutions pour remplacer le veillissant moteur de &lt;a hreflang=&quot;fr&quot; href=&quot;http://fr.wikipedia.org/wiki/Template&quot;&gt;template&lt;/a&gt; (de gabarit ou de modèle en bon français) de la &lt;a hreflang=&quot;en&quot; href=&quot;http://sourceforge.net/projects/phplib/&quot;&gt;PhpLib&lt;/a&gt; qui lui à rendu, tout de même, de bons services et ce, depuis les toutes premières version de &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.hyla-project.org/&quot;&gt;Hyla&lt;/a&gt;...
&lt;/p&gt;
&lt;p&gt;Le moteur de la PhpLib dispose de nombreux avantages, simplicité des modèles : pas de code (foreach,
if, etc...) respectant ainsi la logique qui veut que les graphistes ne
touchent pas une brindille de code, les blocs sont en fait des
commentaires, ils apparaissent donc cachés aux graphistes travaillant sur le modèle.&lt;/p&gt;
&lt;p&gt;Mais ce moteur de template souffre de 2 grosses lacunes : &lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Sa complexité de mise en oeuvre du côté php, on arrive très vite à du code relativement lourd : il est très verbeux.&lt;/li&gt;
&lt;li&gt;Plus aucun support depuis bien longtemps, il lui manque donc des fonctionnalités qui sont, pourtant,  devenues courantes.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Mais pourquoi réécrire un nouveau moteur de modèle alors qu'il en existe beaucoup qui fonctionnent parfaitement bien ?
&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Je souhaite garder un maximum de compatibilité avec les modèles existants déjà dans &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.hyla-project.org/&quot;&gt;Hyla&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Aucun des moteurs de gabarits que j'ai vu ne me convient, en général, ils sont beaucoup trop lourd pour ce qu'Hyla en fera.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
En gros, garder la simplicité de la vue avec quelques nouveautés et améliorer le contrôleur.&lt;/p&gt;    &lt;h2&gt;Les modèles&lt;/h2&gt;
&lt;h3&gt;Nouveautés pour les variables&lt;/h3&gt;
&lt;p&gt;Pour le moteur de modèle de la phpLib, tout ce qui est entre 2 accolades (avec des caractères valides) est une variable, ainsi, {TOTO} et {ma_variable} sont des variables, Hyla apporte une petite différence, ainsi, est considéré comme variable tout ce qui est entre accolades et commence par un caractère dollar $ : « {$toto} » et « {$ma_variable} » sont des variables mais ce n'est pas tout, Hyla apporte 5 nouveaux concepts au sujet des variables :
&lt;/p&gt;
&lt;h4&gt;1. Tableaux et objets dans les variables&lt;/h4&gt;
&lt;p&gt;
Il est possible de spécifier des tableaux ou des objets aux variables depuis le code php à l'aide de la fonction setVar, on y accède dans le gabarit de la manière suivante :&amp;nbsp; « {$user.name} », on accède au contenu des tableaux et des objets de la même manière (avec le point : .) cachant ainsi l'implémentation à la vue.
&lt;/p&gt;
&lt;p&gt;&lt;ins&gt;Exemple :&lt;/ins&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Code php :&lt;/em&gt;&lt;/p&gt;
&lt;pre&gt;$user = array('name' =&amp;gt; 'leonardo', 'age' =&amp;gt; 67);&lt;br /&gt;$tpl-&amp;gt;setVar('user', $user);&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;Dans le gabarit :&lt;/em&gt;&lt;/p&gt;
&lt;pre&gt;&amp;lt;strong&amp;gt;{$user.name}&amp;lt;/strong&amp;gt;&lt;br /&gt;&amp;lt;em&amp;gt;{$user.age}&amp;lt;/em&amp;gt;&lt;/pre&gt;
&lt;h4&gt;2. Les fonctions appliquées aux variables&lt;/h4&gt;
&lt;p&gt;
Avant affichage de la variable dans le modèle, il est possible
d'envoyer son contenu dans des fonctions.&lt;/p&gt;
&lt;p&gt;&lt;ins&gt;Exemple :&lt;/ins&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Dans le gabarit :&lt;/em&gt;&lt;/p&gt;
&lt;pre&gt;&amp;lt;strong&amp;gt;{$user.name|toupper}&amp;lt;/strong&amp;gt;&lt;/pre&gt;&lt;p&gt;Dans l'exemple ci-dessous, le contenu de la variable sera envoyé à la fonction toupper qui se chargera de mettre tous les caractères en majuscules.&lt;/p&gt;
&lt;h4&gt;3. Les fonctions simples&lt;/h4&gt;
&lt;p&gt;
Un autre type de variable permet d'appeler une
fonction directement, son utilisation est simple :
« {!NOM_DE_LA_FONCTION:PARAMETRE} », exemple : « {!include:fichier.tpl} »
inclura le fichier nommé fichier.tpl à la place du bloc lui même,
voilà, c'est aussi simple que cela...&lt;/p&gt;
&lt;h4&gt;4. La traduction&lt;/h4&gt;
&lt;p&gt;
Les variables à traduire sous la forme « {_i speak english} » (commençant
par un _). Hyla récuperera le contenu de la variable (« i speak english
») et l'enverra à une fonction définie afin de procéder à une
traduction : « {_i speak english} » sera ainsi remplacée par « je parle
français » , il est même possible de cumuler la traduction et les
fonctions, ainsi, l'exemple suivant « {_i speak english|trim|toupper} »
retournera « JE PARLE FRANÇAIS »&lt;/p&gt;
&lt;h4&gt;5. Les commentaires&lt;/h4&gt;
&lt;p&gt;Il est possible de placer des commentaires dans les gabarits cette manière : « {#Voici un commentaire très intéressant !} ».&lt;/p&gt;
&lt;p&gt;Pourquoi ce nommage ? J'ai essayé de rester logique, le « $ » utilisé pour les variables dans bash ou encore php, le « _ » fait référence à la fonction gettext permettant la localisation d'applications, le « ! » qui ordonne l'exécution d'une fonction et enfin le « # » utilisé dans beaucoup de langage pour indiquer que la ligne courante est un commentaire.&lt;/p&gt;
&lt;h3&gt;Nouveautés pour les blocs&lt;/h3&gt;
&lt;p&gt;Concernant les blocs, une grosse nouveauté fait son apparition : le bloc ELSE qui sera affiché uniquement si le bloc du même nom ne s'affiche pas.&lt;br /&gt;Le gros avantage d'utiliser les blocs ELSE est que vous gagnez en lisibilité dans le code car justement, il y a moins de code...&lt;/p&gt;
&lt;p&gt;
Le reste étant compatible avec les anciens modèles de la phpLib, un exemple vaut mieux que ...blablabla, voici :&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;pre&gt;&amp;lt;table&amp;gt;&lt;br /&gt;  &amp;lt;tr&amp;gt;&lt;br /&gt;    &amp;lt;td&amp;gt;Name&amp;lt;/td&amp;gt;&lt;br /&gt;  &amp;lt;/tr&amp;gt;&lt;br /&gt;  &amp;lt;!-- BEGIN line --&amp;gt;&lt;br /&gt;  &amp;lt;tr&amp;gt;&lt;br /&gt;    &amp;lt;td&amp;gt;{$user|ucfirst}&amp;gt;/td&amp;gt;&lt;br /&gt;  &amp;lt;/tr&amp;gt;&lt;br /&gt;  &amp;lt;!-- ELSE line --&amp;gt;&lt;br /&gt;  &amp;lt;tr&amp;gt;&lt;br /&gt;   &amp;lt;td&amp;gt;{_No data !}&amp;lt;/td&amp;gt;&lt;br /&gt;  &amp;lt;/tr&amp;gt;&lt;br /&gt;  &amp;lt;!-- END line --&amp;gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&lt;br /&gt;{!include:toto.tpl}&lt;/pre&gt;
&lt;p&gt;
Comme vous le voyez, le principe des blocs est le même :
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Le bloc line possède un bloc &lt;strong&gt;ELSE&lt;/strong&gt; : si line n'est pas appelé, le contenu du bloc else sera alors affiché&lt;/li&gt;
&lt;li&gt;Le contenu de la variable $user sera remplacée par le retour à l'appel de la fonction ucfirst (il est possible de mettre autant de fonction que l'on veut, ex: « {$user|strtolower|ucfirst|escape}) »&lt;/li&gt;
&lt;li&gt;« {_No data !} » sera remplacé par « Pas de données ! »&lt;/li&gt;
&lt;li&gt;Le contenu du fichier toto.tpl sera ajouté à la fin du modèle&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Bien entendu, il est possible d'imbriquer une multitudes de blocs les uns dans les autres... &lt;/p&gt;
&lt;p&gt;Il est possible de travailler simultanémnent avec plusieurs fichiers de gabarits, de plusieurs manières :&lt;br /&gt;&lt;br /&gt;- Un appel à setCurrentFile permet de spécifier le fichier gabarit courant, notez que le dernier fichier déclaré grâce à la méthode importFile est désigné fichier courant&lt;br /&gt;- Utilisez la syntaxe suivante : « identifiant_du_fichier:nom_du_bloc » dans l'appel à la méthode render&lt;/p&gt;
&lt;h2&gt;Côté php&lt;/h2&gt;
&lt;p&gt;
Et voici ce que cela donne du côté du code php :
&lt;/p&gt;
&lt;pre&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;require 'tpl.class.php';&lt;br /&gt;&lt;br /&gt;$t = new Tpl();&lt;br /&gt;$t-&amp;gt;importFile('tata.tpl');&lt;br /&gt;&lt;br /&gt;$data = array('pif', 'paf', 'pouf');&lt;br /&gt;&lt;br /&gt;foreach ($data as $name) {&lt;br /&gt;  $t-&amp;gt;setVar('user', $name);&lt;br /&gt;  $t-&amp;gt;render('line');&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;echo $t-&amp;gt;render();&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;/pre&gt;
&lt;p&gt;Vous remarquerez qu'il n'est pas utile de déclarer à l'avance les blocs et c'est une très bonne chose, on gagne entre autre en simplicité !&lt;/p&gt;
&lt;h2&gt;Et les performances ?&lt;/h2&gt;
&lt;p&gt;C'est bien gentil de rajouter toutes ces fonctionnalités mais si c'est pour que ce soit plus lent que l'original, c'est pas terrible...&lt;br /&gt;Ce nouveau moteur est &lt;strong&gt;plus de &lt;ins&gt;10 fois plus rapide&lt;/ins&gt; que celui de la phpLib&lt;/strong&gt; (ce dernier étant considéré comme le plus rapide des moteurs « non compilés »)  et &lt;strong&gt;jusqu'à &lt;ins&gt;20 fois plus rapide&lt;/ins&gt;&lt;/strong&gt; en utilisant les spécificités du nouveau moteur (notamment les fonctions).&lt;br /&gt;Le pic d'occupation mémoire est moindre à rendu final identique.&lt;/p&gt;
&lt;p&gt;Vous êtes donc gagnant sur toute la ligne en utilisant ce nouveau moteur de modèle si vous utilisez celui de la PhpLib.&lt;/p&gt;
&lt;h2&gt;API&lt;/h2&gt;
&lt;p&gt;Le constructeur n'attends qu'un paramètre qui est le dossier oû sont stockés les gabarits, par défaut, c'est le dossier courant.&lt;/p&gt;
&lt;p&gt;Voici les méthodes publiques, classées par catégories avec la liste des arguments qu'elles contiennent.&lt;/p&gt;
&lt;h3&gt;Gestion des fichiers&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;em&gt;importFile&lt;/em&gt; : Importe un fichier de modèles&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Id du fichier&lt;/li&gt;
&lt;li&gt;Nom du fichier&lt;/li&gt;
&lt;li&gt;Le chemin du fichier si il n'est pas inclu dans le chemin défini dans le constructeur&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;em&gt;setCurrentFile&lt;/em&gt; : Si vous travaillez avec plusieurs modèles, il peut être utile de spécifier celui courant&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Le nouveau fichier courant&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Gestion des variables&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;em&gt;setVar&lt;/em&gt; : Déclare le contenu d'une variable&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Le nom de la variable&lt;/li&gt;
&lt;li&gt;La valeur de la variable&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;em&gt;setVars&lt;/em&gt; : Déclare le contenu de plusieurs variables à l'aide d'un tableau&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Tableau de variable sous la forme : array('var1' =&amp;gt; 'value1', 'var2' =&amp;gt; 'value2')&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;em&gt;removeUnknowVar&lt;/em&gt; : Spécifie si vous désirez voir les variables sans valeur du modèles s'afficher ou non&lt;br /&gt;&lt;ol&gt;&lt;li&gt;true ou false&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Gestion des blocs&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;em&gt;render&lt;/em&gt; : Procède au rendu d'un bloc et retourne ce dernier&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Le nom du bloc voulu&lt;/li&gt;
&lt;li&gt;Tableau de variable (attention, paramètre peut être amené à disparaitre dans les futures version)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Gestion des fonctions&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;em&gt;registerFunction&lt;/em&gt; : Ajoute une fonction utilisateur&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Le nom de la fonction qui sera utilisé dans le modèle&lt;/li&gt;
&lt;li&gt;Le nom de la fonction&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;em&gt;getFunctionList&lt;/em&gt; : Renvoie la liste des fontions&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Si true, renvoie également la liste des fonctions utilisateurs (créées avec registerFunction)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Divers&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;em&gt;setL10nCallback&lt;/em&gt; : Spécifie la fonction à appeler à chaque fois que le moteur trouve une variable du type {_XXX}&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Spécifie la fonction de callback pour la traduction&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;&lt;strong&gt;Téléchargement&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Le code source est bien sûr libre et est sous license GPL.&lt;/p&gt;
&lt;p&gt;Pour le téléchargement, téléchargez l'annexe de ce billet, il inclu la classe Hyla_Tpl, une version autonome (standalone si vous préférez, c'est à dire indépendante de Hyla, le gestionnaire de fichiers) ainsi qu'un fichier php et ces gabarits d'exemples.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Attention, cliquez sur le lien suivant pour télécharger la toute &lt;/strong&gt;&lt;a style=&quot;font-weight: bold;&quot; href=&quot;http://blog.hyla-project.org/public/src/hyla_tpl-latest.zip&quot;&gt;dernière version de Hyla_Tpl&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;</description>
    
          <enclosure url="http://blog.hyla-project.org/public/src/hyla_tpl-0.4.zip"
      length="13583" type="application/zip" />
    
    
          <comments>http://blog.hyla-project.org/index.php/post/2009/10/23/Un-nouveau-moteur-de-template%2C-successeur-de-celui-de-la-phpLib-pour-Hyla#comment-form</comments>
      <wfw:comment>http://blog.hyla-project.org/index.php/post/2009/10/23/Un-nouveau-moteur-de-template%2C-successeur-de-celui-de-la-phpLib-pour-Hyla#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.hyla-project.org/index.php/feed/atom/comments/832</wfw:commentRss>
      </item>
    
  <item>
    <title>Ouverture d'un gestionnaire de projets sous Trac</title>
    <link>http://blog.hyla-project.org/index.php/post/2008/04/03/Acces-aux-sources</link>
    <guid isPermaLink="false">urn:md5:b7da548fa947258635246753f4d10650</guid>
    <pubDate>Fri, 25 Apr 2008 13:20:00 +0000</pubDate>
    <dc:creator>hugo</dc:creator>
        <category>Outils</category>
        <category>bug tracker</category><category>gestionnaire</category><category>Planet-Libre</category><category>projet</category><category>Subversion</category><category>Svn</category><category>Trac</category>    
    <description>    &lt;p&gt;Voilà, c'est fait, Hyla dispose maintenant d'un gestionnaire de projet : &lt;a hreflang=&quot;en&quot; href=&quot;http://trac.edgewall.org/&quot;&gt;Trac&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ce dernier dispose de fonctionnalités très intéressante comme un &quot;bug tracker&quot;, une excellente intégration avec le serveur de source &lt;a hreflang=&quot;en&quot; href=&quot;http://subversion.tigris.org/&quot;&gt;Subversion&lt;/a&gt;, un système de feuille de route, et j'en passe, bref, plein de choses sympathiques !&lt;/p&gt;
&lt;p&gt;
Voici l'adresse pour accéder à cet outils : &lt;a hreflang=&quot;en&quot; href=&quot;http://dev.hyla-project.org/&quot;&gt;http://dev.hyla-project.org/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
À noter aussi, la création d'un nouveau dépôt de sources disponible à cette adresse : &lt;a href=&quot;http://dev.hyla-project.org/svn/&quot;&gt;http://dev.hyla-project.org/svn/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
Utilisez votre client subversion favoris pour récupérer les sources, en ligne de commande, ça donne ceci :
&lt;/p&gt;
&lt;pre&gt;$ svn export http://anonymous@dev.hyla-project.org/svn/ hyla&lt;/pre&gt;</description>
    
    
    
          <comments>http://blog.hyla-project.org/index.php/post/2008/04/03/Acces-aux-sources#comment-form</comments>
      <wfw:comment>http://blog.hyla-project.org/index.php/post/2008/04/03/Acces-aux-sources#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.hyla-project.org/index.php/feed/atom/comments/21</wfw:commentRss>
      </item>
    
</channel>
</rss>