﻿<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://dev.flyou.net/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>Flyou.net [Dev] : Développements</title>
  <link>http://dev.flyou.net/</link>
  <description></description>
  <language>fr</language>
  <pubDate>Fri, 13 Jun 2008 15:12:05 +0200</pubDate>
  <copyright>2004-2008</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Quelle est mon IP ? v0.02</title>
    <link>http://dev.flyou.net/post/2008/05/11/Quelle-est-mon-IP-v002</link>
    <guid isPermaLink="false">urn:md5:005e3c478d499274c2b9d2dd59821c9f</guid>
    <pubDate>Sun, 11 May 2008 02:31:00 +0200</pubDate>
    <dc:creator>Flyounet</dc:creator>
        <category>Outils &amp; Développements</category>
        <category>"Quelle est mon IP"</category><category>PHP</category>    
    <description>    &lt;p&gt;C'est souvent une question que ma famille se pose, et donc me pose. Je leur ai fait un petit bout de code que je vous livre &lt;a href=&quot;http://dev.flyou.net/ip&quot; hreflang=&quot;fr&quot; title=&quot;Petite application donnant l&amp;#039;information voulue&quot;&gt;ici&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://dev.flyou.net/post/2008/05/11/Quelle-est-mon-IP-v002#comment-form</comments>
      <wfw:comment>http://dev.flyou.net/post/2008/05/11/Quelle-est-mon-IP-v002#comment-form</wfw:comment>
      <wfw:commentRss>http://dev.flyou.net/feed/rss2/comments/10</wfw:commentRss>
      </item>
    
  <item>
    <title>AnalDup.sh v0.21 (anciennement allcompare.sh)</title>
    <link>http://dev.flyou.net/post/2008/04/10/AnalDupsh-v021-anciennement-allcomparesh</link>
    <guid isPermaLink="false">urn:md5:42e97141941c93057853593e0a6e52c2</guid>
    <pubDate>Thu, 10 Apr 2008 22:41:00 +0200</pubDate>
    <dc:creator>Flyounet</dc:creator>
        <category>Outils &amp; Développements</category>
        <category>allcompare</category><category>AnalDup</category><category>Script</category><category>Shell</category>    
    <description>&lt;h2&gt;Script shell pour trouver vos fichiers dupliqués.&lt;/h2&gt;

&lt;p&gt;Cette mise à jour (et ce changement de nom depuis la version 0.20) est un début de la mise en place de la limitation du nombre de traitements concurrents.&lt;/p&gt;    &lt;p&gt;Cette version est remplie de débug. Cependant, elle est fonctionnelle et la limite de fonctionne pour l'instant que sur la recherche des fichiers. Pour contrôler cette fonction, l'argument &lt;code&gt;-y&lt;/code&gt; sera utilisé.&lt;/p&gt;


&lt;h3&gt;Un peu d'aide&amp;nbsp;:&lt;/h3&gt;

&lt;pre&gt;~# ./allcompare.sh -h
 [-h] [-P] [-M|-S] [-R] [-i bytes] [-I bytes] [-o filename] [-t directory] [-f filename|-s FS]*
 -h             this help
 -K             do not remove temporary folder at end
 -Q             do not write any information (quiet mode) (only errors will be written)
 -P             do not parallelize research
 -M             use md5sum for file analyze
 -S             use sha1sum for file analyze (default)
 -R             don't search recursivly
 -y max proc.   number of maximum concurrent process (default 10)
 -i bytes       don't search files that have more than -i bytes
 -I bytes       don't search files that have less than -I bytes
 -o filename    write results to this file
 -t directory   use this directory as prefix for temporary files
 -f filename    find FS in the file instead of argument
 -s FS          filesystem are separated by a semi colon
 *              Mandatory field&lt;/pre&gt;

&lt;p&gt;A vu de nez, ça devrait se comprendre tout seul, mais bon, dans le doute...&lt;br /&gt;
Le &lt;code&gt;-K&lt;/code&gt; est utile si on veut débugguer,&lt;br /&gt;
Le &lt;code&gt;-Q&lt;/code&gt; est utile pour les batch,&lt;br /&gt;
Le &lt;code&gt;-P&lt;/code&gt; existe mais c'est dommage de l'utiliser, ça ralenti grandement la recherche,&lt;br /&gt;
Le &lt;code&gt;-M&lt;/code&gt; est là si le md5sum n'existe pas...&lt;br /&gt;
Le &lt;code&gt;-R&lt;/code&gt; est là pour les cochons qui mettent tout dans le même répertoire,&lt;br /&gt;
Le &lt;code&gt;-y&lt;/code&gt; est utile pour contrôler le nombre maximum de processus devant tourner simultanément (valeur par défaut 10),&lt;br /&gt;
Les &lt;code&gt;-i&lt;/code&gt; et &lt;code&gt;-I&lt;/code&gt;&lt;sup&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/04/10/#pnote-9-1&quot; id=&quot;rev-pnote-9-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; permettent de limiter la recherche sur des fichiers d'une taille donnée,&lt;br /&gt;
Le &lt;code&gt;-o&lt;/code&gt; est là pour indiquer un fichier de sortie,&lt;br /&gt;
Le &lt;code&gt;-t&lt;/code&gt; m'est utile pour les batchs (maintenant ça peut servir à quelqu'un d'autre),&lt;br /&gt;
Le &lt;code&gt;-f&lt;/code&gt; ressemble au &lt;code&gt;-s&lt;/code&gt; sauf qu'il faut le mettre dans un fichier,&lt;br /&gt;
Il est obligatoire d'avoir au le &lt;code&gt;-f&lt;/code&gt; ou le &lt;code&gt;-s&lt;/code&gt;...&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/04/10/#rev-pnote-9-1&quot; id=&quot;pnote-9-1&quot;&gt;1&lt;/a&gt;] Minuscule et majuscule...&lt;/p&gt;&lt;/div&gt;
</description>
    
          <enclosure url="http://dev.flyou.net/public/allcompare/changelog.txt"
      length="9848" type="text/plain" />
          <enclosure url="http://dev.flyou.net/public/allcompare/AnalDup.sh_v0.21"
      length="25704" type="text/plain" />
    
    
          <comments>http://dev.flyou.net/post/2008/04/10/AnalDupsh-v021-anciennement-allcomparesh#comment-form</comments>
      <wfw:comment>http://dev.flyou.net/post/2008/04/10/AnalDupsh-v021-anciennement-allcomparesh#comment-form</wfw:comment>
      <wfw:commentRss>http://dev.flyou.net/feed/rss2/comments/9</wfw:commentRss>
      </item>
    
  <item>
    <title>Problème de Proxy avec Dotclear 2</title>
    <link>http://dev.flyou.net/post/2008/04/09/Probleme-de-Proxy-avec-Dotclear-2</link>
    <guid isPermaLink="false">urn:md5:82812f782cd0f720a6722786cd672af8</guid>
    <pubDate>Wed, 09 Apr 2008 15:47:00 +0200</pubDate>
    <dc:creator>Flyounet</dc:creator>
        <category>Documentations</category>
        <category>Doc.</category><category>Dotclear</category><category>PHP</category>    
    <description>    &lt;p&gt;Dans le billet &lt;a href=&quot;http://forum.dotclear.net/viewtopic.php?id=23038&quot; hreflang=&quot;fr&quot; title=&quot;L&amp;#039;excellent forum de Dotclear&quot;&gt;Problème de connexion si on passe par un firewall/proxy (??)&lt;/a&gt; (dans le forum &lt;a href=&quot;http://forum.dotclear.net/viewforum.php?id=3&quot; hreflang=&quot;fr&quot;&gt;[dc1] Bugs&lt;/a&gt;), il est fait mention de personnes ayant des difficultées car ils sont derrières une ferme de proxy (comme moi). Or les 3 peerings que j'ai au boulot font que le premier octet de l'IP de chaque proxy est différent.&lt;/p&gt;


&lt;p&gt;Alors voici un petit hack de rien du tout&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;Une rapide modification de &lt;code&gt;inc/clearbricks/common/lib.http.php&lt;/code&gt; peut aider les utilisateurs de proxy.&lt;/p&gt;


