<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Bonjour@Rudder,</p>
    <p>La version de base du templating jinja2 dans Rudder (fonction
      datastate() qui écrit dans un fichier + script python qui prend en
      argument un template et le json de datastate et l'écrit dans la
      destination), j'ai un poc fonctionnel. Il reste du code ncf à
      écrire pour faire le templating et le script python à reprendre
      (pour l'instant j'utilise jinja2-cli mais on peut faire plus
      simple, et en plus gérer le success/repaired/error), et
      éventuellement élaguer un peu le json produit.<br>
    </p>
    <p>Quelques questions concernant le format de templating jinja :</p>
    <ul>
      <li>Est-ce qu'on veut coller à ce qui se fait en mustache en
        CFEngine ? C'est à dire utiliser dans les template des <tt>{%if
          <font color="#ff0000">classes</font>.maclasse %}</tt> et <tt>{{
          <font color="#ff0000">vars</font>.bundle.variable }}</tt> au
        lieu de <tt>{%if maclasse}</tt> et <tt>{{ bundle.variable }}</tt>,
        avec la possibilité de passer un json "verbatim" qui sera
        interprété tel quel ? Cela demande de modifier des templates
        existants, mais c'est de toutes façons probablement le cas si on
        veut utiliser le contexte et pas un json en source de données.
        En plus ça collera au templating mustache et passera peut-être
        mieux upstream, même si ça peut être un peu déroutant pour un
        habitué au templating (hors CFEngine).<br>
      </li>
    </ul>
    <p>De plus, une version propre pourrait consister en :<br>
    </p>
    <ul>
      <li>un vrai type de template en CFEngine, au même titre que
        mustache</li>
      <li>un script python dans un module au sens CFEngine<br>
      </li>
      <li>un passage de données au module sans utiliser un fichier mais
        directement sur stdin/stdout<br>
      </li>
      <li>un module qui ne ferait pas l'édition lui même, mais seulement
        le templating, laissant l'édition, avec tous les problèmes de
        droits/backup, etc. à  CFEngine<br>
      </li>
    </ul>
    <p>Qu'est ce qui est prioritaire/indispensable de livrer pour la
      prochaine mineure ? Est-ce qu'on commence par une version
      "dégradée" en améliorant par la suite ? (en faisant attention à
      bien penser la signature des generic methods).<br>
    </p>
    <br>
    <div class="moz-signature">-- <br>
      <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
      <style type="text/css">
<!--
a.redlink:link { color: #1782E6; }
a.redlink:visited { color: #1782E6; }
.sig { font-family: 'Century Gothic', CenturyGothic, AppleGothic, sans-serif; font-size: small; }
.sigsmall { font-family: 'Century Gothic', CenturyGothic, AppleGothic, sans-serif; font-size: x-small; }
-->
    </style>
      <table cellpadding="0" cellspacing="2" border="0" width="380">
        <tbody>
          <!--
      <a href="https://www.normation.com/fr/"><img alt="Logo Normation" src="file:///home/amousset/Images/signature/logo-newsite.gif" /></a>
--> <tr>
            <td colspan="2">
              <hr></td>
          </tr>
          <tr>
            <td colspan="2"><b><img alt="Logo Normation"
                  src="cid:part1.6EAB1F4E.CE59EF7B@normation.com"
                  align="left" height="50" hspace="10" width="50"> <span
                  class="sig">Alexis MOUSSET</span></b><br>
              <span class="sig"><i>System Engineer</i></span><br>
              <span class="sig"><a class="redlink"
                  href="http://www.normation.com">Normation</a></span> </td>
          </tr>
          <tr>
            <td colspan="2">
              <hr></td>
          </tr>
          <tr>
            <td colspan="2"><span class="sigsmall"><b>87, Rue de
                  Turbigo, 75003 Paris, France</b></span></td>
          </tr>
          <tr>
            <td><span class="sigsmall">Phone:</span></td>
            <td><span class="sigsmall">+33 (0)1 84 17 77 93</span></td>
          </tr>
          <!--
          <tr>
            <td><span class="sigsmall">Mobile:</span></td>
            <td><span class="sigsmall">+33 (0)6 00 00 00 00</span></td>
          </tr>
--> <tr>
            <td colspan="2">
              <hr> </td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>