<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.paradoxal.org/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/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Sans détour</title>
  <link>http://www.paradoxal.org/blog/</link>
  <atom:link href="http://www.paradoxal.org/blog/feed/rss2" rel="self" type="application/rss+xml"/>
  <description>Sans détour vous propose  un aide mémoire d'un développeur PHP / Mysql passionné par l'administration Linux. Seza - son autheur - vous met donc à disposition ses astuces, les mauvais moments et difficultés rencontrées mais aussi ses connaissances.
Même si ce blog s'oriente très clairement vers les lignes de code illisibles pour nombreux d'entre vous, actualité, coup de gueule et information sur les technos du moment ne seront pas absentes. Bonne visite !</description>
  <language>fr</language>
  <pubDate>Thu, 12 Jan 2012 22:45:35 +0100</pubDate>
  <copyright>licence creative commons</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Quand PHP décide vraiment d'être capricieux...</title>
    <link>http://www.paradoxal.org/blog/post/2011/03/02/Quand-PHP-d%C3%A9cide-vraiment-d-%C3%AAtre-capricieux...</link>
    <guid isPermaLink="false">urn:md5:f75067dddb0701e54db089224c12061b</guid>
    <pubDate>Wed, 02 Mar 2011 07:05:00 +0100</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>Bug</category>
            
    <description>    &lt;p&gt;ça donne ça&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;PHP Fatal error:  Cannot access private property myClass::$_myProperty in myClass.php on line XXX&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Ou en français La class X ne peut pas accédez à ses éléments privés (un comble).  Ne cherchez pas l'erreur, il n'y en a pas, encore un bug de plus sur le compte de php.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2011/03/02/Quand-PHP-d%C3%A9cide-vraiment-d-%C3%AAtre-capricieux...#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2011/03/02/Quand-PHP-d%C3%A9cide-vraiment-d-%C3%AAtre-capricieux...#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/77</wfw:commentRss>
      </item>
    
  <item>
    <title>Un petit nouveau !</title>
    <link>http://www.paradoxal.org/blog/post/2010/05/05/Un-petit-nouveau-%21</link>
    <guid isPermaLink="false">urn:md5:d1410ecf0c8bf51edaf4788685b81240</guid>
    <pubDate>Wed, 05 May 2010 03:08:00 +0200</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>General</category>
        <category>bitbucket</category><category>flickr</category><category>mercurial</category><category>photoblog</category><category>Photos</category><category>php</category><category>pixelpost</category>    
    <description>    &lt;p&gt;Depuis un bon moment je me suis passionné par la photo, j'ai une galerie Flickr mais je souhaitais depuis un bon moment le coupler avec un photoblog, alors le voici&amp;nbsp;: &lt;a href=&quot;http://www.paradoxal.org/photos/&quot; hreflang=&quot;fr&quot;&gt;Sans détour&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Profitez, regardez, commentez ;)&lt;/p&gt;


&lt;p&gt;Ce photoblog est monté sur la plateforme &lt;a href=&quot;http://www.pixelpost.org/&quot; hreflang=&quot;en&quot;&gt;Pixelpost&lt;/a&gt; seulement il n'y avait pas de plugin terrible pour le coupler à Flickr alors j'ai créer vite fais mon propre plugin disponible &lt;a href=&quot;http://www.pixelpost.org/extend/addons/flickrimport/&quot; hreflang=&quot;en&quot;&gt;ici&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Je le partage sous GPL, vous pouvez participez et/ou obtenir le code source &lt;a href=&quot;http://bitbucket.org/seza/flickrimport/wiki/Home&quot; hreflang=&quot;en&quot;&gt;chez bitbucket&lt;/a&gt;. (c'est du mercurial, si vous ne connaissez pas encore ce gestionnaire de version aller le découvrir immédiatement).&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2010/05/05/Un-petit-nouveau-%21#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2010/05/05/Un-petit-nouveau-%21#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/75</wfw:commentRss>
      </item>
    
  <item>
    <title>Quand Ubuntu se moque de ses utilisateurs...</title>
    <link>http://www.paradoxal.org/blog/post/2010/05/01/Quand-Ubuntu-se-moque-de-ses-utilisateurs...</link>
    <guid isPermaLink="false">urn:md5:8c1ae7e304c3e716c5e3c0635757417e</guid>
    <pubDate>Sat, 01 May 2010 03:25:00 +0200</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>Actualité</category>
            
    <description>    &lt;p&gt;Parfois j'ai bien du mal à comprendre Canonical.&lt;/p&gt;


&lt;p&gt;Étant en version Beta puis RC de la 10.04, sur la RC je me retrouve confronté à un bug plutôt sévère puisque le kernel plante lors de la séquence de boot lorsque le pc est équipé d'une carte graphique intel 8xx...&lt;/p&gt;


&lt;p&gt;J'ai voulu déposer un rapport de bug et je me suis retrouver au beau milieu d'une bataille entre deux avis tranchés&amp;nbsp;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Faut pas sortir Ubuntu 10.04 avec un bug qui va bloquer autant d'utilisateurs !!!&lt;/p&gt;&lt;/blockquote&gt;


&lt;blockquote&gt;&lt;p&gt;On s'en fou, ça fait longtemps que ces utilisateurs on des désagréments, ils sont habitués ...&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Je vous laisse jugé par vous-même, ça se passe &lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/568779&quot; hreflang=&quot;en&quot;&gt;ici&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Je serais curieux d'avoir votre point de vue sur la manière dont ce genre question est géré.&lt;/p&gt;


&lt;p&gt;PS&amp;nbsp;: Depuis la sortie de la release final, toujours buguée, le nombre de post a augmenté sensiblement.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2010/05/01/Quand-Ubuntu-se-moque-de-ses-utilisateurs...#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2010/05/01/Quand-Ubuntu-se-moque-de-ses-utilisateurs...#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/76</wfw:commentRss>
      </item>
    
  <item>
    <title>De retour !!</title>
    <link>http://www.paradoxal.org/blog/post/2010/04/22/De-retour-%21%21</link>
    <guid isPermaLink="false">urn:md5:fec078aa95d0724071932a8a19fd5716</guid>
    <pubDate>Thu, 22 Apr 2010 23:06:00 +0200</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>Actualité</category>
            
    <description>    &lt;p&gt;Après une migration de php 5.2 à php 5.3.2 pour mes travaux, ce blog était tombé en rade. Le voici de retour et pleinement fonctionnel (et toujours sous php 5.3.2) grâce à la version 2.2.apha-1 de Dotclear.&lt;/p&gt;


&lt;p&gt;J'espère qu'une version stable arrivera très prochainement.&lt;/p&gt;


&lt;p&gt;Bonne soirée à tous.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2010/04/22/De-retour-%21%21#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2010/04/22/De-retour-%21%21#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/73</wfw:commentRss>
      </item>
    
  <item>
    <title>Test de Thunderbird 3 RC1 ...</title>
    <link>http://www.paradoxal.org/blog/post/2009/11/28/Test-de-Thunderbird-3-RC1-...</link>
    <guid isPermaLink="false">urn:md5:0fe36844672155c9f2ee1aab3fdb9afb</guid>
    <pubDate>Sat, 28 Nov 2009 21:22:00 +0100</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>Actualité</category>
        <category>2009</category><category>Email</category><category>IMAP</category><category>Thunderbird</category>    
    <description>&lt;p&gt;C'est d'actualité, tout le monde en parle, la sortie de Thunderbird 3 approche et je n'ai pas résister à la tentation de l'essayer tant je suis lassé d'utiliser mon bon vieux - mais fidèle - Thunderbird 2.&lt;/p&gt;    &lt;h3&gt;L'installation&lt;/h3&gt;


&lt;p&gt;J'ai donc fais chauffer ma chère Ubuntu et je lui ai fait mangé du Thundernbird 3. L'installation, sans écraser celle de Thunderbird 2, se fait très simplement. Il suffit de télécharger l'archive et de décompresser. Vous ici et là sur le web cette méthode bien expliquée, donc je ne la reprendrai pas ici.&lt;/p&gt;


&lt;p&gt;L'avantage de cette méthode est que Thundernbird 3 utilisera le répertoire &lt;code&gt;~/.thunderbird/&lt;/code&gt; pour y stocker votre profil là où l'installation de Thundernbird 2 par les dépots Ubuntu utilise le répertoire &lt;code&gt;~/.mozilla-thunderbird/&lt;/code&gt;.
&lt;br /&gt;
Pas de risque de conflit donc.&lt;/p&gt;


&lt;p&gt;Je dois avouer une chose. Je n'ai pas suivi spécialement les actualités concernant le développement de Thunderbird et au lancement de la version 3 je fut quelque peu dérouté. En fait c'est un doux euphémisme car ma première réaction a été de me dire&amp;nbsp;: «&amp;nbsp;Attends, c'est bien la version 3 que tu as installé&amp;nbsp;? »&lt;/p&gt;


&lt;p&gt;Si vous vous attendez à quelques choses d'extraordinaire avec Thunderbird 3, sachez que c'est la même chose que la version 2. Les retouches de l'interface sont pour le moins minimes et on les cherche et premier abord&amp;nbsp;!
&lt;br /&gt;
Finalement c'est une très grande déception que j'ai eu au lancement de cette nouvelle version.&lt;/p&gt;


&lt;p&gt;Bien entendu j'ai n'ai aucune proposition de migration ou importation depuis Thunderbird 2 cela aurait été un luxe et je ne m'y attendais pas, juste la célèbre case à cocher qui vous harcèle «&amp;nbsp;met moi comme programme par défaut !! ».
&lt;br /&gt;
En aparté, à l'heure ou les outils deviennent multiples, complexe et où les moyens de communications fusionnent à l'instar de projet comme Raindrop ou Weave, je trouve ce genre de demande presque déplacée.&lt;/p&gt;


&lt;p&gt;Donc pas d'importation, signifie configuration&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;C'est aussi une bonne chose car ça permet de rentrer un peu dans la bête et ... pas de changement notable ici non plus. J'ai configurer mes cinq comptes de messagerie IMAP comme à l'habitude, rechercher quelques add-ons qui vont bien pour relevé un peu le niveau de cette mouture et j'ai un peu utiliser cette version RC afin de vous proposer une vision plus juste.&lt;/p&gt;


&lt;h3&gt;Les améliorations&lt;/h3&gt;


&lt;h4&gt;C'est rapide&amp;nbsp;!&lt;/h4&gt;


&lt;p&gt;Si on observe quelques changements entre Thunderbird 2 et Thunderbird 3, la grande et appréciable différence c'est cette vitesse d'exécution en IMAP. Ici on sens que du travail a été effectué en profondeur et cela fait vraiment plaisir car cela devient très agréable à utiliser.&lt;/p&gt;


&lt;h4&gt;Les onglets&amp;nbsp;:&lt;/h4&gt;


&lt;p&gt;Ça devient un classique dans les logiciels, toutefois c'est toujours agréable. La lecture des messages se fait aisément dans un nouvel onglet, attention toutefois aux discussions groupées&amp;nbsp;! Un double clic sur l'une d'elle ouvrira tous les messages de la discussion et autant d'onglet... assez agaçant&amp;nbsp;!&lt;/p&gt;


&lt;h4&gt;Les discussions&amp;nbsp;:&lt;/h4&gt;


&lt;p&gt;Je ne saurais dire ce qui a été modifié, mais le tri par discussion est agréable alors qu'il était in-maniable sous Thundernbird 2. Je redécouvre la joie d'avoir mes emails groupés par conversation. Un regret toutefois, Le pliage et dépliage de la discussion se fait difficilement et on a tendance à double cliquer pour déplier ce qui nous ramène au problème du point précédent.&lt;/p&gt;


&lt;h4&gt;La lecture des messages&amp;nbsp;:&lt;/h4&gt;


&lt;p&gt;Hormis le fait que la lecture se fasse dans un onglet, cette fenêtre à été revue sur quelques détails et c'est à mon goût ce qui à été le mieux retravailler du logiciel. Si visuellement il y a peu de différence avec la version de Thundernbird 2, on pourra apprécier les petites retouches telles que&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La petite étoile suivant l'adresse des contact permettant l'ajout rapide au carnet d'adresse ou la modification de la fiche contact.&lt;/li&gt;
&lt;li&gt;Les boutons intégrés dans l'entête permettant d'exécuter les actions courantes comme répondre, transférer etc...&lt;/li&gt;
&lt;li&gt;La possibilité d'afficher le thread complet de la discussion dans un volet, absolument génial comme fonctionnalité.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On regrettera malheureusement que les boutons d'action «&amp;nbsp;rapide&amp;nbsp;» ne soit pas personnalisable&amp;nbsp;!&lt;/p&gt;


&lt;h4&gt;Le paramétrage des comptes&amp;nbsp;:&lt;/h4&gt;


