<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.grafactory.net/blog/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>L'appartement - php</title>
  <link>http://www.grafactory.net/blog/</link>
  <description></description>
  <language>fr</language>
  <pubDate>Wed, 12 Nov 2008 14:50:40 +0000</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Script minimaliste : nettoyer une boite aux lettres avec une expression rationnelle</title>
    <link>http://www.grafactory.net/blog/post/2008/04/11/Ntettoyer-de-la-boite-mail-avec-PHP-CLI</link>
    <guid isPermaLink="false">urn:md5:bc1dd449a911787a357b4d56e93ef3f1</guid>
    <pubDate>Fri, 11 Apr 2008 22:13:00 +0200</pubDate>
    <dc:creator>Yves Tannier</dc:creator>
        <category>Le PHP</category>
        <category>cli</category><category>mail</category><category>php</category>    
    <description>    &lt;p&gt;Dans la catégorie des scripts minimalistes (mais néanmoins utiles), je vous propose un petit script qui permet d'effacer, en ligne de commande avec PHP &lt;acronym title=&quot;Commande Line Interface&quot;&gt;CLI&lt;/acronym&gt;, certains messages d'un compte mail en fonction d'une expression régulière précisée en paramètre et qui &lt;em&gt;matche&lt;/em&gt; le sujet du mail.&lt;/p&gt;


&lt;p&gt;Par exemple, effacer les centaines de messages de spam qui se trouvent dans une de vos nombreuses boites tant inutiles que nécessaires &lt;img src=&quot;/blog/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt; Autre exemple, j'exécute ce script via un cron pour nettoyer tous ce qui traine dans des boites genre &lt;em&gt;postmaster&lt;/em&gt;, &lt;em&gt;abuse&lt;/em&gt; (encore que cette dernière n'est pas trop pourrie par le SPAM), et autres bal «&amp;nbsp;no-reply&amp;nbsp;» qu'il reste quand même, pour certaines, nécessaires de consulter &lt;del&gt;tous les ans&lt;/del&gt; régulièrement.&lt;/p&gt;


&lt;p&gt;C'est un script clairement dédié à de la maintenance.  Je vous déconseille de laisser trainer ce code n'importe ou accessible via le web.&lt;/p&gt;


&lt;h4&gt;Utilisation&amp;nbsp;:&lt;/h4&gt;

&lt;pre&gt;
cleanmail -u=nom_utilisateur -p=mot_de_passe -s=imap.mondomain.tld:143 -e=&amp;quot;/SPAM/i&amp;quot;
&lt;/pre&gt;


&lt;h4&gt;Pour être sur que tous le monde a compris&amp;nbsp;:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;-u=&lt;/strong&gt; nom d'utilisateur du compte mail&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-p=&lt;/strong&gt; mot de passe du compte mail&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-s=&lt;/strong&gt; serveur (pop ou imap). Toutes les options disponibles sur la fonction &lt;a href=&quot;http://fr2.php.net/manual/fr/function.imap-open.php&quot;&gt;imap_open&lt;/a&gt; de PHP sont disponible&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-e=&lt;/strong&gt; expression régulière qui sera «&amp;nbsp;passée&amp;nbsp;» à &lt;a href=&quot;http://fr2.php.net/preg_match&quot; hreflang=&quot;fr&quot;&gt;preg_match&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Le script&amp;nbsp;:&lt;/h4&gt;