&lt;p&gt;En modifiant la fonction &lt;code&gt;browserUID&lt;/code&gt;, on peut faire un petit hack qui baisse la sécurité en remplaçant la ligne&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;$uid .= substr($ip,0,strpos($ip,'.'));&lt;/pre&gt;

&lt;p&gt;par&lt;/p&gt;

&lt;pre&gt;if ($ip != 'ip_de_proxy_1' &amp;amp;&amp;amp; $ip != 'ip_de_proxy_2') {
        $uid .= substr($ip,0,strpos($ip,'.'));
}&lt;/pre&gt;

&lt;p&gt;Etant donné que j'ai du BlueCoat comme proxy, je me base aussi sur le HTTP_X_BLUECOAT_VIA et le HTTP_VIA pour ajouter un peu de sécurité quand les IP du Proxy sont utilisées.&lt;/p&gt;


&lt;p&gt;Ma petite fonction browserUID est plus dans ce genre&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;if ($ip != 'ip_de_proxy_1' &amp;amp;&amp;amp; $ip != 'ip_de_proxy_2') {
        $uid .= substr($ip,0,strpos($ip,'.'));
} else {
        $uid .= $_SERVER[HTTP_X_BLUECOAT_VIA];
}&lt;/pre&gt;

&lt;p&gt;Cela n'est bien sûr applicable que si mon HTTP_X_BLUECOAT_VIA me renvoie toujours la même information pour un site donné (idem avec le HTTP_VIA).&lt;/p&gt;


&lt;p&gt;Le mieux serait que je me sorte les doigts et que je modifie l'admin pour avoir un champ 'liste de proxy' et un autre champ qui contiendrait la variable d'environnement du serveur à utiliser à la place du REMOTE_ADDR pour chaque utilisateur.&lt;/p&gt;


&lt;p&gt;Ce billet est aussi sur le &lt;a href=&quot;http://forum.dotclear.net/viewtopic.php?id=33093&quot; hreflang=&quot;fr&quot;&gt;forum&lt;/a&gt; de &lt;a href=&quot;http://www.dotclear.net&quot; hreflang=&quot;fr&quot; title=&quot;Le site officiel&quot;&gt;Dotclear&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://dev.flyou.net/post/2008/04/09/Probleme-de-Proxy-avec-Dotclear-2#comment-form</comments>
      <wfw:comment>http://dev.flyou.net/post/2008/04/09/Probleme-de-Proxy-avec-Dotclear-2#comment-form</wfw:comment>
      <wfw:commentRss>http://dev.flyou.net/feed/rss2/comments/8</wfw:commentRss>
      </item>
    
  <item>
    <title>allcompare.sh v0.15 (Blennorragie)</title>
    <link>http://dev.flyou.net/post/2008/04/08/allcomparesh-v015-Blennorragie</link>
    <guid isPermaLink="false">urn:md5:bdb0bb2ad5dc34be35932086c8d2eebe</guid>
    <pubDate>Tue, 08 Apr 2008 23:37:00 +0200</pubDate>
    <dc:creator>Flyounet</dc:creator>
        <category>Outils &amp; Développements</category>
        <category>allcompare</category><category>Script</category><category>Shell</category>    
    <description>&lt;h2&gt;Permettre à tous vos petits fichiers en double&lt;sup&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/04/08/#pnote-7-1&quot; id=&quot;rev-pnote-7-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; d'être trouvés (même s'ils n'ont pas le même nom).&lt;/h2&gt;


&lt;p&gt;Je me doute qu'il doit bien exister une tétra chier de programme du même genre, mais ceux que j'ai pu trouver étaient soit graphiques, soit il me manquait quelque chose. Comme j'en ai principalement eu besoin au boulot pour mes serveurs, je suis sûr qu'il tourne sous Linux (et normalement il fonctionne encore sur AIX).&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/04/08/#rev-pnote-7-1&quot; id=&quot;pnote-7-1&quot;&gt;1&lt;/a&gt;] Triple, quadruple, quintuple, sextuple, et j'en passe...&lt;/p&gt;&lt;/div&gt;
    &lt;h3&gt;Principe de fonctionnement et intérêt&amp;nbsp;:&lt;/h3&gt;

&lt;p&gt;La plupart des outils que j'ai pu tester étaient assez lents dans leur fonctionnement. Le présent script étant principalement utilisé sur des serveurs, j'ai tenté d'optimiser un peu la recherche et l'analyse.
&lt;br /&gt;Ainsi, lorsque l'on cherche à comparer le contenu de répertoires il peut arriver que ces répertoires soient sur des disques physiques différents.&lt;/p&gt;


&lt;p&gt;Afin de rechercher plus vite on peut lancer plusieurs processus simultanéement. Le problème est que si on lance ces processus sur le même disque, on va se retrouver avec une contention au niveau du disque. C'est pourquoi le script tente de vérifier si les répertoires se trouvent ou sur le même disque. Dans l'&lt;a href=&quot;http://dev.flyou.net/post/2008/04/08/#ExempleUtilisation&quot; hreflang=&quot;fr&quot;&gt;exemple&lt;/a&gt; ci-dessous, plusieurs répertoires sont indiqués en ligne de commande. Comme ces répertoires sont sur des disques différents, le script traitera en parallèle les trois pour la recherche de fichiers&lt;sup&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/04/08/#pnote-7-1&quot; id=&quot;rev-pnote-7-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;.&lt;/p&gt;


&lt;h3&gt;Utilisation&amp;nbsp;:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Première nécessité&amp;nbsp;: Un shell digne de ce nom&amp;nbsp;! (KSH, Bash, Tcsh, Zsh, etc.)&lt;sup&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/04/08/#pnote-7-2&quot; id=&quot;rev-pnote-7-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;.&lt;/li&gt;
&lt;li&gt;Dernière nécessité&lt;sup&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/04/08/#pnote-7-3&quot; id=&quot;rev-pnote-7-3&quot;&gt;3&lt;/a&gt;]&lt;/sup&gt;&amp;nbsp;: Lancer votre ligne de commande.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Exemple d'utilisation&amp;nbsp;: &lt;a name=&quot;ExempleUtilisation&quot;&gt;&lt;/a&gt;&lt;/h3&gt;

&lt;pre&gt;~# ./allcompare.sh -o ./Results4.comp -s '/mnt/partage/::/mnt/stockage/::/mnt/grosvol/' -i 50
+ Verifications... Done
 - sha1sum will be used.
 - Destination file will be : ./Results4.comp
 - Temp. dir. will be /tmp/allcompare.sh.24559
+ Analyse arguments... Done
+ Tri des FS... Done
+ Recherche des fichiers...
            sur /mnt/partage/... Done
            sur /mnt/grosvol/... Done
            sur /mnt/stockage/... Done
  Recherche des fichiers... Done
+ Recherche des doublons par taille... Files: 4470 - 0byte: 865 - Uniques: 0 - Doublons: 49 - Errors: 1 ... Done
+ Analyse des doublons... 0%....10%....20%....30%....40%......55%....65%....75%....85%....95%.100% Done&lt;/pre&gt;


&lt;h3&gt;Exemple de résultat (avec la commande utilisée ci-dessus)&amp;nbsp;:&lt;/h3&gt;

&lt;pre&gt;################################################################################
1) 2 fichiers de 49 octets [hash : 12cf188999d9640f9af759d6b1c601535da87398]
1) /mnt/stockage/Sauvegarde_LocoWeb/20070404/www.flyou.net/simple/modules/FCKeditorX/FCKeditor/editor/images/arrow_ltr.gif
2) /mnt/stockage/loco/www.flyou.net/simple/modules/FCKeditorX/FCKeditor/editor/images/arrow_ltr.gif&lt;/pre&gt;


