<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Artisan Numérique</title>
  <link rel="alternate" type="text/html" href="http://artisan.karma-lab.net/node/1664"/>
  <link rel="self" type="application/atom+xml" href="http://artisan.karma-lab.net/node/1664/atom/feed"/>
  <id>http://artisan.karma-lab.net/node/1664/atom/feed</id>
  <updated>2008-10-03T01:06:36+02:00</updated>
  <entry>
    <title>Modification sur le site</title>
    <link rel="alternate" type="text/html" href="http://artisan.karma-lab.net/node/1664" />
    <id>http://artisan.karma-lab.net/node/1664</id>
    <published>2008-10-02T02:17:53+02:00</published>
    <updated>2008-10-03T01:06:36+02:00</updated>
    <author>
      <name>Ulhume</name>
    </author>
    <category term="Informations sur le site" />
    <category term="drupalfr.org" />
    <category term="OK" />
    <category term="Planet Libre" />
    <category term="Article" />
    <summary type="html"><![CDATA[<p>
  J'ai fait quelques mise à jour sur le site, ce serait sympa de me dire si cela fonctionne. 
</p>

    ]]></summary>
    <content type="html"><![CDATA[<p>
  J'ai fait quelques mise à jour sur le site, ce serait sympa de me dire si cela fonctionne. 
</p>

<!--break-->


	<a name='chapter_1'></a>
  <h2>Internationalisation</h2>
	
<p>
  J'ai mis en place une version anglaise. Je l'ai pas utilisé l'usine à gaz <a class='external' target='_blank' href='http://somesite.com/' >I18n</a> mais plutôt deux trois hacks dont un <a class='external' target='_blank' href='http://drupal.org/project/i18n' >hook_url_db_rewriter</a> pour filtrer par langue courant et le module <kbd>translate</kbd> standard pour le reste. C'est plus simple et plus léger. Maintenant si vous voyez des trucs anglais se balader, faut me prévenir, j'aurais loupé une traduction. 
</p>


	<a name='chapter_2'></a>
  <h2>Cache</h2>
	
<p>
  Côté image, après discussion avec Dab sur un billet sans aucun rapport (comme d'hab si j'ose dire <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/wink2.gif" title="Wink" alt="Wink" class="smiley-content"/>, j'ai mis en place un cache disque. Là aussi j'aurais pu utiliser le module qui va bien mais j'en ai déjà beaucoup trop à mon goût pour une chose qui se règle par une fonction PHP.</p>
<p>
  Le cache est utilisé pour les icônes, les gravatars et les pdf. Dans le cas des images, en plus de cacher, je redimensionne à la volée, la première fois, des sources en 128x128x24 vers les résolutions désirées. Déjà ça me fait moins de maintenance. En plus, j'utilise maintenant du PNG indexé à 128 couleurs, ce qui semble aller et diminue nettement la taille des graphismes. Normalement les pages devraient s'afficher plus rapidement (gain de 30ko sur la home). Même principe appliqué aux gravatars. 
</p>


	<a name='chapter_3'></a>
  <h2>Version imprimable et PDF</h2>
	
<p>
  J'ai aussi rajouté le module qui permet d'avoir une version imprimable et pdf des billets. Là aussi petit hack du module <a class='external' target='_blank' href='http://drupal.org/project/print' >printer</a> pour utiliser le cache histoire d'éviter au serveur de mouliner à chaque demande.
</p>
<p>
 Pour l'instant je suis bloqué avec le moteur de conversion <a class='external' target='_blank' href='http://tcpdf.sf.net/' >tcpdf</a> because <a class='external' target='_blank' href='http://www.digitaljunkies.ca/dompdf/' >dompdf</a> ne comprend pas encore les accents (UTF-8). Dommage car le rendu est incomparablement meilleur avec le second. La prochaine version devrait régler le soucis et permettre de pondre des PDF avec un look identique à l'original. 
</p>


	<a name='chapter_4'></a>
  <h2>Notifications</h2>
	
<p>
  Le module comment_notify a été mis à jour. J'ai donc viré la version que j'avais gravement patchée pour mettre celle-là. Quelques soucis avec Postgresql qui se règlent sans problème en remplaçant la requête ligne 300 par celle-ci :

  <div class='code-block code-block-fragment'>
  <div class='container'>
  &nbsp; Pour ceux qui utilisaient l<span class="st0">'ancienne version, il y a perte de toutes les anciennes notification. Voici un bout de code qui permet d'</span>initialiser la nouvelle <span class="kw1">TABLE</span> avec les anciennes données<span class="sy0">,</span> à faire avant le <span class="sy0">&lt;</span>kbd<span class="sy0">&gt;</span>alter <span class="kw1">TABLE</span> comments <span class="kw1">DROP</span> <span class="kw1">COLUMN</span> notify<span class="sy0">&lt;/</span>kbd<span class="sy0">&gt;</span> :<br />
<span class="sy0">&lt;</span>code type<span class="sy0">=</span><span class="st0">&quot;php&quot;</span><span class="sy0">&gt;</span><br />
<span class="kw1">FUNCTION</span> comment_notify_convert<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; $cursor<span class="sy0">=</span>db_query<span class="br0">&#40;</span><span class="st0">&quot;select cid,mail,name,nid,uid from comments where notify=1&quot;</span><span class="br0">&#41;</span>;<br />
&nbsp; while <span class="br0">&#40;</span>$comment<span class="sy0">=</span>db_fetch_array<span class="br0">&#40;</span>$cursor<span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; unset<span class="br0">&#40;</span>$mail<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; <span class="kw1">IF</span> <span class="br0">&#40;</span>$comment<span class="br0">&#91;</span><span class="st0">'uid'</span><span class="br0">&#93;</span>!<span class="sy0">=</span><span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; $user<span class="sy0">=</span>user_load<span class="br0">&#40;</span>$comment<span class="br0">&#91;</span><span class="st0">'uid'</span><span class="br0">&#93;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; $mail<span class="sy0">=</span>$user<span class="sy0">-&gt;</span>mail;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span> else <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; $mail<span class="sy0">=</span>$comment<span class="br0">&#91;</span><span class="st0">'mail'</span><span class="br0">&#93;</span>;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="kw1">IF</span> <span class="br0">&#40;</span>isset<span class="br0">&#40;</span>$mail<span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; $md5_string <span class="sy0">=</span> md5<span class="br0">&#40;</span>$mail <span class="sy0">.</span> $user<span class="sy0">-&gt;</span>uid <span class="sy0">.</span> $comment<span class="br0">&#91;</span><span class="st0">'name'</span><span class="br0">&#93;</span> <span class="sy0">.</span> $comment<span class="br0">&#91;</span><span class="st0">'nid'</span><span class="br0">&#93;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; db_query<span class="br0">&#40;</span><span class="st0">&quot;INSERT INTO {comment_notify} (cid, notify, notify_hash) values (%d, %d, '%s')&quot;</span><span class="sy0">,</span> $comment<span class="br0">&#91;</span><span class="st0">'cid'</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="nu0">1</span><span class="sy0">,</span> $md5_string<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span>
  </div>
  
  </div>
</p>


	<a name='chapter_5'></a>
  <h2>Conclusion</h2>
	
<p>
  Voilà, c'est tout pour cette fois, merci de me dire si ça beugouille par chez vous. 
</p>
    ]]></content>
  </entry>
</feed>