&lt;code class=&quot;php&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#!/usr/bin/php&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;?php&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// on supprime la limite d'éxecution d'un script php&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.php.net/set_time_limit&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;set_time_limit&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/**&lt;br /&gt;
&amp;nbsp;* cleanmail supprimer des mails d'une boite imap avec une pattern définie&lt;br /&gt;
&amp;nbsp;*&lt;br /&gt;
&amp;nbsp;* PHP versions 5&lt;br /&gt;
&amp;nbsp;*&lt;br /&gt;
&amp;nbsp;* LICENSE: Ce programme est un logiciel libre distribue sous licence GNU/GPL&lt;br /&gt;
&amp;nbsp;*&lt;br /&gt;
&amp;nbsp;* @author &amp;nbsp; &amp;nbsp; Yves Tannier &amp;lt;yvesSANSPAM grafactory.net&amp;gt;&lt;br /&gt;
&amp;nbsp;* @copyright &amp;nbsp;2008 Yves Tannier&lt;br /&gt;
&amp;nbsp;* @license &amp;nbsp; &amp;nbsp;http://www.gnu.org/copyleft/lesser.html &amp;nbsp;LGPL License 2.1&lt;br /&gt;
&amp;nbsp;* @version &amp;nbsp; &amp;nbsp;0.1.0 &lt;br /&gt;
&amp;nbsp;* @link &amp;nbsp; &amp;nbsp; &amp;nbsp; http://www.grafactory.net&lt;br /&gt;
&amp;nbsp;*/&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// aide contextuelle&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$help_string&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Parametres :&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -u : utilisateur&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -p : mot de passe&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -s : serveur et port (localhost:143, localhost:110, localhost:143/novalidate-cert...)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -e : expression régulière&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -h, --help : afficher cette aide...&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// recuperer les parametres passe en CLI&lt;/span&gt;&lt;br /&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: #0000ff;&quot;&gt;$_SERVER&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'argv'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;as&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$param&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;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// utilisateur&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &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;a href=&quot;http://www.php.net/strpos&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;strpos&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$param&lt;/span&gt;,&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;u=&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;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$login_imap&lt;/span&gt; = &lt;a href=&quot;http://www.php.net/str_replace&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;str_replace&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;-u=&amp;quot;&lt;/span&gt;,&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;,&lt;span style=&quot;color: #0000ff;&quot;&gt;$param&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;continue&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// mot de passe&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &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;a href=&quot;http://www.php.net/strpos&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;strpos&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$param&lt;/span&gt;,&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;p=&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;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$passwd_imap&lt;/span&gt; = &lt;a href=&quot;http://www.php.net/str_replace&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;str_replace&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;-p=&amp;quot;&lt;/span&gt;,&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;,&lt;span style=&quot;color: #0000ff;&quot;&gt;$param&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;continue&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// serveur et port&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &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;a href=&quot;http://www.php.net/strpos&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;strpos&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$param&lt;/span&gt;,&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;s=&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;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$server_imap&lt;/span&gt; = &lt;a href=&quot;http://www.php.net/str_replace&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;str_replace&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;-s=&amp;quot;&lt;/span&gt;,&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;,&lt;span style=&quot;color: #0000ff;&quot;&gt;$param&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;continue&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// expression reguliere&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &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;a href=&quot;http://www.php.net/strpos&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;strpos&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$param&lt;/span&gt;,&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;e=&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;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$pattern&lt;/span&gt; = &lt;a href=&quot;http://www.php.net/str_replace&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;str_replace&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'-e='&lt;/span&gt;,&lt;span style=&quot;color: #ff0000;&quot;&gt;''&lt;/span&gt;,&lt;span style=&quot;color: #0000ff;&quot;&gt;$param&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;continue&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;switch&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$param&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;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'-h'&lt;/span&gt; :&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'--help'&lt;/span&gt; :&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$help_string&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.php.net/exit&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;exit&lt;/span&gt;&lt;/a&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;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$_SERVER&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'SCRIPT_NAME'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; :&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.php.net/unset&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;unset&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$_SERVER&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'argv'&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;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;0&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;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;break&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;default&lt;/span&gt; :&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;Paramètre inconnu : &amp;quot;&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$param&lt;/span&gt;.&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.php.net/exit&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;exit&lt;/span&gt;&lt;/a&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;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// pas d'argument&lt;/span&gt;&lt;br /&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;a href=&quot;http://www.php.net/empty&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;empty&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$_SERVER&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'argv'&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: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;Veuillez preciser au moins un paramÃ¨tre !&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$help_string&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.php.net/exit&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;exit&lt;/span&gt;&lt;/a&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;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// connexion&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$mbox&lt;/span&gt; = imap_open&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;{&amp;quot;&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$server_imap&lt;/span&gt;.&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;}INBOX&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$login_imap&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$passwd_imap&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; or &lt;a href=&quot;http://www.php.net/die&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;die&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Impossible de se connecter : &amp;quot;&lt;/span&gt;.imap_last_error&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;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Connexion...&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// recup des headers&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$headers&lt;/span&gt; = imap_headers&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$mbox&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// parcourir les messages&lt;/span&gt;&lt;br /&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;a href=&quot;http://www.php.net/empty&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;empty&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$headers&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;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Recherche avec l'expression : &amp;quot;&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$pattern&lt;/span&gt;.&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$msgnum&lt;/span&gt; = &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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: #0000ff;&quot;&gt;$headers&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;as&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$val&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;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$msgnum&lt;/span&gt; = &lt;span style=&quot;color: #0000ff;&quot;&gt;$msgnum&lt;/span&gt; + &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$header&lt;/span&gt; = imap_headerinfo&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$mbox&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$msgnum&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$subject&lt;/span&gt; = &lt;span style=&quot;color: #0000ff;&quot;&gt;$header&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;subject&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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;a href=&quot;http://www.php.net/preg_match&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;preg_match&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$pattern&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$subject&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;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$mailmarked&lt;/span&gt; = imap_delete&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$mbox&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$msgnum&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Message &amp;quot;&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$msgnum&lt;/span&gt;.&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot; supprimé&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Aucun message dans la boite&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Fin de la transaction&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// quitter et vider en meme temps&lt;/span&gt;&lt;br /&gt;
imap_close&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$mbox&lt;/span&gt;,CL_EXPUNGE&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/code&gt;