&lt;p&gt;Alors la création du compte tente de se faire via une fenêtre de configuration simplifiée ou automatique. Cela marche peut-être très bien avec des comptes à la Gmail, Orange etc... mais avec un bon vieux imap/smtp sous TLS le système est à la ramasse. Pourtant j'ai eu le sentiment qu'il allait presque y arriver.&lt;/p&gt;


&lt;p&gt;Bref retour à la configuration manuelle, à l'ancienne cela n'a pas changer sauf en un point assez... curieux. Sous Thunderbird 2 nous disposions des options suivantes pour le type de connexion (pardonnez-moi je n'ai plus les intitulé précis en tête)&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pas de proto sécuriser&lt;/li&gt;
&lt;li&gt;SSL si possible&lt;/li&gt;
&lt;li&gt;SSL&lt;/li&gt;
&lt;li&gt;TLS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Maintenant sous Thunderbird 3 cela sera&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pas de proto sécurisé&lt;/li&gt;
&lt;li&gt;STARTTLS&lt;/li&gt;
&lt;li&gt;SSL/TLS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Je dois avouer que la nuance entre les deux dernières options est... floue&amp;nbsp;! Je pense pour faire l'analogie avec le protocle FTP qu'il s'agit des options Implicit et Explicit. En fait c'est le STARTTLS qui m'a mis sur cette piste, si vous connaissez un peu, le client doit annoncer explicitement STARTTLS pour lancer la communication sous TLS (ou SSL) sinon elle se fait sans encryption, c'est ce qu'on appelle «&amp;nbsp;Explicit&amp;nbsp;» dans l'autre cas la communiquation se fait directement en TLS (ou SSL) sans que le client est besoin d'annoncer cette volonté. C'est l' «&amp;nbsp;Imlicit ».
Bref vaut mieux réviser sont protocole SSL pour configurer sont compte ou joué à «&amp;nbsp;Plouf plouf, c'est l'option 1 qui gagnera&amp;nbsp;! »&lt;/p&gt;


&lt;h4&gt;La signature&amp;nbsp;:&lt;/h4&gt;


&lt;p&gt;Insignifiante pour certain, très importante pour d'autres, l'arrivée de la signature est un plaisir pour moi. Une extension de moins à ajouter à Thunderbird. Possibilité de mettre une signature texte ou HTML c'est cool... mais, mais !!&lt;/p&gt;


&lt;p&gt;&lt;ins&gt;Pourquoi, ajouter systématiquement un «&amp;nbsp;--&amp;nbsp;» devant la signature ???&lt;/ins&gt; Comme séparateur&amp;nbsp;? On l'avait deviné mais le problème se situe dans le fait que ceci vous est imposé. Votre signature est systématiquement encadrer par ceci&amp;nbsp;:&lt;/p&gt;

--&lt;br&gt;
&lt;div class=&quot;moz-signature&quot;&gt;
  &lt;!-- votre signature sera ici --&gt;
&lt;/div&gt; 



&lt;p&gt;C'est infernal ça !! Surtout si l'on s'est fait une belle signature HTML qui doit s'intégrer parfaitement à votre message cela vient tout gâcher.
Surtout que n'avez-vous jamais inclu la petite formule de politesse qui va bien dans votre signature&amp;nbsp;?  Celle-ci se retrouve donc écartée du message et c'est bien dommage, il faudra s'amuser à supprimer les double tiret à chaque fois. Sans parler our la partie HTML du div avec sa classe qui reste en place et peut donc provoquer une différence de style non souhaitée avec le reste du message.
&lt;br /&gt;
Encore en texte le double tiret est presque standardisé comme séparateur de signature texte mais en HTML ce n'est pas le cas. Comme on dit vouloir en faire trop ce n'est pas souvent mieux.&lt;/p&gt;


&lt;h4&gt;La recherche&amp;nbsp;:&lt;/h4&gt;


&lt;p&gt;Je n'ai pas parlé jusque là car on l'a tellement évoquée que c'est comme les films dont tout le monde dit qu'il sont excellent et que vous devez aller le voir d'urgence au cinéma. Bien la recherche, c'est bien, c'est rapide, ça indexe vite, ça trouve vite... ça marche bien en d'autre terme.
&lt;br /&gt;
Pas de surprise le résultat était attendu puisque c'est la &lt;em&gt;killer feature&lt;/em&gt; de cette nouvelle version. Celle-ci est forcément très travaillée.
Donc au final pas de quoi tuer un mammouth juste content de voir un élément nouveau qui fonctionne proprement (ou presque, je vous invite à lire la suite).&lt;/p&gt;


&lt;h4&gt;Changement de dictionnaire&amp;nbsp;:&lt;/h4&gt;


&lt;p&gt;Plus besoin de dictionnary-switcher pour changer la langue de la correction orthographique dans la rédaction des messages. Une bonne nouvelle encore une extension en moins.
Toutefois maintenant les mots incorrects ne sont plus souligné en rouge directement lors de la composition du message, il faut lancé soit même le correcteur orthographique ce qui est vraiment dommage.&lt;/p&gt;


&lt;h3&gt;Les défauts&lt;/h3&gt;


&lt;p&gt;Si je vous est fait part de quelques désagréments rencontrés ci-dessus vis à vis des nouvelles fonctionnalités je ne vous ai pas parlé des autres&amp;nbsp;:&lt;/p&gt;


&lt;h4&gt;La rédaction d'un message&amp;nbsp;:&lt;/h4&gt;


&lt;p&gt;Alors que les onglets font leur apparition, que la lecture des messages se fait via ces derniers et bien la rédaction d'un message se fait dans une fenêtre séparée. Pourquoi&amp;nbsp;? Je ne sais pas mais c'est clairement décevant&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;De plus, &lt;em&gt;switcher&lt;/em&gt; un peu trop vite entre deux comptes de messagerie pour rédiger un nouveau message et vous vous retrouver à rédiger un message pour le compte 1 avec la signature du compte 2. Il suffit de fermer la fenêtre et de recommencer (plus lentement) pour éviter cela.&lt;/p&gt;


&lt;h4&gt;La recherche&amp;nbsp;:&lt;/h4&gt;


&lt;p&gt;Pas directement lié à Thunderbird, j'ai essayé plusieurs thèmes - rare encore pour la version 3 - Ils ont tous mis en vrac la présentation de la recherche, la rendant inexploitable c'est vraiment dommage. Ceci disparaitra avec la correction des thèmes j'imagine.&lt;/p&gt;


&lt;h4&gt;L'ordre des comptes de messagerie&amp;nbsp;:&lt;/h4&gt;


&lt;p&gt;Il est toujours impossible de choisir l'ordre des comptes de messageries. Vous en êtes quitte pour bricoler un peu la config ou installé l'extension qui va bien... mais sérieusement avoir besoin d'une extension pour ça, c'est un peu exagéré non&amp;nbsp;? Surtout quand il s'agit d'intervertir sur une simple chaine de caractère dans la configuration.
&lt;br /&gt;
Je pense toujours à l'utilisateur lambda un peu bête et méchant qui ne prend pas la peine de cherché ni de comprendre plus loin que le bout de son nez. C'est le genre de détails qui, accumulés, font partir ces utilisateurs.&lt;/p&gt;


&lt;h4&gt;Le carnet d'adresse&amp;nbsp;:&lt;/h4&gt;


&lt;p&gt;Toujours aussi rédhibitoire. Question de gout peut-être mais personnellement je n'aime pas du tout l'utiliser. Déjà pourquoi - je dirai même comment se fait-il - qu'on puisse créer des contact en double, triple quadruple&amp;nbsp;? C'est absurde.
Je passe mon temps à faire le trie dans mon carnet, lui je l'ai déjà rentrer, pas lui, lui sa fiche est en double etc... lui c'est le carnet personnel, lui le carnet pro etc...
&lt;br /&gt;
Le carnet d'adresse mériterai d'être améliorer. Rien que la fonction d'export ou il faut taper soit même le nom du carnet. Afficher une selectbox c'était trop dur à développer&amp;nbsp;?
&lt;br /&gt;
Bref exactement le même qu'avec Thunderbird 2.&lt;/p&gt;


&lt;h3&gt;Les extensions&lt;/h3&gt;


&lt;p&gt;Au final j'ai installer moins d'extension que sur Thunderbird 2, voici celle que j'ai mises. Attention les versions ici sont importantes et ne sont pas toute disponible via le site add-on de Thunderbird, il faut fouiller un peu :)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bristish English Dictionary &lt;em&gt;1.19&lt;/em&gt; Parce qu'il m'arrive régulièrement de rédiger des emails en anglais.&lt;/li&gt;
&lt;li&gt;CustomizeHeaderToolbar &lt;em&gt;0.2.0&lt;/em&gt; Pour alléger l'interface en supprimant les boutons que je n'utiliserai pas dans la fenêtre de lecture. (et accessoirement corrigé un bug du thème installé)&lt;/li&gt;
&lt;li&gt;Enigmail &lt;em&gt;1.0pre&lt;/em&gt; GPG c'est obligatoire pour crypter ses emails. D'ailleurs je ne comprendrais jamais pourquoi S/Mime est intégré par défault et non GPG dans Thunderbird.&lt;/li&gt;
&lt;li&gt;Hide Menubar &lt;em&gt;1.0.20090929&lt;/em&gt; Pour enlever le menu fichier... puisque Mozilla ne supporte pas le menu à la Mac de ma ubuntu (globalmenu) et bien je le cache car au final on s'en sert jamais une fois le soft bien installé et ça prend de la place pour rien.&lt;/li&gt;
&lt;li&gt;QuickText &lt;em&gt;0.9.10.0&lt;/em&gt; Pratique lorsque l'on envoie des messages répétitifs ou pré-configurés.&lt;/li&gt;
&lt;li&gt;QuoteColors &lt;em&gt;0.3&lt;/em&gt; Superbe extension qui rend vos longues discussions lisibles&amp;nbsp;!&lt;/li&gt;
&lt;li&gt;ShowInOut &lt;em&gt;0.6.1&lt;/em&gt; Ajout une colonne dans la liste des messages qui permet de voir si un mail est entrant ou sortant car j'aime avoir la réponse du mail avec le mail d'origine et non dans le dossier envoyés.&lt;/li&gt;
&lt;li&gt;iLeopard Mail &lt;em&gt;3.1.4&lt;/em&gt; thème qui est très agréable (il bug un poil chez moi toutefois).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Conclusion&lt;/h3&gt;


&lt;p&gt;Nouvelle version égal quand même amélioration globale même si je reste perplexe quand au temps que cela aura pris pour en arriver là. Car il faut avouer que ce n'est pas transcendant et je suis déçu de ne pas en avoir eu plus&amp;nbsp;! On est loin en somme d'avoir une révolution mais plutôt une suite logique qui ne mérite pas vraiment une numéro de version majeure.
&lt;br /&gt;
Surtout que j'avais cru comprendre que Thunderbird 3 intégrerait la célèbre extension de calendrier alors qu'il n'en ai rien par exemple.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt; Alors pourquoi autant de temps ?&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;J'imagine que la version 2 était terriblement mal codée et que cette version 3 résulte d'une revu complète du code ce qui justifierai une version majeure. Si tel est le cas on peu imaginer après la sortie de la version 3, des évolutions plus rapprochées dans le temps.
Un point qui vient me conforter dans cette idée sont les nombreuses apparitions d'un numéro de version 3.1 quand on fouille dans les extensions, mozillalab etc...&lt;/p&gt;


&lt;p&gt;Donc au final pour l'utilisateur lambda rien d'extraordinaire a part cette recherche et cette vitesse qui apporte un meilleur confort d'utilisation pour le moment et j'espère, étant donné qu'on est qu'au stade de la RC, que des petites touches finales viendront encore améliorer ce bilan d'ici la version officielle.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2009/11/28/Test-de-Thunderbird-3-RC1-...#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2009/11/28/Test-de-Thunderbird-3-RC1-...#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/72</wfw:commentRss>
      </item>
    
  <item>
    <title>Petit lexique</title>
    <link>http://www.paradoxal.org/blog/post/2009/07/22/Pour-m%C3%A9moire-%3A%29</link>
    <guid isPermaLink="false">urn:md5:ca6ab2f1962d91b5054560f5c0d76f75</guid>
    <pubDate>Wed, 22 Jul 2009 04:18:00 +0200</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>General</category>
            
    <description>    &lt;p&gt;Voici trois petites définitions histoire se détendre deux minutes&amp;#160;:&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;ADMINISTRATEUR SYSTÈME&amp;#160;:&lt;/strong&gt; Personne ne sait ce qu&amp;#8217;il fait, tout le monde sait quand il oublie de le faire.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;PROGRAMMEUR&amp;#160;:&lt;/strong&gt; Personne qui résout, de manière incompréhensible, un problème que tu ignorais avoir.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;HARDWARE&amp;#160;:&lt;/strong&gt; Partie de l&amp;#8217;ordinateur qui reçoit les coups quand le software se plante.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2009/07/22/Pour-m%C3%A9moire-%3A%29#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2009/07/22/Pour-m%C3%A9moire-%3A%29#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/71</wfw:commentRss>
      </item>
    
  <item>
    <title>Ça m'énerve !!!</title>
    <link>http://www.paradoxal.org/blog/post/2009/07/11/ca-m-enerve</link>
    <guid isPermaLink="false">urn:md5:b84881feab83e71df2ed0258a8edca48</guid>
    <pubDate>Sat, 11 Jul 2009 13:12:00 +0200</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>Actualité</category>
            
    <description>    &lt;p&gt;Aujourd&amp;#8217;hui chers lecteurs,&lt;/p&gt;


&lt;p&gt;Bien que je ne post que très rarement sur ce blog maintenant, je vais vous présenter une suite de billets que voici dès maintenant&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.antoinebenkemoun.fr/2009/07/securiser-un-serveur-apache-avec-php-la-problematique/&quot; hreflang=&quot;fr&quot;&gt;http://www.antoinebenkemoun.fr/2009/07/securiser-un-serveur-apache-avec-php-la-problematique/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.antoinebenkemoun.fr/2009/07/securiser-un-serveur-apache-avec-php-debut-de-solution/&quot; hreflang=&quot;fr&quot;&gt;http://www.antoinebenkemoun.fr/2009/07/securiser-un-serveur-apache-avec-php-debut-de-solution/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.antoinebenkemoun.fr/2009/07/securiser-un-serveur-apache-avec-php-suphp/&quot; hreflang=&quot;fr&quot;&gt;http://www.antoinebenkemoun.fr/2009/07/securiser-un-serveur-apache-avec-php-suphp/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Je n&amp;#8217;ai pas la prétention de me prendre pour un professionnel, de nombreuses fois j&amp;#8217;ai rencontré et aidé des gens bien moins précis que moi sur le sujet mais moi-même je n&amp;#8217;ai jamais été contre un peu d&amp;#8217;aide, prêt à en apprendre plus, quand je bloquais sur un sujet qui me paraissais difficile.&lt;/p&gt;


&lt;p&gt;Alors je n&amp;#8217;ai pas pour habitude de descendre le premier venu lorsque qu&amp;#8217;il dit une bêtise. Surtout qu&amp;#8217;en à la base, cela part d&amp;#8217;une bonne initiative, mais je dois dire qu&amp;#8217;un ramassis de conneries, telles que j&amp;#8217;ai pus en lire tout au long de ces trois articles, me fait bondir&amp;#160;!&lt;/p&gt;


&lt;p&gt;En extrait pour mémoire&amp;#160;:&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;INTRO / CONTEXTE&lt;/strong&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;
Le PHP est un langage web qui permet de faire des sites web dynamiques.
(&amp;#8230;) &lt;br /&gt;
C’est souvent le langage de programmation sur lequel démarrent beaucoup de programmeurs autodidactes. Quand on lit ca, on peut se dire «&amp;#160;Chouette&amp;#160;! C’est cool PHP on peut programmer simplement pleins de trucs trop biens&amp;#160;! Si je m’y mettais&amp;#160;?!&amp;#160;». D’un coté, c’est pas faux, vous allez nous coder un super site tout moche parcque vous savez pas utiliser Photoshop. D’un autre coté, vous allez surement coder un site bourré de failles de sécurité.
(&amp;#8230;) &lt;br /&gt;
&lt;strong&gt;Et oui, les sites PHP sont souvent bourrés de faille car les programmeurs débutants n’ont souvent pas de connaissance en programmation sécurisée.&lt;/strong&gt; Si c’est vous à titre personnel, vous vous ferez démonter votre site perso et
(&amp;#8230;) &lt;br /&gt;
vous allez venir vous plaindre à votre hébergeur car il n’a pas sécurisé son serveur alors que c’est votre code qui est pourri. &lt;strong&gt;Et ca, ca m’énerve.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;&lt;strong&gt;LES CONSEILS&lt;/strong&gt;&lt;/p&gt;



&lt;blockquote&gt;&lt;p&gt;Tout d’abord, lorsque vous installez un serveur web, il est fortement recommandé d’installer la version Suhosin. Il s’agit d’une version de PHP qui a été patchée pour réparer des failles de sécurités connues
(&amp;#8230;) &lt;br /&gt;
Ensuite, il faut avoir une version PHP à jour.
(&amp;#8230;) &lt;br /&gt;
La configuration de PHP peut largement influer sur la sécurité du serveur web. Il existe de nombreuses fonctionnalités de PHP qui permettent de faire des choses intéressantes pour le développeur mais très inquiétant pour l’administrateur système.
(&amp;#8230;) &lt;br /&gt;
&lt;strong&gt;Tout d’abord, la directive fopen est une directive qui devrait être désactivée par défaut.&lt;/strong&gt;
(&amp;#8230;) &lt;br /&gt;
Ensuite, si un de vos clients a besoin de la directive fopen, car elle peut quand même être utile… Il parait. Vous allez donc devoir restreindre l’accès aux fichiers ce qui est possible dans PHP via la directive open_basedir. Grâce à cette directive, vous allez donc contraindre vos clients à ne pas sortir de leur répertoire. &lt;strong&gt;Il est également généralement recommandé de désactiver la directive register_globals mais je ne suis pas capable de justifier pourquoi&lt;/strong&gt;. Je sais juste qu’il s’agit d’une option qui n’est plus d’actualité dans les versions de PHP d’aujourd’hui.&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Je vous laisse la joie de lire ces articles dans leur intégralité et peut-être mes commentaires s&amp;#8217;ils restent en place.&lt;/p&gt;


&lt;p&gt;Moi ça m&amp;#8217;énerve (pour reprendre les mots de l&amp;#8217;auteur) de lire des choses comme ça&amp;#160;!&lt;/p&gt;


&lt;p&gt;Les débutants n&amp;#8217;ont pas besoin de lire de telles bêtises et c&amp;#8217;est dégradant pour les professionnels travaillant du mieux qu&amp;#8217;il peuvent que de voir quelqu&amp;#8217;un dire&amp;#160;: &lt;q&gt;pour sécuriser votre bécane, il faut désactiver cela, je ne sais pas trop à quoi cela sert mais c&amp;#8217;est mieux.&lt;/q&gt;  Moi ça me fait sortir de mes gonds.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2009/07/11/ca-m-enerve#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2009/07/11/ca-m-enerve#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/70</wfw:commentRss>
      </item>
    
  <item>
    <title>Oseras-tu défier ma brute ?</title>
    <link>http://www.paradoxal.org/blog/post/2009/02/12/Oseras-tu-d%C3%A9fier-ma-brute</link>
    <guid isPermaLink="false">urn:md5:140266c7c72bfaaeb6caaa659e1e7bd4</guid>
    <pubDate>Thu, 12 Feb 2009 09:57:00 +0100</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>General</category>
            
    <description>    &lt;p&gt;Un petit post pour changer et pour ceux qui ne connaîtrait pas encore&amp;#160;: tout est dans le lien&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://alfonceildefonce.labrute.fr&quot; hreflang=&quot;fr&quot;&gt;Oseras-tu défier ma brute&amp;#160;?&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2009/02/12/Oseras-tu-d%C3%A9fier-ma-brute#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2009/02/12/Oseras-tu-d%C3%A9fier-ma-brute#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/69</wfw:commentRss>
      </item>
    
  <item>
    <title>Courier-imap : IMAP_EMPTYTRASH ne fonctionne pas ?</title>
    <link>http://www.paradoxal.org/blog/post/2009/01/18/Courier-imap-%3A-IMAP_EMPTYTRASH%2C-IMAP_MOVE_EXPUNGE_TO_TRASH-ne-fonctionnne-pas</link>
    <guid isPermaLink="false">urn:md5:121c2f87bd1a4cfe30954db8246366b6</guid>
    <pubDate>Sun, 18 Jan 2009 10:37:00 +0100</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>Bug</category>
        <category>Courier-imap</category><category>IMAP</category><category>Tar</category>    
    <description>    &lt;p&gt;Depuis quelques temps déjà j'observe que l'espace disponible sur le disque dur de mon serveur diminue et diminue... Normal&amp;nbsp;? Oui mais... pas à ce point.&lt;/p&gt;


&lt;p&gt;Je me décide à aller enquêter, la première étape étant de trouver le coupable (si il y a un), je me lance. À grand coup de &lt;code&gt;du -hcs *&lt;/code&gt; en partant de la racine je remonte petit à petit vers ce qui occupe le plus de place sur le disque.&lt;/p&gt;


&lt;p&gt;Sans surprise, j'arrive jusqu'au dossier /var/mail... qui contient toutes les boites emails du serveur (non c'est vrai ?).&lt;br /&gt;
Normal en même que ce dossier soit énorme mais les boites on des tailles énormes surtout certaines qui me font grincer des dents&amp;nbsp;: 486 Mo pour une centaine de mails c'est beaucoup trop&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;Alors je vais bien évident voir ce qui occupe toute cette place et à ma grande surprise je découvre que tous les mails supprimés... ne sont pas supprimés&amp;nbsp;! Les emails marqués pour suppression (en imap) sont très facile à identifier puisqu'il sont marqué d'un T à la fin du nom du fichier.&lt;/p&gt;


&lt;p&gt;Alors pourquoi les emails supprimés ne le sont plus&amp;nbsp;? Il l'était bien avant. Un petit check de ma configuration de courier-imap s'impose.&lt;br /&gt;
&lt;del&gt;Tout d'abord les emails marqués comme supprimés doivent aller dans la corbeille &lt;code&gt;IMAP_MOVE_EXPUNGE_TO_TRASH=1&lt;/code&gt; ça c'est ok.&lt;br /&gt;&lt;/del&gt;
Ensuite la purge de la corbeille&amp;nbsp;: IMAP_EMPTYTRASH=Trash:7 c'est ok aussi.&lt;/p&gt;


&lt;p&gt;Alors pourquoi le bouzin bouzine pas bien&amp;nbsp;? Dans le fichier de configuraton de courier-imap on lit bien que pour purger la corbeille, la date CTIME des emails est vérifié plutôt que la date ATIME. Soit, allons de ce pas vérifier la date de ces emails supprimés qui jouent aux revenants. Un petit &lt;code&gt;ls -l --time=ctime&lt;/code&gt; ou &lt;code&gt;ls -lc&lt;/code&gt; m'indique très rapidement que tous les fichiers du répertoire (en l'occurrence &lt;code&gt;.Trash/cur/&lt;/code&gt;) ont la même date CTIME et cette date c'est aujourd'hui... plus précisément très tôt ce matin.&lt;/p&gt;


&lt;p&gt;Comment ce fait-ce&amp;nbsp;? Je googelise à propos de courier-imap - que j'estime coupable à ce moment là - sans rien trouver de génial dans les mailings-list à part que pas mal d'autre &lt;em&gt;courrier-imapeur&lt;/em&gt; qui se plaignent du même problème et pas vraiment de solution visiblement sauf pour ceux qui utiliseai &lt;code&gt;rsync&lt;/code&gt; qui modifierai la date CTIME des fichier &lt;em&gt;rsyncé&lt;/em&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;/pre&gt;

&lt;p&gt;Alors moi je ne pratique pas le &lt;code&gt;rsync&lt;/code&gt; sur mon dossier mail puisque je backup via FTP je &lt;code&gt;tar&lt;/code&gt;. La cause &lt;code&gt;rsync&lt;/code&gt; est donc exclue... Mais si c'était tar&amp;nbsp;? Puisque Rsync créer bien le problème pourquoi pas un simple tar. En même temps ça se saurait, et puis pas possible j'ai mis tous les &lt;em&gt;--preserve-truc&lt;/em&gt; qui était existant dans le man - tu sais genre mode parano-bourrin.&lt;/p&gt;


&lt;p&gt;Dans le doute je test quand même ma commande de backup... Et paf&amp;nbsp;! Oh surprise qu'elle ne fut pas, un tar modifie la date de modification des fichier tarés marquer pour suppression qui ne sont pas supprimés (vous suivez ?) Je googlize pour trouver pourquoi &lt;code&gt;tar&lt;/code&gt; modifie la date CTIME et rien de rien. Je fouille dans le man de &lt;code&gt;tar&lt;/code&gt; pour trouver un &lt;em&gt;--preverve-ctime&lt;/em&gt; ou option du genre que je n'aurais pas vu... Et c'est le néant.&lt;/p&gt;


&lt;p&gt;Alors je me dit que c'est quand même mal fichu, qui va falloir que je trouve une autre solution de backup ou faire un cp avant qui lui préserve la date ctime et puis que c'est quand même bizarre que &lt;code&gt;tar&lt;/code&gt; modifie le CTIME du fichier taré et que ça ne soit pas plus connu que ça visiblement.
Alors je test encore tar mais avec un &lt;code&gt;tar -czf&lt;/code&gt; tout simple sans option au lieu de ma commande de backup qui ressemble plus à &lt;code&gt;tar -–cz -preserve -–atime-preserve -–exclude..... -f .....&lt;/code&gt; et quel fut mon bonheur de voir que là, avec un tar tout simple,  la date de mofication des fichiers (CTIME) n'était pas modifiée.
Conclusion simple et rapide&amp;nbsp;: J'ai une option dans mon tar qui ne preserve pas la date de modification et ironie du sort c'est l'option &lt;code&gt;--atime_preserve&lt;/code&gt; qui est coupable. En tentant de préserver la date ATIME, tar modifie la date CTIME. sans l'option &lt;code&gt;--atime-preserve&lt;/code&gt; c'est l'inverse et si vous voulez préserver les deux... bien je m'en moque parce que la moi je veux que juste que le CTIME soit préservé l'option &lt;code&gt;--atime-time&lt;/code&gt; était mise que parce que ça faisait pro de la mettre et que j'avais envie.&lt;/p&gt;


&lt;p&gt;Conclusion&amp;nbsp;: Supprimer le &lt;code&gt;--atime-preserve&lt;/code&gt; - vos emails (en imap) seront bien purgés et vous économiserez quelques gigas octets qui vous seront sûrement bien utile.&lt;/p&gt;


&lt;p&gt;Moralité&amp;nbsp;: &lt;q&gt;Less is more*&lt;/q&gt; !!&lt;/p&gt;


&lt;p&gt;&lt;code&gt;*&lt;/code&gt;ou &lt;q&gt;less is better&lt;/q&gt;, je ne sait pas laquelle est l'originale.&lt;/p&gt;


&lt;p&gt;EDIT&amp;nbsp;: &lt;code&gt;IMAP_MOVE_EXPUNGE_TO_TRASH=1&lt;/code&gt; Ne déplace pas dans la corbeille les messages marqués comme supprimés mais déplace dans la corbeillle les messages réellements supprimés (purgés).&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2009/01/18/Courier-imap-%3A-IMAP_EMPTYTRASH%2C-IMAP_MOVE_EXPUNGE_TO_TRASH-ne-fonctionnne-pas#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2009/01/18/Courier-imap-%3A-IMAP_EMPTYTRASH%2C-IMAP_MOVE_EXPUNGE_TO_TRASH-ne-fonctionnne-pas#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/68</wfw:commentRss>
      </item>
    
  <item>
    <title>Un gros ras le bol de firefox</title>
    <link>http://www.paradoxal.org/blog/post/2008/11/27/Un-gros-ras-le-bol-de-firefox</link>
    <guid isPermaLink="false">urn:md5:b95959504592941a06078cff007dbdc9</guid>
    <pubDate>Thu, 27 Nov 2008 03:26:00 +0100</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>Actualité</category>
            
    <description>    &lt;p&gt;Et oui c&amp;#8217;est comme ça on a beau être pour le logiciel libre, il y a des jours ou l&amp;#8217;on à envie de pester aussi&amp;#160;!&lt;/p&gt;


&lt;p&gt;Aujoud&amp;#8217;hui je peste contre un logiciel libre qui comme sérieusement à ne pas libéré mon pc, je dirai même l&amp;#8217;inverse. Je ne me sens pas libre du tout avec ce soft qui devient vraiment très envahissant.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Firefox est lent à démarer&lt;/strong&gt; - jusqu&amp;#8217; à 26 secondes avec 3 onglet à préchargé pour ma part c&amp;#8217;est trop lent&amp;#160;!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Firefox consomme énormément de ram&lt;/strong&gt; - je ne vous apprend rien j&amp;#8217;imagine&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Firefox se ferme incorrectement&lt;/strong&gt; - oui une fois firefox fermé faite donc un &lt;code&gt;ps aux&lt;/code&gt; pour remarqué qu&amp;#8217;il tourne encore et consomme toujours autant de ressource.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Firefox déconne du clic droit (oui oui&amp;#160;!!)&lt;/strong&gt; - n&amp;#8217;avez vous pas ce bug du quand on clic droit il fait joue directement une option du menu plus ou moins aléatoirement.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Firefox déconne de la super barre d&amp;#8217;adresse&lt;/strong&gt; - quand on navigue énormément comme moi, tapez dans la barre d&amp;#8217;adresse, et il se met à chercher, chercher&amp;#8230; et fige le pc pendant un certain temps.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Firefox Plante au moins deux fois par jour.&lt;/strong&gt; - Oui utiliser le simplement sans clic droit, sans flash, sans javascript, aller 4 bureau virtuel plus loin et faite du open office par exemple. Revenez il n&amp;#8217;est plus là le bougre.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Firefox use du processeur dès que 3 lignes de javascript s&amp;#8217;enchaine&lt;/strong&gt; - tester un web os ou google analitycs mais surtout garder la page au chaud pendant plusieurs heure et actualiser et &amp;#8230; attendez.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Firefox m&amp;#8217;affiche des message d&amp;#8217;error dans eclipse&amp;#160;??!!&lt;/strong&gt; - Où éclipse ne trouve pas le plugins flash de firefox quand j&amp;#8217;ouvre un fichier js cherchez l&amp;#8217;erreur&amp;#160;??!!.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Firefox quand il est démarré de temps en temps (1 fois sur 10) fait que la lecture de vidéo avec totem devient impossible&lt;/strong&gt; - je ferme firefox et ça marche O_o obligé de ferme ff pour lire un div&amp;#8217;x pas banal quand même.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Firefox possède un dico français qui ne connais pas le français&lt;/strong&gt; Où après avoir installer Myspell et compagnie monsieur insiste toujorus pour tout me souligner en rouge. (bon ok je fais des fautes aussi mais pas à chaque mot). Remarque ceci uniquement depuis intrepid.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Voilà déjà en 3 secondes ce que je vis tous les jour avec firefox. Alors peut être que le pauvre Firefox est tout simplement très mal implémenter dans Ubuntu mais alors quel ras le bol. Malheureusement trop de fonction de Firefox (ou plugins) ne sont disponible ailleurs alors condamné à l&amp;#8217;utiliser&amp;#160;?&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2008/11/27/Un-gros-ras-le-bol-de-firefox#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2008/11/27/Un-gros-ras-le-bol-de-firefox#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/67</wfw:commentRss>
      </item>
    
  <item>
    <title>Réaliser les tests unitaires pour les futures version de PHP.</title>
    <link>http://www.paradoxal.org/blog/post/2008/10/11/Realiser-les-tests-unitaires-pour-les-futures-version-de-PHP</link>
    <guid isPermaLink="false">urn:md5:0f821770ee75dae3dff5944ff66a03dc</guid>
    <pubDate>Sat, 11 Oct 2008 02:21:00 +0200</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>Programmation</category>
            
    <description>&lt;p&gt;Réaliser les tests unitaires des futures version de PHP aide l'équipe de développement de PHP à améliorer PHP alors autant les aider. La méthode à suivre est assez simple si vous êtes habituer à la ligne de commande (ou pas). Commençons tout de suite en testant la version PHP-5.2.7RC1 qui sortira prochainement.&lt;/p&gt;    &lt;p&gt;Tout d'abord cette méthode convient aux distributions de type Debian mais peut certainement s'adapter aux autres.&lt;/p&gt;


&lt;p&gt;On commence par se créer une cage («&amp;nbsp;&lt;code&gt;chroot&lt;/code&gt; ») pour ne pas gêner notre système actuel. Nous aurons besoin pour cela de «&amp;nbsp;&lt;code&gt;debootstrap&lt;/code&gt; ».
Créons tout de suite notre environnement de test&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sudo&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;install&lt;/span&gt; debootstrap&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;php-test&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; php-test&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sudo&lt;/span&gt; debootstrap lenny .&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt; http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;ftp.fr.debian.org&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debian&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Ici j'utilise &lt;strong&gt;Debian Lenny&lt;/strong&gt; pour avoir les dernières versions de paquets disponibles.
En effet, compiler PHP demande certaines versions d'outils que nous allons installer par la suite et qui ne sont pas forcément disponible sur &lt;strong&gt;Etch&lt;/strong&gt; (j'ai tout d'abord essayé avec Etch pour savoir ceci mais vous comprendrez plus bas avec un exemple).&lt;/p&gt;


&lt;p&gt;Ok, maintenant on a installé dans «&amp;nbsp;&lt;code&gt;/tmp/php-test&lt;/code&gt;&amp;nbsp;» l'arborescence d'une Debian Lenny avec le minimum d'outils nécessaires pour travailler dessus.
On va maintenant se &lt;em&gt;rentrer&lt;/em&gt; dans ce nouveau système d'exploitation.&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sudo&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;chroot&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;php-test &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;bash&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Maintenant nous somme l'utlisateur &lt;strong&gt;Root&lt;/strong&gt; sur notre nouveau système fraîchement installé et complètement séparer de notre distribution de travail. Nous avons créer un environnement linux complet que nous pouvons casser, trifouiller, bidouiller bref faire joujou quoi. Continuons et passons le tout en français c'est mieux quand même.&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;install&lt;/span&gt; locales&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;dpkg-reconfigure locales&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;«&amp;nbsp;&lt;code&gt;dpkg-reconfigure&lt;/code&gt;&amp;nbsp;» vous demande de choisir votre locale, descendez jusqu'à trouvez &lt;strong&gt;fr_FR.UFT8&lt;/strong&gt;, faîtes «&amp;nbsp;&lt;em&gt;espace&lt;/em&gt;&amp;nbsp;» pour sélectionner cette locale et «&amp;nbsp;&lt;em&gt;tab&lt;/em&gt;&amp;nbsp;» pour passer sur le bouton «&amp;nbsp;&lt;em&gt;&amp;lt;OK&amp;gt;&lt;/em&gt;&amp;nbsp;» puis valider. De même l'écran suivant vous demande de choisir la locale par défaut, choisissez «&amp;nbsp;&lt;em&gt;fr_FR.UTF8&lt;/em&gt;&amp;nbsp;» et valider.&lt;/p&gt;


&lt;p&gt;Maintenant téléchargeons notre release-candidate de PHP&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp &lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;wget&lt;/span&gt; http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;downloads.php.net&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;ilia&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;php-5.2.7RC1.tar.gz&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Décompressez le tout&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tar&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-xzf&lt;/span&gt; php-5.2.7RC1.tar.gz&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; php-5.2.7RC1&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Ok, on a plus qu'à configurer, installer, tester. Configurons&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;.&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;configure &lt;span style=&quot;color: #660033;&quot;&gt;--quiet&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;L'option «&amp;nbsp;&lt;code&gt;--quiet&lt;/code&gt;&amp;nbsp;» sert à afficher uniquement les problèmes qui arrive pendant la configuration. Comme vous aller le voir, il y a des problèmes.
Bien oui, nous n'avons installer aucun outils de compilation comme &lt;strong&gt;gcc&lt;/strong&gt; le compilateur C. PHP réclame aussi d'autre outils alors pour vous facilité la tache je vous les ai tous lister ici.&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;install&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;gcc&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;make&lt;/span&gt; libc-dev libxml2-dev lemon &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;bison&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;flex&lt;/span&gt; re2c&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Rien que tout ça&amp;nbsp;! Bon maintenant, plus sérieux, on relance la configuration.&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;.&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;configure &lt;span style=&quot;color: #660033;&quot;&gt;--quiet&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Patatras&amp;nbsp;! Encore un problème avec «&amp;nbsp;&lt;strong&gt;flex&lt;/strong&gt; ». En effet cette version de PHP réclame &lt;em&gt;flex-2.5.4&lt;/em&gt; or Debian Lenny ne fournit que &lt;em&gt;flex-2.5.35 (&lt;a href=&quot;http://packages.debian.org/testing/devel/flex&quot; hreflang=&quot;en&quot;&gt;http://packages.debian.org/testing/devel/flex&lt;/a&gt;)&lt;/em&gt;. Nous allons donc devoir installer manuellement &lt;strong&gt;flex-2.5.4a&lt;/strong&gt;. Allons-y&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; ..&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;wget&lt;/span&gt; http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;prdownloads.sourceforge.net&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;flex&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;flex-2.5.4a.tar.gz?download&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tar&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-xzf&lt;/span&gt; flex-2.5.4a.tar.gz&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; flex-2.5.4a&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;.&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;configure &lt;span style=&quot;color: #660033;&quot;&gt;--quiet&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;make&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;make&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;install&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Heureusement ici l'installation se passe très bien dès le premier coup.
Ok, on y est presque, re-re-configurons PHP pour l'installation (préparer votre café pour les petites machines)&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; php-test&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;.&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;configure &lt;span style=&quot;color: #660033;&quot;&gt;--quiet&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;make&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;make&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;install&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Voilà &lt;strong&gt;PHP-5.2.7RC1&lt;/strong&gt; est installé sur la machine&amp;nbsp;! il nous reste plus qu'à lancer les tests unitaires&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;make&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;test&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Préparez-vous un nouveau café et une fois les tests terminés, la commande vous propose d'envoyer les résultats à la team qualité de PHP répondez &lt;strong&gt;Oui&lt;/strong&gt; et valider (vous êtes là pour ça en même temps).&lt;/p&gt;


&lt;p&gt;C'est terminé&amp;nbsp;! vous n'avez plus qu'à faire le ménage&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;exit&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sudo&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-rf&lt;/span&gt; php-test&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Voilà, j'espère que vous serez nombreux maintenant à participer au test de qualité de PHP.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2008/10/11/Realiser-les-tests-unitaires-pour-les-futures-version-de-PHP#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2008/10/11/Realiser-les-tests-unitaires-pour-les-futures-version-de-PHP#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/66</wfw:commentRss>
      </item>
    
  <item>
    <title>Un point sur le développement de PHP 5.3</title>
    <link>http://www.paradoxal.org/blog/post/2008/09/02/Un-point-sur-le-developpement-de-PHP-53</link>
    <guid isPermaLink="false">urn:md5:4781003a32d56990a1d035448eef0d09</guid>
    <pubDate>Tue, 02 Sep 2008 01:57:00 +0200</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>Programmation</category>
        <category>PHP</category>    
    <description>&lt;p&gt;Aujourd&amp;#8217;hui les tâches assignées à la version Alpha 2 de PHP 5.3 sont marquées comme terminée.&lt;/p&gt;


&lt;p&gt;Même si il reste encore du travail à l&amp;#8217;équipe de développement pour finaliser PHP 5.3 nous pouvons déjà faire un point sur les changements. PHP 5.3 apporte énormément de nouveauté et de changement comparé au version mineure précédente. En d&amp;#8217;autre terme en plus d&amp;#8217;alimenter nombre de discussion à son sujet cette version est très attendu des développeurs et son adoption se fera certainement sans aucune difficulté.&lt;br /&gt;
En ce qui me concerne la sortie de PHP 5.3 est actuellement à mes yeux un changement plus important que celui de PHP 6 qui sera surement quand à elle la version mature des changements apporter et amorcer par PHP 5.3.&lt;/p&gt;    &lt;p&gt;Encore faut-il bien comprendre ce que va nous apporter PHP 5.3.  Je vais ici vous faire un point rapide mais pas technique sur ce que vous aller rencontrer dans cette prochaine version.&lt;/p&gt;


&lt;p&gt;Nous pouvons observer ici une pré version du document recensant toutes les modifications apporter entre PHP 5.2 et PHP 5.3&amp;#160;: &lt;a href=&quot;http://wiki.php.net/doc/scratchpad/upgrade/53&quot; hreflang=&quot;en&quot;&gt;upgrade to PHP 5.3&lt;/a&gt;.&lt;br /&gt;
Ce document est en perpétuel changement comme tous les autres documents du wiki de PHP, ce qui est inscrit ici n&amp;#8217;est donc pas à prendre au pied de la lettre et est susceptible d&amp;#8217;être changer à tout moment. Même si beaucoup de chose peuvent être considéré comme acquise aujourd&amp;#8217;hui avec la très prochaine sortie de l&amp;#8217;Alpha 2 nous allons tout de suite voir que des modifications peuvent arrivées.&lt;/p&gt;


&lt;p&gt;Un exemple important est le cas des &lt;em&gt;namespaces&lt;/em&gt;, une grosse nouveauté pour PHP, pourtant une documentation des &lt;em&gt;namespaces&lt;/em&gt; est déjà en ligne sur la doc. officielle de PHP. On peut observer à la lecture de la &lt;a href=&quot;http://wiki.php.net/rfc/namespacecurlies&quot; hreflang=&quot;en&quot;&gt;rfc sur les namespaces&lt;/a&gt; une réflexion sur la manière dont ils sont implémenter. L&amp;#8217;implémentation des &lt;em&gt;namespaces&lt;/em&gt; pourrait en effet être modifié, afin d&amp;#8217;être améliorée à mon avis si le type de structure en bloc est choisi, ce qui entraînera la production d&amp;#8217;une version alpha 3 de PHP 5.3 et retarderai sûrement sa sortie.&lt;br /&gt;
On peut d&amp;#8217;ors et déjà comprendre qu&amp;#8217;il n&amp;#8217;est pas évident de développer pour PHP 5.3 dès maintenant avec de tel possibilité de changement.&lt;/p&gt;


&lt;p&gt;Autre nouveauté intéressante à mon goût dont on a très peut parlé ce sont les &lt;em&gt;closures&lt;/em&gt; dont le support est maintenant ajouté. Les &lt;em&gt;closures&lt;/em&gt; amènent avec elles de nouvelles possibilités de programmation avec PHP 5.3 et je pense nous ne tarderons à voir arriver de nouveaux algorithmes basés sur les &lt;em&gt;closures&lt;/em&gt;. Si vous souhaitez mieux comprendre ces dernières je vous invite à lire la &lt;a href=&quot;http://wiki.php.net/rfc/closures&quot; hreflang=&quot;en&quot;&gt;rfc sur les closures&lt;/a&gt;.&lt;br /&gt;
J&amp;#8217;apprécie le fait dans l&amp;#8217;utilisation des &lt;em&gt;closures&lt;/em&gt; avec PHP, la possibilité de préciser quelles variables de l&amp;#8217;élément parent doivent être reprise dans la fonction lambda. Pour mettre déjà retrouver embêter dans ce genre de cas avec du Javascript notamment, qui ne permet pas cette précision, j&amp;#8217;apprécie énormément cette possibilité.&lt;/p&gt;


&lt;p&gt;L&amp;#8217;apport de la structure &lt;em&gt;label&lt;/em&gt;, &lt;em&gt;goto&lt;/em&gt; est aussi nouveau pour PHP. C&amp;#8217;est à mon goût assez dangereux, nombreux sont les programmeurs qui dans d&amp;#8217;autres langages se sont déjà heurtés à l&amp;#8217;empilement de ces structures provoquant un code incompréhensible et indébogable.&lt;/p&gt;


&lt;p&gt;L&amp;#8217;arrivée de la méthode magique &lt;em&gt;__callStatic()&lt;/em&gt; résoudra quand à elle son lot de rustines et autres contournements que PHP nous imposait avec l&amp;#8217;héritage de classe.&lt;br /&gt;
Une autre méthode magique &lt;em&gt;__invoke()&lt;/em&gt; fait aussi sont apparition. À l&amp;#8217;heure actuelle je ne trouve pas vraiment d&amp;#8217;utilité à cette méthode mais qui sait peut être ce sera une nouvelle possibilité conséquente dans PHP.&lt;/p&gt;


&lt;p&gt;L&amp;#8217;arrivée du pilote &lt;em&gt;mysqlnd&lt;/em&gt; pour Mysql apportera certainement un grand confort dans l&amp;#8217;utilisation de PHP avec mysql avec des performances encore meilleure. J&amp;#8217;espère que l&amp;#8217;utilisation de &lt;em&gt;PDO&lt;/em&gt; avec &lt;em&gt;mysqlnd&lt;/em&gt; sera moins boguée et plus agréable&amp;#160;! Aujourd&amp;#8217;hui en utilisant &lt;em&gt;PDO&lt;/em&gt;, il m&amp;#8217;arrive souvent de regretter ma bonne veille classe d&amp;#8217;abstraction avec les fonctions &lt;em&gt;mysql_*&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;Attention aux projets utilisant&amp;#160;: &lt;em&gt;ncurses&lt;/em&gt;, &lt;em&gt;fpdf&lt;/em&gt;, &lt;em&gt;sybase&lt;/em&gt;, &lt;em&gt;dbase&lt;/em&gt;, &lt;em&gt;fbsql&lt;/em&gt;, &lt;em&gt;ming&lt;/em&gt;. Ces extensions ne font plus partie de core PHP et sont migrées vers le dépôt PECL.&lt;br /&gt;
Les extensions &lt;em&gt;PCRE&lt;/em&gt;, &lt;em&gt;SPL&amp;#8221; et &lt;/em&gt;Reflexion&amp;#8221; ne pourront plus être désactivées. Vous pouvez donc vous basés dessus sans vous souciez de leur présence dans vos futurs scripts PHP 5.3.&lt;/p&gt;


&lt;p&gt;De nombreux changements dans les fonctions existantes aussi sont amenés et de nouvelles fonctions font leur apparition. Dans ces «&amp;#160;petits détails&amp;#160;», je retiens notamment l&amp;#8217;arrivée de &lt;em&gt;date_diff()&lt;/em&gt; et &lt;em&gt;quoted_printable_encode()&lt;/em&gt; qui me seront vraiment très utile. La constante &lt;em&gt;__DIR__&lt;/em&gt; aussi va venir se greffer dans mes scripts pour remplacer le bon vieux &lt;em&gt;dirname(__FILE__)&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;Voilà pour un résumer rapide de ce qui est à retenir dans l&amp;#8217;évolution à venir de PHP.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2008/09/02/Un-point-sur-le-developpement-de-PHP-53#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2008/09/02/Un-point-sur-le-developpement-de-PHP-53#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/65</wfw:commentRss>
      </item>
    
  <item>
    <title>Migration vers Dotclear 2</title>
    <link>http://www.paradoxal.org/blog/post/2008/08/06/Migration-vers-Dotclear-2</link>
    <guid isPermaLink="false">urn:md5:19dfb068d546dbffff2a761bf6e3c68b</guid>
    <pubDate>Wed, 06 Aug 2008 03:07:00 +0200</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>General</category>
        <category>2008</category><category>Dotclear</category>    
    <description>&lt;p&gt;Dotclear 2 est sorti il y a peu, j&amp;#8217;en ai donc profité pour rafraîchir un peu ce blog en changeant le thème au passage.&lt;/p&gt;


&lt;p&gt;Dotclear 2 dans sa version final apporte son lot de nouveautés qui seront toutefois assez subtiles d&amp;#8217;une manière générale à l&amp;#8217;oeil non aguéri à l&amp;#8217;administration de Dotclear mais qui sont bien agréables dans la manipulation de l&amp;#8217;administration renforçant sa facilité d&amp;#8217;utilisation.&lt;br /&gt;
On appréciera la pré visualisation des billets et la possibilité de lier un autre billet aisément.&lt;/p&gt;    &lt;p&gt;Pas de surprise concernant la migration, partant de la version Dotclear 2 beta 7 - je n&amp;#8217;avais pas pris la peine de migrer sur les versions RC - la migration promettait d&amp;#8217;être sans complication.&lt;/p&gt;


&lt;p&gt;Le simple décompactage de l&amp;#8217;archive pour ainsi dire à suffit pour effectuer la migration.&lt;br /&gt;
Ensuite, étapes obligatoires, la création et configuration manuelle du fichier inc/config.php, recopie du .htaccess à la racine du blog pour l&amp;#8217;url rewriting et le lancement du fichier update-cli.php pour mettre à jour à la base de données.&lt;br /&gt;
Après ces étapes nécessaires au bon fonctionnement du blog, il ne restait plus qu&amp;#8217;a copier le thème actuel du blog dans le dossier dédié à cet effet et les médias déposé sur le blog. Pour terminer il ne restait plus qu&amp;#8217;à remplacer le blog actuel par l&amp;#8217;ancien pour finaliser le tout.&lt;/p&gt;


&lt;p&gt;Finalement j&amp;#8217;ai préféré changer de thème en découvrant le thème configurable Blowup qui est agréable à l&amp;#8217;oeil dans toutes ses formes.&lt;br /&gt;
Il ne restait donc plus qu&amp;#8217;à ajouter quelques plugins pour compléter cette nouvelle version. J&amp;#8217;ai donc ajouter les plugins suivants dans l&amp;#8217;ordre alphabétique&amp;#160;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;@ Reply&lt;/li&gt;
&lt;li&gt;Contact (qui n&amp;#8217;est pas le plugin Contacts de &lt;a href=&quot;http://plugins.dotaddict.org/dc2/&quot; hreflang=&quot;fr&quot;&gt;DotAddict&lt;/a&gt; mais celui de &lt;a href=&quot;http://www.k-netweb.net/blog/?post/2006/10/06/61-plugin-dotclear-2-contact-2&quot; hreflang=&quot;fr&quot;&gt;K-net web&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;GoogleAnalitycs&lt;/li&gt;
&lt;li&gt;Lightbox&lt;/li&gt;
&lt;li&gt;Partager2&lt;/li&gt;
&lt;li&gt;RetroContrôle&lt;/li&gt;
&lt;li&gt;Sitemaps&lt;/li&gt;
&lt;li&gt;SubscriteToComments&lt;/li&gt;
&lt;li&gt;Typo&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Optionnellement j&amp;#8217;ai aussi retenu les plugins&amp;#160;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Arelequin&lt;/li&gt;
&lt;li&gt;Carnaval&lt;/li&gt;
&lt;li&gt;DotPoll&lt;/li&gt;
&lt;li&gt;EmailOptionnel&lt;/li&gt;
&lt;li&gt;Kikoolol&lt;/li&gt;
&lt;li&gt;MoreTpl&lt;/li&gt;
&lt;li&gt;MyFavicon&lt;/li&gt;
&lt;li&gt;RelatedPosts (totalement instable dans la version testée, problème d&amp;#8217;encodage UTF-8 avec BOM notamment)&lt;/li&gt;
&lt;li&gt;SyntaxHl (qui n&amp;#8217;a pas voulu s&amp;#8217;installer)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;De quoi vous équiper comme il faut :)&lt;/p&gt;


&lt;p&gt;J&amp;#8217;ai par la suite usé d&amp;#8217;un petite astuce pour géré la navigation plus proprement que Dotclear le propose par défaut afin d&amp;#8217;arranger la présentation de la colonne. Si certains sont intéressés par cette manipulation qu&amp;#8217;ils se manifestent, je ferais alors un billet à se sujet.&lt;/p&gt;


&lt;p&gt;En aparté, concernant le blog actuellement il n&amp;#8217;y a pas eu de nouveau billet depuis un moment car je suis énormément occupé ailleurs sur d&amp;#8217;autres sujets / projets et quand il me reste du temps libre je ne pense qu&amp;#8217;à fuire l&amp;#8217;écran de l&amp;#8217;ordinateur à la recherche d&amp;#8217;autre plaisir&amp;#8230; si vous voyez ce que je veux dire. J&amp;#8217;ai néanmoins quelques astuces et billets à mettre sur les rails concernant Debian, Ubuntu et Php. En espérant que j&amp;#8217;aurais la patience de vous en faire part.&lt;/p&gt;


&lt;p&gt;A bientôt.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2008/08/06/Migration-vers-Dotclear-2#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2008/08/06/Migration-vers-Dotclear-2#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/64</wfw:commentRss>
      </item>
    
  <item>
    <title>Alerte email pour les mises à jour APT.</title>
    <link>http://www.paradoxal.org/blog/post/2008/03/21/Alerte-email-en-cas-de-nouvelles-mises-a-jour-disponible-sur-votre-serveur</link>
    <guid isPermaLink="false">urn:md5:e3b842b7544d4b7fcaecd5a80acaa01a</guid>
    <pubDate>Fri, 21 Mar 2008 15:06:00 +0100</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>Astuces</category>
            
    <description>&lt;p&gt;Peut être avez-vous pris l'habitude de checker assez souvent (ou moins souvent) les mises à jour disponible sur votre serveur avec le petit couple de commande &lt;code&gt;apt-get update &amp;amp;&amp;amp; apt-get upgrade&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Cette opération courante et banale peut s'avérer bien souvent fastidieuse. En effet il faut se connecter en SSH, rentrer sont mot de passe, taper la fameuse commande (quelle fénéantise...) pourtant est plus que recommandé d'upgrader son serveur le plus souvent possible afin d'éviter que des failles de sécurité restent ouvertent aux pirates susceptibles de s'intéresser à vos machines.&lt;br /&gt;
Si vous pouvez assez facilement rester au fait des dernières mises à jour de vos serveurs préférés comme Apache, Mysql ou encore du module PHP et du kernel Linux, il est en revanche moins évident d'être au courant des dernières mises à jour de tous les outils et librairies installés sur votre machine.&lt;/p&gt;


&lt;p&gt;Cet état de cause fait que vous pouvez devenir un accroc de la commande &lt;code&gt;apt&lt;/code&gt;. Pour y remédier, je vous propose une petite cure.&lt;/p&gt;    &lt;p&gt;N'ayant pas trouver de paquet adéquat (l'inexistance d'un tel paquet m'étonne fortement j'ai du mal cherché), je me suis donc décidé de faire ce petit script tout ridicul afin d'être averti par email dès qu'une mise à jour est disponible dans les sources APT.&lt;/p&gt;


&lt;p&gt;C'est une petite libération en soit de ne plus s'imposer de se connecter en SSH toutes les semaines pour voir l'état des sources APT pour votre serveur préféré dans lequel vous avez mis tout votre amour et tendresse pour l'installé, le bichonné et le maintenir en forme.&lt;/p&gt;


&lt;p&gt;Après la minute romantique passons au chose concrète&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;Dans un lieu qui vous plaira, par exemple ici&amp;nbsp;; &lt;code&gt;/usr/local/sbin&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Créer un petit fichier nommé&amp;nbsp;: &lt;code&gt;aptUpdateNotify.sh&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Insérer le contenu ci-dessous dedans&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#       l'adresse de notification des paquets à mettre à jour&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#       à modifier selon vos gouts&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;APT_MAIL_NOTIFY&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;hostmaster@domain.com&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#       le nom de la machine&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;APT_MAIL_NODE_NAME&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;uname&lt;/span&gt; -n&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#       Met à jour la liste des paquets&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get&lt;/span&gt; update &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#       pousse dans un fichier temporaire&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#       le résultat de la commande apt-get upgrade simulée&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#       (aucune mise à jour réelle n'est effectuée)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get&lt;/span&gt; upgrade &lt;span style=&quot;color: #660033;&quot;&gt;-s&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-y&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-V&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-u&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-q&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--no-download&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--ignore-missing&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;APT_MAIL_aptUpdateNotifier&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#       récupère le nombre de paquets à mettre à jour&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;APT_MAIL_NB_UPDATE&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cat&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;APT_MAIL_aptUpdateNotifier | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;grep&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;mis . jour,&amp;quot;&lt;/span&gt; | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cut&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-d&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-f&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;APT_MAIL_TITLE&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;${APT_MAIL_NB_UPDATE} mise(s) à jour disponible sur ${APT_MAIL_NODE_NAME}&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#       si il n'y a pas de mises à jour, nettoie et termine le programme.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$APT_MAIL_NB_UPDATE&lt;/span&gt; == 0 &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;        &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;APT_MAIL_aptUpdateNotifier&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;        &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;exit&lt;/span&gt; 0&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#       prépare le mail à envoyer&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cat&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;APT_MAIL_aptUpdateNotifierMail &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; EOF&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;Bonjour,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${APT_MAIL_NB_UPDATE}&lt;/span&gt; paquet&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;s&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; possède&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;nt&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; une mise à jour sur la machine&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${APT_MAIL_NODE_NAME}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;Voici la trace &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;apt-get upgrade&amp;quot;&lt;/span&gt; capturée :&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;EOF&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#       ajoute la sortie apt-get upgrade au mail&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cat&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;APT_MAIL_aptUpdateNotifier &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;APT_MAIL_aptUpdateNotifierMail&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#       envoie l'email&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;mailx &lt;span style=&quot;color: #660033;&quot;&gt;-e&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-s&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;${APT_MAIL_TITLE}&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #800000;&quot;&gt;${APT_MAIL_NOTIFY}&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;APT_MAIL_aptUpdateNotifierMail&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#       nettoie les fichiers temporaires&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;APT_MAIL_aptUpdateNotifier&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;APT_MAIL_aptUpdateNotifierMail&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#       termine le script&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;exit&lt;/span&gt; 0;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Voilà, pensez bien évidemment à rentrer votre adresse email dans le script et à lui donner des droit d'éxécution avec la commande &lt;code&gt;chmod 744 aptUpdateNotify.sh&lt;/code&gt;.&lt;br /&gt;
Pour expliquez très rapidement ce qui se passe, le script simule une commande &lt;code&gt;apt-get update &amp;amp;&amp;amp; apt-get upgrade&lt;/code&gt; et vérifie si des paquets sont disponibles. Si tel est le cas un email vous sera envoyé avec la liste des paquets disponibles. Bien entendu le script ne procède pas aux mises à jour et n'installe rien. C'est à l'administrateur de faire la mises à jour ou pas.&lt;/p&gt;


&lt;p&gt;Il ne reste plus qu'à mettre ceci en tâche CRON à la cadence qu'il vous plaira. Par exemple je fais un check tous les matin de bonne heure à 5h23.&lt;/p&gt;


&lt;p&gt;Voici ce qu'il faut faire&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;Rendez-vous dans &lt;code&gt;/etc/cron.d/&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Créez le fichier&amp;nbsp;: &lt;code&gt;aptUpdateNotify&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Ajoutez la ligne suivante&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;23&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;   root    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;local&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;sbin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;aptUpdateNotify.sh &lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Voilà c'est terminé.&lt;/p&gt;


&lt;p&gt;J'espère que ça vous sera utile. Si bien sûr un paquet existant fait déjà la même chose n'hésiter pas à m'en avertir.&lt;/p&gt;


&lt;p&gt;Bonne journée à tous.&lt;/p&gt;


&lt;p&gt;&lt;q&gt;PS&amp;nbsp;: Une petite note tout de même: ce script est prévu pour une distibution française, si votre machine vous parle dans la langue de shakespeare ou autre il faudra modifier le petit grep (ligne 25) en conséquence...&lt;/q&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2008/03/21/Alerte-email-en-cas-de-nouvelles-mises-a-jour-disponible-sur-votre-serveur#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2008/03/21/Alerte-email-en-cas-de-nouvelles-mises-a-jour-disponible-sur-votre-serveur#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/60</wfw:commentRss>
      </item>
    
  <item>
    <title>PHP : PDO et ses misères...</title>
    <link>http://www.paradoxal.org/blog/post/2008/02/23/PHP-%3A-PDO-et-ses-miseres</link>
    <guid isPermaLink="false">urn:md5:5dab55f5637f7f00dba684e3025abf9b</guid>
    <pubDate>Sat, 23 Feb 2008 12:35:00 +0100</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>Programmation</category>
            
    <description>    &lt;p&gt;Petite note rapide&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;PDO pour la nième fois m'à fait des misères ce matin. Je devrais préciser PDO + driver Mysql car je ne saurait dire lequel des deux est coupable dans l'histoire.&lt;/p&gt;


&lt;p&gt;Si PDO est récent et donc sa manipulation nouvelle. Certes c'est normal que l'on se retrouve confronter à des erreurs &quot; de débutant &quot;. Mais ce matin j'ai passé une heure à cherché le pourquoi ça marche pas.&lt;/p&gt;


&lt;p&gt;Il y a peu j'avais été confronter à une requête sql qui ne retournait rien.  Après avoir cherché dans la doc PHP. l'instruction PdoStatement-&amp;gt;closeCursor() s'avérait être la solution. Autant pour moi c'était clairement indiquer dans la doc.&lt;br /&gt;
Aujourd'hui le même BUG se présente. Un select qui ne retourne rien et bien entendu il est éxécuté après une suite de select. Si je le place en tête de liste, il fonctionne mais les suivants ne fonctionnent plus. Ce coup-ci je n'ai pas fait l'idiot et j'avait bien mis des closeCursor() après chaque requête (même celle qui lise la liste complète de résultat).&lt;/p&gt;


&lt;p&gt;Alors que faire dans ce cas&amp;nbsp;? Après plus d'une heure j'ai trouver une solution. faire un unset(pdoStatement) derrière le closeCursor() et comme par magie tout est revenu dans l'ordre.&lt;/p&gt;


&lt;p&gt;J'apprécie travailler avec PDO globalement même si certaine fonctionnalité sont abstente oou d'autre parraisse fonctionner étrangement voir certainre qui diverge complètement de la doc.  Je doit avoir que je commence un peu à fatiguer de ce genre de mauvaise surprise.&lt;/p&gt;


&lt;p&gt;Pourquoi je rale&amp;nbsp;? Parceque pendant que je cherchait une solution à ce bug j'ai remis en cause réellement l'utilisation de PDO dans mon application. et après avoir trouver la solution j'ai repris tout mon code (quelques dizaine de millier de lignes) afin de rajouter des unset() après chaque requête. J'ai maintenant la crainte qu'un nouveau bug PDO m'oblige à revoir mon architecture ou changer de driver.&lt;/p&gt;


&lt;p&gt;Résultat ma confiance en PDO diminue d'un cran et c'est bien dommage.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2008/02/23/PHP-%3A-PDO-et-ses-miseres#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2008/02/23/PHP-%3A-PDO-et-ses-miseres#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/59</wfw:commentRss>
      </item>
    
  <item>
    <title>SERVEUR DEBIAN : Antispam email suite... et fin ?</title>
    <link>http://www.paradoxal.org/blog/post/2008/02/16/Spam-spam-spam-tu-ne-mauras-pas</link>
    <guid isPermaLink="false">urn:md5:c4b2b07fe64f242a6571a3bde8fe0857</guid>
    <pubDate>Sat, 16 Feb 2008 19:00:00 +0100</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>Serveur Debian</category>
            
    <description>&lt;p&gt;Devant l'inventivité des spammeurs (je fais un compliment ?). Il faut changer assez souvent ses méthodes pour contrer le spam.&lt;/p&gt;


&lt;p&gt;Voilà comment la petite histoire commence&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;J'ai un serveur antispam qui fonctionne à merveille&amp;nbsp;: Dspam...&lt;/p&gt;    &lt;p&gt;Avec encore une petite centaine de spam par jour sur ma boîte personnelle, Dspam se trompe en moyenne 1 fois ou 2. Des faux négatifs bien sûr, les faux positifs ceci à du m'arriver 4 fois en un an.&lt;br /&gt;
Donc à ma petite habitude - expliquée dans le tuto&amp;nbsp;: &lt;a href=&quot;http://www.paradoxal.org/blog/post/2007/08/05/Serveur-Debian-Antispam-email&quot; hreflang=&quot;fr&quot;&gt;SERVEUR DEBIAN&amp;nbsp;: Antispam email&lt;/a&gt;- j'envoie le faux négatif à &lt;q&gt;spam@domain.tld&lt;/q&gt; et hop il sera détecté la prochaine fois.&lt;/p&gt;


&lt;p&gt;Donc ce score très honorable de 98 % méritait toutes les louanges jusqu'au jour où les performances diminuées de 30 %.&lt;br /&gt;
Que se passe t-il donc&amp;nbsp;?&lt;/p&gt;


&lt;p&gt;La réponse était très simple et il n'a pas fallu chercher longtemps. Ma première idée était que les mails envoyés à &lt;q&gt;spam@domain.tld&lt;/q&gt; n'était plus transférés ou mal intégrés donc la reconnaissance de spams s'en retrouvait altérée. Rien de cela en fait. Dès que j'ai ouvert le log &lt;q&gt;mail.info&lt;/q&gt; j'ai découvert la mascarade&amp;nbsp;: &lt;br /&gt;
Mes chères ennemis spammeurs envoient leurs courriers directement à &lt;q&gt;ham@domain.tld&lt;/q&gt; qui les accepte gracieusement et - en quelque sorte - les whiteliste avant que le spammeur fasse un second envoie dans les boîtes réelles ce coup-ci.&lt;/p&gt;


&lt;p&gt;Après la découverte de cette macabre entreprise, je me mis en tête de trouver une solution. &lt;br /&gt;
La première idée c'est de changer l'adresse &lt;q&gt;ham@domain.tld&lt;/q&gt;. Pourquoi pas, c'est une idée simple et peu coûteuse. Mais embêtante pour les utilisateurs qui doivent mémoriser cette adresse qui pourrait, de plus, changer de nouveau etc... Si l'adresse &lt;q&gt;ham@domain.tld&lt;/q&gt; à pu être trouver par déduction, en suivant mon tuto ou les autres ressource du web qui utilise cette méthode, comment l'adresse &lt;q&gt;1234@domain.tld&lt;/q&gt; pourrait-elle être trouvée&amp;nbsp;? Comme votre adresse personnelle à été trouvée par les spammeurs. &lt;br /&gt;
A partir du moment ou vous n'êtes pas le seul client de vos services, vous devez pensez aux utilisateurs. Prenons un utilisateur lambda - ou beta :]...&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Windows&lt;/li&gt;
&lt;li&gt;Outlook Express&lt;/li&gt;
&lt;li&gt;l'adresse 1234@domain.tld dans son carnet d'adresse&lt;/li&gt;
&lt;li&gt;Msn messenger&lt;/li&gt;
&lt;li&gt;une conversation msn&lt;/li&gt;
&lt;li&gt;clique (bêtement ?) sur votre ami(e) souhaite vous envoyer un fichier&amp;nbsp;: photos_chaudes.zip&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Qui ne cliquerai pas en fait&amp;nbsp;? :p &lt;br /&gt;
Bon vous avez compris l'utilisateur va être vérolé (s'il ne l'était pas déjà) et le virus fera joujou avec son carnet d'adresse... et &lt;q&gt;1234@domain.tld&lt;/q&gt; devra être changer vers une nouvelle adresse. &lt;br /&gt;
Tout ça pour dire que ma première idée ne va pas être celle que je vais prendre.&lt;/p&gt;


&lt;p&gt;Cela  faisait un moment que je souhaitais changer de système et c'était l'occasion d'en changer. &lt;br /&gt;
En effet transférer un mail ou deux à une adresse mail c'est cool de temps en temps mais quand la boite mail est toute neuve et le Dspam tout frais dessus, vous devez transférer 10 mails , 15 mails ou plus... Ceci devient rebutant.&lt;br /&gt;
De plus certains aiment transférer leurs mails en pièces jointes, souvent pour en transférer plusieurs d'un coup, ce qui est donc incompatible avec la méthode employée pour Dspam.&lt;br /&gt;
Le second problème de la solution «&amp;nbsp;transférer à xxx&amp;nbsp;» est que le système reste ouvert à l'extérieur donc toujours d'une manière ou d'une autre accessible à l'ennemi.&lt;/p&gt;


&lt;p&gt;La solution pour moi est donc&amp;nbsp;: &lt;br /&gt;
Pourquoi ne pas avoir un dossier dans la boîte mail ou l'on entreposerai les spams et les hams mal interprétés par Dspam afin qu'il puisse toujours apprendre et corriger ses erreurs.&lt;br /&gt;
Cette solution apporterai du confort pour l'utilisateur de la boîte qui n'aurai plus qu'à déplacer ses mails d'un dossier à l'autre et elle apporterai aussi une sécurité supplémentaire puisqu'elle ne serait pas accessible de l'extérieur.&lt;/p&gt;


&lt;p&gt;Après n'avoir pu trouvé mon bonheur auprès de Maildrop ou Procmail pour gérer un tel échange avec Dspam (peut être ai-je mal recherché). J'ai donc décidé de faire le petit script ci-dessous pour traiter les mails mal interprétés.&lt;/p&gt;


&lt;p&gt;Voici la démarche :&lt;br /&gt;
Les utilisateurs doivent créer - pour ceux qui souhaite profiter de Dspam – un dossier &lt;q&gt;Antispam&lt;/q&gt; qui contiendra deux sous-dossiers&amp;nbsp;: &lt;q&gt;spam&lt;/q&gt; et &lt;q&gt;non-spam&lt;/q&gt;.&lt;br /&gt;
Les spams non reconnus seront donc entreposés dans le dossier spam et les ham reconnu comme spam seront entreposés dans non-spam.&lt;/p&gt;


&lt;p&gt;Il ne reste plus qu'à mettre sur le serveur ce script et d'automatiser la tâche avec Cron. J'ai choisi pour moi toute les 5 minutes.&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;### Configuration&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;Dir&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mail&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;virtual&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;Spam&lt;/span&gt;=.Antispam.spam&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;Ham&lt;/span&gt;=.Antispam.non-spam&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;Trash&lt;/span&gt;=.Trash&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;### Ne plus toucher ici&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;parseDirToDspam&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; == &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;SPAM&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #007800;&quot;&gt;Type&lt;/span&gt;=spam&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;else&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #007800;&quot;&gt;Type&lt;/span&gt;=innocent&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; Message &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ls&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cur&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;find $Type : $Message&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Vérifie si le message est flaggué&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$Message&lt;/span&gt; | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;grep&lt;/span&gt; : | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;wc&lt;/span&gt; -l&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-lt&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;			&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mv&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cur&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$Message&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cur&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${Message}&lt;/span&gt;,&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;:&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;			&lt;span style=&quot;color: #007800;&quot;&gt;Message&lt;/span&gt;=&lt;span style=&quot;color: #800000;&quot;&gt;${Message}&lt;/span&gt;,&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;:&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Vérifie si le message est marqué comme lu&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$Message&lt;/span&gt; | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cut&lt;/span&gt; -d: &lt;span style=&quot;color: #660033;&quot;&gt;-f2&lt;/span&gt; | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;grep&lt;/span&gt; S | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;wc&lt;/span&gt; -l&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-lt&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;			&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mv&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cur&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$Message&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cur&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${Message}&lt;/span&gt;S&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;			&lt;span style=&quot;color: #007800;&quot;&gt;Message&lt;/span&gt;=&lt;span style=&quot;color: #800000;&quot;&gt;${Message}&lt;/span&gt;S&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Vérifie que le message n'est pas supprimé&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$Message&lt;/span&gt; | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cut&lt;/span&gt; -d: &lt;span style=&quot;color: #660033;&quot;&gt;-f2&lt;/span&gt; | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;grep&lt;/span&gt; T | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;wc&lt;/span&gt; -l&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt; == &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;			&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;continue&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# récupère la signature du message&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #007800;&quot;&gt;Signature&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cat&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cur&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$Message&lt;/span&gt; | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;grep&lt;/span&gt; X-DSPAM-Signature | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cut&lt;/span&gt; -d: &lt;span style=&quot;color: #660033;&quot;&gt;-f2&lt;/span&gt; | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sed&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-n&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'s/ //p'&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# envoie le message à DSPAM pour classification&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dspam &lt;span style=&quot;color: #660033;&quot;&gt;--user&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt; --&lt;span style=&quot;color: #007800;&quot;&gt;class&lt;/span&gt;=&lt;span style=&quot;color: #007800;&quot;&gt;$Type&lt;/span&gt; --&lt;span style=&quot;color: #007800;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;source&lt;/span&gt;&lt;/span&gt;=error --&lt;span style=&quot;color: #007800;&quot;&gt;signature&lt;/span&gt;=&lt;span style=&quot;color: #007800;&quot;&gt;$Signature&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Le nom du message qui va etre déplacé&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #007800;&quot;&gt;NewName&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$Message&lt;/span&gt; | &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cut&lt;/span&gt; -d: -f1&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; == &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;SPAM&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;			&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Suppression&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;			&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cp&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cur&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$Message&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;new&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${NewName}&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;,S&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;			&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mv&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cur&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$Message&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cur&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${Message}&lt;/span&gt;T&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;else&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;			&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Restauration&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;			&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sed&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-e&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'s/&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\[&lt;/span&gt;SPAM&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\]&lt;/span&gt;//'&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cur&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$Message&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cur&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${NewName}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;			&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mv&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cur&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$Message&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cur&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${Message}&lt;/span&gt;T			&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Parse les domaines présent dans le $Dir&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; Domain &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ls&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$Dir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;	&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# entre dans le domaine	&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;!&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-d&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$Dir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$Domain&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;continue&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;	&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Domaine : $Domain&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; User &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ls&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$Dir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$Domain&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# entre dans l'utilisateur&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;!&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-d&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$Dir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$Domain&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$User&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;			&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;continue&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;User : $User&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;!&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-d&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$Dir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$Domain&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$User&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$Spam&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;			&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;continue&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		parseDirToDspam SPAM &lt;span style=&quot;color: #007800;&quot;&gt;$Dir&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$Domain&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$User&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$Spam&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$Trash&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;!&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-d&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$Dir&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$Domain&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$User&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$Ham&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;			&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;continue&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;		parseDirToDspam HAM &lt;span style=&quot;color: #007800;&quot;&gt;$Dir&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$Domain&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$User&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$Ham&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;exit&lt;/span&gt; 0&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Voici ce que ce script  fait:&lt;/p&gt;


&lt;p&gt;Il inspecte &lt;q&gt;$Dir&lt;/q&gt; - ici&amp;nbsp;: &lt;q&gt;/var/mail/virtual&lt;/q&gt; - afin de trouver toutes les boites mails existantes. Pour chacune d'elle il vérifie la présence du dossier &lt;q&gt;Antispam&lt;/q&gt; et des ses deux sous dossiers.&lt;/p&gt;


&lt;p&gt;Si tout est présent il vient chercher les mails présent dans le dossier &lt;q&gt;spam&lt;/q&gt; pour traitement&amp;nbsp;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;marque le message comme lu&lt;/li&gt;
&lt;li&gt;récupère la signature dans les entêtes du message&lt;/li&gt;
&lt;li&gt;demande à Dspam de reclassifier le mail identifié par sa signature&lt;/li&gt;
&lt;li&gt;déplace le mail dans la corbeille&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ensuite il vient chercher les mails présent dans le dossier &lt;q&gt;non-spam&lt;/q&gt; pour traitement&amp;nbsp;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;marque le message comme lu&lt;/li&gt;
&lt;li&gt;récupère la signature dans les entêtes du message&lt;/li&gt;
&lt;li&gt;demande à Dspam de reclassifier le mail identifié par sa signature&lt;/li&gt;
&lt;li&gt;supprime la signature [spam] dans le sujet&lt;/li&gt;
&lt;li&gt;replace le mail dans la boite pricipale&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ainsi on peut y voir trois intérêts&amp;nbsp;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;La signature Dspam dans le contenu du mail devient inutile et l'on peut donc reparamétrer Dspam pour l'enlever.&lt;/li&gt;
&lt;li&gt;Les faux positifs se retrouve après traitement dans la boite email comme s'il avait été correctement reçu. (pas marqué comme transféré, pas de préfixe [spam] dans le sujet)&lt;/li&gt;
&lt;li&gt;La boîte d'envoi ne sera plus remplie des nombreux transferts vers &lt;q&gt;spam@...&lt;/q&gt; que vous ne ferez plus.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Si toutefois vous avez des choses à apporter à cette solution, si vous avez trouvé des erreurs, n'hésitez pas. Je suis toujours preneur. Notamment s'il existe un moyen de coupler Maildrop ou Procmail à tout ça afin de ne plus utiliser Cron pour lancer le script ce qui diminuerai les ressources consommées.&lt;/p&gt;


&lt;p&gt;Le choses à faire sont donc&amp;nbsp;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Reparamétré dspam pour qu'il pose la signature dans les entêtes du mail et non plus dans le corps du mail.&lt;/li&gt;
&lt;li&gt;supprimer les deux adresses &lt;q&gt;spam@domain.tld&lt;/q&gt; et &lt;q&gt;ham@domain.tld&lt;/q&gt;.&lt;/li&gt;
&lt;li&gt;Copier le script dans un endroit qui vous plaît. par example /usr/local/sbin et appelé le ... dspam-classify&amp;nbsp;?&lt;/li&gt;
&lt;li&gt;paramétrez le script avec votre environnement.&lt;/li&gt;
&lt;li&gt;Le script est aussi prévu uniquement pour supprimé le préfixe [spam] dans le sujet du mail. Si vous utilisez un aute préfixe, il faudra changer la commande &lt;q&gt;sed&lt;/q&gt; en conséquence.&lt;/li&gt;
&lt;li&gt;Créer un fichier dspam dans /etc/cron.d et mettez ceci dedans&amp;nbsp;:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;   root   &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;local&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;sbin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dspam-classify &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Merci pour la lecture de ce long sujet&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2008/02/16/Spam-spam-spam-tu-ne-mauras-pas#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2008/02/16/Spam-spam-spam-tu-ne-mauras-pas#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/58</wfw:commentRss>
      </item>
    
  <item>
    <title>Dotclear et le spam</title>
    <link>http://www.paradoxal.org/blog/post/2008/01/15/Dotclear-et-le-spam</link>
    <guid isPermaLink="false">urn:md5:f669eee014d1a47ac16c552c72a9033e</guid>
    <pubDate>Tue, 15 Jan 2008 14:27:00 +0100</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>Actualité</category>
            
    <description>    &lt;p&gt;Bonjour et bonne année à tous&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;Je reviens après les fêtes plus reposé que jamais. J'ai en effet quitté mon emploi ce qui me permet de respirer un peu. Pas trop quand même puisque je me lance de facto dans une nouvelle aventure.&lt;/p&gt;


&lt;p&gt;Je publie donc cette petite nouvelle pour vous souhaiter à tous bien le bonjour et aussi pour demander à tous une bonne solutions antispam pour Dotclear.&lt;/p&gt;


&lt;p&gt;Je m'explique. J'ai il y a quelques mois fermé les commentaire de ce blog (et de ceux que j'héberge) car le nombre de spam par commentaire comme rétrolien est devenue vraiment impressionnant. Au début 30 par jour était fatiguant à traiter mes tolérable. 1000 par jour est devenu impossible.
Faute de temps et de moyen j'ai donc bloqué la possibilité pour le spectateur d'effectuer une intervention sur le blog.&lt;/p&gt;


&lt;p&gt;Par la suite, en vue du nombre d'intervention par email des lecteurs - ce qui me ravie&amp;nbsp;! - Je souhaite plus que tous vous offrir de nouveau la parole ici. Je réouvre donc les commentaires. Si les spams vont se faire rare dans un premier temps, je redoute le moment où il vont arriver de nouveau.&lt;/p&gt;


&lt;p&gt;Donc si vous passé par là et que vous avez une bonne astuce. Je suis preneur.&lt;/p&gt;


&lt;p&gt;Merci à vous&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2008/01/15/Dotclear-et-le-spam#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2008/01/15/Dotclear-et-le-spam#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/57</wfw:commentRss>
      </item>
    
  <item>
    <title>Cher Petit papa noël</title>
    <link>http://www.paradoxal.org/blog/post/2007/11/11/Cher-Petit-papa-noel</link>
    <guid isPermaLink="false">urn:md5:7f2a42a923c62c6a138a009a68186805</guid>
    <pubDate>Sun, 11 Nov 2007 22:49:00 +0100</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>General</category>
        <category>2007</category><category>Inutile</category>    
    <description>    &lt;p&gt;Je t'écris ce soir pour t'envoyer ma liste de voeux&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;Alors ne perdons pas de temps en belles paroles.&lt;/p&gt;


&lt;p&gt;Je veux&amp;nbsp;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Canon EOS 40 D nu (env. 1130 €)&lt;/li&gt;
&lt;li&gt;Canon EF 16-35 F2,8 USM L (env.  1550 €)&lt;/li&gt;
&lt;li&gt;Canon EF 24-70 F2,8 USM L (env. 1450 €)&lt;/li&gt;
&lt;li&gt;Canon EF 70-200 F4 USM L IS (env. 1360 €)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Merci beaucoup&amp;nbsp;! :p&lt;/p&gt;



&lt;p&gt;Et s'il te reste de quoi fournir des cartes mémoires, batteries, saccoche ou autre je suis tout à fait preneur.
Encore merci pour ta générosité et tes 5490 € c'est trop sympa.&lt;/p&gt;


&lt;p&gt;Je compte sur toi&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2007/11/11/Cher-Petit-papa-noel#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2007/11/11/Cher-Petit-papa-noel#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/56</wfw:commentRss>
      </item>
    
  <item>
    <title>Certificat SSL multi domaine</title>
    <link>http://www.paradoxal.org/blog/post/2007/09/29/Certificat-SSL-multi-domaine</link>
    <guid isPermaLink="false">urn:md5:9b49c2cd79910302ffc23290756ad491</guid>
    <pubDate>Sat, 29 Sep 2007 19:14:00 +0200</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>Astuces</category>
            
    <description>&lt;p&gt;A un moment donné nous avons tous été amené en tant qu'administrateur à générer des certificats SSL. Des certificats pour Apache, pour votre MDA ou MTA. Ces sur ces derniers éléments que j'ai buté dernièrement.&lt;/p&gt;


&lt;p&gt;Courrier-imap-ssl mon MDA n'accepte qu'un seul certificat SSL. Comment en effet, partant de ce constat, héberger plusieurs domaines. Mon Thunderbird génère une alerte à chaque fois en précisant que le certificat n'est pas valide pour le domaine à chaque démarrage, ce qui est très embêtant.&lt;/p&gt;    &lt;p&gt;Après de nombreuses recherches avec mon ami Google pour créer un certificat valide sur plusieurs domaines j'ai fini par trouver mon bonheur.
Car oui c'est possible de créer un certificat SSL pour plusieurs domaines. C'est possible je m'en doutais car toutes les organisations de certification  proposent ce type de certificat à la vente. Et forcément ceci coûte très très cher. Trop pour moi.&lt;/p&gt;


&lt;p&gt;Alors voici la démarche à suivre. Partons de la génération d'un certificat classique. J'utilise d'entrée de jeu un fichier de configuration car c'est obligatoire pour un multi domaines.&lt;/p&gt;


&lt;p&gt;Génération d'un certificat pour mondomaine.com&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;Créez le fichier mondomaine.cnf&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;RANDFILE = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;log&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mail.info&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; req &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;default_bits = &lt;span style=&quot;color: #000000;&quot;&gt;1024&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;encrypt_key = &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;yes&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;distinguished_name = req_dn&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;x509_extensions = cert_type&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;prompt = no&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; req_dn &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;C&lt;/span&gt;=FR&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;ST&lt;/span&gt;=FRANCE&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;L&lt;/span&gt;=Paris&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;O&lt;/span&gt;=Certificat SSL pour modomaine.com&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;OU&lt;/span&gt;=Certificat SSL&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;CN&lt;/span&gt;=mondomaine.com&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;emailAddress&lt;/span&gt;=hostmaster&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;mondomaine.com&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; cert_type &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;nsCertType                      = server&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Ensuite vous lancez la commande suivante&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;openssl req &lt;span style=&quot;color: #660033;&quot;&gt;-new&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-outform&lt;/span&gt; PEM &lt;span style=&quot;color: #660033;&quot;&gt;-config&lt;/span&gt; mondomaine.cnf \&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #660033;&quot;&gt;-out&lt;/span&gt; mondomaine.cert &lt;span style=&quot;color: #660033;&quot;&gt;-newkey&lt;/span&gt; rsa:&lt;span style=&quot;color: #000000;&quot;&gt;2048&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-nodes&lt;/span&gt; \&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #660033;&quot;&gt;-keyout&lt;/span&gt; mondomaine.key &lt;span style=&quot;color: #660033;&quot;&gt;-keyform&lt;/span&gt; PEM &lt;span style=&quot;color: #660033;&quot;&gt;-days&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;365&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-x509&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Voilà, des options peuvent variées dans la ligne de commande en fonction du certificat créé mais le principe est là.&lt;/p&gt;


&lt;p&gt;Maintenant procédons à la génération d'un certificat SSL (format PEM) pour courrier-imap-ssl pour les domaines imaps.mondomaine.com et imaps.monautredomaine.com&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;Créez votre fichier de configuration&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash &quot; style=&quot;background-color: #f9f9f9;&quot; class=&quot; bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;RANDFILE = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;log&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mail.info&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; req &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;default_bits = &lt;span style=&quot;color: #000000;&quot;&gt;1024&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;encrypt_key = &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;yes&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;distinguished_name = req_dn&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;x509_extensions = cert_type&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;prompt = no&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; req_dn &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;C&lt;/span&gt;=FR&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;ST&lt;/span&gt;=FRANCE&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;L&lt;/span&gt;=Paris&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;O&lt;/span&gt;=IMAP MDA&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;OU&lt;/span&gt;=IMAPS SSL key&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;CN&lt;/span&gt;=imaps.mondomaine.com&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;emailAddress&lt;/span&gt;=postmaster&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;mondomaine.com&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; cert_type &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;basicConstraints                = critical,CA:FALSE&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;nsCertType                      = server&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;nsComment                       = &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Serveur COURIER IMAP SSL&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;subjectKeyIdentifier            = &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;hash&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;authorityKeyIdentifier          = keyid,issuer:always&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;subjectAltName                  = DNS:imaps.mondomaine.com,DNS:imaps.monautredomaine.com&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;issuerAltName                   = issuer:copy&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;keyUsage                        = keyEncipherment, digitalSignature&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;&quot;&gt;extendedKeyUsage                = serverAuth&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Ici on voit que l'on garde un domaine principal et que l'on créé en fait un domaine alias au domaine principal.&lt;/p&gt;


&lt;p&gt;Il vous reste à lancer la génération du certificat comme un certificat normal.&lt;/p&gt;


&lt;p&gt;Et voilà le tour est joué.
Si vous avez d'autres infos, je suis preneur&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2007/09/29/Certificat-SSL-multi-domaine#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2007/09/29/Certificat-SSL-multi-domaine#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/55</wfw:commentRss>
      </item>
    
  <item>
    <title>Eclispe - PDT sort en version finale !</title>
    <link>http://www.paradoxal.org/blog/post/2007/09/20/Eclispe-PDT-sort-en-version-finale</link>
    <guid isPermaLink="false">urn:md5:fd2e9681860fe736e11fbeb534b0f08a</guid>
    <pubDate>Thu, 20 Sep 2007 22:22:00 +0200</pubDate>
    <dc:creator>Seza</dc:creator>
        <category>Actualité</category>
        <category>2007</category><category>Eclipse</category><category>IDE</category><category>PHP</category><category>Zend</category>    
    <description>    &lt;p&gt;Enfin après des mois d'attente, &lt;a href=&quot;http://www.eclipse.org/pdt/&quot; hreflang=&quot;fr&quot;&gt;PDT&lt;/a&gt; le plugin pour l'IDE Eclipse sort en version 1.0. Que pensez-vous de
cette nouvelle mouture&amp;nbsp;? D'ailleurs je me demande quels sont vos plugins préférés sur Eclispe. J'ai découvert &lt;a href=&quot;http://www.aptana.com/&quot; hreflang=&quot;fr&quot;&gt;Aptana&lt;/a&gt; il y a seulement 3 jours à travers le blog de &lt;a href=&quot;http://www.durcommefaire.net/2007/09/18/732-sortie-de-pdt&quot; hreflang=&quot;fr&quot;&gt;Jean-Marc Fontaine&lt;/a&gt; et il a l'air excellent&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;De quoi donnez des idées pour de nouveaux projets...&lt;/p&gt;</description>
    
    
    
          <comments>http://www.paradoxal.org/blog/post/2007/09/20/Eclispe-PDT-sort-en-version-finale#comment-form</comments>
      <wfw:comment>http://www.paradoxal.org/blog/post/2007/09/20/Eclispe-PDT-sort-en-version-finale#comment-form</wfw:comment>
      <wfw:commentRss>http://www.paradoxal.org/blog/feed/atom/comments/54</wfw:commentRss>
      </item>
    
</channel>
</rss>