&lt;pre&gt;################################################################################
2) 8 fichiers de 49 octets [hash : 1ddefee04dc9e9b2576dc34eebcfa3de4aa82af9]
1) /mnt/stockage/Xavier/programme/Appz/winvnc/setup.lid
2) /mnt/stockage/Xavier/programme/x86/setup/setup.lid
3) /mnt/grosvol/Xavier/stockage/System Volume Information/_restore{B913CFC4-85E1-4B1A-8199-ED123641429C}/RP1434/A0915362.lid
4) /mnt/grosvol/Xavier/stockage/System Volume Information/_restore{B913CFC4-85E1-4B1A-8199-ED123641429C}/RP1434/A0915369.lid
5) /mnt/grosvol/Xavier/stockage/System Volume Information/_restore{B913CFC4-85E1-4B1A-8199-ED123641429C}/RP1434/A0920147.lid
6) /mnt/grosvol/Xavier/stockage/System Volume Information/_restore{B913CFC4-85E1-4B1A-8199-ED123641429C}/RP1434/A0919736.lid
7) /mnt/grosvol/Xavier/stockage/Applications/Ekod21.F/SETUP16.AN/SETUP.LID
8) /mnt/grosvol/Récupération P/WebSphere/AppServer406/binaire/setup.lid&lt;/pre&gt;


&lt;pre&gt;################################################################################
5) 4 fichiers de 49 octets [hash : 356359c447b5bedfcae514d59a0841c7a0c7fe19]
1) /mnt/partage/NoteBook/C/temp/coppermine-1.1.0/themes/water_drop/images/bg.gif
2) /mnt/stockage/Sauvegarde_LocoWeb/20070404/www.flyounet.net/Gally/themes/water_drop/images/bg.gif
3) /mnt/stockage/Vaio/Vaio_D/G.Pourcel/Mes documents/www/gpourcel/www.flyounet.net/Gally/themes/water_drop/images/bg.gif
4) /mnt/grosvol/MovieX/_Sauvegarde_PC_/FTP/www.flyounet.net/Gally/themes/water_drop/images/bg.gif&lt;/pre&gt;


&lt;h3&gt;Un peu d'aide&amp;nbsp;:&lt;/h3&gt;

&lt;pre&gt;~# ./allcompare.sh -h
 [-h] [-P] [-M|-S] [-R] [-i bytes] [-I bytes] [-o filename] [-t directory] [-f filename|-s FS]*
 -h             this help
 -K             do not remove temporary folder at end
 -Q             do not write any information (quiet mode) (only errors will be written)
 -P             do not parallelize research
 -M             use md5sum for file analyze
 -S             use sha1sum for file analyze (default)
 -R             don't search recursivly
 -i bytes       don't search files that have more than -i bytes
 -I bytes       don't search files that have less than -I bytes
 -o filename    write results to this file
 -t directory   use this directory as prefix for temporary files
 -f filename    find FS in the file instead of argument
 -s FS          filesystem are separated by a semi colon
 *              Mandatory field&lt;/pre&gt;

&lt;p&gt;A vu de nez, ça devrait se comprendre tout seul, mais bon, dans le doute...&lt;br /&gt;
Le &lt;code&gt;-K&lt;/code&gt; est utile si on veut débugguer,&lt;br /&gt;
Le &lt;code&gt;-Q&lt;/code&gt; est utile pour les batch,&lt;br /&gt;
Le &lt;code&gt;-P&lt;/code&gt; existe mais c'est dommage de l'utiliser, ça ralenti grandement la recherche,&lt;br /&gt;
Le &lt;code&gt;-M&lt;/code&gt; est là si le md5sum n'existe pas...&lt;br /&gt;
Le &lt;code&gt;-R&lt;/code&gt; est là pour les cochons qui mettent tout dans le même répertoire,&lt;br /&gt;
Les &lt;code&gt;-i&lt;/code&gt; et &lt;code&gt;-I&lt;/code&gt;&lt;sup&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/04/08/#pnote-7-4&quot; id=&quot;rev-pnote-7-4&quot;&gt;4&lt;/a&gt;]&lt;/sup&gt; permettent de limiter la recherche sur des fichiers d'une taille donnée,&lt;br /&gt;
Le &lt;code&gt;-o&lt;/code&gt; est là pour indiquer un fichier de sortie,&lt;br /&gt;
Le &lt;code&gt;-t&lt;/code&gt; m'est utile pour les batchs (maintenant ça peut servir à quelqu'un d'autre),&lt;br /&gt;
Le &lt;code&gt;-f&lt;/code&gt; ressemble au &lt;code&gt;-s&lt;/code&gt; sauf qu'il faut le mettre dans un fichier,&lt;br /&gt;
Il est obligatoire d'avoir au le &lt;code&gt;-f&lt;/code&gt; ou le &lt;code&gt;-s&lt;/code&gt;...&lt;/p&gt;


&lt;h3&gt;Tu aimes l'anglais et ce bout de script&amp;nbsp;?&lt;/h3&gt;

&lt;p&gt;Engages toi et deviens traducteur officiel, de ce billet, de ce script qui marchotte et du reste du site. Il est cependant nécessaire que tu répondes à quelques critères afin que s'avancent vers toi la gloire, la félicité, le bonheur, les femmes, par contre il n'y a pas d'argent à se faire...&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Moins de 29 ans et demi,&lt;/li&gt;
&lt;li&gt;Bac +8 minimum,&lt;/li&gt;
&lt;li&gt;19 ans trois quart de pratique dans la traduction français - anglais,&lt;/li&gt;
&lt;li&gt;3d4+3 ans de pratique dans la traduction anglais - français,&lt;/li&gt;
&lt;li&gt;6 ans de pratique dans les massages,&lt;/li&gt;
&lt;li&gt;Ouvert(e) d'esprit,&lt;/li&gt;
&lt;li&gt;Prenant des initatives,&lt;/li&gt;
&lt;li&gt;Sentant bon la fraise.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Il est évident que si tu t'engages en étant brune&lt;sup&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/04/08/#pnote-7-5&quot; id=&quot;rev-pnote-7-5&quot;&gt;5&lt;/a&gt;]&lt;/sup&gt;, et bien de ta personne ce sera un gros plus. Puisque, j'écris souvent des scripts (qui ne servent pas forcément), je peux potentiellement avoir plein de poste à pourvoir dans le même domaine.&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/04/08/#rev-pnote-7-1&quot; id=&quot;pnote-7-1&quot;&gt;1&lt;/a&gt;] Si j'avais utilisé ce script seulement sur &lt;code&gt;/mnt&lt;/code&gt; le script n'aurait lancé qu'un seul processus.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/04/08/#rev-pnote-7-2&quot; id=&quot;pnote-7-2&quot;&gt;2&lt;/a&gt;] Mieux vaut du &lt;acronym title=&quot;Korn Shell&quot;&gt;KSH&lt;/acronym&gt;; j'ai pas eu le temps de tester ailleurs&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/04/08/#rev-pnote-7-3&quot; id=&quot;pnote-7-3&quot;&gt;3&lt;/a&gt;] Ah bon déjà ? Bah, oui ! Sauf si vous préférez la version longue avec configuration de fichiers...&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/04/08/#rev-pnote-7-4&quot; id=&quot;pnote-7-4&quot;&gt;4&lt;/a&gt;] Minuscule et majuscule...&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/04/08/#rev-pnote-7-5&quot; id=&quot;pnote-7-5&quot;&gt;5&lt;/a&gt;] Si ton prénom est Gwendoline, je t'épouse de suite et je vire ma femme !&lt;/p&gt;&lt;/div&gt;
</description>
    
          <enclosure url="http://dev.flyou.net/public/allcompare/allcompare.sh_v0.15"
      length="25582" type="text/plain" />
          <enclosure url="http://dev.flyou.net/public/allcompare/allcompare_changelog.txt"
      length="8323" type="text/plain" />
    
    
          <comments>http://dev.flyou.net/post/2008/04/08/allcomparesh-v015-Blennorragie#comment-form</comments>
      <wfw:comment>http://dev.flyou.net/post/2008/04/08/allcomparesh-v015-Blennorragie#comment-form</wfw:comment>
      <wfw:commentRss>http://dev.flyou.net/feed/rss2/comments/7</wfw:commentRss>
      </item>
    
  <item>
    <title>Améliorer son utilisation de SSH (client)</title>
    <link>http://dev.flyou.net/post/2008/03/30/Ameliorer-son-utilisation-de-SSH-client</link>
    <guid isPermaLink="false">urn:md5:7402496ad9e35d68d7710a8365b16d70</guid>
    <pubDate>Sun, 30 Mar 2008 22:27:00 +0200</pubDate>
    <dc:creator>Flyounet</dc:creator>
        <category>Documentations</category>
        <category>Doc.</category><category>Shell</category><category>ssh</category>    
    <description>&lt;p&gt;Comme beaucoup de monde, j'utilise énormément &lt;a href=&quot;http://openssh.org/&quot; hreflang=&quot;en&quot; title=&quot;FREE version of the SSH connectivity tools&quot;&gt;SSH&lt;/a&gt; et j'ai régulièrement quatre à cinq connexions vers la même machine. Que ce soit avec différents terminaux ou en utilisant &lt;a href=&quot;http://fr.wikipedia.org/wiki/GNU_Screen&quot; hreflang=&quot;fr&quot; title=&quot;Page Wikipediaque de ce multiplexeur de terminaux&quot;&gt;GNU Screen&lt;/a&gt; le résultat est toujours le même plusieurs connexions réseau.&lt;/p&gt;    &lt;p&gt;Ci-dessous on constate deux sessions établies&lt;sup&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/03/30/#pnote-6-1&quot; id=&quot;rev-pnote-6-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; et deux processus distincts&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;mst:~#  netstat -lapute | grep ESTA | grep ssh