&lt;p&gt;Bientôt le même mais en perl &lt;img src=&quot;/blog/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.grafactory.net/blog/post/2008/04/11/Ntettoyer-de-la-boite-mail-avec-PHP-CLI#comment-form</comments>
      <wfw:comment>http://www.grafactory.net/blog/post/2008/04/11/Ntettoyer-de-la-boite-mail-avec-PHP-CLI#comment-form</wfw:comment>
      <wfw:commentRss>http://www.grafactory.net/blog/feed/rss2/comments/160</wfw:commentRss>
      </item>
    
  <item>
    <title>A la découverte de Jelix, l'essayer c'est l'adopter</title>
    <link>http://www.grafactory.net/blog/post/2008/03/24/A-la-decouverte-de-Jelix-lessayer-cest-ladopter</link>
    <guid isPermaLink="false">urn:md5:dd75ed95c3f8a7e6fb98955f108fdb6f</guid>
    <pubDate>Mon, 24 Mar 2008 09:31:00 +0100</pubDate>
    <dc:creator>Yves Tannier</dc:creator>
        <category>Le PHP</category>
        <category>framework</category><category>jelix</category><category>mvc</category><category>orm</category><category>php</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.grafactory.net/blog/public/images/icones/logo_jelix_moyen.png&quot; alt=&quot;Logo Jelix&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;Malgré tous les avantages que j'ai pu trouver à &lt;del&gt;mon framework&lt;/del&gt; mes bouts de codes personnels basés sur plusieurs librairies &lt;a href=&quot;http://pear.php.net&quot; hreflang=&quot;fr&quot;&gt;PEAR&lt;/a&gt;, je me suis tourné vers quelques choses de plus &quot;moderne&quot; et plus homogène pour mes nouveaux développements. Après pas mal de recherches et d'essais, mon choix c'est porté sur &lt;a href=&quot;http://jelix.org/&quot; hreflang=&quot;fr&quot;&gt;Jelix&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Ca tombe bien. Un nouveau projet dont les contraintes correspondent parfaitement à l'utilisation de ce &lt;a href=&quot;http://fr.wikipedia.org/wiki/Framework&quot; hreflang=&quot;fr&quot;&gt;framework&lt;/a&gt; me permet donc actuellement de me frotter à la bête... Et je ne suis pas déçu&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;Je ne vais pas rentrer dans &lt;a href=&quot;http://jelix.org/articles/presentation&quot; hreflang=&quot;fr&quot;&gt;le détail des fonctionnalités&lt;/a&gt; mais il y a tous ce qu'on peux rechercher dans un framework PHP5 orienté objet &lt;del&gt;et de classe américaine&lt;/del&gt;. &lt;a href=&quot;http://jelix.org/&quot; hreflang=&quot;fr&quot;&gt;Jelix&lt;/a&gt; ne pas fait le café comme &lt;a href=&quot;http://www.symfony-project.org/&quot; hreflang=&quot;en&quot;&gt;Symfony&lt;/a&gt; (que j'ai essayé également et qui possède de nombreux avantages) et c'est justement pas ce que je lui demande car je souhaite garder la compréhension globale de ce que j'utilise. C'est léger, rapide et extensible. Bref, que du bon pour l'instant &lt;img src=&quot;/blog/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Voici ce que j'en retiens principalement (liste non exhaustive). J'ai précisé, pour mémoire, les équivalents de ce que j'utilisais comme librairies PEAR&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://fr.wikipedia.org/wiki/Object-relational_mapping&quot; hreflang=&quot;fr&quot;&gt;ORM&lt;/a&gt; puissant. J'utilisais &lt;a href=&quot;http://pear.php.net/package/mdb2&quot; hreflang=&quot;fr&quot;&gt;PEAR::MDB2&lt;/a&gt; très efficace aussi. Surtout la gestion transactions&lt;/li&gt;