tcp        0      0 mst:33449          syphilis:https          ESTABLISHEDfly        15194011   17430/ssh
tcp        0      0 mst:49494          syphilis:https          ESTABLISHEDfly        15192811   17290/ssh
mst:~# ps -ef | grep ssh
fly      17290  4851  0 22:09 pts/8    00:00:00 ssh -p 443 fly@syphilis
fly      17430 17266  0 22:55 pts/10   00:00:00 ssh -p 443 fly@syphilis&lt;/pre&gt;


&lt;p&gt;Maintenant, utilisons correctement SSH&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;mst:~# ps -ef | grep ssh
fly      17290  4851  0 22:09 pts/8    00:00:00 ssh -p 443 fly@syphilis
fly      17430 17266  0 22:55 pts/10   00:00:00 ssh -p 443 fly@syphilis
fly      17470 17253  0 23:30 pts/9    00:00:00 ssh -p 443 fly@syphilis
mst:~#  netstat -lapute | grep ESTA | grep ssh
tcp        0      0 mst:33449          syphilis:https          ESTABLISHEDfly        15194011   17430/ssh
tcp        0      0 mst:49494          syphilis:https          ESTABLISHEDfly        15192811   17290/ssh&lt;/pre&gt;


&lt;p&gt;Comme vous le constatez on voit trois processus, mais seulement deux connexions réseau établies. Magique non&amp;nbsp;? Et bien non, c'est le pouvoir du &lt;em&gt;ControlMaster&lt;/em&gt;.&lt;/p&gt;


&lt;h3&gt;&lt;em&gt;ControlMaster&lt;/em&gt; kesako&amp;nbsp;?&lt;/h3&gt;


&lt;p&gt;Le &lt;em&gt;ControlMaster&lt;/em&gt; est votre ami&amp;nbsp;! Et en plus il vous veut du bien. Son seul défaut est qu'il existe en deux parfums&amp;nbsp;: soit une version inférieure à la version 4 d'&lt;a href=&quot;http://openssh.org/&quot; hreflang=&quot;en&quot; title=&quot;FREE version of the SSH connectivity tools&quot;&gt;OpenSSH&lt;/a&gt; soit la version 4 ou mieux.
&lt;br /&gt;Son principe est un peu le même que GNU Screen, il permet de multiplexer les connexions. Grosso modo, vous ouvrez une première session (donc une connexion réseau) vers une machine. Puis toute nouvelle session n'utilisera plus que la première connexion réseau établie comme on le voit ci-dessus.
&lt;br /&gt;Dans les faits, cela se traduit par une socket qui permet aux différentes sessions de se taper la discut' au travers d'une unique connexion.&lt;/p&gt;


&lt;p&gt;Le plus simple est de commencer avec une vielle version (et donc un goût assez old fashion). Anciennement, cette fonctionnalité de SSH était manuelle, on devait d'abord déclarer la première session comme &lt;em&gt;master&lt;/em&gt; et les suivantes comme des sessions &lt;em&gt;normales&lt;/em&gt;.&lt;/p&gt;


&lt;pre&gt;fly@mst:~$ ssh -p 443 -M -S /tmp/master-fly@siphilis\:443 fly@syphilis
fly@syphilis's password:
fly@syphilis:~$&lt;/pre&gt;


&lt;p&gt;Le paramètre &lt;code&gt;-M&lt;/code&gt; est celui indiquant que l'on active le &lt;em&gt;ControlMaster&lt;/em&gt;, le &lt;code&gt;-S /tmp/master-fly@siphilis\:443&lt;/code&gt; indique la socket utilisée pour le multiplexage..&lt;/p&gt;


&lt;pre&gt;fly@mst:~$ ls -l /tmp/master-fly@siphilis\:443 
srw&lt;del&gt;&lt;/del&gt;--- 1 fly fly 0 2008-03-30 22:09 /tmp/master-fly@siphilis:443&lt;/pre&gt;


&lt;p&gt;Pour ouvrir une autre session en utilisant le multiplexage, il est juste nécessaire d'utiliser la socket.&lt;/p&gt;


&lt;pre&gt;fly@mst:~$ ssh -p 443 -M -S /tmp/master-fly@siphilis\:443 fly@syphilis
fly@syphilis:~$&lt;/pre&gt;


&lt;p&gt;Vous voilà donc avec plusieurs sessions SSH, mais une seule connexion réseau. En outre si vous regardez bien, la dernière phase de login juste au dessus, vous constaterez que le mot de passe n'est plus demandé. Il n'y a ici aucune clé d'utilisée, c'est simplement dû au fait que la première session est déjà authentifiée.&lt;/p&gt;


&lt;p&gt;Pour l'utilisation avec une version récente d'OpenSSH, apprendre le fonctionnement du fichier &lt;code&gt;~/.ssh/config&lt;/code&gt; est vivement recommandé car il n'est plus nécessaire de mettre d'arguments en ligne de commande. Pour cela éditez votre &lt;code&gt;~/.ssh/config&lt;/code&gt; comme suit&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;Host *
ControlPath /tmp/master-%r@%h:%p
ControlMaster auto&lt;/pre&gt;


&lt;p&gt;Cette syntaxe indique que pour tous les hosts sur lesquels nous voudrons nous connecter, le &lt;em&gt;ConrtolMaster&lt;/em&gt; sera en automatique. C'est à dire que si la socket identifiée par &lt;em&gt;ControlPath&lt;/em&gt; n'existe pas SSH l'a créera, sinon elle sera utilisée.&lt;/p&gt;



&lt;h2&gt;!Remarques Importantes&amp;nbsp;:&lt;/h2&gt;


&lt;h3&gt;L'utilisation du &lt;em&gt;ControlMaster&lt;/em&gt; peut s'avérer néfaste pour votre sécurité&amp;nbsp;!&lt;/h3&gt;

&lt;p&gt;En effet, pour peu qu'une personne ai accès à votre compte (ou bien même au compte root), il lui suffit de déclarer une des socket que vous utilisez pour que la connexion de l'usurpateur soit directement authentifiée sur la machine cible.&lt;/p&gt;


&lt;pre&gt;fly      17978 17962  0 21:54 pts/14   00:00:00 ssh -M -S /tmp/trut -p 443 fly@dtc&lt;/pre&gt;


&lt;p&gt;Comme on le voit, un simple &lt;code&gt;ps -ef&lt;/code&gt; peut nous montrer la ligne de commande utilisée. Le fait d'utiliser un répertoire non sûr permettra de rapidement prendre la main sur la socket... Le mieux est d'utiliser le fichier &lt;code&gt;~/.ssh/config&lt;/code&gt; qui ne laisse plus voir par un simple &lt;code&gt;ps&lt;/code&gt; la socket utilisée. Personnellement, je pense que le &lt;code&gt;ControlPath ~/.ssh/somefile&lt;/code&gt; est un peu plus sécurisant...&lt;/p&gt;


&lt;h3&gt;L'utilisation du &lt;em&gt;ControlMaster&lt;/em&gt; peut vous faire perdre des données&amp;nbsp;!&lt;/h3&gt;

&lt;p&gt;En effet, si pour une raison quelconque vous déconnectez la session &lt;em&gt;master&lt;/em&gt;, les autres connexions resteront actives, mais si vous veniez à tuer la session &lt;em&gt; master&lt;/em&gt; alors toutes vos sessions seraient perdues&amp;nbsp;!&lt;/p&gt;


&lt;h3&gt;L'utilisation du &lt;em&gt;ControlMaster&lt;/em&gt; peut vous faire gagner un temps précieux&amp;nbsp;:&lt;/h3&gt;

&lt;p&gt;En effet, sur les machines sur lesquelles je travaille&lt;sup&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/03/30/#pnote-6-2&quot; id=&quot;rev-pnote-6-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt; actuellement, le handshake et l'authentification sont particulièrement lents. Du coup, avec le &lt;em&gt;ControlMaster&lt;/em&gt; seul ma première authentification est lente, les autres sont instantannées.&lt;/p&gt;


&lt;h3&gt;Lectures utiles&amp;nbsp;:&lt;/h3&gt;

&lt;p&gt;Pour ce petit document je me suis particulièrement inspiré des sites suivants&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://linux-attitude.fr/post/Un-tien-vaut-mieux-que-deux-connexions&quot; hreflang=&quot;fr&quot;&gt;Linux Attitude&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://linux-attitude.fr/post/Un-tien-vaut-mieux-que-deux-connexions&quot; hreflang=&quot;en&quot;&gt;Speeding Up SSH&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hsc.fr/ressources/breves/ssh_config.html.fr&quot; hreflang=&quot;fr&quot; title=&quot;Sur lequel est aussi expliqué la différence entre ControlMaster et ssh-agent&quot;&gt;HSC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.revsys.com/writings/quicktips/ssh-faster-connections.html&quot; hreflang=&quot;en&quot;&gt;Revolution System&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/03/30/#rev-pnote-6-1&quot; id=&quot;pnote-6-1&quot;&gt;1&lt;/a&gt;] Le port d'écoute est 443 (https) sur syphilis.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/03/30/#rev-pnote-6-2&quot; id=&quot;pnote-6-2&quot;&gt;2&lt;/a&gt;] Oui, oui, ça m'arrive, mais pas plus de quelques minutes après je fatigue trop...&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://dev.flyou.net/post/2008/03/30/Ameliorer-son-utilisation-de-SSH-client#comment-form</comments>
      <wfw:comment>http://dev.flyou.net/post/2008/03/30/Ameliorer-son-utilisation-de-SSH-client#comment-form</wfw:comment>
      <wfw:commentRss>http://dev.flyou.net/feed/rss2/comments/6</wfw:commentRss>
      </item>
    
  <item>
    <title>Enfin une nouvelle version</title>
    <link>http://dev.flyou.net/post/2008/01/26/Enfin-une-nouvelle-version</link>
    <guid isPermaLink="false">urn:md5:212ea4bd2f3745a73b14cfc83c418835</guid>
    <pubDate>Sat, 26 Jan 2008 19:15:00 +0100</pubDate>
    <dc:creator>Flyounet</dc:creator>
        <category>Informations</category>
            
    <description>    &lt;p&gt;Depuis que mon hébergeur&lt;sup&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/01/26/#pnote-5-1&quot; id=&quot;rev-pnote-5-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; s'est éteint (ou bientôt...), j'ai finalement migré ailleurs (vers un pays de drogues et de président pas fini...).&lt;/p&gt;


&lt;p&gt;Sachant que je n'ai pas réussi à faire créer le sous domaine &lt;code&gt;loco.flyou.net&lt;/code&gt;, je migre les scripts fonctionnant chez Loco sur ce &lt;a href=&quot;http://dev.flyounet.net&quot; hreflang=&quot;fr&quot; title=&quot;Ca fonctionnera tant que durera Loco&quot;&gt;sous-domaine&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;En espérant que j'ai le temps de régulièrement faire des mises à jour...&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2008/01/26/#rev-pnote-5-1&quot; id=&quot;pnote-5-1&quot;&gt;1&lt;/a&gt;] &lt;a href=&quot;http://www.loco-web.net&quot; hreflang=&quot;fr&quot; title=&quot;Un hébergeur qu&amp;#039;il était vraiment bien... avant...&quot;&gt;Loco-Web&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://dev.flyou.net/post/2008/01/26/Enfin-une-nouvelle-version#comment-form</comments>
      <wfw:comment>http://dev.flyou.net/post/2008/01/26/Enfin-une-nouvelle-version#comment-form</wfw:comment>
      <wfw:commentRss>http://dev.flyou.net/feed/rss2/comments/5</wfw:commentRss>
      </item>
    
  <item>
    <title>Que faire sous Windows quand on a pas de server X</title>
    <link>http://dev.flyou.net/post/2007/09/28/Que-faire-sous-Windows-quand-on-a-pas-de-server-X</link>
    <guid isPermaLink="false">urn:md5:59cb0a2bad9dcd888b207da29eb7875f</guid>
    <pubDate>Fri, 28 Sep 2007 14:26:00 +0200</pubDate>
    <dc:creator>Flyounet</dc:creator>
        <category>Documentations</category>
        <category>Doc.</category><category>Linux</category><category>Server X</category><category>Windows</category>    
    <description>    &lt;p&gt;Vous êtes dans une société qui ne vous permet pas d''utiliser XWin32&amp;nbsp;? Qui ne veut pas payer la license pour un Exceed... Alors, plus beaucoup de solution...&lt;/p&gt;


&lt;p&gt;Et pourtant c''est tout simple, ça se fait en 5 étape&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On va se chercher &lt;a href=&quot;http://freedesktop.org/wiki/Xming&quot; hreflang=&quot;en&quot; title=&quot;Site Xming&quot;&gt;Xming&lt;/a&gt;&lt;sup&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2007/09/28/#pnote-3-1&quot; id=&quot;rev-pnote-3-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;,&lt;/li&gt;
&lt;li&gt;On se télécharge les archives Xming et Xming-fonts sur &lt;a href=&quot;http://sourceforge.net/projects/xming&quot; hreflang=&quot;en&quot; title=&quot;SourceForge&quot;&gt;SourceForge&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;On s''installe Xming et Xming-fonts,&lt;/li&gt;
&lt;li&gt;On modifie le lien d''appel à Xming en ajoutant &lt;q&gt;-ac&lt;/q&gt; à la fin&lt;sup&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2007/09/28/#pnote-3-2&quot; id=&quot;rev-pnote-3-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;On lance Xming et voilà...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et après&amp;nbsp;? On demande à PuTTY de forwardé X sur localhost, et un petit &lt;code&gt;export DISPLAY&lt;/code&gt; qui va bien...&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2007/09/28/#rev-pnote-3-1&quot; id=&quot;pnote-3-1&quot;&gt;1&lt;/a&gt;] Merci l'OpenSource.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2007/09/28/#rev-pnote-3-2&quot; id=&quot;pnote-3-2&quot;&gt;2&lt;/a&gt;] Exemple : &lt;code&gt;&quot;C:\\Program Files\\Xming\\Xming.exe&quot; :0 -clipboard -multiwindow -ac&lt;/code&gt;&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://dev.flyou.net/post/2007/09/28/Que-faire-sous-Windows-quand-on-a-pas-de-server-X#comment-form</comments>
      <wfw:comment>http://dev.flyou.net/post/2007/09/28/Que-faire-sous-Windows-quand-on-a-pas-de-server-X#comment-form</wfw:comment>
      <wfw:commentRss>http://dev.flyou.net/feed/rss2/comments/3</wfw:commentRss>
      </item>
    
  <item>
    <title>MyPurgeLogs v0.05</title>
    <link>http://dev.flyou.net/post/2005/10/25/MyPurgeLogs-v005</link>
    <guid isPermaLink="false">urn:md5:ca2b719ccd662309f8c850659fc8b448</guid>
    <pubDate>Tue, 25 Oct 2005 08:56:00 +0200</pubDate>
    <dc:creator>Flyounet</dc:creator>
        <category>MyPurgeLogs</category><category>Script</category><category>Shell</category>    
    <description>&lt;h2&gt;Script Shell&amp;nbsp;: Permet la rotation et la purge de Logs.&lt;/h2&gt;