&lt;li&gt;système de templates. Beaucoup mieux que &lt;a href=&quot;http://pear.php.net/package/HTML_Template_Flexy&quot; hreflang=&quot;en&quot;&gt;PEAR::HTML_Template_Flexy&lt;/a&gt; pour lequel la syntaxe dans le template reste assez réduite (exemple&amp;nbsp;: impossible d'utiliser des opérateurs de comparaisons)&lt;/li&gt;
&lt;li&gt;localisation. &lt;a href=&quot;http://pear.php.net/package/Translation2&quot; hreflang=&quot;en&quot;&gt;PEAR::Translation2&lt;/a&gt; ne m'a jamais réellement séduit.&lt;/li&gt;
&lt;li&gt;génération de formulaire. Quand on a prit l'habitude d'utiliser &lt;a href=&quot;http://pear.php.net/package/HTML_QuickForm&quot; hreflang=&quot;en&quot;&gt;PEAR::HTML_Quickform&lt;/a&gt;, on recherche forcément quelque chose de similaire.&lt;/li&gt;
&lt;li&gt;système de cache. Je n'ai pas encore eu la possibilité de comparer avec les performances de &lt;a href=&quot;http://pear.php.net/package/cache_lite&quot; hreflang=&quot;en&quot;&gt;PEAR::Cache_Lite&lt;/a&gt; mais ça semble équivalent.&lt;/li&gt;
&lt;li&gt;Quelques modules bien utiles comme la &lt;a href=&quot;http://jelix.org/articles/tutoriels/principal/crud&quot; hreflang=&quot;fr&quot;&gt;génération de CRUD&lt;/a&gt;, le module d'authentification, les acls...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La présentation détaillée et une application de tests sont disponibles sur le site officiel. Il ne vous reste plus qu'à essayer &lt;img src=&quot;/blog/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Si vous aviez l'intention de vous rendre aux Rencontres Mondiales du Logiciel Libre 2008 à Mont-de-Marsan, assistez à &lt;a href=&quot;http://2008.rmll.info/Conference-Jelix-un-framework-pour.html&quot; hreflang=&quot;fr&quot;&gt;la conférence sur Jelix&lt;/a&gt; de &lt;a href=&quot;http://ljouanneau.com/blog/&quot;&gt;Laurent Jouanneau&lt;/a&gt; et vous en apprendrez encore plus&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://www.grafactory.net/blog/post/2008/03/24/A-la-decouverte-de-Jelix-lessayer-cest-ladopter#comment-form</comments>
      <wfw:comment>http://www.grafactory.net/blog/post/2008/03/24/A-la-decouverte-de-Jelix-lessayer-cest-ladopter#comment-form</wfw:comment>
      <wfw:commentRss>http://www.grafactory.net/blog/feed/rss2/comments/158</wfw:commentRss>
      </item>
    
  <item>
    <title>Petite mise à jour du script de mass mailing</title>
    <link>http://www.grafactory.net/blog/post/2007/11/09/Script-de-mailing-mis-a-jour</link>
    <guid isPermaLink="false">urn:md5:979c6a60c93f2b5f66f9c58688f26ea8</guid>
    <pubDate>Fri, 09 Nov 2007 14:26:00 +0100</pubDate>
    <dc:creator>Yves Tannier</dc:creator>
        <category>Le PHP</category>
        <category>cli</category><category>mailing</category><category>php</category><category>phpmailer</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.grafactory.net/blog/public/images/conneries/supermegamass2000.jpg&quot; alt=&quot;Mass&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;C'est une mise à jour mineure. Les fonctionnalités sont les même que celles de &lt;a href=&quot;http://www.grafactory.net/blog/post/2006/06/09/125-script-de-mass-mailing-en-php&quot; hreflang=&quot;fr&quot;&gt;la première version&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;J'ai eu quelques soucis avec la classe Zend_Mail. Lors d'un envoi, suite à une mise à jour de Zend_Mail, je me suis retrouvé avec des groupes de destinataires en copie au lieu d'un envoi unitaire (pas très sérieux !).&lt;/p&gt;


&lt;p&gt;J'ai donc utilisé le &quot;bon vieux&quot; &lt;a href=&quot;http://phpmailer.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;PHPMailer&lt;/a&gt;. J'en ai aussi profité pour remplacer &lt;a href=&quot;http://pear.php.net/package/DB&quot; hreflang=&quot;en&quot;&gt;PEAR::DB&lt;/a&gt; par &lt;a href=&quot;http://www.php.net/pdo&quot; hreflang=&quot;fr&quot;&gt;PDO&lt;/a&gt;. Ce qui rend le script plus léger et plus simple à installer &lt;img src=&quot;/blog/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt; . Je l'ai également doté d'un fichier de configuration séparé.&lt;/p&gt;


&lt;h2&gt;Changelog&amp;nbsp;:&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Utilisation de &lt;a href=&quot;http://phpmailer.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;PHPMailer&lt;/a&gt; à la place de Zend_Mail&lt;/li&gt;
&lt;li&gt;Utilisation de &lt;a href=&quot;http://www.php.net/pdo&quot; hreflang=&quot;fr&quot;&gt;PDO&lt;/a&gt; à la place de PEAR::DB&lt;/li&gt;
&lt;li&gt;Changement esthétique.&lt;/li&gt;
&lt;li&gt;Un fichier de configuration séparé.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Documentation&lt;/h2&gt;


&lt;p&gt;Vous devez télécharger &lt;a href=&quot;http://phpmailer.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;PHPMailer&lt;/a&gt;, disposer de PHP5 et l'extension PDO.&lt;/p&gt;


&lt;p&gt;Pour le reste, la &lt;a href=&quot;http://www.grafactory.net/blog/2006/06/09/125-script-de-mass-mailing-en-php&quot; hreflang=&quot;fr&quot;&gt;documentation&lt;/a&gt; de la première mouture est toujours valable. Vous pouvez également utiliser toutes les options disponibles dans PHPMailer pour adapter ce script à votre convenance (je vous laisse chercher dans le script).&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Important&lt;/strong&gt;&amp;nbsp;: Ce programme est fourni sans aucune garantie même si je l'utilise toutes les semaines pour une newsletter de 30 000 abonnés.&lt;/p&gt;


&lt;h2&gt;A faire&amp;nbsp;:&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;une option pour préciser le chemin du fichier de configuration&lt;/li&gt;
&lt;li&gt;en extra, toujours le gros boulot qui consiste à analyser les retours de mail (Delivery Error).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Téléchargement&lt;/h2&gt;