&lt;p&gt;Un grand nombre de scripts en &lt;a href=&quot;http://www.perl.org&quot; hreflang=&quot;en&quot; title=&quot;Langage de programmation Perl&quot;&gt;Perl&lt;/a&gt; existent sur Internet (ex&amp;nbsp;: &lt;a href=&quot;http://freshmeat.net/search/?q=rotate+logs&amp;amp;amp;section=projects&amp;amp;amp;Go.x=0&amp;amp;amp;Go.y=0&quot; hreflang=&quot;en&quot; title=&quot;Une liste de script de rotation de Logs&quot;&gt;FreshMeat.net&lt;/a&gt;). Le problème est que l'on a souvent un script pour la rotation des logs et un autre pour la purge (quand un find ne se ballade pas tout seul dans une crontable, une vague odeur de déjà vue ?!).&lt;/p&gt;


&lt;p&gt;Ce petit script a pour but de reconcillier les deux mondes en fournissant un seul script à lancer et un seul fichier de configuration pour tout gérer.&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
 &lt;p&gt;Ce script n'a pour l'instant été testé que sur AIX avec KSH. Si vous l'avez testé sur d'autres plateformes, n'hésitez pas à me faire un retour.&lt;/p&gt;
&lt;/div&gt;
    &lt;h3&gt;Utilisation&amp;nbsp;:&lt;/h3&gt;

&lt;p&gt;Comment utiliser cet script Shell.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Première nécessité&amp;nbsp;: Un shell digne de ce nom&amp;nbsp;! (KSH, Bash, Tcsh, Zsh, etc.)&lt;/li&gt;
&lt;li&gt;Deuxième nécessité&amp;nbsp;: Modifier le fichier de configuration.&lt;/li&gt;
&lt;li&gt;Troisième nécessité&amp;nbsp;: Vérifier que la conf n'est pas pouritte (tm)&lt;/li&gt;
&lt;li&gt;Lancement&amp;nbsp;: Exécuter le Shell&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;C'est peu simpliste, mais c'est totalement ça&amp;nbsp;! Il n'y a pas de délire de paramétrages à se faire (voir les &lt;a href=&quot;http://dev.flyou.net/post/2005/10/25/#Exemples&quot; hreflang=&quot;fr&quot; title=&quot;La rubrique des Exemples&quot;&gt;exemples&lt;/a&gt;).&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
 &lt;p&gt;La TODO Liste est encore pas mal chargée.&lt;/p&gt;
&lt;/div&gt;



&lt;h3&gt;Exemples&amp;nbsp;: &lt;a name=&quot;Exemples&quot;&gt;&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Quelques exemples sur la configuration.&lt;/p&gt;


&lt;p&gt;Ci-dessous une configuration pour la rotation de logs. On garde 15 jours de Logs de chaque fichier indiqué par &lt;code&gt;FileToWork&lt;/code&gt; dans chacun des répertoires &lt;code&gt;/apps/webservers/*/logs/&lt;/code&gt;.&lt;/p&gt;

&lt;pre&gt;
# ######################################################## #
# Ci dessous paramétrage de base pour les logs apache      #
# ######################################################## #
BEGIN

# Les répertoires et fichiers doivent subir une rotation de Logs
TypeAction::Rotate

# Pourcentage minimale du FS à laisser libre
FSMin::20

# Nombre de rotation de rétention de Log
LogDay::15

# Liste des répertoires à traiter
DirToWork::/apps/webservers/

# Les des sous répertoires de DirToWork à traiter
DirToComp::*/logs/

# Liste des fichiers à traiter dans chaque sous répertoire
FileToWork::access_log|error_log|access_log_ssl|error_log_ssl|http_plugin.log|http_access|access|error|errors|access_log_sec|error_log_sec|error_sec_log|error.log|access.log|errors|errors.log|access_sec_log|http_error|http_errors
END
&lt;/pre&gt;

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


&lt;p&gt;Ci-dessous une configuration pour la purge de fichier. On garde 1 jours des fichiers identifiés par &lt;code&gt;FileToWork&lt;/code&gt; dans chacun des répertoires de &lt;code&gt;DirToWork&lt;/code&gt;.&lt;/p&gt;

&lt;pre&gt;
# ######################################################## #
# Paramètrage pour les Javacore et HeapDump WebSphere      #
# ######################################################## #
BEGIN

# Les répertoires et fichiers doivent subir une rotation de Logs
TypeAction::Purge

# Nombre de rotation de rétention de Log
LogDay::1

# Liste des répertoires à traiter
DirToWork::/apps/WebSphere/AppServer5/|/apps/WebSphere/AppServer5b/|/apps/WebSphere/DeploymentManager5/|/apps/WebSphere/DeploymentManager5b/

# Liste des fichiers à traiter dans chaque sous répertoire
FileToWork::core|heapdump*|javacore*

END
&lt;/pre&gt;

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


&lt;p&gt;Les deux configuration précédente peuvent être incorporées au sein d'un même fichier de configuration. Tant que les blocs de paramétrages commencent bien par un &lt;code&gt;BEGIN&lt;/code&gt; et se terminent par un &lt;code&gt;END&lt;/code&gt;.&lt;/p&gt;


&lt;h3&gt;Bonus&amp;nbsp;:&lt;/h3&gt;

&lt;h4&gt;Une autre façon d'utiliser le script.&lt;/h4&gt;


&lt;p&gt;Puisque par défaut le script appelle un fichier de configuration (&lt;em&gt;MyPurgeLogs.conf&lt;/em&gt;) et que l'on peut avoir envie de faire une purge ou une rotation exceptionnelle. Le script peut prendre en compte un autre fichier de paramètres en ligne de commande.&lt;/p&gt;
&lt;pre&gt;
/apps/WebSphere/MyPurgeLogs.sh /apps/MyConfForCFTdeMerde.conf
&lt;/pre&gt;


&lt;h4&gt;Pour avoir une aide succinte&amp;nbsp;:&lt;/h4&gt;

&lt;pre&gt;
/apps/WebSphere$ ./MyPurgeLogs.sh -h

MyPurgeLogs.sh [-h] [--version] [--verify] [--FORK] [ Fichier_Config ]
 -h ou --help    : Avoir une aide.
 --version       : Affiche le numéro de version du script.
 --verify        : Vérifie la syntaxe du fichier de conf.
 Fichier_Config  : Indique le nom d'un fichier de configuration à prendre en compte.
                   Par défaut le fichier /apps/WebSphere/MyPurgeLogs.conf est utilisé.
 --FORK          : Permet de lancer le script même si une autre instance tourne.

 Il existe des fichiers  que vous pouvez utiliser pour contrôler le fonctionnement
 du script :
 _nopurgelogs    : Lorsque ce fichier est présent dans un répertoire, ce dernier n'est
                   traité par le script. Aucune action n'est effectuée.
 _purgelogs.conf : Est un fichier de configuration présent dans un répertoire, cette
                   configuration est utilisée à la place de celle par défaut.
&lt;/pre&gt;

&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
 &lt;p&gt;Comme l'indique l'aide, des fichiers peuvent modifier le fonctionnement du script lorsqu'ils sont détéctés dans un répertoire (uniquement pour la rotation).&lt;/p&gt;
&lt;/div&gt;



&lt;h3&gt;Consulter l'ancienne version de cette page :&lt;a name=&quot;AncienSite&quot;&gt;&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;http://dev.flyou.net/MyPurgeLogs/&quot; hreflang=&quot;fr&quot; title=&quot;Page statique de l&amp;#039;ancienne version.&quot;&gt;Version précédente&lt;/a&gt;&lt;/p&gt;</description>
    
          <enclosure url="http://dev.flyou.net/public/MyPurgeLogs/MyPurgeLogs.txt"
      length="6399" type="text/plain" />
          <enclosure url="http://dev.flyou.net/public/MyPurgeLogs/MyPurgeLogs_v0.05.sh"
      length="27192" type="text/plain" />
    
    
          <comments>http://dev.flyou.net/post/2005/10/25/MyPurgeLogs-v005#comment-form</comments>
      <wfw:comment>http://dev.flyou.net/post/2005/10/25/MyPurgeLogs-v005#comment-form</wfw:comment>
      <wfw:commentRss>http://dev.flyou.net/feed/rss2/comments/4</wfw:commentRss>
      </item>
    
  <item>
    <title>Fly_4Years v0.03</title>
    <link>http://dev.flyou.net/post/2005/02/26/Fly_4Years-v003</link>
    <guid isPermaLink="false">urn:md5:30f032068c0f962ed327126ac76f2bd0</guid>
    <pubDate>Sat, 26 Feb 2005 22:13:00 +0100</pubDate>
    <dc:creator>Flyounet</dc:creator>
        <category>Outils &amp; Développements</category>
        <category>Classe PHP</category><category>Fly_4Years</category>    
    <description>&lt;h2&gt;Retourne le temps restants jusqu'à une date donnée.&lt;/h2&gt;


&lt;p&gt;Puisque G.W. Bush a été ré-élu, je voulais savoir combien de temps il allait falloir attendre avant son départ.&lt;/p&gt;


&lt;p&gt;Cette Classe peut donc retourner le nombre de secondes, de minutes, d'heures ou de jours restant avant une date précise (ou bien un tableau contenant ces valeurs).&lt;/p&gt;    &lt;h3&gt;Comment utiliser cette classe &lt;acronym&gt;PHP&lt;/acronym&gt;.&lt;/h3&gt;



&lt;pre&gt;&amp;lt;?php
 include(&quot;class_fly_4years.inc.php&quot;);
 $lo_4Y = new Fly_4Years;
 $lt = $lo_4Y-&amp;gt;F4Y_Get_Array_For_Free();
 
 # Afficher le temps restant :
 print 'Il reste '.$lt['jour'].' jour(s), '.$lt['heure'].' heures, '.$lt['minute'].' minutes, '.$lt['seconde'].' secondes.';

 # Afficher le nombre de secondes total restantes :
 print $lo_4Y-&amp;gt;F4Y_Get_Secondes_For_Free().' secondes';

 # Afficher le nombre de minutes total restantes :
 print $lo_4Y-&amp;gt;F4Y_Get_Minutes_For_Free().' minutes';

 # Afficher le nombre de heures total restantes :
 print $lo_4Y-&amp;gt;F4Y_Get_Hourss_For_Free().' heures';

 # Afficher le nombre de jours total restants :
 print $lo_4Y-&amp;gt;F4Y_Get_Days_For_Free().' jours';
?&amp;gt;&lt;/pre&gt;


&lt;p&gt;Le plus parlant étant quand même de consulter le code source de la classe.&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;&lt;p&gt;Les fonctions ont été renommées entre les versions 0.02 et 0.03. Elles sont maintenant préfixées par &lt;em&gt;F4Y_&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;



&lt;h3&gt;Exemples&amp;nbsp;:&lt;/h3&gt;

&lt;p&gt;Quelques exemples sur les possibilité de cette classe.&lt;/p&gt;

&lt;p&gt;En français : &lt;em&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://dev.flyou.net/Fly_4Years/fly_4years.php?balise=no&quot;&gt;&lt;/script&gt;&lt;/em&gt;, en Anglais : &lt;em&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://dev.flyou.net/Fly_4Years/fly_4years.php?balise=no&amp;amp;l=en&quot;&gt;&lt;/script&gt;&lt;/em&gt;, le nombre d'heures restantes : &lt;em&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://dev.flyou.net/Fly_4Years/fly_4years.php?balise=no&amp;amp;t=h&quot;&gt;&lt;/script&gt;&lt;/em&gt; ou de minutes : &lt;em&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://dev.flyou.net/Fly_4Years/fly_4years.php?balise=no&amp;amp;t=m&quot;&gt;&lt;/script&gt;&lt;/em&gt; et encore j'abrège.&lt;/p&gt;



&lt;p&gt;Vous pouvez consulter la liste des options soit dans le code source soit en regardant la liste des &lt;a href=&quot;http://dev.flyou.net/post/2005/02/26/#Bonus&quot; hreflang=&quot;fr&quot;&gt;Bonus&lt;/a&gt;.&lt;/p&gt;


&lt;h3&gt;Bonus :&lt;a name=&quot;Bonus&quot;&gt;&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Une autre façon d'utiliser la classe.&lt;/p&gt;


&lt;p&gt;Puisque tout le monde n'a pas envie d'utiliser &lt;acronym&gt;PHP&lt;/acronym&gt;, ou les compétences, ou le temps, voici quelques ajouts que vous pouvez faire sur vos sites&amp;nbsp;; simplement en ajoutant un bout de code directement dans vos pages (X)&lt;acronym&gt;HTML&lt;/acronym&gt;&amp;nbsp;:&lt;/p&gt;
&lt;strong&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://dev.flyou.net/Fly_4Years/fly_4years.php&quot;&gt;&lt;/script&gt;&lt;/strong&gt;



&lt;p&gt;Pour avoir le résultat suivant&amp;nbsp;: , vous pouvez utiliser le morceau de script suivant directement dans votre (X)&lt;acronym&gt;HTML&lt;/acronym&gt;&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://dev.flyou.net/Fly_4Years/fly_4years.php&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;