&lt;p&gt;&lt;a href=&quot;http://www.grafactory.net/dl/sendnews-0.2b.tar.gz&quot; hreflang=&quot;fr&quot;&gt;télécharger le script&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.grafactory.net/blog/post/2007/11/09/Script-de-mailing-mis-a-jour#comment-form</comments>
      <wfw:comment>http://www.grafactory.net/blog/post/2007/11/09/Script-de-mailing-mis-a-jour#comment-form</wfw:comment>
      <wfw:commentRss>http://www.grafactory.net/blog/feed/rss2/comments/153</wfw:commentRss>
      </item>
    
  <item>
    <title>Plugin importer des auteurs</title>
    <link>http://www.grafactory.net/blog/post/2007/07/05/Plugin-importer-des-auteurs</link>
    <guid isPermaLink="false">urn:md5:faef3d8de327ffe973dbdf8c54784b68</guid>
    <pubDate>Thu, 05 Jul 2007 09:47:00 +0200</pubDate>
    <dc:creator>Yves Tannier</dc:creator>
        <category>Le PHP</category>
        <category>php</category><category>plugin</category><category>spip</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.grafactory.net/blog/public/images/icones/auteur_import.png&quot; alt=&quot;Logo importer des auteurs&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;Un nouvelle version de mon plugin &lt;a href=&quot;http://www.spip.net&quot; hreflang=&quot;fr&quot;&gt;SPIP&lt;/a&gt; qui permet de créer des auteurs en masse à partir d'un fichier csv.&lt;/p&gt;


&lt;p&gt;Outre l'ajout de plusieurs fonctionnalités, j'ai fais en sorte que le code soit modifiable assez facilement pour une personne ayant quelques connaissances en PHP. On m'a en effet plusieurs fois demandé comment modifier le plugin pour choisir les identifiants et mot de passe, avoir un mot de passe identique à l'identifiant...&lt;/p&gt;


&lt;p&gt;Plus d'informations sur l'article &lt;a href=&quot;http://www.spip-contrib.net/Plugin-Importer-des-auteurs-v-5,2&quot; hreflang=&quot;fr&quot;&gt;Importer des auteurs v-0.5&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.grafactory.net/blog/post/2007/07/05/Plugin-importer-des-auteurs#comment-form</comments>
      <wfw:comment>http://www.grafactory.net/blog/post/2007/07/05/Plugin-importer-des-auteurs#comment-form</wfw:comment>
      <wfw:commentRss>http://www.grafactory.net/blog/feed/rss2/comments/145</wfw:commentRss>
      </item>
    
  <item>
    <title>Passage du blog sous Dotclear 2</title>
    <link>http://www.grafactory.net/blog/post/2007/07/01/Passage-du-blog-sous-Dotclear-2</link>
    <guid isPermaLink="false">urn:md5:dcd090a7f2ae31500cf3d1df018ede86</guid>
    <pubDate>Sun, 01 Jul 2007 08:32:00 +0200</pubDate>
    <dc:creator>Yves Tannier</dc:creator>
        <category>Le PHP</category>
        <category>dotclear</category><category>php</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.grafactory.net/blog/public/images/dotclear_pw.png&quot; alt=&quot;dotclear_pw.png&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt; Etant un utilisateur de la première heure de Dotclear, je me devais de passer sur &lt;a href=&quot;http://www.dotclear.net&quot; hreflang=&quot;fr&quot;&gt;Dotclear 2&lt;/a&gt; Beta6. Utilisation du plugin Flat Export, changement des chemins d'images avec une ou deux requête SQL bien placée*, mise en place des redirections des anciennes URL vers les nouvelles... Reste plus que le thème à changer pour remettre le mien.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;mes requêtes SQL pour le changement de /blog/images en /blog/public/images dans les champs post_content et post_content_xhtml de la table dc_post&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;UPDATE dc_post SET post_content = replace(post_content,'blog/images','blog/public/images');
UPDATE dc_post SET post_content_xhtml = replace(post_content_xhtml,'blog/images','blog/public/images');&lt;/pre&gt;</description>
    
    
    
          <comments>http://www.grafactory.net/blog/post/2007/07/01/Passage-du-blog-sous-Dotclear-2#comment-form</comments>
      <wfw:comment>http://www.grafactory.net/blog/post/2007/07/01/Passage-du-blog-sous-Dotclear-2#comment-form</wfw:comment>
      <wfw:commentRss>http://www.grafactory.net/blog/feed/rss2/comments/144</wfw:commentRss>
      </item>
    
</channel>
</rss>