&lt;p&gt;Vous pouvez utilisez bon nombre de paramètres avec ce script&amp;nbsp;:&lt;/p&gt;
 &lt;ul&gt;
       &lt;li&gt;&lt;code&gt;t=[s,m,h,d]&lt;/code&gt; : indique le type de résultat désiré&lt;sup&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2005/02/26/#wiki-footnote-1&quot; id=&quot;rev-wiki-footnote-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;,&lt;/li&gt;
       &lt;li&gt;&lt;code&gt;l=[en,fr]&lt;/code&gt;   : indique la langue dans laquelle sera affiché le résultat&lt;sup&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2005/02/26/#wiki-footnote-2&quot; id=&quot;rev-wiki-footnote-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;,&lt;/li&gt;
       &lt;li&gt;&lt;code&gt;np=no&lt;/code&gt;       : indique que le texte avant le résultat sera supprimé&lt;sup&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2005/02/26/#wiki-footnote-3&quot; id=&quot;rev-wiki-footnote-3&quot;&gt;3&lt;/a&gt;]&lt;/sup&gt;,&lt;/li&gt;
       &lt;li&gt;&lt;code&gt;balise=no&lt;/code&gt;   : indique que résultat ne sera pas encadré par la balise &lt;code&gt;&amp;lt;p&amp;nbsp;class=&quot;cFly_4Years&quot;&amp;gt;...&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;sup&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2005/02/26/#wiki-footnote-4&quot; id=&quot;rev-wiki-footnote-4&quot;&gt;4&lt;/a&gt;]&lt;/sup&gt;,&lt;/li&gt;
 &lt;/ul&gt;
      &lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
       &lt;p&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2005/02/26/#rev-wiki-footnote-1&quot; id=&quot;wiki-footnote-1&quot;&gt;1&lt;/a&gt;]
        &lt;script type=&quot;text/javascript&quot; src=&quot;http://dev.flyou.net/Fly_4Years/fly_4years.php?balise=no&amp;amp;t=s&quot;&gt;&lt;/script&gt; ou
        &lt;script type=&quot;text/javascript&quot; src=&quot;http://dev.flyou.net/Fly_4Years/fly_4years.php?balise=no&amp;amp;t=m&quot;&gt;&lt;/script&gt; ou
        &lt;script type=&quot;text/javascript&quot; src=&quot;http://dev.flyou.net/Fly_4Years/fly_4years.php?balise=no&amp;amp;t=h&quot;&gt;&lt;/script&gt; ou
        &lt;script type=&quot;text/javascript&quot; src=&quot;http://dev.flyou.net/Fly_4Years/fly_4years.php?balise=no&amp;amp;t=d&quot;&gt;&lt;/script&gt;&lt;/p&gt;
       &lt;p&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2005/02/26/#rev-wiki-footnote-2&quot; id=&quot;wiki-footnote-2&quot;&gt;2&lt;/a&gt;]
        &lt;script type=&quot;text/javascript&quot; src=&quot;http://dev.flyou.net/Fly_4Years/fly_4years.php?balise=no&amp;amp;l=en&quot;&gt;&lt;/script&gt;&lt;/p&gt;
       &lt;p&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2005/02/26/#rev-wiki-footnote-3&quot; id=&quot;wiki-footnote-3&quot;&gt;3&lt;/a&gt;]
        &lt;script type=&quot;text/javascript&quot; src=&quot;http://dev.flyou.net/Fly_4Years/fly_4years.php?balise=no&amp;amp;t=h&amp;amp;np=no&quot;&gt;&lt;/script&gt;&lt;/p&gt;
       &lt;p&gt;[&lt;a href=&quot;http://dev.flyou.net/post/2005/02/26/#rev-wiki-footnote-4&quot; id=&quot;wiki-footnote-4&quot;&gt;4&lt;/a&gt;] L'ensemble de ces exemples utilise ce paramètre.&lt;/p&gt;
      &lt;/div&gt;



&lt;h3&gt;Consulter l'ancienne version de cette page :&lt;a name=&quot;AncienSite&quot;&gt;&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;http://dev.flyou.net/Fly_4Years/&quot; hreflang=&quot;fr&quot; title=&quot;Page statique de l&amp;#039;ancienne version.&quot;&gt;Version précédente&lt;/a&gt;&lt;/p&gt;</description>
    
          <enclosure url="http://dev.flyou.net/public/Fly_4Years/class.Fly_4Years_changelog.txt"
      length="3440" type="text/plain" />
          <enclosure url="http://dev.flyou.net/public/Fly_4Years/fly_4years_changelog.txt"
      length="2880" type="text/plain" />
          <enclosure url="http://dev.flyou.net/public/Fly_4Years/class.Fly_4Years_v0.03.inc.phps"
      length="7520" type="text/plain" />
          <enclosure url="http://dev.flyou.net/public/Fly_4Years/fly_4years_v0.03.phps"
      length="5317" type="text/plain" />
    
    
          <comments>http://dev.flyou.net/post/2005/02/26/Fly_4Years-v003#comment-form</comments>
      <wfw:comment>http://dev.flyou.net/post/2005/02/26/Fly_4Years-v003#comment-form</wfw:comment>
      <wfw:commentRss>http://dev.flyou.net/feed/rss2/comments/2</wfw:commentRss>
      </item>
    
  <item>
    <title>Fly_MyCpt v0.09</title>
    <link>http://dev.flyou.net/post/2004/01/27/Fly_MyCpt-v009</link>
    <guid isPermaLink="false">urn:md5:b497b2cf6389411dddd2fb273f907ffb</guid>
    <pubDate>Tue, 27 Jan 2004 18:12:00 +0100</pubDate>
    <dc:creator>Flyounet</dc:creator>
        <category>Outils &amp; Développements</category>
        <category>Classe PHP</category><category>Fly_MyCpt</category><category>Statistiques</category>    
    <description>&lt;h2&gt;Retourne le compte de visite/visiteur d'un site.&lt;/h2&gt;


&lt;p&gt;Il est possible à tout instant de connaitre certaines statistiques du site&amp;nbsp;: Nombre de pages vues pour une journée ou plus, nombre de visites, pour une page donnée ou pour toutes les pages, etc.&lt;/p&gt;


&lt;p&gt;Les calculs sont faits relativement simplement&amp;nbsp;: On vérifie si l'utilisateur est venu sur le site moins d'une demi-heure auparavant (30 minutes configurables), si oui on augmente le nombre de pages vues. Sinon, on ajoute une visite. Si l'utilisateur est venu moins de 3 minutes (configurables) auparavant, on considère que l'utilisateur était déjà là, sinon on ajoute un utilisateur.&lt;/p&gt;


&lt;p&gt;La classe utilise une base de données &lt;a href=&quot;http://www.mysql.com/&quot; hreflang=&quot;en&quot; title=&quot;MySQL&amp;nbsp;: Serveur de base de données&quot;&gt;MySQL&lt;/a&gt;. Cependant, les appels à la base étant mis en fonction, il est aisé de changer le type de base de données.&lt;/p&gt;    &lt;h3&gt;Utilisation :&lt;a name=&quot;Utilisation&quot;&gt;&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Comment utiliser cette classe &lt;acronym&gt;PHP&lt;/acronym&gt;.&lt;/p&gt;


&lt;p&gt;La classe peut aisément s'utiliser.&lt;/p&gt;

&lt;pre&gt;
&amp;lt;?php
/* Il est nécessaire de définir 'wmCoinCoin' pour que la classe soit chargée.
   D'ailleurs, il est vivement recommandé de modifier le nom de cette définition. */
define('wmCoinCoin', true);
include_once('./fly_mycpt.inc.php');
$go_cnx=new Fly_MyCpt();
/* Ajoute la page courante à la liste des pages vues. */
$go_cnx-&amp;gt;MyCpt_AddPage();
/* Affiche le nombre de visites/visiteurs. */
print 'Nombre de Visiteurs : '.$go_cnx-&amp;gt;MyCpt_GetVisiteur().' - Nombre de Visites : '.$go_cnx-&amp;gt;MyCpt_GetVisite();
?&amp;gt;
&lt;/pre&gt;


&lt;p&gt;Il existe d'autres fonctions permettant d'afficher le nombre de visites/visiteurs pour la page vue.&lt;/p&gt;


&lt;h3&gt;Exemples :&lt;a name=&quot;Exemples&quot;&gt;&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Quelques exemples sur les possibilité de cette classe.&lt;/p&gt;


&lt;p&gt;Autant voir la classe et regarder juste au dessus &lt;a href=&quot;http://dev.flyou.net/post/2004/01/27/#Utilisation&quot; hreflang=&quot;fr&quot;&gt;comment l'utiliser&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Pour la version v0.03, les fonctions suivantes ont été ajoutées&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
MyCpt_GetVisite_Script(false)            : 15699 Nb visite pour tout le site.
MyCpt_GetVisite_Script(true)             : 15034 Nb visite pour cette page.
MyCpt_GetVisite_Script(false,1200351600) : 66 Idem pour aujourd'hui.
MyCpt_GetVisite_Script(true,1200351600)  : 63 Idem pour aujourd'hui.

MyCpt_GetPage_Script(false)            : 26547 Nb de pages vues pour tout le site.
MyCpt_GetPage_Script(true)             : 25718 Nb de vues pour cette page.
MyCpt_GetPage_Script(false,1200351600) : 184 Idem pour aujourd'hui.
MyCpt_GetPage_Script(true,1200351600)  : 181 Idem pour aujourd'hui.

MyCpt_GetVisiteur_Script(false) : 1 Utilisateurs connectés à ce site.
MyCpt_GetVisiteur_Script(true)  : 1 Utilisateurs connectés à cette page.
&lt;/pre&gt;


&lt;h3&gt;Consulter l'ancienne version de cette page :&lt;a name=&quot;AncienSite&quot;&gt;&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;http://dev.flyou.net/Fly_MyCpt/&quot; hreflang=&quot;fr&quot; title=&quot;Page statique de l&amp;#039;ancienne version.&quot;&gt;Version précédente&lt;/a&gt;&lt;/p&gt;</description>
    
          <enclosure url="http://dev.flyou.net/public/Fly_MyCpt/ChangeLog.txt"
      length="9360" type="text/plain" />
          <enclosure url="http://dev.flyou.net/public/Fly_MyCpt/sql_009.txt"
      length="2977" type="text/plain" />
          <enclosure url="http://dev.flyou.net/public/Fly_MyCpt/fly_mycpt_009.inc.phps"
      length="28539" type="text/plain" />
    
    
          <comments>http://dev.flyou.net/post/2004/01/27/Fly_MyCpt-v009#comment-form</comments>
      <wfw:comment>http://dev.flyou.net/post/2004/01/27/Fly_MyCpt-v009#comment-form</wfw:comment>
      <wfw:commentRss>http://dev.flyou.net/feed/rss2/comments/1</wfw:commentRss>
      </item>
    
</channel>
</rss>