<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.tensin.org/index.php?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>Tensin</title>
  <link>http://blog.tensin.org/index.php?</link>
  <atom:link href="http://blog.tensin.org/index.php?feed/rss2" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Tue, 21 May 2013 06:09:41 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Démarrer une virtualbox en plein écran sur un desktop dédié</title>
    <link>http://blog.tensin.org/index.php?post/2012/12/12/D%C3%A9marrer-une-virtualbox-en-plein-%C3%A9cran-sur-un-desktop-d%C3%A9di%C3%A9</link>
    <guid isPermaLink="false">urn:md5:fbc92d99416413c6fd8685640aa952bb</guid>
    <pubDate>Wed, 12 Dec 2012 17:09:00 +0100</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>linux</category><category>server</category><category>virtualbox</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/.icon_virtualbox_t.jpg&quot; alt=&quot;VirtualBox&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;VirtualBox, août 2012&quot; /&gt;En trois lignes&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;démarrer la machine virtuelle avec la commande &amp;#8220;VirtualBox&amp;#8221; et les bons paramètres (startvm et fullscreen)&lt;/li&gt;
&lt;li&gt;récupérer l&amp;#8217;ID de la fenêtre démarrée avec &lt;a href=&quot;http://en.wikipedia.org/wiki/Wmctrl&quot; hreflang=&quot;en&quot; title=&quot;wmctrl&quot;&gt;wmctrl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;positionner, toujours avec wmctrl, cette fenêtre sur un autre desktop&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fonctionne parfaitement dans mon cas sur Ubuntu + &lt;a href=&quot;http://cinnamon.linuxmint.com/&quot; hreflang=&quot;en&quot; title=&quot;Cinnamon&quot;&gt;Cinnamon&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;La version longue (à enregistrer dans un .sh, dont le premier paramètre sera le nom de la virtualbox et le deuxième le numéro du desktop)&amp;#160;:&lt;/p&gt;

&lt;pre&gt;
#!/bin/zsh
[[ &amp;quot;$#&amp;quot; -ne 2 ]] &amp;amp;&amp;amp; echo &amp;quot;Usage: $(basename $0) VIRTUALBOX_NAME DESKTOP_ID&amp;quot; &amp;amp;&amp;amp; exit 1
VIRTUALBOX=&amp;quot;$1&amp;quot;
DESKTOP=&amp;quot;$2&amp;quot;

# === Starts virtualbox in fullscreen mode (detached from the current shell)
[[ $(wmctrl -l|egrep -i &amp;quot;.*${VIRTUALBOX}.*running.*virtualbox.*&amp;quot;|wc -l) -eq 1 ]] &amp;amp;&amp;amp; echo &amp;quot;Virtualbox [$VIRTUALBOX] already running&amp;quot; &amp;amp;&amp;amp; exit 1
nohup VirtualBox --startvm &amp;quot;$VIRTUALBOX&amp;quot; --fullscreen &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &amp;amp;

# === Move window to another desktop as soon as the window is available
WINDOW_ID=&amp;quot;&amp;quot;
COUNT=0
while [[ -z &amp;quot;$WINDOW_ID&amp;quot; ]] ; do
  wmctrl -l|egrep -i &amp;quot;.*${VIRTUALBOX}.*running.*virtualbox.*&amp;quot;|read WINDOW_ID DUMMY
  if [[ -z &amp;quot;$WINDOW_ID&amp;quot; ]] ; then
    COUNT=$(expr $COUNT + 1)
    if [[ &amp;quot;$COUNT&amp;quot; -gt 10 ]] ; then
      echo &amp;quot;Waited 10 seconds without finding the virtual box window, now stopping ...&amp;quot;
      exit 1
    fi
    sleep 1
  else
    break;
  fi
done  

echo &amp;quot;Now sending virtualbox [$VIRTUALBOX] running on window [$WINDOW_ID] to desktop [$DESKTOP]&amp;quot;
wmctrl -i -r &amp;quot;$WINDOW_ID&amp;quot; -t &amp;quot;$DESKTOP&amp;quot;
&lt;/pre&gt;


&lt;p&gt;Remarque&amp;#160;: à savoir, pour le positionnement sur un desktop précis, le premier bureau est numéroté 0.&lt;/p&gt;


&lt;h2&gt;Commandes utiles additionnelles.&lt;/h2&gt;


&lt;p&gt;Lister tous les desktops disponibles&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;wmctrl -d&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Ex.&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
0  * DG: 1920x1080  VP: 0,0  WA: 0,0 1920x1080  Espace de travail 1
1  - DG: 1920x1080  VP: N/A  WA: 0,0 1920x1080  Espace de travail 2
&lt;/pre&gt;


&lt;p&gt;Liste toutes les fenêtres&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;wmctrl -l&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Stopper une virtualbox par la ligne de commande&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;VBoxManage controlvm NOM_VIRTUALBOX savestate&lt;/p&gt;&lt;/blockquote&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2012/12/12/D%C3%A9marrer-une-virtualbox-en-plein-%C3%A9cran-sur-un-desktop-d%C3%A9di%C3%A9#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2012/12/12/D%C3%A9marrer-une-virtualbox-en-plein-%C3%A9cran-sur-un-desktop-d%C3%A9di%C3%A9#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/135</wfw:commentRss>
      </item>
    
  <item>
    <title>Eclipse, astuces &amp; optimisations</title>
    <link>http://blog.tensin.org/index.php?post/2012/08/21/Eclipse%2C-astuces-optimisations</link>
    <guid isPermaLink="false">urn:md5:ee21be79575153505feba44a4eda0aef</guid>
    <pubDate>Tue, 21 Aug 2012 15:16:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>développement</category><category>eclipse</category><category>java</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/.icon_eclipse_t.jpg&quot; alt=&quot;Eclipse&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Eclipse, mar. 2011&quot; /&gt;Ci-dessous les slides d&amp;#8217;une présentation réalisée pour le boulot et détaillant un certain nombre d&amp;#8217;astuces, de raccourcis-claviers, d&amp;#8217;optimisations, de plugins, que l&amp;#8217;on gagne à connaître quand on utilise &lt;a href=&quot;http://eclipse.org/&quot; hreflang=&quot;en&quot;&gt;Eclipse&lt;/a&gt; comme IDE de développement Java.&lt;/p&gt;


&lt;p&gt;Il y a un peu de tout, chaque développeur en connaît forcément une bonne partie, mais peut-être pas tout. Cette présentation ne se veut aucunement exhaustive, c&amp;#8217;est juste un moyen de centraliser un certain nombre d&amp;#8217;informations à même de permettre de mieux utiliser l&amp;#8217;outil.&lt;/p&gt;


&lt;p&gt;Elle est essentiellement centrée sur Eclipse 3.7 Indigo, mais tout ce qui y figure est toujours valide pour Eclipse 3.8/4.2 Juno.&lt;/p&gt;


&lt;p&gt;Au programme&amp;#160;: des plugins injustement méconnus et pourtant très utiles comme Grep Console, les raccourcis-claviers indispensables (recherche incrémentale, quick-edit, etc.), des optimisations (sur le content-assist, la purge du cache OSGI, certaines désactivations, la bonne cohabitation Eclipse / Maven), etc.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/presentations/eclipse/index.html&quot; hreflang=&quot;fr&quot; title=&quot;Présentation Eclipse&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.presentation-eclipse_s.jpg&quot; alt=&quot;Présentation Eclipse&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Présentation Eclipse, août 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;La présentation en HTML5/javascript étant propulsée par &lt;a href=&quot;http://imakewebthings.com/deck.js/&quot; hreflang=&quot;en&quot;&gt;deck.js&lt;/a&gt;, un navigateur récent (Chrome ou FireFox) est obligatoire. Une version .pdf, non interactive (pas de vidéos, pas d&amp;#8217;images aggrandissables) est toutefois disponible en complément &lt;a href=&quot;http://blog.tensin.org/index.php?post/2012/08/21/public/presentations/eclipse/eclipse.pdf&quot; hreflang=&quot;fr&quot; title=&quot;Présentation Eclipse&quot;&gt;ici&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2012/08/21/Eclipse%2C-astuces-optimisations#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2012/08/21/Eclipse%2C-astuces-optimisations#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/131</wfw:commentRss>
      </item>
    
  <item>
    <title>Convertir une image virtuelle VMDK (VMWare) au format VirtualBox (VDI)</title>
    <link>http://blog.tensin.org/index.php?post/2012/08/21/Convertir-une-image-virtuelle-VMDK-%28VMWare%29-au-format-VirtualBox-%28VDI%29</link>
    <guid isPermaLink="false">urn:md5:2abb723ba5b6a839a77b156feba80120</guid>
    <pubDate>Tue, 21 Aug 2012 15:11:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>linux</category><category>serveur</category><category>virtualbox</category><category>virtualisation</category><category>vmware</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/.icon_virtualbox_t.jpg&quot; alt=&quot;VirtualBox&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;VirtualBox, août 2012&quot; /&gt;Pour convertir un disque source au format .vmdk (format natif VMWare) vers le format VirtualBox (.vdi), utiliser&amp;#160;:&lt;/p&gt;

&lt;pre&gt;
vboxmanage clonehd image-source.vmdk image-destination.vdi -format VDI
&lt;/pre&gt;


&lt;p&gt;Ce qui s&amp;#8217;avère plus efficace et plus direct que de faire un transfert logique avec un outil de clonage comme &lt;a href=&quot;http://www.clonezilla.org/&quot; hreflang=&quot;en&quot;&gt;CloneZilla&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2012/08/21/Convertir-une-image-virtuelle-VMDK-%28VMWare%29-au-format-VirtualBox-%28VDI%29#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2012/08/21/Convertir-une-image-virtuelle-VMDK-%28VMWare%29-au-format-VirtualBox-%28VDI%29#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/130</wfw:commentRss>
      </item>
    
  <item>
    <title>PS3MediaServer et boîtier Sony SMP-N200</title>
    <link>http://blog.tensin.org/index.php?post/2012/05/08/PS3MediaServer-et-bo%C3%AEtier-Sony-SMP-N200</link>
    <guid isPermaLink="false">urn:md5:85b48397842ae4984a1042054a1ec34f</guid>
    <pubDate>Tue, 08 May 2012 17:53:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>ps3</category><category>PS3MediaServer</category><category>SMP-N200</category><category>sony</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_smp-n200.png&quot; alt=&quot;Sony SMP-N200&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Sony SMP-N200, mai 2012&quot; /&gt;Sony propose depuis quelques mois un boîtier multimédia dont le coeur est issu de celui de la PS3&amp;#160;: le boîter Sony &lt;a href=&quot;http://www.sony.fr/product/usb-media-players/smp-n200&quot; hreflang=&quot;en&quot; title=&quot;Sony SMP-N200&quot;&gt;SMP-N200&lt;/a&gt;. La navigation dans les menus reprend celle du XMB de la PS3.&lt;/p&gt;


&lt;p&gt;Pour accéder depuis ce boîtier, par le réseau, au contenu diffusé par &lt;a href=&quot;http://www.ps3mediaserver.fr/&quot; hreflang=&quot;fr&quot; title=&quot;PS3MediaServer&quot;&gt;PS3MediaServer&lt;/a&gt;, il faut utiliser la configuration suivante (adaptée depuis le fichier de configuration du lecteur BluRay de Sony).&lt;/p&gt;


&lt;p&gt;Fichier à placer&amp;#160;: &lt;strong&gt;renderers/SMP-N200.conf&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;
RendererName=Sony SMP-N200
RendererIcon=/home/applications/ps3mediaserver/1.52.1/SMP-N200.png
UserAgentSearch=UPnP/1.0
UserAgentAdditionalHeader=X-AV-Client-Info
UserAgentAdditionalHeaderSearch=(cn=&amp;quot;Sony Corporation&amp;quot;; mn=&amp;quot;Media Player&amp;quot; )
Video=true
Audio=true
Image=true
SeekByTime=true
DLNALocalizationRequired=true
TranscodeVideo=MPEGAC3
TranscodeAudio=WAV
DefaultVBVBufSize=true
MuxH264ToMpegTS=false
MuxDTSToMpeg=false
WrapDTSIntoPCM=false
MuxLPCMToMpeg=false
MaxVideoBitrateMbps=0
MaxVideoWidth=0
MaxVideoHeight=0
H264Level41Limited=true
TranscodeAudioTo441kHz=false
TranscodeFastStart=false
TranscodedVideoFileSize=0
AutoExifRotate=true
MimeTypesChanges=video/avi=video/x-divx
StreamExtensions=
ChunkedTransfer=true
ForceJPGThumbnails=true
MediaInfo=true
# Supported = f:mpegps|mpegts    v:mpeg2    a:ac3|aac|mpa   m:video/mpeg
# Supported = f:mp3   m:audio/mpeg
# Supported = f:lpcm  m:audio/L16
# Supported = f:jpg   m:image/jpeg
# --- video ---
Supported = f:mpegps|mpegts     v:mpeg1|mpeg2   a:ac3|dts|lpcm|mpa|mp3  m:video/mpeg
Supported = f:mpegts    v:h264|vc1      a:ac3|dts|dtshd|truehd|aac|lpcm|mpa|mp3 m:video/vnd.dlna.mpeg-tts
Supported = f:mp4|m4v   v:mp4|h264      a:ac3|dts|dtshd|truehd|aac|lpcm|mpa|mp3 m:video/mpeg
######### NON-US MODELS: CHANGE THE FOLLOWING 2 MIME-TYPES TO m:video/divx
Supported = f:avi|divx  v:divx|mp4      a:ac3|lpcm|mpa|mp3      m:video/divx
Supported = f:mkv       v:mp4|divx|h264 a:ac3|dts|dtshd|truehd|aac|lpcm|mpa|mp3 m:video/divx
# --- audio ---
Supported = f:wma       n:2     m:audio/mpeg
Supported = f:mp3       n:2     m:audio/mpeg
Supported = f:lpcm n:2 s:48000 m:audio/L16
# --- image ---
Supported = f:jpg       m:image/jpeg
&lt;/pre&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2012/05/08/PS3MediaServer-et-bo%C3%AEtier-Sony-SMP-N200#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2012/05/08/PS3MediaServer-et-bo%C3%AEtier-Sony-SMP-N200#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/120</wfw:commentRss>
      </item>
    
  <item>
    <title>En finir avec les répertoires target de Maven sous Eclipse</title>
    <link>http://blog.tensin.org/index.php?post/2012/04/10/En-finir-avec-les-r%C3%A9pertoires-target-de-Maven-sous-Eclipse</link>
    <guid isPermaLink="false">urn:md5:8fcb79b834ac4201affea0e11b52eaf4</guid>
    <pubDate>Tue, 10 Apr 2012 17:18:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>eclipse</category><category>java</category><category>maven</category>    
    <description>    &lt;p&gt;Pour ne plus être pollué par le contenu des répertoires &lt;strong&gt;target&lt;/strong&gt; de Maven (contenant notamment les classes compilées) lorsque l&amp;#8217;on travaille sous Eclipse, il suffit de les marquer en &amp;#8220;&lt;strong&gt;derived&lt;/strong&gt;&amp;#8221;. Ceci permet d&amp;#8217;indiquer à Eclipse que le contenu de ce répertoire ne doit pas être pris en compte lors des recherches, lors des mécanismes de navigation type CTRL+T, etc. C&amp;#8217;est un vrai gain de temps sur de gros projets (sans compter que le résultat des recherches est dès lors plus clair).&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/eclipse-derived-property-screenshot.png&quot; title=&quot;Propriété &amp;quot;derived&amp;quot; sur une ressource Eclipse&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.eclipse-derived-property-screenshot_m.jpg&quot; alt=&quot;Propriété &amp;quot;derived&amp;quot; sur une ressource Eclipse&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Propriété &amp;quot;derived&amp;quot; sur une ressource Eclipse, avr. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Cette manipulation n&amp;#8217;est aujourd&amp;#8217;hui pas automatisable depuis Maven (même si d&amp;#8217;antédiluviens bugs y font référence). Le problème étant dès lors qu&amp;#8217;à chaque fois qu&amp;#8217;une opération &amp;#8220;&lt;strong&gt;clean&lt;/strong&gt;&amp;#8221; est effectuée côté Maven, le répertoire est effacé, et Eclipse perd l&amp;#8217;état &lt;strong&gt;derived&lt;/strong&gt;, qu&amp;#8217;il faut donc réappliquer.&lt;/p&gt;


&lt;p&gt;La solution pour s&amp;#8217;en sortir est de paramétrer Maven, côté &lt;strong&gt;pom.xml&lt;/strong&gt;, pour qu&amp;#8217;il n&amp;#8217;efface plus le répertoire &lt;strong&gt;target&lt;/strong&gt;, mais &lt;strong&gt;uniquement son contenu&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;Pour ce faire il suffit de mettre à jour la configuration du plugin &lt;strong&gt;maven-clean-plugin&lt;/strong&gt;.&lt;/p&gt;

&lt;pre&gt;
&amp;lt;plugin&amp;gt;
  &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;
  &amp;lt;artifactId&amp;gt;maven-clean-plugin&amp;lt;/artifactId&amp;gt;
  &amp;lt;version&amp;gt;2.4.1&amp;lt;/version&amp;gt;
  &amp;lt;configuration&amp;gt;
    &amp;lt;excludeDefaultDirectories&amp;gt;true&amp;lt;/excludeDefaultDirectories&amp;gt;
      &amp;lt;filesets&amp;gt;
        &amp;lt;fileset&amp;gt;
          &amp;lt;directory&amp;gt;target&amp;lt;/directory&amp;gt;
          &amp;lt;includes&amp;gt;
            &amp;lt;include&amp;gt;**/*&amp;lt;/include&amp;gt;
          &amp;lt;/includes&amp;gt;
        &amp;lt;/fileset&amp;gt;
      &amp;lt;/filesets&amp;gt;
  &amp;lt;/configuration&amp;gt;
&amp;lt;/plugin&amp;gt;

&lt;/pre&gt;


&lt;p&gt;Le résultat est visible dans la log de Maven&amp;#160;:&lt;/p&gt;

&lt;code class=&quot;INFO&quot;&gt;------------------------------------------------------------------------
[INFO] Building sonos-root
[INFO]    task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting /home/users/sergio/Java/workspaces/eclipse/perso-java/sonos-root/target (includes = [**/*], excludes = [])
[INFO] [cobertura:clean {execution: clean}]
[INFO] ------------------------------------------------------------------------&lt;/code&gt;


&lt;p&gt;Cette paramétrie gagne bien sûr à être mutualisée à travers différents projets en la définissant dans pom parent root.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2012/04/10/En-finir-avec-les-r%C3%A9pertoires-target-de-Maven-sous-Eclipse#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2012/04/10/En-finir-avec-les-r%C3%A9pertoires-target-de-Maven-sous-Eclipse#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/118</wfw:commentRss>
      </item>
    
  <item>
    <title>Colorer différemment le background de vos sessions SSH</title>
    <link>http://blog.tensin.org/index.php?post/2011/03/10/Colorer-diff%C3%A9remment-le-background-de-vos-sessions-SSH</link>
    <guid isPermaLink="false">urn:md5:3db2a5549d0c831d68596260a5014add</guid>
    <pubDate>Thu, 10 Mar 2011 00:31:00 +0100</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>configuration</category><category>linux</category><category>server</category><category>shell</category><category>ssh</category><category>terminal</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_shell.png&quot; alt=&quot;Shell&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Shell, juil. 2010&quot; /&gt;Pour mettre en couleur le fond d&amp;#8217;un terminal sous Linux, il n&amp;#8217;y a guère de solutions &amp;#8230; Jusqu&amp;#8217;ici le plus simple était de jouer avec les profils de Gnome-Terminal (ou autre) et d&amp;#8217;associer à tous les onglets la même couleur de fond. Par contre pour avoir une couleur différente sur chaque onglet, c&amp;#8217;était jusqu&amp;#8217;ici mission impossible, ce qui au demeurant est relativement étonnant, pour ma part j&amp;#8217;aurais besoin de cette fonctionnalité&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;au travail pour avoir une couleur de fond différente selon le type de machine sur laquelle je me connecte (rouge pour les machines en production, noir pour les serveurs de développement par ex.)&amp;#160;;&lt;/li&gt;
&lt;li&gt;chez moi pour différencier la machine sur laquelle je suis connecté (serveur domotique, serveur dédié en ligne, etc.)&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Je configure bien ces infos dans le prompt (via PS1, avec le login et le hostname), mais c&amp;#8217;est très insuffisant (pas suffisament visuel).&lt;/p&gt;


&lt;p&gt;Or une solution plutôt élégante existe désormais, mise en place par &lt;a href=&quot;http://deic.uab.es/~iblanes/&quot; hreflang=&quot;en&quot; title=&quot;Ian Blanes&quot;&gt;Ian Blanes&lt;/a&gt;&amp;#160;: un petit programme en C, sans dépendances, qui s&amp;#8217;appelle &amp;#8220;colorize&amp;#8221;. C&amp;#8217;est ce programme qui lance la commande ssh, redirige les entrées / sorties entre le terminal et la connexion ssh, et dans l&amp;#8217;intervalle, modifie les couleurs de fond et/ou de police de caractères.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/colorize-example.png&quot; title=&quot;Colorize&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.colorize-example_m.jpg&quot; alt=&quot;Colorize&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Colorize, mar. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Testée sous &lt;a href=&quot;http://www.calno.com/evilvte/&quot; hreflang=&quot;en&quot; title=&quot;evilvte&quot;&gt;evilvte&lt;/a&gt; et &lt;a href=&quot;http://fr.wikipedia.org/wiki/GNOME_Terminal&quot; hreflang=&quot;fr&quot; title=&quot;Gnome Terminal&quot;&gt;gnome-terminal&lt;/a&gt;, çà fonctionne parfaitement bien, à priori sans ralentissements visibles. Ian &lt;a href=&quot;http://ubuntuforums.org/showpost.php?p=10058620&amp;amp;postcount=7&quot; hreflang=&quot;en&quot;&gt;explique toutefois&lt;/a&gt; que les lignes ayant déjà nativement un fond de couleur se comporteront mal (ce n&amp;#8217;est quasiment jamais le cas chez moi).&lt;/p&gt;


&lt;p&gt;Sources&amp;#160;: http://deic.uab.es/~iblanes/colorize-0.1-src.tar.gz &lt;a href=&quot;http://blog.tensin.org/public/ressources/colorize-0.1-src.tar.gz&quot; hreflang=&quot;en&quot; title=&quot;Ian Blanes&quot;&gt; [Colorizer (sources) v0.1mirror&lt;/a&gt; ]
Homepage&amp;#160;: http://deic.uab.es/~iblanes/&lt;/p&gt;


&lt;p&gt;L&amp;#8217;installation est très simple&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;wget http://deic.uab.es/~iblanes/colorize-0.1-src.tar.gz
tar xzvf colorize-0.1-src.tar.gz
make&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Copier ensuite le programme &lt;strong&gt;colorize&lt;/strong&gt; dans un répertoire accessible via le path, par ex. /usr/bin. Le lancement se fait ensuite via pour lancer un SSH avec un fond (&lt;strong&gt;-b&lt;/strong&gt;) gris foncé (&lt;strong&gt;Ox333333&lt;/strong&gt;) par ex.&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;colorize -b 0x333333 &amp;#8212; ssh root@192.168.0.1&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Ensuite à l&amp;#8217;utilisation, deux possibilités.
Soit &lt;strong&gt;définir des alias&lt;/strong&gt; de commande ssh pour chacune des machines sur laquelle se connecter.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;alias ssh-production=&amp;#8217;colorize -b 0x333333 &amp;#8212; ssh root@192.168.0.1&amp;#8217;&lt;/p&gt;&lt;/blockquote&gt;


&lt;blockquote&gt;&lt;p&gt;alias ssh-dedie=&amp;#8217;colorize -b 0xCC0000 &amp;#8212; ssh tensin&amp;#8217; # réutilisation alias défini dans ~/.ssh/config&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Soit &lt;strong&gt;enrober l&amp;#8217;appel de la commande ssh&lt;/strong&gt; avec un &lt;strong&gt;fichier de paramétrie&lt;/strong&gt;.
Il suffit dans dans ce cas de créer un fichier &lt;strong&gt;~/.ssh-colorize&lt;/strong&gt; avec le contenu suivant (premier champ = le hostname, ou l&amp;#8217;alias ssh&amp;#160;; deuxième champ, la couleur de background)&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
192.168.0.2    0x440000
192.168.0.3    0x440000
solaris        0x000044
&lt;/pre&gt;


&lt;p&gt;Et dans son fichier &lt;strong&gt;.profile&lt;/strong&gt; (ou équivalent si autre shell) mettre en place la fonction suivante&amp;#160;:&lt;/p&gt;
&lt;pre class=&quot;bash bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ssh&lt;/span&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;  &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;typeset&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;DEST&lt;/span&gt;=&lt;span style=&quot;color: #007800;&quot;&gt;$1&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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: #660033;&quot;&gt;-s&lt;/span&gt; ~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;.ssh-colorize &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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #007800;&quot;&gt;HOSTNAME&lt;/span&gt;=$&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;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$DEST&lt;/span&gt;&amp;quot;&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;sed&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'s/.*@//'&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;egrep&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;^&lt;span style=&quot;color: #007800;&quot;&gt;$HOSTNAME&lt;/span&gt;&amp;quot;&lt;/span&gt; .ssh-colorize &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;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null &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;awk&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;' { print $2 } '&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;read&lt;/span&gt; COLOR&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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: #000000; font-weight: bold;&quot;&gt;!&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-z&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${COLOR}&lt;/span&gt;&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: #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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    colorize &lt;span style=&quot;color: #660033;&quot;&gt;-b&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${COLOR}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--&lt;/span&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;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ssh&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${DEST}&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ssh&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${DEST}&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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;/ol&gt;&lt;/pre&gt;


&lt;p&gt;De fait, tous les appels ssh passeront par cette fonction, qui ira relire dans &lt;strong&gt;~/.ssh-colorize&lt;/strong&gt;, si renseigné, le code couleur de background à utiliser&amp;#160;! Ca permet de centraliser toutes les définitions de couleur de background et de facilement en ajouter sans devoir créer des alias.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2011/03/10/Colorer-diff%C3%A9remment-le-background-de-vos-sessions-SSH#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2011/03/10/Colorer-diff%C3%A9remment-le-background-de-vos-sessions-SSH#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/106</wfw:commentRss>
      </item>
    
  <item>
    <title>Choix du workspace Eclipse à utiliser au démarrage via un launcher interactif (Linux)</title>
    <link>http://blog.tensin.org/index.php?post/2011/03/08/Choix-du-workspace-Eclipse-%C3%A0-utiliser-avec-un-launcher-interactif-%28Linux%29</link>
    <guid isPermaLink="false">urn:md5:0528a884d46c676731961242e64009e9</guid>
    <pubDate>Tue, 08 Mar 2011 20:55:00 +0100</pubDate>
    <dc:creator>SRG</dc:creator>
            
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_eclipse.png&quot; alt=&quot;Eclipse&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Eclipse, mar. 2011&quot; /&gt;Comme je travaille avec &lt;strong&gt;plusieurs workspaces&lt;/strong&gt; &lt;a href=&quot;http://eclipse.org/&quot; hreflang=&quot;en&quot; title=&quot;Eclipse.org&quot;&gt;Eclipse&lt;/a&gt; (regroupant chaque plusieurs projets Eclipse corrélés entre eux, par ex. tous les modules d&amp;#8217;un même projet, ou tous mes projets personnels Java ou PHP, ou tous mes projets de tests, etc.), il est beaucoup plus pratique pour moi de choisir le workspace sur lequel je veux travailler directement en démarrant Eclipse (plutôt que de switcher après coup).&lt;/p&gt;


&lt;p&gt;De fait, tous mes raccourcis Eclipse pointent en fait sur le script ci-dessous.&lt;/p&gt;


&lt;p&gt;Le script se base sur le méconnu mais assez pratique &lt;a href=&quot;http://en.wikipedia.org/wiki/Zenity&quot; hreflang=&quot;en&quot; title=&quot;Zenity&quot;&gt;Zenity&lt;/a&gt; pour &lt;strong&gt;gérer la fenêtre de lancement&lt;/strong&gt;, et se contente ensuite de démarrer Eclipse avec le paramètre &lt;strong&gt;-location chemin_du_workspace&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;Visuellement et concrètement çà ressemble à çà, la liste des workspaces, le nombre de projets dans chaque workspace, il suffit de sélectionner celui sur lequel on veut démarrer&amp;#160;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/workspaces-eclipse-launcher.png&quot; title=&quot;workspaces-eclipse-launcher.png&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.workspaces-eclipse-launcher_m.jpg&quot; alt=&quot;workspaces-eclipse-launcher.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;workspaces-eclipse-launcher.png, mar. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Remarque&amp;#160;: bien sûr l&amp;#8217;autre manière de changer de workspace consiste à switcher depuis un Eclipse déjà démarré vers un autre workspace (ne pas oublier dans ce cas de cocher la petite case &amp;#8220;Copy Settings &amp;gt; Workbench Layout&amp;#8221; pour garder la disposition des fenêtres / perspectives).&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/workspaces-eclipse.png&quot; title=&quot;workspaces-eclipse.png&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.workspaces-eclipse_m.jpg&quot; alt=&quot;workspaces-eclipse.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;workspaces-eclipse.png, mar. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le script ( &lt;a href=&quot;http://blog.tensin.org/public/ressources/eclipse-launcher.sh&quot; hreflang=&quot;en&quot; title=&quot;Zenity&quot;&gt;eclipse-launcher.sheclipse-launcher.sh&lt;/a&gt; ). A adapter pour les paramètres qui vous seraient propres, bien sûr (chemin vers Eclipse et paramètres additionnels Eclipse notamment).&lt;/p&gt;

&lt;pre class=&quot;bash bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#!/bin/ksh&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ========================================================&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# === Variables&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ========================================================&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;export&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;windows_title&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Eclipse Launcher&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;export&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;WNG_ICON&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;/opt/gnome/share/pixmaps/gnome-warning.png&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;export&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;ECLIPSE_ICON&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;/opt/Eclipse_DEV/Eclipse-V3-2-1/icon.xpm&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;export&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;WORKSPACES_DIR&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;/home/user/java/workspaces/eclipse/&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;export&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;JAVA_HOME&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;/home/user/applications/java/jdk1.6.0_24&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;export&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;ECLIPSE_BIN&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;/home/user/applications/eclipse/helios/java/eclipse&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;export&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;JAVA_PARAMETERS&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;-vmargs -Xss4m -Xms326m -Xmx444m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ========================================================&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# === Récupération de la liste des workspaces&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# === et construction pour affichage par Zenity&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ========================================================&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;WORKSPACES&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ls&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-1d&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${WORKSPACES_DIR}&lt;/span&gt;&amp;quot;&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: #c20cb9; font-weight: bold;&quot;&gt;egrep&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-v&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;\..*|*\.xml&amp;quot;&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;sort&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-u&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;while&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;read&lt;/span&gt; ITEM&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;	&lt;span style=&quot;color: #007800;&quot;&gt;WORKSPACE_NAME&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$(basename ${ITEM})&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;	&lt;span style=&quot;color: #007800;&quot;&gt;WORKSPACE_COUNT&lt;/span&gt;=$&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ls&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-1d&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${ITEM}&lt;/span&gt;&amp;quot;&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;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null &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;grep&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-v&lt;/span&gt; total &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;wc&lt;/span&gt; -l&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;	&lt;span style=&quot;color: #007800;&quot;&gt;WORKSPACES&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${WORKSPACES}&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;${WORKSPACE_NAME}&lt;/span&gt; 	&lt;span style=&quot;color: #007800;&quot;&gt;${WORKSPACE_COUNT}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ========================================================&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# === Lancement de Zenity&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ========================================================&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;ret&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;zenity &lt;span style=&quot;color: #660033;&quot;&gt;--list&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--width&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;320&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--height&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;520&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--window-icon&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${ECLIPSE_ICON}&lt;/span&gt;&amp;quot;&lt;/span&gt; \&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #660033;&quot;&gt;--text&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Choisissez le workspace&amp;quot;&lt;/span&gt; \&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #660033;&quot;&gt;--column&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Workspace&amp;quot;&lt;/span&gt; \&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #660033;&quot;&gt;--column&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Projets&amp;quot;&lt;/span&gt; \&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$WORKSPACES&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--title&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${windows_title}&lt;/span&gt;&amp;quot;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ========================================================&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# === Démarrage d'Eclipse avec le bon workspace&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ========================================================&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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: #000000; font-weight: bold;&quot;&gt;!&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-z&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$ret&lt;/span&gt; &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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;	&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;export&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;GTL_MODULES&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;	&lt;span style=&quot;color: #007800;&quot;&gt;cmd&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;'nohup '&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${ECLIPSE_BIN}&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;' -showlocation -data &amp;quot;'&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${WORKSPACES_DIR}&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$ret&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'&amp;quot; -vm '&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${JAVA_HOME}&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'/bin/java ${JAVA_PARAMETERS} &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &amp;amp;'&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$cmd&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;eval&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$cmd&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2011/03/08/Choix-du-workspace-Eclipse-%C3%A0-utiliser-avec-un-launcher-interactif-%28Linux%29#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2011/03/08/Choix-du-workspace-Eclipse-%C3%A0-utiliser-avec-un-launcher-interactif-%28Linux%29#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/105</wfw:commentRss>
      </item>
    
  <item>
    <title>Recevoir un mail de notification quand de nouveaux paquets apt-get sont disponibles</title>
    <link>http://blog.tensin.org/index.php?post/2011/03/08/Recevoir-un-mail-de-notification-quand-de-nouveaux-paquets-apt-get-sont-disponibles</link>
    <guid isPermaLink="false">urn:md5:f2d1b463a423ab39ac343e5d1a34e253</guid>
    <pubDate>Tue, 08 Mar 2011 20:38:00 +0100</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>apt-get</category><category>linux</category><category>notifications</category><category>server</category><category>ubuntu</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_shell.png&quot; alt=&quot;Shell&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Shell, juil. 2010&quot; /&gt;Ayant plusieurs machines dont deux connectées constamment sur le net&amp;#8217;, je n&amp;#8217;aime pas ne pas les avoir à jour. En même temps, je ne tiens pas à activer l&amp;#8217;installation automatique des packages, afin de garder la main sur ce qui est installé et d&amp;#8217;éviter les mauvaises surprises (typiquement pouvant survenir sur une montée de version sensible comme PHP).&lt;/p&gt;


&lt;p&gt;Du coup j&amp;#8217;ai installé ce petit script très simple en cron sur chaque machine, il tourne une fois par jour et m&amp;#8217;envoi un mail pour m&amp;#8217;indiquer s&amp;#8217;il y a des mises à jour en attente sur ce système. Le principe est simplement de lancer la commande &lt;a href=&quot;http://doc.ubuntu-fr.org/apt-get&quot; hreflang=&quot;fr&quot;&gt;apt-get&lt;/a&gt; en mode simulation pour savoir s&amp;#8217;il y a des installations à faire.&lt;/p&gt;


&lt;p&gt;A noter&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;j&amp;#8217;utilise sur toutes mes machines le très simple &lt;a href=&quot;http://esmtp.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;esmtp&lt;/a&gt; plutôt que sendmail&amp;#160;;&lt;/li&gt;
&lt;li&gt;le script fonctionne sur un système anglais ou français (j&amp;#8217;ai les deux)&amp;#160;;&lt;/li&gt;
&lt;li&gt;le script fonctionne sous Debian Squeeze et Ubuntu (j&amp;#8217;ai les deux aussi)&amp;#160;;&lt;/li&gt;
&lt;li&gt;au sein du mail reçu, les packages sont clickables et renvoit sur la documentation officielle correspondante&amp;#160;;&lt;/li&gt;
&lt;li&gt;il doit bien sûr être lancé en &lt;strong&gt;root&lt;/strong&gt; pour pouvoir exécuter les commandes apt-get&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Résultat du mail.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/notify-apt-updates.png&quot; title=&quot;notify-apt-updates.png&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.notify-apt-updates_m.jpg&quot; alt=&quot;notify-apt-updates.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;notify-apt-updates.png, mar. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Lancement en cron (par ex. depuis /etc/crontab).&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/notify-apt-updates-crontab.png&quot; title=&quot;notify-apt-updates-crontab.png&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.notify-apt-updates-crontab_m.jpg&quot; alt=&quot;notify-apt-updates-crontab.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;notify-apt-updates-crontab.png, mar. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le script (à mettre dans &lt;strong&gt;/usr/bin/notify_apt_updates.sh&lt;/strong&gt; et à paramétrer) ( &lt;a href=&quot;http://blog.tensin.org/public/ressources/notify_apt_updates.sh&quot; hreflang=&quot;en&quot;&gt;notify_apt_updates.sh&lt;/a&gt; ).&lt;/p&gt;

&lt;pre class=&quot;bash bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#!/bin/ksh&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ======================================================================&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# === Mise à jour&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ======================================================================&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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;--- DEBUT -------------------- &lt;span style=&quot;color: #007800;&quot;&gt;$(date)&lt;/span&gt; --------------------&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get&lt;/span&gt; update&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ======================================================================&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# === Variables système&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ======================================================================&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;HOSTNAME&lt;/span&gt;=$&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;hostname&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;IP&lt;/span&gt;=$&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ifconfig&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;grep&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;inet ad&amp;quot;&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;grep&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-v&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;127.0.0.1&amp;quot;&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;head&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-1&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;cut&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-f2&lt;/span&gt; -d: &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;awk&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'{print $1}'&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;DATE&lt;/span&gt;=$&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;date&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;+%Y-%m-%d %H:%M:%S&amp;quot;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;SYSTEM_NAME&lt;/span&gt;=$&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;lsb_release &lt;span style=&quot;color: #660033;&quot;&gt;-a&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;&amp;gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null &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;grep&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; codename &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;awk&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;' { print $2 } '&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;SYSTEM_TYPE&lt;/span&gt;=$&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;lsb_release &lt;span style=&quot;color: #660033;&quot;&gt;-a&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;&amp;gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null &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;grep&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;distributor id&amp;quot;&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;awk&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;' { print $3 } '&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;SYSTEM_TYPE_m&lt;/span&gt;=$&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;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${SYSTEM_TYPE}&lt;/span&gt;&amp;quot;&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;tr&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;[A-Z]&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;[a-z]&amp;quot;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;MAIL_CONTENT_FILENAME&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;/tmp/mail_content_$$.txt&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;PACKAGES_BASE_URL&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${SYSTEM_TYPE_m}&lt;/span&gt;&amp;quot;&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;debian&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: #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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;  &lt;span style=&quot;color: #007800;&quot;&gt;PACKAGES_BASE_URL&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;http://packages.debian.org/&lt;span style=&quot;color: #007800;&quot;&gt;${SYSTEM_NAME}&lt;/span&gt;/&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${SYSTEM_TYPE_m}&lt;/span&gt;&amp;quot;&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;ubuntu&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: #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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #007800;&quot;&gt;PACKAGES_BASE_URL&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;http://packages.ubuntu.com/fr/&lt;span style=&quot;color: #007800;&quot;&gt;${SYSTEM_NAME}&lt;/span&gt;/&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ======================================================================&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# === Variables à paramétrer&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ======================================================================&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;MAIL_FROM&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;me@hostname&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;MAIL_DEST&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;me@hostname&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;MAIL_SUBJECT&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Server [&lt;span style=&quot;color: #007800;&quot;&gt;${HOSTNAME}&lt;/span&gt;] - new updates found&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ======================================================================&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# === Corps du traitement&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# === Exemple de sortie apt-get si mise à jour :&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ===    18 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ======================================================================&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;NB_EN&lt;/span&gt;=$&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-s&lt;/span&gt; upgrade &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;egrep&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;.*upgraded.*newly installed.*remove&amp;quot;&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;grep&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-v&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;0 upgraded&amp;quot;&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;wc&lt;/span&gt; -l&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;NB_FR&lt;/span&gt;=$&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-s&lt;/span&gt; upgrade &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;egrep&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;.*mis à jour.*nouvellement installés.*à enlever.*non mis à jour&amp;quot;&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;grep&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-v&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;0 mis à jour&amp;quot;&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;wc&lt;/span&gt; -l&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$NB_EN&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-eq&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$NB_FR&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-eq&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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;No updates found, nothing to notify.&amp;quot;&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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;Updates found.&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;  &lt;span style=&quot;color: #007800;&quot;&gt;PACKAGES&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;  &lt;span style=&quot;color: #007800;&quot;&gt;HTML_PACKAGES&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;  &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-s&lt;/span&gt; upgrade &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;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null &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;grep&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;^Inst&amp;quot;&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;while&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;read&lt;/span&gt; INST PACKAGE DUMMY &lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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: #000000; font-weight: bold;&quot;&gt;!&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-z&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${HTML_PACKAGES}&lt;/span&gt;&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: #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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;      &lt;span style=&quot;color: #007800;&quot;&gt;HTML_PACKAGES&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${HTML_PACKAGES}&lt;/span&gt;, &amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;      &lt;span style=&quot;color: #007800;&quot;&gt;PACKAGES&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${PACKAGES}&lt;/span&gt; &amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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: #000000; font-weight: bold;&quot;&gt;!&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-z&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${PACKAGES_BASE_URL}&lt;/span&gt;&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: #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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;      &lt;span style=&quot;color: #007800;&quot;&gt;URL&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;'&amp;lt;a href=&amp;quot;'&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${PACKAGES_BASE_URL}&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${PACKAGE}&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'&amp;quot;&amp;gt;'&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${PACKAGE}&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'&amp;lt;/a&amp;gt;'&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;      &lt;span style=&quot;color: #007800;&quot;&gt;URL&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${PACKAGE}&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #007800;&quot;&gt;HTML_PACKAGES&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${HTML_PACKAGES}&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;${URL}&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #007800;&quot;&gt;PACKAGES&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${PACKAGES}&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;${PACKAGE}&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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;Packages to be updated : &lt;span style=&quot;color: #007800;&quot;&gt;${PACKAGES}&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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;lt;&amp;lt;&lt;/span&gt; EOF &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${MAIL_CONTENT_FILENAME}&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;From: &lt;span style=&quot;color: #800000;&quot;&gt;${MAIL_FROM}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;To: &lt;span style=&quot;color: #800000;&quot;&gt;${MAIL_DEST}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;Subject: &lt;span style=&quot;color: #800000;&quot;&gt;${MAIL_SUBJECT}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;MIME-Version: &lt;span style=&quot;color: #000000;&quot;&gt;1.0&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;Content-Type: multipart&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mixed;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt; &lt;span style=&quot;color: #007800;&quot;&gt;boundary&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;PAA08673.1018277622/&lt;span style=&quot;color: #007800;&quot;&gt;${HOSTNAME}&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;This is a MIME-encapsulated message&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;--PAA08673.1018277622&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${HOSTNAME}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;Content-Type: text&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;html&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;html&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;        &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;title&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${MAIL_SUBJECT}&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/&lt;/span&gt;title&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;body&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;        &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;table &lt;span style=&quot;color: #007800;&quot;&gt;border&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;          &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;            &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;b&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;Server&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/&lt;/span&gt;b&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;amp;&lt;/span&gt;nbsp;:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&lt;/span&gt;nbsp;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${HOSTNAME}&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${IP}&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${SYSTEM_TYPE_m}&lt;/span&gt;-&lt;span style=&quot;color: #800000;&quot;&gt;${SYSTEM_NAME}&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;&amp;lt;/&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;          &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;            &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;b&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;Date&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/&lt;/span&gt;b&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;amp;&lt;/span&gt;nbsp;:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&lt;/span&gt;nbsp;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${DATE}&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;          &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;            &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;b&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;New packages&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/&lt;/span&gt;b&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;amp;&lt;/span&gt;nbsp;:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&lt;/span&gt;nbsp;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${HTML_PACKAGES}&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/&lt;/span&gt;td&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;          &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;        &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/&lt;/span&gt;table&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/&lt;/span&gt;body&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/&lt;/span&gt;html&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;EOF&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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;Sending mail to : &lt;span style=&quot;color: #007800;&quot;&gt;${MAIL_DEST}&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;  esmtp &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${MAIL_CONTENT_FILENAME}&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&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;--- FIN   -------------------- &lt;span style=&quot;color: #007800;&quot;&gt;$(date)&lt;/span&gt; --------------------&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2011/03/08/Recevoir-un-mail-de-notification-quand-de-nouveaux-paquets-apt-get-sont-disponibles#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2011/03/08/Recevoir-un-mail-de-notification-quand-de-nouveaux-paquets-apt-get-sont-disponibles#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/104</wfw:commentRss>
      </item>
    
  <item>
    <title>Quelle solution de backup</title>
    <link>http://blog.tensin.org/index.php?post/2010/01/03/solutions-de-backup</link>
    <guid isPermaLink="false">urn:md5:c911e01ab7aae49199df1907518992c0</guid>
    <pubDate>Sat, 01 Jan 2011 14:56:00 +0100</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>backup</category><category>linux</category><category>serveur</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_backup.png&quot; alt=&quot;backup&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;backup, janv. 2011&quot; /&gt;Voilà, je cherche une solution de backup à installer sur mon environnement réseau, et j&amp;#8217;ai du mal à trouver une.&lt;/p&gt;


&lt;p&gt;Je liste ci-dessous ce que j&amp;#8217;ai à sauvegarder, les outils essayés ou en cours de tests, et quelques pistes de réflexion sur une solution &amp;#8220;idéale&amp;#8221; pour mon cas de figure.&lt;/p&gt;


&lt;p&gt;Ma configuration à backuper&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un &lt;strong&gt;PC &amp;#8220;serveur&amp;#8221;&lt;/strong&gt; Linux sous Ubuntu 10.10&amp;#160;: sauvegarde de fichiers de configuration, sites web, plusieurs bases de données, repository GIT, données personnelles. Donc des fichiers locaux à sauvegarder (tout /etc, quelques fichiers sous /usr/bin, un /home/user, etc.).&lt;/li&gt;
&lt;li&gt;Un &lt;strong&gt;serveur dédié&lt;/strong&gt; Linux sous Ubuntu 9.10&amp;#160;en ligne (chez OVH)&amp;#160;: sauvegarde de fichiers de configuration, sites web, plusieurs bases de données, repository GIT.&lt;/li&gt;
&lt;li&gt;Un &lt;strong&gt;PC portable&lt;/strong&gt; sous Linux SUSE Enterprise SLED11&amp;#160;: fichiers de configuration, fichiers personnels, bases de données MySQL, etc.&lt;/li&gt;
&lt;li&gt;Un &lt;strong&gt;netbook&lt;/strong&gt; sous Windows XP&amp;#160;: quelques rares fichiers de configuration.&lt;/li&gt;
&lt;li&gt;Un &lt;strong&gt;plug computer&lt;/strong&gt; sous Debian&amp;#160;: fichiers de configuration.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Mes souhaits pour l&amp;#8217;outil de backup&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;simplicité&lt;/strong&gt; de configuration (tant pour le serveur principal que pour les machines à sauvegarder)&amp;#160;;&lt;/li&gt;
&lt;li&gt;installation simple (pas de dépendances compliquées)&amp;#160;;&lt;/li&gt;
&lt;li&gt;fonctionnement possible en &lt;strong&gt;réseau&lt;/strong&gt;&amp;#160;: backup vers une machine centrale, backups croisés, mode push et/ou pull, etc.&amp;#160;;&lt;/li&gt;
&lt;li&gt;multi-protocoles&amp;#160;: sauvegarde de fichiers locaux, de fichiers distants, exports de bases de données, prises de snapshot de repository GiT, CVS et éventuellement SubVersion, etc.&amp;#160;;&lt;/li&gt;
&lt;li&gt;si possible, &lt;strong&gt;facilité d&amp;#8217;accès&lt;/strong&gt; aux fichiers sauvegardés&amp;#160;: pas de manipulations compliquées pour récupérer un fichier&amp;#160;: comme la récupération est tout de même rare et ponctuelle, ce point est mineur, mais dans l&amp;#8217;idéal une récupération directement sur disque serait parfaite&amp;#160;;&lt;/li&gt;
&lt;li&gt;interfaçage &lt;a href=&quot;https://www.dropbox.com/&quot; hreflang=&quot;en&quot;&gt;DropBox&lt;/a&gt; ou autre (&lt;a href=&quot;http://aws.amazon.com/fr/s3/&quot; hreflang=&quot;en&quot;&gt;Amazon S3&lt;/a&gt;) pour envoi de certains fichiers en ligne&amp;#160;;&lt;/li&gt;
&lt;li&gt;encryption éventuelle des données sauvegardées&amp;#160;;&lt;/li&gt;
&lt;li&gt;fonctionnement obligatoire en ligne de commande (configuration + lancement), mais interface de configuration / manipulation à côté envisageable (client lourd ou client web)&amp;#160;;&lt;/li&gt;
&lt;li&gt;projet actif&amp;#160;;&lt;/li&gt;
&lt;li&gt;une bonne gestion des erreurs&amp;#160;: si quelque chose se passe mal, il faut que j&amp;#8217;en sois averti&amp;#160;!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Les fonctions dont je n&amp;#8217;ai &lt;strong&gt;pas&lt;/strong&gt; besoin et que beaucoup de solutions de backup proposent&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;gravage des données sur disques ou bandes&amp;#160;;&lt;/li&gt;
&lt;li&gt;mécanismes de sauvegardes incrémentales / différentielles&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bref pour résumer, dans l&amp;#8217;idéal, il me faudrait un système de plugins (qui doivent être faciles à écrire / modifier / paramétrer)&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;plusieurs plugins en entrée &lt;strong&gt;quoi sauvegarder&lt;/strong&gt; (fichiers locaux, fichiers distants, bases de données, outils, etc.)&amp;#160;;&lt;/li&gt;
&lt;li&gt;plusieurs plugins en sortie &lt;strong&gt;où sauvegarder&lt;/strong&gt; (FTP, SSH distant, machine locale, &lt;a href=&quot;https://www.dropbox.com/&quot; hreflang=&quot;en&quot;&gt;DropBox&lt;/a&gt;, &lt;a href=&quot;http://aws.amazon.com/fr/s3/&quot; hreflang=&quot;en&quot;&gt;Amazon S3&lt;/a&gt;, etc.)&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Avec simplement un appairage entre éléments en entrée et éléments en sortie (quoi sauvegarder, où).&lt;/p&gt;


&lt;p&gt;Les pistes de logiciels existants à ma connaissance&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://rsnapshot.org/&quot; hreflang=&quot;en&quot;&gt;rsnapshot&lt;/a&gt;&amp;#160;: l&amp;#8217;outil que j&amp;#8217;utilise actuellement mais qui ne me satisfait clairement pas totalement (configuration laborieuse et peu souple, mauvaise gestion des erreurs, &amp;#8230;)&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cis.upenn.edu/&quot; hreflang=&quot;en&quot;&gt;Unison&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://duplicity.nongnu.org/&quot; hreflang=&quot;en&quot;&gt;Duplicity&lt;/a&gt; + &lt;a href=&quot;http://blog.tensin.org/index.php?post/2010/01/03/&quot; hreflang=&quot;en&quot;&gt;frontal&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://cedar-backup.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;Cedar backup&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.backup-manager.org/&quot; hreflang=&quot;fr&quot;&gt;Backup Manager&lt;/a&gt;&amp;#160;: voilà bien un projet que je trouve obscur et pas intuitif &amp;#8230; pas pour moi&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://codingteam.net/project/backupeur&quot; hreflang=&quot;fr&quot;&gt;Backupeur&lt;/a&gt;&amp;#160;: pas mal, léger, mais tout en shell script (donc difficilement portable, et nécessiterait pas mal d&amp;#8217;évolutions)&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.miek.nl/projects/rdup/index.html&quot; hreflang=&quot;en&quot;&gt;rdup&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.nongnu.org/rdiff-backup/&quot; hreflang=&quot;en&quot;&gt;rdiff-backup&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.boxbackup.org/comparison.html&quot; hreflang=&quot;en&quot;&gt;boxbackup&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.dirvish.org/&quot; hreflang=&quot;en&quot;&gt;dirvish&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://labs.riseup.net/code/projects/backupninja&quot; hreflang=&quot;en&quot;&gt;backupninja&lt;/a&gt;&amp;#160;: semble intéressant, à creuser&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Concernant les outils &amp;#8220;bas-niveau&amp;#8221;, il y a bien sûr&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://fr.wikipedia.org/wiki/Rsync&quot; hreflang=&quot;fr&quot;&gt;rsync&lt;/a&gt;&amp;#160;: répond nativement à une partie des problématiques, sauvegarde différentielle de répertoires locaux ou distants&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://dar.linux.free.fr/&quot; hreflang=&quot;fr&quot;&gt;dar&lt;/a&gt;&amp;#160;: Disk ARchive, projet très intéressant, une sorte de &lt;strong&gt;tar&lt;/strong&gt; plus évolué, adapté aux sauvegardes de type backup&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ces outils en eux-même ne gèrent pas toutes les problématiques que je souhaite couvrir.&lt;/p&gt;


&lt;p&gt;Reste la piste de créer moi-même mon propre système de backup &amp;#8230; réflexion en cours, pour le moment je partirais sur&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;réalisation en Java&amp;#160;;&lt;/li&gt;
&lt;li&gt;principe client / serveur&amp;#160;: dans un premier temps, une partie serveur, exécutable sur une ou plusieurs machines, et dans un deuxième temps un ou plusieurs clients (client lourd / client web)&amp;#160;;&lt;/li&gt;
&lt;li&gt;le principe de plugins en entrée et en sortie évoqué plus haut&amp;#160;;&lt;/li&gt;
&lt;li&gt;problème n°1&amp;#160;: la librairie rsync n&amp;#8217;a pas de réelle implémentation Java (il y a 2 projets non terminés et qui n&amp;#8217;évoluent plus&amp;#160;: &lt;a href=&quot;http://librsync.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;librsync&lt;/a&gt; et &lt;a href=&quot;http://jarsync.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;jarsync&lt;/a&gt;, plus peut-être plus tard &lt;a href=&quot;http://code.google.com/p/java-rsync/&quot; hreflang=&quot;en&quot;&gt;java-rsync&lt;/a&gt;, mais ce projet n&amp;#8217;a encore produit aucun code)&amp;#160;;&lt;/li&gt;
&lt;li&gt;problèmé n°2&amp;#160;: la librairie dar n&amp;#8217;existe pas en Java, donc pas d&amp;#8217;usage possible en natif&amp;#160;;&lt;/li&gt;
&lt;li&gt;ces outils ne seraient donc utilisables, comme les autres commandes systèmes type export de bases de données mysql, que par exécution depuis la couche Java de commandes systèmes, ce qui est évidemment facile à faire, mais tout de même moins élégant (problème de configuration, de multi-plateforme, etc.)&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Annexes.&lt;/p&gt;


&lt;p&gt;A noter un ouvrage chez O&amp;#8217;Reilly dédié à cette problématique&amp;#160;: backup and recovery.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/media/livre_oreilly_backup_and_recovery.jpg&quot; title=&quot;Backup and recovery (O&amp;#039;Reilly)&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/media/.livre_oreilly_backup_and_recovery_s.jpg&quot; alt=&quot;Backup and recovery (O&amp;#039;Reilly)&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Backup and recovery (O&amp;#039;Reilly), janv. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Quelques liens en vrac en complément&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un script PERL pour automatiser le backup de bases MySQL, &lt;a href=&quot;http://www.linuxlinks.com/article/20090111090951386/Zmanda.html&quot; hreflang=&quot;en&quot;&gt;ZManda&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;Le &lt;a href=&quot;http://gradha.sdf-eu.org/textos/dar-differential-backup-mini-howto.en.html&quot; hreflang=&quot;en&quot;&gt;mini-howto sur DAR&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.desktoplinux.com/articles/AT2280165098.html&quot; hreflang=&quot;en&quot;&gt;A simple Linux backup method&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;Un billet qui détaille la &lt;a href=&quot;http://www.ruzee.com/blog/2008/11/using-rsnapshot-for-file-and-database-backups&quot; hreflang=&quot;en&quot;&gt;configuration de rsnapshot&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;Comment &lt;a href=&quot;http://bash.cyberciti.biz/backup/rsnapshot-remote-mysql-backup-shell-script/&quot; hreflang=&quot;en&quot;&gt;sauvegarder une base mysql distante avec rsnapshot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Un tutorial en français sur la &lt;a href=&quot;http://blog.mageekbox.net/?post/2008/11/07/Mise-en-place-de-sauvegardes-%C3%A0-l-aide-de-rsnapshot&quot; hreflang=&quot;fr&quot;&gt;mise en place de rsnapshot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://linuxboxadmin.esohosting.sk/articles/tools-and-utilities/boxbackup.html&quot; hreflang=&quot;en&quot;&gt;BoxBackup&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/01/03/solutions-de-backup#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/01/03/solutions-de-backup#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/51</wfw:commentRss>
      </item>
    
  <item>
    <title>Retirer en ligne de commande le password d'un fichier .pdf</title>
    <link>http://blog.tensin.org/index.php?post/2010/12/31/Retirer-en-ligne-de-commande-le-password-d-un-fichier-.pdf</link>
    <guid isPermaLink="false">urn:md5:1fe0a5a7678b0debcb7f4ef98ac5d8cf</guid>
    <pubDate>Sat, 01 Jan 2011 13:40:00 +0100</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>linux</category><category>pdf</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_pdf.png&quot; alt=&quot;PDF&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;PDF, déc. 2010&quot; /&gt;Pour retirer, sous Linux, le mot de passe d&amp;#8217;un fichier .pdf, rien de plus simple. On parle bien ici du cas de figure où l&amp;#8217;on est (légalement) en possession de ce password et où on veut simplement rendre l&amp;#8217;usage du .pdf plus souple (cas d&amp;#8217;un achat en ligne dont le .pdf est verrouillé par un password, password qu&amp;#8217;il faut saisir à chaque lecture, ce qui s&amp;#8217;avère passablement exaspérant à la longue).&lt;/p&gt;


&lt;p&gt;Plusieurs solutions existent mais la plus simple est de passer par &lt;a href=&quot;http://qpdf.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;qpdf&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Installer qpdf&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;sudo apt-get install qpdf&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Procéder au retrait du mot de passe&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;qpdf &amp;#45;&amp;#45;password=xxxxxxx &amp;#45;&amp;#45;decrypt fichier_avec_password.pdf fichier_destination.pdf&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;D&amp;#8217;autres solutions existent (conversion .pdf &amp;gt; .ps puis retour en .ps avec &lt;a href=&quot;http://download.gna.org/pdbv/demo_html/demo_2.0.10/package/xpdf-utils_3.00-12.html&quot; hreflang=&quot;en&quot;&gt;xpdf-utils&lt;/a&gt;, manipulations avec &lt;a href=&quot;http://www.accesspdf.com/pdftk&quot; hreflang=&quot;en&quot;&gt;pdftk&lt;/a&gt;, etc.), mais la version en ligne de commande avec qpdf est vraiment la plus simple.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/12/31/Retirer-en-ligne-de-commande-le-password-d-un-fichier-.pdf#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/12/31/Retirer-en-ligne-de-commande-le-password-d-un-fichier-.pdf#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/93</wfw:commentRss>
      </item>
    
  <item>
    <title>La semi-déception du jour : plug computer Ionics Stratus</title>
    <link>http://blog.tensin.org/index.php?post/2010/12/19/La-semi-d%C3%A9ception-du-jour-%3A-plug-computer-Ionics-Stratus</link>
    <guid isPermaLink="false">urn:md5:066d9f9cfde58c7596725f58ea61f134</guid>
    <pubDate>Sun, 19 Dec 2010 02:43:00 +0100</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>guruplug</category><category>linux</category><category>plug</category><category>serveur</category>    
    <description>    &lt;p&gt;Après &lt;a href=&quot;http://blog.tensin.org/index.php?post/2010/10/02/Guru-Plug-Server-Plus-%3A-bonne-petite-machine%2C-mais-trop-bruyante&quot;&gt;le fiasco des Guruplug trop bruyants&lt;/a&gt; - que je m&amp;#8217;étais fait remboursés sans problème par &lt;a href=&quot;http://blog.tensin.org/index.php?post/2010/12/19/www.newit.co.uk&quot; hreflang=&quot;en&quot;&gt;NewIT&lt;/a&gt;, très corrects dans l&amp;#8217;histoire et sans doute très embêtés par les problèmes de retards et de bruits de ces serveurs - j&amp;#8217;étais parti sur un autre modèle&amp;#160;: un &lt;a href=&quot;http://www.ionicsplug.com/stratusplus.html&quot; hreflang=&quot;en&quot;&gt;Stratus Plug&lt;/a&gt; Computer (sur base de Sheevaplug), produit par une société américaine, &lt;a href=&quot;http://www.ionicsplug.com&quot; hreflang=&quot;en&quot;&gt;Ionics Plug&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Reçus il y a peu, et à nouveau une grosse déception&amp;#160;: alors que j&amp;#8217;ai bien commandé un modèle compatible avec les prises françaises, c&amp;#8217;est un modèle US qui m&amp;#8217;a été expédié&amp;#160;!&lt;/p&gt;


&lt;p&gt;Le pire c&amp;#8217;est que&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;j&amp;#8217;ai contacté le service des ventes avant commande, on m&amp;#8217;a bien répondu que oui, il était possible d&amp;#8217;avoir ces plugs au format européen, mais qu&amp;#8217;il y aurait un délai supplémentaire&amp;#160;;&lt;/li&gt;
&lt;li&gt;je le précise bien lors de ma commande&amp;#160;: il me faut deux plugs avec prises françaises&amp;#160;;&lt;/li&gt;
&lt;li&gt;on me répond immédiatement après ma commande &amp;#8220;attention, nous n&amp;#8217;avons que des versions avec prises US en stock, que doit-on faire de votre commande&amp;#160;?&amp;#8221;, ce à quoi je maintiens ma commande de plugs avec prise françaises, en forwardant le mail initial&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et bien malgré tout çà, j&amp;#8217;ai quand même reçu (deux mois après ma commande) des plugs avec prises US.&lt;/p&gt;


&lt;p&gt;Et le support d&amp;#8217;Ionics, recontacté, ne me propose que soit un remboursement, soit &amp;#8230; d&amp;#8217;aller à la quincaillerie du coin m&amp;#8217;acheter des adaptateurs US &amp;gt; FR. Ben voyons.&lt;/p&gt;


&lt;p&gt;Comme c&amp;#8217;est mon deuxième fiasco sur ce sujet, et que çà commence à me faire cher en frais d&amp;#8217;expéditions UK &amp;gt; France, France &amp;gt; UK, US &amp;gt; France, je n&amp;#8217;ai pas trop d&amp;#8217;autres choix que d&amp;#8217;en rester là, mais du coup, avec un adaptateur US &amp;gt; France, impossible de faire tenir le plug au mur comme prévu (avec l&amp;#8217;adaptateur, il faut forcément le laisser à plat sur une multiprise au sol (sans quoi, à la verticale, étant relativement lourd, il ne tient pas en place, à cause du poids et du décalage lié à l&amp;#8217;adaptateur).&lt;/p&gt;


&lt;p&gt;Quant au plug lui-même - qui fonctionne heureusement en 110-220V / 50-60Hz - il fonctionne tout de même bien. Il chauffe, mais il ne fait pas de bruit, c&amp;#8217;est déjà çà. Plus d&amp;#8217;informations sans doute dans un billet ultérieur&lt;/p&gt;


&lt;p&gt;Au passage, les CD-Rom fournis (contenant le kit de développement) sont totalement illisibles (testés sur 3 lecteurs différents). Dommage aussi. Recontacté à ce sujet, le support ne m&amp;#8217;a pas donné de réponse sur ce sujet.&lt;/p&gt;


&lt;p&gt;Enfin, le packaging sur la boîte n&amp;#8217;indique même pas quelles sont les options des plugs à l&amp;#8217;intérieur, alors que j&amp;#8217;en ai commandé un standard (pas pour moi) et un avec option &lt;a href=&quot;http://fr.wikipedia.org/wiki/ZigBee&quot; hreflang=&quot;fr&quot;&gt;Zigbee&lt;/a&gt;, difficile - sans pouvoir les démarrer pour le problème de prises - du coup de savoir quel boîtier est à qui.&lt;/p&gt;


&lt;p&gt;Bref, de mon point de vue, un service commercial pas très efficace de la part d&amp;#8217;Ionics.&lt;/p&gt;


&lt;p&gt;Donc pour résumer&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les &lt;strong&gt;Guruplugs sont trop bruyants&lt;/strong&gt; pour une utilisation normale, mais &lt;a href=&quot;http://blog.tensin.org/index.php?post/2010/12/19/www.newit.co.uk&quot; hreflang=&quot;en&quot;&gt;NewIT&lt;/a&gt;, l&amp;#8217;importateur UK, a un très bon service&amp;#160;;&lt;/li&gt;
&lt;li&gt;les Ionics Plugs ne sont pas bruyants du tout (mais chauffent un peu quand même), mais les services logistique et commercial d&amp;#8217;&lt;a href=&quot;http://www.ionicsplug.com&quot; hreflang=&quot;en&quot;&gt;Ionics&lt;/a&gt; &lt;strong&gt;n&amp;#8217;est vraiment pas bon&lt;/strong&gt;&amp;#160;: incapables d&amp;#8217;envoyer ce qui a été commandé, et incapables de corriger comme il le faudrait leur erreur (au passage, ils auraient suffi qu&amp;#8217;ils me réexpédient la pièce - (dé)clipsable, voir photos ci-dessous - qui correspond à la prise elle-même &amp;#8230; mais non). Bref, &lt;strong&gt;je déconseille finalement&lt;/strong&gt; de commander auprès de cette société.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Quelques photos du plug en open-the-box pour finir&amp;#160;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/plug_computer_ionics_stratus_01.jpg&quot; title=&quot;Ionics Stratus plug computer&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.plug_computer_ionics_stratus_01_m.jpg&quot; alt=&quot;Ionics Stratus plug computer&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Ionics Stratus plug computer, déc. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/plug_computer_ionics_stratus_02.jpg&quot; title=&quot;Ionics Stratus plug computer&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.plug_computer_ionics_stratus_02_m.jpg&quot; alt=&quot;Ionics Stratus plug computer&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Ionics Stratus plug computer, déc. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/plug_computer_ionics_stratus_03.jpg&quot; title=&quot;Ionics Stratus plug computer&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.plug_computer_ionics_stratus_03_m.jpg&quot; alt=&quot;Ionics Stratus plug computer&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Ionics Stratus plug computer, déc. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/plug_computer_ionics_stratus_04.jpg&quot; title=&quot;Ionics Stratus plug computer&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.plug_computer_ionics_stratus_04_m.jpg&quot; alt=&quot;Ionics Stratus plug computer&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Ionics Stratus plug computer, déc. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/plug_computer_ionics_stratus_05.jpg&quot; title=&quot;Ionics Stratus plug computer&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.plug_computer_ionics_stratus_05_m.jpg&quot; alt=&quot;Ionics Stratus plug computer&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Ionics Stratus plug computer, déc. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/plug_computer_ionics_stratus_06.jpg&quot; title=&quot;Ionics Stratus plug computer&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.plug_computer_ionics_stratus_06_m.jpg&quot; alt=&quot;Ionics Stratus plug computer&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Ionics Stratus plug computer, déc. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/plug_computer_ionics_stratus_07.jpg&quot; title=&quot;Ionics Stratus plug computer&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.plug_computer_ionics_stratus_07_m.jpg&quot; alt=&quot;Ionics Stratus plug computer&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Ionics Stratus plug computer, déc. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/plug_computer_ionics_stratus_08.jpg&quot; title=&quot;Ionics Stratus plug computer&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.plug_computer_ionics_stratus_08_m.jpg&quot; alt=&quot;Ionics Stratus plug computer&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Ionics Stratus plug computer, déc. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/plug_computer_ionics_stratus_09.jpg&quot; title=&quot;Ionics Stratus plug computer&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.plug_computer_ionics_stratus_09_m.jpg&quot; alt=&quot;Ionics Stratus plug computer&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Ionics Stratus plug computer, déc. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/12/19/La-semi-d%C3%A9ception-du-jour-%3A-plug-computer-Ionics-Stratus#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/12/19/La-semi-d%C3%A9ception-du-jour-%3A-plug-computer-Ionics-Stratus#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/92</wfw:commentRss>
      </item>
    
  <item>
    <title>Accéder à un repository GIT / subversion derrière un proxy authentifié.</title>
    <link>http://blog.tensin.org/index.php?post/2010/12/03/Acc%C3%A9der-%C3%A0-un-repository-GIT-derri%C3%A8re-un-proxy-authentifi%C3%A9.</link>
    <guid isPermaLink="false">urn:md5:796790161816528f24bf10e16edd8d92</guid>
    <pubDate>Sun, 05 Dec 2010 13:07:00 +0100</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>git</category><category>linux</category><category>proxy</category><category>server</category><category>subversion</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_proxy.png&quot; alt=&quot;Proxy&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Proxy, déc. 2010&quot; /&gt;&lt;/p&gt;

&lt;h2&gt;GIT&lt;/h2&gt;


&lt;p&gt;Pour accéder à un repository &lt;a href=&quot;http://git-scm.com/&quot; hreflang=&quot;en&quot;&gt;GIT&lt;/a&gt; en étant derrière un proxy d&amp;#8217;entreprise (avec authentification).&lt;/p&gt;


&lt;p&gt;Installer &lt;a href=&quot;http://www.dest-unreach.org/socat/&quot; hreflang=&quot;en&quot;&gt;socat&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;sudo apt-get install socat&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Créer le script &lt;strong&gt;git-proxy.sh&lt;/strong&gt; (dans un répertoire accessible via le PATH courant, ex. /usr/bin)&amp;#160;:&lt;/p&gt;

&lt;pre&gt;
#!/bin/bash
HTTP_PROXY_HOSTNAME=&amp;quot;url_du_proxy_d_entreprise&amp;quot;
HTTP_PROXY_PORT=&amp;quot;port_du_proxy&amp;quot;
HTTP_PROXY_USERNAME=&amp;quot;username&amp;quot;
HTTP_PROXY_PASSWORD=&amp;quot;password&amp;quot;
socat STDIO PROXY:${HTTP_PROXY_HOSTNAME}:$1:$2,proxyport=${HTTP_PROXY_PORT},proxyauth=${HTTP_PROXY_USERNAME}:${HTTP_PROXY_PASSWORD}
&lt;/pre&gt;


&lt;p&gt;Remarque&amp;#160;: il suffit de retirer la partie &amp;#8220;,proxyauth&amp;#8221; si le proxy ne demande pas d&amp;#8217;authentification.&lt;/p&gt;


&lt;p&gt;En ligne de commande il suffit ensuite de positionner l&amp;#8217;accès au proxy pour GIT&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;export GIT_PROXY_COMMAND=git-proxy.sh&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Puis de lancer normalement une commande git, par ex.&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;git clone git://git.gnome.org/conduit&lt;/p&gt;&lt;/blockquote&gt;


&lt;h2&gt;Subversion&lt;/h2&gt;


&lt;p&gt;La manipulation est nettement plus simple pour subversion.&lt;/p&gt;


&lt;p&gt;Il suffit d&amp;#8217;éditer le fichier &lt;strong&gt;~/.subversion/servers&lt;/strong&gt;, de localiser la paramétrie &amp;#8220;[global]&amp;#8221; et de décommenter / renseigner ou ajouter les lignes suivantes&amp;#160;:&lt;/p&gt;

&lt;pre&gt;
\[global\]
http-proxy-host = url_du_proxy_d_entreprise
http-proxy-port = port_du_proxy
http-proxy-username = username
http-proxy-password = password

&lt;/pre&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/12/03/Acc%C3%A9der-%C3%A0-un-repository-GIT-derri%C3%A8re-un-proxy-authentifi%C3%A9.#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/12/03/Acc%C3%A9der-%C3%A0-un-repository-GIT-derri%C3%A8re-un-proxy-authentifi%C3%A9.#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/91</wfw:commentRss>
      </item>
    
  <item>
    <title>Retour sur migration d'une partition en ext3 vers ext4 sur une baie RAID5</title>
    <link>http://blog.tensin.org/index.php?post/2010/10/17/Migration-ext3-vers-ext4-sur-une-baie-RAID</link>
    <guid isPermaLink="false">urn:md5:5b35874e2739d9b1ec1034d57617ebcf</guid>
    <pubDate>Sun, 17 Oct 2010 23:22:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>ext4</category><category>linux</category><category>raid</category><category>serveur</category><category>ubuntu</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/.icon_raid_s.jpg&quot; alt=&quot;RAID&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;RAID, juil. 2010&quot; /&gt;Suite au passage sans trop de problèmes en &lt;a href=&quot;http://www.ubuntu.com/&quot; hreflang=&quot;en&quot;&gt;Ubuntu 10.10&lt;/a&gt; ce week-end pluvieux, j&amp;#8217;ai franchi le pas aussi pour le format de la partition de ma partition RAID5 qui était jusqu&amp;#8217;ici en ext3, que j&amp;#8217;ai migrée en &lt;a href=&quot;http://fr.wikipedia.org/wiki/Ext4&quot; hreflang=&quot;fr&quot;&gt;ext4&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Ce format de partition me semble aujourd&amp;#8217;hui suffisamment stable, je l&amp;#8217;utilise depuis Ubuntu 10.04 sur ma partition système sans soucis. Qui plus est, sur cette partition RAID5&amp;#160;en ext3, je rencontrais des problèmes de temps de réponses, notamment des créations de répertoires assez longues, temps que j&amp;#8217;espère meilleurs en ext4.&lt;/p&gt;


&lt;p&gt;La manipulation pour faire la conversion sans tout reformater est décrite partout sur le web, comme par exemple ici&amp;#160;: &lt;a href=&quot;http://planet.admon.org/howto/convert-file-system-from-ext3-to-ext4/&quot; hreflang=&quot;en&quot;&gt;Convert file system from ext3 to ext4&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Dans mon cas, j&amp;#8217;ai migré une partition &lt;strong&gt;/dev/md0/&lt;/strong&gt; constituée de quatre disques Samsung 1.5TO - soit en pratique 3 disques utiles et 1 spare &amp;#8212; pour une taille utilisable de 4.1TO, remplie avant la manipulation à 3.3TO.&lt;/p&gt;

&lt;pre&gt;
/dev/md0      ext4    4,1T  3,3T  749G  82% /mnt/internal/1500go-raid
&lt;/pre&gt;


&lt;p&gt;Au final, la conversion est longue, mais s&amp;#8217;est bien passée (j&amp;#8217;avais tout de même un backup partiel des données au cas où &amp;#8230;).&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Etape 1&lt;/strong&gt;. Un premier fsck pour valider que tout va bien sur la partition &lt;a href=&quot;http://blog.tensin.org/index.php?post/2010/10/17/durée = __120 minutes__&quot; title=&quot;durée = __120 minutes__&quot;&gt;durée = __120 minutes__&lt;/a&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;# sudo e2fsck -pf /dev/md0&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Résultat&amp;#160;:&lt;/p&gt;

&lt;pre&gt;
/dev/md0 : 964328/274718720 fichiers (3.1% non contigus), 902621888/1098851952 blocs
&lt;/pre&gt;


&lt;p&gt;&lt;strong&gt;Etape 2&lt;/strong&gt;. La conversion des inodes par &lt;strong&gt;tune2fs&lt;/strong&gt; &lt;a href=&quot;http://blog.tensin.org/index.php?post/2010/10/17/durée = __0 minutes__&quot; title=&quot;durée = __0 minutes__&quot;&gt;durée = __0 minutes__&lt;/a&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;# sudo tune2fs -O extents,uninit_bg,dir_index /dev/md0&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;&lt;strong&gt;Etape 3&lt;/strong&gt;. Un deuxième fsck (obligatoire) &lt;a href=&quot;http://blog.tensin.org/index.php?post/2010/10/17/durée = __116 minutes__&quot; title=&quot;durée = __116 minutes__&quot;&gt;durée = __116 minutes__&lt;/a&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;# sudo e2fsck -pf /dev/md0&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;&lt;strong&gt;Etape 4&lt;/strong&gt;. Changer le type de la partition de ext3&amp;#160;en ext4 dans &lt;strong&gt;/etc/fstab&lt;/strong&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;# sudo vi /etc/fstab&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Pour avoir&amp;#160;:&lt;/p&gt;

&lt;pre&gt;
/dev/md0                                        /mnt/internal/1500go-raid 	ext4	     defaults,relatime		 0  3
&lt;/pre&gt;


&lt;p&gt;&lt;strong&gt;Etape 5&lt;/strong&gt;. Remontage manuel et/ou reboot.&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;# sudo mount /dev/md0&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;A noter la présence d&amp;#8217;une floppée d&amp;#8217;erreurs &amp;#8220;normales&amp;#8221; lors de l&amp;#8217;étape 3 (voir par exemple &lt;a href=&quot;http://osdir.com/ml/linux-ext4/2009-11/msg00248.html&quot; hreflang=&quot;en&quot;&gt;ce lien&lt;/a&gt; qui confirme que c&amp;#8217;est le comportement attendu)&amp;#160;:&lt;/p&gt;

&lt;pre&gt;
(...)
Le checksum du descripteur de groupe 33533 est invalide. CORRIGÉ.
Le checksum du descripteur de groupe 33534 est invalide. CORRIGÉ.
Passe 1 : vérification des i-noeuds, des blocs et des tailles

Passe 2 : vérification de la structure des répertoires
Passe 3 : vérification de la connectivité des répertoires
Passe 4 : vérification des compteurs de référence
Passe 5 : vérification de l'information du sommaire de groupe
/dev/md0 : 964328/274718720 fichiers (3.1% non contigus), 902621888/1098851952 blocs
&lt;/pre&gt;


&lt;p&gt;Bien sûr, le bénéfice de cette migration sera moins important qu&amp;#8217;après un reformatage complet&amp;#160;: c&amp;#8217;est seulement au fur et à mesure que les données seront réécrites sur la partition migrée que les optimisations liées à ext4 auront lieu.&lt;/p&gt;


&lt;p&gt;En premier test qui ne veut vraiment pas dire grand chose&amp;#160;: j&amp;#8217;ai un site web stocké sur cette partition RAID5 et qui a une utilisation assez intensive du filesystem. Pour une recherche précise qui mettait 0.08 secondes en ext3, je suis passé maintenant à 0.02 secondes en ext4 &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;MAJ&lt;/strong&gt;&amp;#160;: par contre petite déception, dans certains cas (profondeur assez importante dans l&amp;#8217;arborescence des répertoires), la création d&amp;#8217;un nouveau sous-répertoire tout simple n&amp;#8217;est toujours pas instantannée en ext4 chez moi. A première vue çà prendrait un poil moins de temps qu&amp;#8217;en ext3, mais plus que sur d&amp;#8217;autres partitions (je suppose que c&amp;#8217;est le nombre de fichiers / répertoires présents sur cette partition qui est pénalisant, au demeurant la partition RAID5&amp;#160;en question se porte très bien et affiche de bonnes perfs&amp;#8217; en lecture/écriture, donc pas de problèmes matériels). A voir dans la durée au fur et à mesure que les données seront réécrites &amp;#8230;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/10/17/Migration-ext3-vers-ext4-sur-une-baie-RAID#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/10/17/Migration-ext3-vers-ext4-sur-une-baie-RAID#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/89</wfw:commentRss>
      </item>
    
  <item>
    <title>Convertir un enregistrement iPhone .m4a en .mp3 sous linux</title>
    <link>http://blog.tensin.org/index.php?post/2010/10/02/Convertir-un-enregistrement-iPhone-.m4a-en-.mp3-sous-linux</link>
    <guid isPermaLink="false">urn:md5:771bd4ed92b2011c6b45db4049ec0793</guid>
    <pubDate>Sat, 02 Oct 2010 15:37:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
            
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_m4a.png&quot; alt=&quot;m4a&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;m4a, oct. 2010&quot; /&gt;Rien de plus simple, pour convertir les fichiers audio par ex. enregistrés sur un iPhone en .mp3.&lt;/p&gt;


&lt;p&gt;Il suffit d&amp;#8217;avoir &lt;strong&gt;&lt;a href=&quot;http://lame.sourceforge.net/download.php&quot; hreflang=&quot;en&quot;&gt;lame&lt;/a&gt;&lt;/strong&gt; et &lt;strong&gt;&lt;a href=&quot;http://www.audiocoding.com/downloads.html&quot; hreflang=&quot;en&quot;&gt;faad&lt;/a&gt;&lt;/strong&gt; (Advanced Audio Decoder player). Il est bien sûr possible d&amp;#8217;en profiter pour utiliser les différentes fonctions de LAME (changement du bitrate, ajout de métadata avec les options &lt;del&gt;tt pour le titre, &lt;/del&gt;tg pour le genre, etc.).&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;sudo apt-get install faad lame&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Et de lancer la conversion comme ceci&amp;#160;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;faad -o - &amp;#8220;fichier_source.m4a&amp;#8221; | lame - &amp;#8220;fichier_destination.mp3&amp;#8221;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Exemple de sortie&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
guruplug.m4a file info:

LC AAC	17.120 secs, 2 ch, 44100 Hz

  ---------------------
 | Config:  2 Ch       |
  ---------------------
 | Ch |    Position    |
  ---------------------
 | 00 | Left front     |
 | 01 | Right front    |
  ---------------------

Decoding guruplug.m4a took:  0.04 sec. 427.99x real-time.
LAME 3.98.3 64bits (http://www.mp3dev.org/)
Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
Encoding &amp;lt;stdin&amp;gt; to guruplug.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3
&lt;/pre&gt;


&lt;p&gt;En bonus &lt;a href=&quot;http://www.scottklarr.com/topic/138/skwizard---linux-m4a-converter-and-file-rename-tool/&quot; hreflang=&quot;en&quot;&gt;un petit script&lt;/a&gt; qui encapsule cette commande pour réaliser ce traitement en batch en lien externe.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/10/02/Convertir-un-enregistrement-iPhone-.m4a-en-.mp3-sous-linux#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/10/02/Convertir-un-enregistrement-iPhone-.m4a-en-.mp3-sous-linux#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/87</wfw:commentRss>
      </item>
    
  <item>
    <title>Guru Plug Server Plus : bonne petite machine, mais trop bruyante</title>
    <link>http://blog.tensin.org/index.php?post/2010/10/02/Guru-Plug-Server-Plus-%3A-bonne-petite-machine%2C-mais-trop-bruyante</link>
    <guid isPermaLink="false">urn:md5:f070ee42de845e2786f39a1918659e20</guid>
    <pubDate>Sat, 02 Oct 2010 13:51:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>guruplug</category><category>linux</category><category>plug</category><category>serveur</category><category>ssh</category>    
    <description>    &lt;p&gt;La déception du jour&amp;#160;: le serveur Guru Plus Server Plus (un &lt;a href=&quot;http://blog.tensin.org/index.php?post/2010/10/02/plugcomputer.org&quot; hreflang=&quot;en&quot;&gt;plug computer&lt;/a&gt;).&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/guruplug.jpg&quot; alt=&quot;Guruplug&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Guruplug, oct. 2010&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Sur le papier c&amp;#8217;est une &lt;strong&gt;excellente petite machine&lt;/strong&gt; permettant d&amp;#8217;avoir un serveur Linux complet dans un boîtier de la taille d&amp;#8217;un boîtier CPL, avec les caractéristiques suivantes&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;processeur Marvell 1.2Ghz&amp;#160;;&lt;/li&gt;
&lt;li&gt;512 mo de RAM interne&amp;#160;;&lt;/li&gt;
&lt;li&gt;512 mo de flash interne&amp;#160;;&lt;/li&gt;
&lt;li&gt;1x port micro-SD&amp;#160;;&lt;/li&gt;
&lt;li&gt;2x ports ethernet Gigabit 10/100/1000&amp;#160;;&lt;/li&gt;
&lt;li&gt;Wi-Fi&amp;#160;;&lt;/li&gt;
&lt;li&gt;bluetooth&amp;#160;;&lt;/li&gt;
&lt;li&gt;2x ports USB&amp;#160;;&lt;/li&gt;
&lt;li&gt;1x port e-SATA&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Avec une consommation max donnée à 5W seulement. Le serveur est livré prêt à l&amp;#8217;emploi avec une distribution Debian déjà installée.&lt;/p&gt;


&lt;p&gt;Et tout çà pour 99$, soit 120 euros port compris chez le revendeur UK &lt;a href=&quot;http://www.newit.co.uk&quot; hreflang=&quot;en&quot;&gt;NewIT&lt;/a&gt;. Bref, une machine très complète pour faire un parfait petit serveur avec de nombreux usages potentiels (serveur de fichier, de mail, routage, domotique, etc.).&lt;/p&gt;


&lt;p&gt;Pour l&amp;#8217;heure, c&amp;#8217;est toutefois &lt;strong&gt;une grosse déception&lt;/strong&gt;. J&amp;#8217;ai pré-commandé le boîtier en mai 2010, et les premiers envois ont rapidement été interrompus car il s&amp;#8217;est avéré que le boîtier chauffait anormalement, notamment au niveau des connecteurs ethernet (au point de s&amp;#8217;y brûler au touché).&lt;/p&gt;


&lt;p&gt;La société qui produit le plug, &lt;a href=&quot;http://www.globalscaletechnologies.com&quot; hreflang=&quot;en&quot;&gt;Globalscape&lt;/a&gt;, a pris quelques mois pour revoir sa copie avec le fabricant chinois, pour ajouter, sur l&amp;#8217;unité dont j&amp;#8217;ai reçu un modèle ce jour, un &lt;strong&gt;petit ventilateur à l&amp;#8217;intérieur&lt;/strong&gt;. Vu la petite taille du boîtier, ils n&amp;#8217;ont évidemment pas pu mettre un gros heatsink et un gros ventilateur, le ventilateur équipé ne fait que 20&amp;#160;mm x 20&amp;#160;mm.&lt;/p&gt;


&lt;p&gt;Au final il remplit à peu près son rôle de ventilateur (le boîtier reste cependant après 3 heures de fonctionnement chaud au toucher sur les côtés et le dessus), mais &lt;strong&gt;le bruit généré par l&amp;#8217;engin est franchement conséquent&lt;/strong&gt; (bien au delà du niveau sonore de n&amp;#8217;importe quel PC traditionnel que j&amp;#8217;ai déjà pu entendre).&lt;/p&gt;


&lt;p&gt;Une petite vidéo pour se rendre compte (je pense qu&amp;#8217;en vrai, c&amp;#8217;est encore plus perceptible que sur la vidéo, le .mp3 ci-dessous est d&amp;#8217;ailleurs plus représentatif). Le plug s&amp;#8217;entend ronronner sans problèmes à plusieurs mètres.&lt;/p&gt;

&lt;div class=&quot;external-media&quot; style=&quot;margin: 1em auto; text-align: center;&quot;&gt;
&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/BpQH4FjshjM?fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/BpQH4FjshjM?fs=1&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;425&quot; height=&quot;344&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;br /&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=BpQH4FjshjM&quot;&gt;Que de bruit&lt;/a&gt;
&lt;/div&gt;


&lt;div class=&quot;external-media&quot; style=&quot;margin: 1em auto; text-align: center;&quot;&gt;
&lt;object type=&quot;application/x-shockwave-flash&quot; data=&quot;http://blog.tensin.org/dewplayer.swf?son=http://blog.tensin.org/public/ressources/guruplug.mp3&quot; height=&quot;20&quot; width=&quot;200&quot;&gt; &lt;param name=&quot;movie&quot; value=&quot;http://blog.tensin.org/dewplayer.swf?son=http://blog.tensin.org/public/ressources/guruplug.mp3&quot; /&gt;
&lt;/object&gt;
&lt;br /&gt;&lt;a href=&quot;http://blog.tensin.org/public/ressources/guruplug.mp3&quot;&gt;fichier mp3 autonome&lt;/a&gt; (enregistrement brut sans altérations)
&lt;/div&gt;



&lt;p&gt;Qui plus est des tests poussés réalisés par des personnes ayant reçue la première version font état de &lt;strong&gt;piètres performances&lt;/strong&gt; de la partie matérielle, voir ce très bon test sur le sujet&amp;#160;: &lt;a href=&quot;http://1wt.eu/articles/guruplug-slow-heater/&quot; hreflang=&quot;en&quot;&gt;GuruPlug Server Plus&amp;#160;: don&amp;#8217;t waste your money on it!&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Cela dit, pour mon usage, je pense que les performances de la machine seraient &lt;strong&gt;tout à fait suffisantes&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;Pour moi, le bruit généré rend ce serveur totalement impropre à l&amp;#8217;utilisation auquel je le destinais&amp;#160;: avoir un &lt;strong&gt;mini-serveur silencieux&lt;/strong&gt;, ne consommant pratiquement rien, sur lequel faire tourner un certain nombre de services de gestion et de services domotiques sous Linux. Vu sa faible taille, je comptais le mettre entre mon entrée et mon salon, pour y brancher dessus un &lt;a href=&quot;http://www.nabaztag.com/mirror/indexFR.html&quot; hreflang=&quot;fr&quot;&gt;mir:ror de Violet&lt;/a&gt; (lecteur RFID). Le bruit conséquent que génère le serveur rend cet usage impossible. J&amp;#8217;hésite entre l&amp;#8217;ouvrir et le bidouiller (faisable, mais sans garanties de réussir à mettre en place une bonne dissipation thermique sans bruit, pour au final un boîtier qui risque de devoir resté ouvert ou qui risque d&amp;#8217;être découpé de partout, donc on sera loin du concept initial d&amp;#8217;un simple boîtier intègre sans câbles) ou le retourner pour remboursement et trouver un autre modèle (peut-être l&amp;#8217;ancien modèle, le &lt;a href=&quot;http://www.globalscaletechnologies.com/p-22-sheevaplug-dev-kit-us.aspx&quot; hreflang=&quot;en&quot;&gt;sheevaplug&lt;/a&gt; (qui ne semblait pas souffrir de ces défauts de chauffe), ou un &lt;a href=&quot;http://www.ionicsplug.com/compare.html&quot; hreflang=&quot;en&quot;&gt;Ionics plug&lt;/a&gt;).&lt;/p&gt;


&lt;p&gt;Quelques photos en &lt;strong&gt;open-the-box&lt;/strong&gt;&amp;#160;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/guruplug_01.jpg&quot; title=&quot;Guruplug - La boîte&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.guruplug_01_m.jpg&quot; alt=&quot;Guruplug - La boîte&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Guruplug - La boîte, oct. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/guruplug_02.jpg&quot; title=&quot;Guruplug - les câbles&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.guruplug_02_m.jpg&quot; alt=&quot;Guruplug - les câbles&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Guruplug - les câbles, oct. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/guruplug_03.jpg&quot; title=&quot;Guruplug - Découverte du plug&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.guruplug_03_m.jpg&quot; alt=&quot;Guruplug - Découverte du plug&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Guruplug - Découverte du plug, oct. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/guruplug_04.jpg&quot; title=&quot;Guruplug - Le plug de près&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.guruplug_04_m.jpg&quot; alt=&quot;Guruplug - Le plug de près&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Guruplug - Le plug de près, oct. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/guruplug_05.jpg&quot; title=&quot;Guruplug - Le dos du plug&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.guruplug_05_m.jpg&quot; alt=&quot;Guruplug - Le dos du plug&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Guruplug - Le dos du plug, oct. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Au déballage, pas de soucis pour s&amp;#8217;en servir, bien qu&amp;#8217;il n&amp;#8217;y ait aucune documentation fournie avec le packaging.&lt;/p&gt;


&lt;p&gt;Le serveur boote en moins de 30 secondes et, avec la configuration par défaut, se retrouve en Wi-Fi &amp;#8220;Access Point&amp;#8221;, ce qui fait qu&amp;#8217;il suffit de se connecter dessus en ssh, par exemple depuis un PC portable en WiFi (en prenant le réseau ouvert par le guruplug, quelque chose du genre &lt;strong&gt;Plug2-uAP-1713&lt;/strong&gt;)&amp;#160;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;ssh root@192.168.1.1&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Le mot de passe root par défaut étant &amp;#8220;&lt;strong&gt;nosoup4u&lt;/strong&gt;&amp;#8221;.&lt;/p&gt;


&lt;p&gt;Et en liens annexes &amp;#8230;&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Photos de l&amp;#8217;intérieur du Guru Plug (modèle avec fan)&amp;#160;: &lt;a href=&quot;http://plugcomputer.org/plugforum/index.php?topic=2295.msg12908&quot;&gt;http://plugcomputer.org/plugforum/index.php?topic=2295.msg12908&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Forum dédié sur le site de l&amp;#8217;importateur UK&amp;#160;: &lt;a href=&quot;http://www.newit.co.uk/forum/index.php?action=collapse;c=7;sa=collapse;#7&quot;&gt;http://www.newit.co.uk/forum/index.php?action=collapse;c=7;sa=collapse;#7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Une page très complète sur &lt;a href=&quot;http://plug.maisondouf.fr/doku.php?id=guru:dissipation_guruplug&quot; hreflang=&quot;fr&quot;&gt;les problèmes de dissipation thermique du Guruplug&lt;/a&gt;, avec la présentation de toutes les solutions matérielles possibles&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/10/02/Guru-Plug-Server-Plus-%3A-bonne-petite-machine%2C-mais-trop-bruyante#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/10/02/Guru-Plug-Server-Plus-%3A-bonne-petite-machine%2C-mais-trop-bruyante#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/86</wfw:commentRss>
      </item>
    
  <item>
    <title>Optimisations web et outils associés</title>
    <link>http://blog.tensin.org/index.php?post/2010/08/01/Optimisations-web</link>
    <guid isPermaLink="false">urn:md5:3d228c8d864a01fd2a54138bf4654e06</guid>
    <pubDate>Tue, 03 Aug 2010 19:42:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>linux</category><category>optimisation</category><category>showslow</category><category>web</category><category>yslow</category>    
    <description>    &lt;p&gt;Venant de découvrir &lt;a href=&quot;http://www.showslow.com/&quot; hreflang=&quot;en&quot;&gt;ShowSlow&lt;/a&gt; (un site qui aggrège les données remontées par YSlow et Page Speed, voir ci-dessous), j&amp;#8217;en ai profité pour appliquer cette astuce toute bête sur tous mes sites qui le permettent et qui n&amp;#8217;étaient pas forcément à jour.&lt;/p&gt;


&lt;p&gt;Au programme dans ce billet&amp;#160;: une optimisation toute simple de l&amp;#8217;usage du cache pour toutes les ressources (par .htaccess), et le rappel de quelques outils d&amp;#8217;aide au diagnostic (que j&amp;#8217;imagine tous les développeurs web connaissent, mais sait-on jamais)&amp;#160;: &lt;a href=&quot;http://developer.yahoo.com/yslow/&quot; hreflang=&quot;en&quot;&gt;YSlow&lt;/a&gt;, &lt;a href=&quot;http://code.google.com/intl/fr-FR/speed/page-speed/&quot; hreflang=&quot;en&quot;&gt;Page Speed&lt;/a&gt;, &lt;a href=&quot;http://www.showslow.com/&quot; hreflang=&quot;en&quot;&gt;ShowSlow&lt;/a&gt; et &lt;a href=&quot;http://www.webpagetest.org/&quot; hreflang=&quot;en&quot;&gt;WebPageTest&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Tous ces outils sont intéressants, mais il ne faut pas s&amp;#8217;attendre à avoir des gains de performances  de l&amp;#8217;ordre de 100%. Par ailleurs, ces outils se focalisent tous sur l&amp;#8217;analyse des performances côté navigateur, il ne faut pas oublier l&amp;#8217;analyse et les optimisations côté back-office.&lt;/p&gt;


&lt;h2&gt;Optimisation de l&amp;#8217;usage du cache pour toutes les ressources (par .htaccess)&lt;/h2&gt;


&lt;p&gt;Le principe consiste, pour optimiser la conservation en cache des ressources statiques commes les images, les .css ou les .js, à forcer une durée de rétention importante via une directive stockée dans un &lt;a href=&quot;http://fr.wikipedia.org/wiki/Htaccess&quot; hreflang=&quot;fr&quot;&gt;.htaccess&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Avantages&lt;/strong&gt;&amp;#160;: tous les fichiers du site (ou du répertoire concerné par le .htaccess) sont automatiquement paramétrés avec ce délai d&amp;#8217;expiration. Les fichiers resteront donc systématiquement dans le cache du navigateur (jusqu&amp;#8217;à purge manuelle ou expiration de la durée indiquée).&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Inconvénient&lt;/strong&gt;&amp;#160;: il ne sera en l&amp;#8217;état pas possible de modifier ces fichiers. Autrement dit si un de ces fichiers est modifié en ligne, il ne sera pas récupéré par les visiteurs qui seront déjà venus précédemment sur le site (mais des solutions existent, sur une base de versionning de fichiers, voir cet &lt;a href=&quot;http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/#comments&quot; hreflang=&quot;en&quot;&gt;excellent article&lt;/a&gt; de ce non moins &lt;a href=&quot;http://www.stevesouders.com/blog&quot; hreflang=&quot;en&quot;&gt;excellent blog&lt;/a&gt;).&lt;/p&gt;


&lt;p&gt;Le code à mettre dans le fichier &lt;strong&gt;.htaccess&lt;/strong&gt; (à adapter au besoin sur le type de fichiers concernés et la durée de conservation dans le cache)&amp;#160;:&lt;/p&gt;

&lt;pre&gt;
&amp;lt;IfModule mod_expires.c&amp;gt;
SetEnv mod_expires On
ExpiresActive On
ExpiresByType image/png &amp;quot;access plus 1 year&amp;quot;
ExpiresByType image/gif &amp;quot;access plus 1 year&amp;quot;
ExpiresByType image/jpeg &amp;quot;access plus 1 year&amp;quot;
ExpiresByType image/vnd.microsoft.icon &amp;quot;access plus 1 year&amp;quot;
ExpiresByType text/css &amp;quot;access plus 1 year&amp;quot;
ExpiresByType application/x-javascript &amp;quot;access plus 1 year&amp;quot;
ExpiresByType application/javascript &amp;quot;access plus 1 year&amp;quot;
ExpiresByType text/javascript &amp;quot;access plus 1 year&amp;quot;
&amp;lt;/IfModule&amp;gt;
&lt;/pre&gt;


&lt;p&gt;Installation du module expire sous Apache&amp;#160;:&lt;/p&gt;

&lt;pre&gt;
sudo a2enmod expires 
&lt;/pre&gt;


&lt;p&gt;That&amp;#8217;s all&amp;#160;!&lt;/p&gt;


&lt;p&gt;En utilisant les outils ci-dessous (et en partant à chaque fois d&amp;#8217;un cache vide) on constate bien une (légère) différence de temps de chargement, et différence dans les résultats d&amp;#8217;analyse.&lt;/p&gt;


&lt;h2&gt;Outillage en rapport.&lt;/h2&gt;


&lt;h3&gt;YSlow&lt;/h3&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/yslow-screenshot.png&quot; title=&quot;YSlow&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.yslow-screenshot_s.jpg&quot; alt=&quot;YSlow&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;YSlow, août 2010&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://developer.yahoo.com/yslow/&quot; hreflang=&quot;en&quot;&gt;YSlow&lt;/a&gt; est une extension FireFox qui enrichit le plugin &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/1843/&quot; hreflang=&quot;fr&quot;&gt;FireBug&lt;/a&gt;, Le principe est ensuite, une fois une page analysée, de lister un certain nombre d&amp;#8217;éléments pertinents à corriger / modifier pour obtenir de meilleures performances, notamment (tout est rappelé sur la page &lt;a href=&quot;http://developer.yahoo.com/performance/rules.html&quot; hreflang=&quot;en&quot;&gt;Best practices for speeding up your web site&lt;/a&gt;)&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;réduire le nombre de requêtes HTTP = concaténer les fichiers qui peuvent l&amp;#8217;être (.css, .js)&amp;#160;;&lt;/li&gt;
&lt;li&gt;paramétrer correctement les expirations de cache (cf. ci-dessus par ex.)&amp;#160;;&lt;/li&gt;
&lt;li&gt;mettre en place une compression GZip (soit au sein du framework utilisé (la plupart le permette), soit par soi même (en &lt;a href=&quot;http://dev.petitchevalroux.net/php/activer-compression-gzip-php.274.html&quot; hreflang=&quot;fr&quot;&gt;PHP via les méthodes de capture de flux&lt;/a&gt;, etc.), soit encore par une &lt;a href=&quot;http://pwet.fr/blog/optimiser_son_site_sous_ubuntu_et_ailleurs_compresser_avec_gzip&quot; hreflang=&quot;fr&quot;&gt;paramétrie globale par ex. côté Apache&lt;/a&gt;)&amp;#160;;&lt;/li&gt;
&lt;li&gt;mettre les feuilles de style en début de page&amp;#160;;&lt;/li&gt;
&lt;li&gt;et les scripts en bas de page&amp;#160;;&lt;/li&gt;
&lt;li&gt;rendre les ressources .css et .js externes (afin qu&amp;#8217;elles puissent être mises en cache) et les compresser (avec &lt;a href=&quot;http://code.google.com/intl/fr-FR/closure/&quot; hreflang=&quot;en&quot;&gt;Google Closure&lt;/a&gt; ou &lt;a href=&quot;http://developer.yahoo.com/yui/compressor/&quot; hreflang=&quot;en&quot;&gt;YUI Compressor&lt;/a&gt;)&amp;#160;;&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Page Speed&lt;/h3&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/pagespeed-screenshot.png&quot; title=&quot;Page Test&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.pagespeed-screenshot_s.jpg&quot; alt=&quot;Page Test&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Page Test, août 2010&quot; /&gt;&lt;/a&gt;Autre extension pour &lt;strong&gt;FireFox&lt;/strong&gt;, toujours sous forme d&amp;#8217;ajout à &lt;strong&gt;FireBug&lt;/strong&gt;, toujours sur le même principe&amp;#160;: analyser la page, et faire une &lt;a href=&quot;http://code.google.com/intl/fr-FR/speed/page-speed/docs/rules_intro.html&quot; hreflang=&quot;en&quot;&gt;liste de recommandations&lt;/a&gt; en conséquence.&lt;/p&gt;


&lt;p&gt;Au final j&amp;#8217;ai quand même plus tendance à utiliser YSlow et à me passer de Page Speed, même si certains trouvent &lt;a href=&quot;http://zigazou.wordpress.com/2009/06/05/google-page-speed-ou-yahoo-yslow/&quot; hreflang=&quot;fr&quot;&gt;certains avantages&lt;/a&gt; à Page Speed. Evidemment, çà ne coûte pas grand chose d&amp;#8217;installer les deux (les deux s&amp;#8217;intégrant parfaitement dans FireBug) et de faire une passe sur son site avec chaque outil (qui ne prend qu&amp;#8217;une ou deux secondes).&lt;/p&gt;


&lt;p&gt;Le site de Page Speed&amp;#160;: http://code.google.com/intl/fr-FR/speed/page-speed/&lt;/p&gt;


&lt;h3&gt;Showslow&lt;/h3&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/showslow-screenshot.png&quot; title=&quot;Show Slow&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.showslow-screenshot_s.jpg&quot; alt=&quot;Show Slow&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Show Slow, août 2010&quot; /&gt;&lt;/a&gt;Il s&amp;#8217;agit d&amp;#8217;un site (à installer soi-même sur son serveur), développé en PHP, et qui permet d&amp;#8217;historiser les valeurs remontées par &lt;strong&gt;YSlow&lt;/strong&gt; et &lt;strong&gt;Page Speed&lt;/strong&gt;, en automatique (une fois son FireFox correctement configuré). Ce n&amp;#8217;est clairement pas indispensable, mais çà permet d&amp;#8217;avoir un historique des performances de ses sites web.&lt;/p&gt;


&lt;p&gt;Il suffit de suivre la &lt;a href=&quot;http://www.showslow.org/Installation_and_configuration&quot; hreflang=&quot;en&quot;&gt;documentation d&amp;#8217;installation&lt;/a&gt;, bien faite et tout à fait suffisante, pour installer la coeur de l&amp;#8217;outil, et d&amp;#8217;ensuite paramétrer les deux plugins FireBug en conséquence.&lt;/p&gt;


&lt;h3&gt;WebPageTest&lt;/h3&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/webpagetest-screenshot.png&quot; title=&quot;Web Page Test&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.webpagetest-screenshot_s.jpg&quot; alt=&quot;Web Page Test&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Web Page Test, août 2010&quot; /&gt;&lt;/a&gt;Découvert pour ma part dans la foulée de &lt;strong&gt;ShowSlow&lt;/strong&gt;, &lt;a href=&quot;http://www.webpagetest.org/&quot; hreflang=&quot;en&quot;&gt;WebPageTest&lt;/a&gt; permet de faire le même type d&amp;#8217;analyses, certes en moins poussé, mais déclenchées cette fois en ligne, et surtout avec deux avantages notables&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les tests peuvent se faire depuis des machines hébergées en différents points du globe (Paris, Amsterdam, différentes villes en Amérique, la Chine, la Nouvelle-Zélande, &amp;#8230;)&amp;#160;;&lt;/li&gt;
&lt;li&gt;il est possible de tester l&amp;#8217;accès à sa page sur différents navigateurs.&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/08/01/Optimisations-web#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/08/01/Optimisations-web#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/80</wfw:commentRss>
      </item>
    
  <item>
    <title>Extraire en java les données stockées dans JIRA</title>
    <link>http://blog.tensin.org/index.php?post/2010/07/24/Extraire-en-java-des-donn%C3%A9es-d-un-site-JIRA</link>
    <guid isPermaLink="false">urn:md5:5f9d81beac33fc3086fef22d4b43f2a8</guid>
    <pubDate>Mon, 02 Aug 2010 20:29:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>developpement</category><category>gantt</category><category>java</category><category>jelly</category><category>jira</category><category>soap</category><category>xml-rpc</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_jira.png&quot; alt=&quot;JIRA&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;JIRA, août 2010&quot; /&gt;Cette semaine, j&amp;#8217;ai passé un peu de temps au boulot à travailler sur l&amp;#8217;extraction de données stockées dans &lt;a href=&quot;http://www.atlassian.com/software/jira/&quot; hreflang=&quot;en&quot;&gt;JIRA&lt;/a&gt;, en Java. Pour rappel, &lt;a href=&quot;http://fr.wikipedia.org/wiki/Jira&quot; hreflang=&quot;fr&quot;&gt;JIRA&lt;/a&gt; est un système de suivi de bugs, un système de gestion des incidents, et un système de gestion de projets, fourni par &lt;a href=&quot;http://www.atlassian.com/&quot; hreflang=&quot;en&quot;&gt;Atlassian&lt;/a&gt;, et c&amp;#8217;est bien sûr le système que l&amp;#8217;on utilise dans ma boîte. Dans le cadre d&amp;#8217;un nouveau projet dont je m&amp;#8217;occupe, pour lequel je stocke sous JIRA l&amp;#8217;ensemble des tâches à réaliser par toute l&amp;#8217;équipe, j&amp;#8217;ai besoin d&amp;#8217;extraire toutes les informations liées à chacune de ces tâches pour construire en automatique un planning GANTT.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/jira-screenshot.png&quot; title=&quot;JIRA (Atlassian)&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.jira-screenshot_m.jpg&quot; alt=&quot;JIRA (Atlassian)&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;JIRA (Atlassian), juil. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Remarque&amp;#160;: il y a bien un plugin officiel pour JIRA orienté &amp;#8220;gestion de projet&amp;#8221;, il s&amp;#8217;agit de &lt;a href=&quot;http://www.atlassian.com/software/greenhopper/&quot; hreflang=&quot;en&quot;&gt;Greenhopper&lt;/a&gt;, malheureusement il est payant et il n&amp;#8217;est pas envisagé aujourd&amp;#8217;hui de s&amp;#8217;en équiper chez nous.&lt;/p&gt;


&lt;p&gt;Atlassian fournit donc plusieurs mécanismes pour interagir avec JIRA (en action - création de nouvelles tâches par ex. - et/ou en extraction). A ma connaissance il y a&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;l&amp;#8217;API XML-RPC&amp;#160;;&lt;/li&gt;
&lt;li&gt;l&amp;#8217;API SOAP&amp;#160;;&lt;/li&gt;
&lt;li&gt;les flux XML et RSS directement depuis le serveur JIRA&amp;#160;;&lt;/li&gt;
&lt;li&gt;les Jelly Scripts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;En préambule, il est conseillé de jeter un oeil sur la page &lt;a href=&quot;http://confluence.atlassian.com/display/JIRA/Understanding+how+JIRA+works&quot; hreflang=&quot;en&quot;&gt;How JIRA works&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;XML-RPC&lt;/h2&gt;


&lt;p&gt;&lt;a href=&quot;http://fr.wikipedia.org/wiki/XML-RPC&quot; hreflang=&quot;fr&quot;&gt;XML-RPC&lt;/a&gt; est un protocole d&amp;#8217;interaction (Remote Procedure Call) permettant d&amp;#8217;inteagir par XML avec le système. En lui même, c&amp;#8217;est donc juste un ensemble de méthodes à utiliser par des appels XML. Autrement dit utilisable avec n&amp;#8217;importe quel langage.&lt;/p&gt;


&lt;p&gt;Une documentation JIRA présente ce protocole&amp;#160;: &lt;a href=&quot;http://confluence.atlassian.com/display/JIRA/JIRA+XML-RPC+Overview&quot; hreflang=&quot;en&quot;&gt;JIRA, XML-RPC Overview&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Une implémentation (non-officielle) est par ailleurs disponible en Java et fonctionne parfaitement bien&amp;#160;: il s&amp;#8217;agit de la librairie Swizzle &lt;a href=&quot;http://swizzle.codehaus.org/Home&quot; hreflang=&quot;en&quot;&gt; [http://swizzle.codehaus.org/Home&lt;/a&gt; ].&lt;/p&gt;


&lt;p&gt;J&amp;#8217;avais déjà réalisé un traitement Java avec cette librairie il y a quelques mois, pour récupérer l&amp;#8217;ensemble des fiches JIRA liées à une version projet  et créer en automatique de nouvelles fiches.&lt;/p&gt;


&lt;p&gt;L&amp;#8217;utilisation de la librairie Swizzle est cependant très simple, exemple de connexion&amp;#160;:&lt;/p&gt;

&lt;pre class=&quot;java java&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;try&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    org.&lt;span style=&quot;color: #006633;&quot;&gt;codehaus&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;swizzle&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;jira&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;Jira&lt;/span&gt; jira &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Jira&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;url&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    jira.&lt;span style=&quot;color: #006633;&quot;&gt;login&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;username, password&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;catch&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Amalformedurlexception+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;MalformedURLException&lt;/span&gt;&lt;/a&gt; e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; BaseException&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;catch&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Aexception+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;Exception&lt;/span&gt;&lt;/a&gt; e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; BaseException&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Et un exemple de récupération de données sur une recherche libre (il y a bien sûr d&amp;#8217;autres méthodes pour récupérer les données)&amp;#160;:&lt;/p&gt;

&lt;pre class=&quot;java java&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Avector+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;Vector&lt;/span&gt;&lt;/a&gt; v &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Avector+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;Vector&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;v.&lt;span style=&quot;color: #006633;&quot;&gt;add&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;CLE_DU_PROJET_JIRA&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// le ou les projets sur lesquels faire la recherche&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt;&lt;/a&gt; critereDeRecherche &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// On ramène toutes les fiches JIRA&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;int&lt;/span&gt; nbFichesARamener &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;1000&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// nombre max de fiches JIRA à récupérer&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Alist+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;List&lt;/span&gt;&lt;/a&gt; issues &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; jira.&lt;span style=&quot;color: #006633;&quot;&gt;getIssuesFromTextSearchWithProject&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;v, critereDeRecherche, nbFichesARamener&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Ensuite la plupart des informations se retrouvent sur l&amp;#8217;objet &lt;a href=&quot;http://swizzle.codehaus.org/swizzle-jira/org/codehaus/swizzle/jira/Issue.html&quot; hreflang=&quot;en&quot;&gt;Issue&lt;/a&gt; correspondant. Il y a bien sûr des objets Java pour représenter les Versions JIRA, les filtres, les utilisateurs, le projet JIRA, etc.&lt;/p&gt;


&lt;p&gt;Le seul problème vient du fait que toutes les opérations / informations disponibles sous JIRA ne le sont pas au travers de l&amp;#8217;API XML-RPC, notamment dans le cas qui m&amp;#8217;intéresse, les informations relatives aux sous-tâches et aux champs personnalisés ne sont pas exportées, donc obligé de faire autrement, d&amp;#8217;où le switch sur la 2e API proposée par Atlassian, via SOAP.&lt;/p&gt;



&lt;h2&gt;SOAP&lt;/h2&gt;


&lt;p&gt;Il s&amp;#8217;agit d&amp;#8217;une API externe également, avec cette fois une implémentation Java &amp;#8220;officielle&amp;#8221; fournie par Atlassian (ainsi qu&amp;#8217;une implémentation Python, au passage).&lt;/p&gt;


&lt;p&gt;La mise en place est moins évidente qu&amp;#8217;avec Swizzle, puisqu&amp;#8217;il en faut ici&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;récupérer le projet SOAP client en ligne&amp;#160;;&lt;/li&gt;
&lt;li&gt;récupérer le fichier WSDL sur le serveur JIRA sur lequel on veut se mapper (fichier décrivant l&amp;#8217;ensemble des services disponibles)&amp;#160;;&lt;/li&gt;
&lt;li&gt;utiliser un profile Maven pour générer à partir de ce fichier WDSL les classes Java (dans &amp;#8220;target/generated-classes/*.class&amp;#8221;) correspondant aux services disponibles&amp;#160;;&lt;/li&gt;
&lt;li&gt;toujours avec Maven, mettre à jour le .classpath Eclipse&amp;#160;;&lt;/li&gt;
&lt;li&gt;pouvoir enfin utiliser les objets natifs Java permettant d&amp;#8217;interagir avec JIRA via SOAP&amp;#160;;&lt;/li&gt;
&lt;li&gt;plus en bonus, mettre en place un packaging sous forme de .jar de ces classes générées pour ne pas avoir à refaire ces manipulations à chaque fois (à faire par soi même)&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Toutes ces opérations sont détaillées dans la documentation en ligne Atlassian&amp;#160;: &lt;a href=&quot;http://confluence.atlassian.com/display/JIRA/Creating+a+SOAP+Client&quot; hreflang=&quot;en&quot;&gt;Creating a SOAP Client&lt;/a&gt; pour la présentation générale de l&amp;#8217;API SOAP et dans le &lt;a href=&quot;https://svn.atlassian.com/svn/public/atlassian/rpc-jira-plugin/tags/atlassian_jira_4_1_1_1/jira-soapclient/README.txt&quot; hreflang=&quot;en&quot;&gt;README&lt;/a&gt; du &lt;a href=&quot;https://svn.atlassian.com/svn/public/atlassian/rpc-jira-plugin/tags/atlassian_jira_4_1_1_1/jira-soapclient/&quot; hreflang=&quot;en&quot;&gt;projet exemple&lt;/a&gt; pour le détail des manipulations techniques.&lt;/p&gt;


&lt;p&gt;S&amp;#8217;il n&amp;#8217;y a rien de compliqué, c&amp;#8217;est moins simple que de simplement ajouter une dépendance comme Swizzle, mais cela a l&amp;#8217;avantage de construire une API de services correspondant réellement aux services disponibles sur le serveur JIRA utilisé, quelle que soit la version de ce dernier.&lt;/p&gt;


&lt;p&gt;L&amp;#8217;usage de ce client Java SOAP est très simple également et ressemble bigrement à l&amp;#8217;API XML-RPC, exemple pour la connexion&amp;#160;:&lt;/p&gt;

&lt;pre class=&quot;java java&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt;&lt;/a&gt; url &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;http://jira.domaine.tld/&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt;&lt;/a&gt; username &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;login de servitude&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt;&lt;/a&gt; password &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;password du compte de servitude&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;...&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;JiraSoapServiceService jiraSoapServiceLocator &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; JiraSoapServiceServiceLocator&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;JiraSoapService jiraSoapService &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt;&lt;/a&gt; authToken&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// il est important de garder ce auth token, toutes les méthodes en auront besoin ensuite&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;RemoteType&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt; remoteTypes&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// on va conserver en local la liste des types disponibles au niveau du projet&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;                                         &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// pour pouvoir ensuite facilement retrouver à quoi correspondant le type d'une tâche&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;RemoteStatus&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt; remoteStatuses  &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// Idem pour les status&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;try&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;url &lt;span style=&quot;color: #339933;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;        jiraSoapService &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; jiraSoapServiceLocator.&lt;span style=&quot;color: #006633;&quot;&gt;getJirasoapserviceV2&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;        jiraSoapService &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; jiraSoapServiceLocator.&lt;span style=&quot;color: #006633;&quot;&gt;getJirasoapserviceV2&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;url&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;        log.&lt;span style=&quot;color: #006633;&quot;&gt;info&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;SOAP Session service endpoint at &amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;+&lt;/span&gt; url.&lt;span style=&quot;color: #006633;&quot;&gt;toExternalForm&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    authToken &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; getJiraSoapService&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;login&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;username, password&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    remoteTypes &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; getJiraSoapService&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;getIssueTypes&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;getAuthToken&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    remoteStatuses &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; getJiraSoapService&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;getStatuses&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;getAuthToken&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;catch&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;ServiceException e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; BaseException&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;ServiceException during SOAPClient contruction&amp;quot;&lt;/span&gt;, e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;catch&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;RemoteAuthenticationException e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; BaseException&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;RemoteAuthenticationException during SOAPClient contruction&amp;quot;&lt;/span&gt;, e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;catch&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Aremoteexception+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;RemoteException&lt;/span&gt;&lt;/a&gt; e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; BaseException&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;RemoteException during SOAPClient contruction&amp;quot;&lt;/span&gt;, e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;catch&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;java.&lt;span style=&quot;color: #006633;&quot;&gt;rmi&lt;/span&gt;.&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Aremoteexception+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;RemoteException&lt;/span&gt;&lt;/a&gt; e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; BaseException&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;RemoteException during SOAPClient contruction&amp;quot;&lt;/span&gt;, e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Et pour comparaison, la récupération de données dans JIRA (qui ressemble toujours bigrement à la méthode précédente)&amp;#160;:&lt;/p&gt;

&lt;pre class=&quot;java java&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;RemoteIssue&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt; issues&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;int&lt;/span&gt; nbFichesARamener &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;1000&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// nombre max de fiches JIRA à récupérer&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;try&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    issues &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; getJiraSoapService&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;getIssuesFromTextSearchWithProject&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;getAuthToken&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;, &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt; project.&lt;span style=&quot;color: #006633;&quot;&gt;getKey&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;, nbFichesARamener&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;catch&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Aremoteexception+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;RemoteException&lt;/span&gt;&lt;/a&gt; e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; BaseException&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;catch&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;java.&lt;span style=&quot;color: #006633;&quot;&gt;rmi&lt;/span&gt;.&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Aremoteexception+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;RemoteException&lt;/span&gt;&lt;/a&gt; e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; BaseException&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Malheureusement, toujours les mêmes limitations&amp;#160;: de nombreuses informations ne sont pas disponibles.&lt;/p&gt;


&lt;p&gt;Visiblement je ne suis pas le seul à le déplorer, on trouve de nombreuses issues ouvertes chez Atlassian sur ce sujet &amp;#8230; certaines depuis 2005 (voir par ex. &lt;a href=&quot;http://stackoverflow.com/questions/764282/how-can-jira-soap-api-not-have-this-method&quot; hreflang=&quot;en&quot;&gt;ce thread sur Stackoverflow.com&lt;/a&gt; et &lt;a href=&quot;http://jira.atlassian.com/browse/JRA-17920?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; hreflang=&quot;en&quot;&gt;celui-ci dans le forum JIRA&lt;/a&gt; et un &lt;a href=&quot;http://blog.tensin.org/index.php?post/2010/07/24/Patch pour les sous-tâches&amp;nbsp;: http://jira.atlassian.com/browse/JRA-11276&quot; hreflang=&quot;en&quot;&gt;patch&lt;/a&gt; a même été développé).&lt;/p&gt;


&lt;p&gt;Donc à ce stade après avoir passé quelques heures à jouer avec le mécanisme SOAP, je n&amp;#8217;ai toujours pas moyen de récupérer toutes les informations dont j&amp;#8217;ai besoin.&lt;/p&gt;


&lt;p&gt;Si les solutions officielles et &amp;#8220;propres&amp;#8221; fournies par les API JIRA ne fonctionnent pas, il va alors falloir revenir à quelque chose de plus simple&amp;#160;: les exports XML.&lt;/p&gt;


&lt;p&gt;Bonus&amp;#160;: un tutorial très détaillé pour l&amp;#8217;utilisation de l&amp;#8217;api JIRA SOAP, &lt;a href=&quot;http://www.coding-stories.com/2010/05/31/verifier-le-jira-avant-de-faire-la-release/&quot; hreflang=&quot;fr&quot;&gt;Vérifier le JIRA avant de faire la release&lt;/a&gt;.&lt;/p&gt;



&lt;h2&gt;XML&lt;/h2&gt;


&lt;p&gt;Un peu partout dans JIRA, on peut trouver des liens &amp;#8220;RSS&amp;#8221; et &amp;#8220;XML&amp;#8221; qui exportent les données JIRA correspondant à la recherche courante. En regardant le contenu, on voit que cette fois il y a bien absolument toutes les informations nécessaires, y compris les champs supplémentaires et les informations sur les sous-tâches (à l&amp;#8217;exception notable de la &amp;#8220;date de démarrage&amp;#8221;, mais je peux m&amp;#8217;en passer).&lt;/p&gt;


&lt;p&gt;Il suffit donc de mettre en place une récupération par HTTPClient pour récupérer le flux XML, et de le parser (dans mon cas avec la très bonne API &lt;a href=&quot;http://simple.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;simple-xml&lt;/a&gt;, qui permet de facilement mapper dans les deux sens du XML vers des beans java par simples annotations) pour récupérer toutes les infos souhaitées. Ca marche mais c&amp;#8217;est moins rigoureux, il faut notamment récupérer les informations de type &amp;#8220;date&amp;#8221; sous une forme textuelle et faire un parsing dessus (autrement dit le format des dates peut changer à la faveur d&amp;#8217;une montée de version du serveur, par ex.). Mais vu que je n&amp;#8217;ai pas trop le choix &amp;#8230;&lt;/p&gt;


&lt;p&gt;Il faut bien sûr toujours avoir un compte qui puisse accéder par HTTP aux pages JIRA (dans mon cas, un &amp;#8220;compte de service&amp;#8221; que j&amp;#8217;ai créé uniquement à cet usage, pour ne pas avoir à utiliser mon identifiant réseau propre).&lt;/p&gt;


&lt;p&gt;Exemple de récupération du flux XML par HTTPClient&amp;#160;:&lt;/p&gt;

&lt;pre class=&quot;java java&quot; style=&quot;font-family:inherit&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt;&lt;/a&gt; host &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;jira.domaine.tld&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt;&lt;/a&gt; username &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;login de servitude&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;String&lt;/span&gt;&lt;/a&gt; password &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;password du compte de servitude&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;final&lt;/span&gt; GetMethod method &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; GetMethod&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;url&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;try&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;final&lt;/span&gt; HttpClient client &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; HttpClient&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    client.&lt;span style=&quot;color: #006633;&quot;&gt;getHostConfiguration&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;setHost&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;host&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;80&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;http&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;final&lt;/span&gt; Credentials defaultcreds &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; UsernamePasswordCredentials&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;username, password&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    client.&lt;span style=&quot;color: #006633;&quot;&gt;getState&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;setCredentials&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; AuthScope&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;host, &lt;span style=&quot;color: #cc66cc;&quot;&gt;80&lt;/span&gt;, AuthScope.&lt;span style=&quot;color: #006633;&quot;&gt;ANY_REALM&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;, defaultcreds&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    method.&lt;span style=&quot;color: #006633;&quot;&gt;getParams&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;setParameter&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;HttpMethodParams.&lt;span style=&quot;color: #006633;&quot;&gt;RETRY_HANDLER&lt;/span&gt;, &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; DefaultHttpMethodRetryHandler&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;int&lt;/span&gt; statusCode &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; client.&lt;span style=&quot;color: #006633;&quot;&gt;executeMethod&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;method&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Ainputstream+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;InputStream&lt;/span&gt;&lt;/a&gt; responseBody &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; method.&lt;span style=&quot;color: #006633;&quot;&gt;getResponseBodyAsStream&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Ainputstreamreader+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;InputStreamReader&lt;/span&gt;&lt;/a&gt; reader &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Ainputstreamreader+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;InputStreamReader&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;responseBody&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    Serializer serializer &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Persister&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    JIRAXMLRss rss &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; serializer.&lt;span style=&quot;color: #006633;&quot;&gt;read&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;JIRAXMLRss.&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt;, reader&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;return&lt;/span&gt; rss.&lt;span style=&quot;color: #006633;&quot;&gt;getChannel&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #006633;&quot;&gt;getItems&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// Retourne une liste de beans &amp;quot;maison&amp;quot; alimentés depuis le XML par SimpleXML&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;catch&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;HttpException e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; BaseException&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;catch&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Aioexception+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;IOException&lt;/span&gt;&lt;/a&gt; e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; BaseException&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;catch&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Aexception+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;Exception&lt;/span&gt;&lt;/a&gt; e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;throw&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; BaseException&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;e&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;finally&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    method.&lt;span style=&quot;color: #006633;&quot;&gt;releaseConnection&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;    &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// autres releases ...&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;h2&gt;Mise en place.&lt;/h2&gt;


&lt;p&gt;Au final - les quelques lignes de code ci-dessus n&amp;#8217;étant que des exemples, comme j&amp;#8217;avais déjà codé le tout, j&amp;#8217;ai fini par garder les 3 implémentations et pouvoir ainsi facilement en switcher selon les usages (je ne détaille pas plus avant, ce post se voulant seulement une présentation des manières d&amp;#8217;accéder à JIRA en Java).&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://yuml.me/diagram/scruffy;dir:td/class/[AbstractJIRAClient]^-[JIRAClientSOAP], [JIRAClientSOAP]^-[JIRAClientXML], [AbstractJIRAClient]^-[JIRAClientXMLRPC]&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;h2&gt;Annexes&lt;/h2&gt;


&lt;h3&gt;Jelly scripts&lt;/h3&gt;


&lt;p&gt;Les &lt;a href=&quot;http://commons.apache.org/jelly/&quot; hreflang=&quot;en&quot;&gt;scripts Jelly&lt;/a&gt; sont des scripts XML exécutables, permettant de réaliser des opérations à partir d&amp;#8217;un formalisme XML. C&amp;#8217;est un projet Apache, implémenté dans JIRA, mais surtout pour des opérations de type export / import. Je connaissais pour avoir déjà été amené à utiliser ce mécanisme dans le cadre d&amp;#8217;une migration Bugzilla vers JIRA lorsque l&amp;#8217;on a switché sur ce dernier, mais les fonctions proposées sont plus orientées traitement de masse et semblent ne pas tout couvrir non plus, j&amp;#8217;ai donc laissé tomber.&lt;/p&gt;


&lt;p&gt;Des &lt;a href=&quot;http://confluence.atlassian.com/display/JIRA/Jelly+Examples&quot; hreflang=&quot;en&quot;&gt;exemples de Jelly scripts&lt;/a&gt;.&lt;/p&gt;


&lt;h3&gt;Extension du serveur JIRA.&lt;/h3&gt;


&lt;p&gt;Comme je n&amp;#8217;ai pas la main sur le serveur JIRA (impossible d&amp;#8217;y modifier quoi que ce soit de mon côté), je n&amp;#8217;ai pas pu déployer cette extension qui aurait corrigé mon problème&amp;#160;: &lt;a href=&quot;http://code.google.com/p/shared-space/wiki/JiraExtendedWebservice&quot; hreflang=&quot;en&quot;&gt;Jira Extended Webservice&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;C&amp;#8217;est un patch qui apporte la gestion des sous-tâches sur l&amp;#8217;API SOAP, développé par un utilisateur externe à Atlassian. Voir également le &lt;a href=&quot;http://groups.google.com/group/jira-extended-webservice&quot; hreflang=&quot;en&quot;&gt;Google Group&lt;/a&gt; correspondant.&lt;/p&gt;


&lt;h3&gt;Bonus&lt;/h3&gt;


&lt;p&gt;En side point, une présentation vidéo intéressante sur la construction du &lt;a href=&quot;http://almworks.com/jiraclient/&quot; hreflang=&quot;en&quot;&gt;client lourd JIRA&lt;/a&gt;&amp;#160;: &lt;a href=&quot;http://blogs.atlassian.com/news/2008/11/killer_jira_cli.html&quot; hreflang=&quot;en&quot;&gt;Killer JIRA CLI&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/07/24/Extraire-en-java-des-donn%C3%A9es-d-un-site-JIRA#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/07/24/Extraire-en-java-des-donn%C3%A9es-d-un-site-JIRA#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/72</wfw:commentRss>
      </item>
    
  <item>
    <title>Achat d'équipement moto en allemagne</title>
    <link>http://blog.tensin.org/index.php?post/2010/07/24/Achat-de-mat%C3%A9riel-moto-en-allemagne</link>
    <guid isPermaLink="false">urn:md5:a74b746e0d01e4df7694a6b9c331b7dc</guid>
    <pubDate>Sat, 24 Jul 2010 18:00:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>achat</category><category>allemagne</category><category>bon plan</category><category>moto</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.speed-triple_s.jpg&quot; alt=&quot;Triumph Speed Triple&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Triumph Speed Triple, juil. 2010&quot; /&gt;Si vous cherchez de l&amp;#8217;équipement ou du matériel moto pas trop cher, et de qualité, les chaînes de magasins allemands peuvent être une piste intéressante. En France il n&amp;#8217;y a que peu de concurrences, à part &lt;a href=&quot;http://www.dafy-moto.com/&quot; hreflang=&quot;fr&quot;&gt;Dafy Moto&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Il y a (à ma connaissance seulement) deux grandes chaînes de ce type en allemagne&amp;#160;: &lt;a href=&quot;https://www.polo-motorrad.de/&quot; hreflang=&quot;en&quot;&gt;Polo&lt;/a&gt; et &lt;a href=&quot;http://www.louis.de/&quot; hreflang=&quot;en&quot;&gt;Louis.de&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Toutes deux possèdent d&amp;#8217;innombrables boutiques en allemagne (et parfois en suisse), dont certaines près de la frontière franco-allemande, ainsi qu&amp;#8217;un site web dédié. Depuis peu, les deux sites internet sont intégralement disponibles en anglais.&lt;/p&gt;


&lt;p&gt;On trouve de tout dans ces enseignes&amp;#160;: vêtements moto, casques, bagagerie / sellerie, outils, pièces de rechanges, bottes, etc., à des prix parfois très intéressants, même si certains articles sont parfois au même prix qu&amp;#8217;en France. Il y a cependant bien plus de choix de modèles, tailles, etc. que chez un concessionnaire moto classique en France.&lt;/p&gt;


&lt;h2&gt;Louis.de&lt;/h2&gt;


&lt;p&gt;URL&amp;#160;: &lt;a href=&quot;http://www.louis.de/&quot; hreflang=&quot;en&quot;&gt;http://www.louis.de/&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Avantages&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Vaste choix&lt;/strong&gt; de produits&amp;#160;;&lt;/li&gt;
&lt;li&gt;Marques &amp;#8220;maison&amp;#8221; de &lt;strong&gt;bonne qualité&lt;/strong&gt; (Streetfighter, Probiker) et à prix très agressifs&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Catalogue .pdf&lt;/strong&gt; disponible en ligne&amp;#160;;&lt;/li&gt;
&lt;li&gt;Tous les mois, une &lt;strong&gt;brochure présentant des promotions&lt;/strong&gt; (valables pour les 2 prochains mois) sur un ensemble de produitsn divers (avec parfois des remises conséquentes) est éditée (consultable en ligne ou envoyée par la poste pour les clients, y compris en france) (&lt;a href=&quot;http://www.louis.de/_10c0a0500d77a856d4fe90121345146c6a/index.php?topic=beihefter&quot; hreflang=&quot;en&quot;&gt;exemple&lt;/a&gt;)&amp;#160;;&lt;/li&gt;
&lt;li&gt;Tous les 2, 3 mois, une &lt;strong&gt;promotion&lt;/strong&gt; par email est envoyée du type &amp;#8220;-15% ou -20% sur l&amp;#8217;article de votre choix&amp;#8221; pendant un week-end&amp;#160;: c&amp;#8217;est une vraie bonne occasion d&amp;#8217;avoir une grosse réduction sur un produit cher (comme un casque haut-de-gamme) (réduction valable en boutique ou en ligne)&amp;#160;;&lt;/li&gt;
&lt;li&gt;Présence de &lt;strong&gt;boutiques frontalières&lt;/strong&gt;&amp;#160;: Weil-Am-Rhein (tout près de Saint-Louis ou à 20 minutes de Mulhouse), Kehl&amp;#160;;&lt;/li&gt;
&lt;li&gt;Le magasin de &lt;a href=&quot;http://www.louis.de/_10c0a0500d77a856d4fe90121345146c6a/index.php?topic=filiale&amp;amp;ID=74&quot; hreflang=&quot;en&quot;&gt;Weil-Am-Rhein&lt;/a&gt; auquel j&amp;#8217;ai l&amp;#8217;habitude de me rendre est gigantesque (aussi grand qu&amp;#8217;un Décathlon en France) et une bonne moitié des vendeurs parlent français&amp;#160;; le magasin ferme à 20h en semaine ce qui est pratique pour y aller après le boulot&amp;#160;;&lt;/li&gt;
&lt;li&gt;Carte de fidélité plutôt intéressante qui rapporte des euros tous les ans en proportion à la somme dépensée chez eux.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Inconvénients&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Frais de port un peu élevés pour une commande par internet vers la France (la dernière fois, j&amp;#8217;en ai eu pour 14€95).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/louis.de-screenshot.png&quot; title=&quot;Louis.de&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.louis.de-screenshot_m.jpg&quot; alt=&quot;Louis.de&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Louis.de, juil. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;Polo&lt;/h2&gt;


&lt;p&gt;URL&amp;#160;: &lt;a href=&quot;http://www.polo-motorrad.de/&quot; hreflang=&quot;en&quot;&gt;http://www.polo-motorrad.de/&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Avantages&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Présence de &lt;strong&gt;boutiques frontalières&lt;/strong&gt;&amp;#160;: &lt;a href=&quot;https://www.polo-motorrad.de/cms/english/subsidiaries/&quot; hreflang=&quot;de&quot;&gt;Lorräch&lt;/a&gt; (à 10 minutes de Saint-Louis ou à 15 minutes de Mulhouse), Kehl&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Site internet&lt;/strong&gt; bien gaulé, disponible en allemand / anglais&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bon choix&lt;/strong&gt; de produits également&amp;#160;;&lt;/li&gt;
&lt;li&gt;Marque maison &amp;#8220;FLM&amp;#8221; pas trop mal non plus.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Inconvénients&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Magasin de Lorräch un peu petit, et les vendeurs n&amp;#8217;y parlent pas français (on arrive tout de même évidemment à se faire comprendre sans problèmes en anglais, mais pour une question technique précise, c&amp;#8217;est plus simple chez Louis.de à Weil-Am-Rhein)&amp;#160;;&lt;/li&gt;
&lt;li&gt;A ma connaissance, moins de promos que chez Louis.de.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/polo-motorrad.de-screenshot.png&quot; title=&quot;Polo.de&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.polo-motorrad.de-screenshot_m.jpg&quot; alt=&quot;Polo.de&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Polo.de, juil. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;Catalogues&lt;/h2&gt;


&lt;p&gt;Ces deux chaînes éditent par ailleurs un imposant catalogue papier (largement aussi épais / volumineux qu&amp;#8217;un catalogue de la Redoute), mais avec, donc, uniquement des accessoires moto.&lt;/p&gt;


&lt;p&gt;Jusqu&amp;#8217;à il y a peu il était possible de recevoir un catalogue &amp;#8220;Polo&amp;#8221; gratuitement par la Poste, y compris pour les résidents Français, ce n&amp;#8217;est désormais plus le cas. L&amp;#8217;envoi d&amp;#8217;un catalogue &amp;#8220;Louis.de&amp;#8221; par la poste vers la France coûte un peu moins de 10 euros. Il y en a évidemment des palettes entières en libre distribution dans tous les magasins.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/louis.de-catalogue.jpg&quot; alt=&quot;Louis.de, catalogue&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Louis.de, catalogue, juil. 2010&quot; /&gt; &lt;img src=&quot;http://blog.tensin.org/public/images/polo-motorrad.de-catalogue.jpg&quot; alt=&quot;Polo.de, catalogue&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Polo.de, catalogue, juil. 2010&quot; /&gt;&lt;/p&gt;


&lt;h2&gt;Conclusion&lt;/h2&gt;


&lt;p&gt;Personnellement, résidant dans l&amp;#8217;est de la France, je me rends typiquement à &lt;strong&gt;Weil-Am-Rein&lt;/strong&gt; pour le magasin Louis.de et à &lt;strong&gt;Lörrach&lt;/strong&gt; pour le magasin Polo, j&amp;#8217;y ai acheté mon casque (un &lt;a href=&quot;http://www.schuberth.com/en/products/motorcycle/r1.html&quot; hreflang=&quot;en&quot;&gt;Schuberth R1&lt;/a&gt; mat avec visière pare-soleil intégrée, pas mal), des bottes d&amp;#8217;été, des gants, un &lt;a href=&quot;http://www.louis.de/_10c0a0500d77a856d4fe90121345146c6a/index.php?topic=search&amp;amp;searchterm=+10003334&amp;amp;cmd.x=0&amp;amp;cmd.y=0&quot; hreflang=&quot;de&quot;&gt;rail &amp;#8220;Motoboy II&amp;#8221; Telefix&lt;/a&gt; pour déplacer facilement la moto au fond du garage (un peu cher mais diablement pratique), &amp;#8230;).&lt;/p&gt;


&lt;p&gt;Bref si vous cherchez à vous équiper en matériel moto et que vous voulez du choix, je vous conseille de faire un tour chez Louis.de, de vous inscrire à leur newsletter et à leur brochure, et de guetter les promos qu&amp;#8217;ils font régulièrement.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/07/24/Achat-de-mat%C3%A9riel-moto-en-allemagne#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/07/24/Achat-de-mat%C3%A9riel-moto-en-allemagne#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/18</wfw:commentRss>
      </item>
    
  <item>
    <title>Quelques services intéressants à installer sur un serveur Linux</title>
    <link>http://blog.tensin.org/index.php?post/2010/02/16/Quelques-services-int%C3%A9ressants-%C3%A0-installer-sur-un-serveur-Linux</link>
    <guid isPermaLink="false">urn:md5:71deee6ba298ce9647e0954e3ac737a3</guid>
    <pubDate>Sat, 24 Jul 2010 16:32:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>linux</category><category>serveur dédié</category><category>ssh</category>    
    <description>    &lt;p&gt;Voici la présentation de quelques services qu&amp;#8217;il peut être à mon sens intéressant / pertinent d&amp;#8217;installer sur un serveur Linux (je suis pour ma part sous Ubuntu 9.04 et 10.04, et j&amp;#8217;installe ces services sur toutes mes machines)&amp;#160;: &lt;strong&gt;ShellInABox&lt;/strong&gt;, &lt;strong&gt;HDDTemp&lt;/strong&gt;, &lt;strong&gt;Monit&lt;/strong&gt;, &lt;strong&gt;Logwatch&lt;/strong&gt;, &lt;strong&gt;DenyHosts&lt;/strong&gt; &amp;amp; &lt;strong&gt;Fail2Ban&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;De nombreux tutoriaux détaillés sont disponibles sur le net pour ces services (quelques pointeurs figurent ci-dessous), mais l&amp;#8217;installation de ces cinq outils est de toutes façons très simple.&lt;/p&gt;


&lt;h2&gt;ShellInABox&lt;/h2&gt;


&lt;p&gt;Permet d&amp;#8217;avoir un accès SSH depuis une page web sur sa machine, autrement dit&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;d&amp;#8217;accéder par SSH à une machine même si un proxy / firewall bloque le port SSH par défaut (cas d&amp;#8217;un réseau d&amp;#8217;entreprise par ex.)&amp;#160;;&lt;/li&gt;
&lt;li&gt;de ne pas forwarder vers l&amp;#8217;extérieur depuis sa machine le port SSH par défaut (pour éviter les tentatives d&amp;#8217;intrusions) tout en gardant un accès SSH ponctuel (sur un autre port que d&amp;#8217;éventuels hackers devront connaître pour tenter une intrusion, et qui plus est, ne répondant pas au protocole SSH mais HTTP, ces tentatives intrusions seront moins facilement automatisables) (cas de figure d&amp;#8217;un PC à la maison dont certains services sont publiés (ex. le serveur web), mais pas tous)&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lien&amp;#160;: &lt;a href=&quot;http://code.google.com/p/shellinabox/&quot; hreflang=&quot;en&quot;&gt;http://code.google.com/p/shellinabox/&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;D&amp;#8217;autres projets du même style existent mais bien moins aboutis (notamment niveau installation) (par ex. &lt;a href=&quot;http://code.google.com/p/web-shell/&quot; hreflang=&quot;en&quot;&gt;ajax web shell&lt;/a&gt;).&lt;/p&gt;


&lt;p&gt;Ici ShellInABox gère tout par lui même&amp;#160;: c&amp;#8217;est un démon qui génère le rendu d&amp;#8217;IHM et non un mapping Ajax sur une page servie par Apache.&lt;/p&gt;


&lt;p&gt;L&amp;#8217;installation est du coup très simple (un package qui fonctionne &amp;#8220;out of the box&amp;#8221; est disponible sous Ubuntu, y compris 64bits, et la &lt;a href=&quot;http://code.google.com/p/shellinabox/wiki/shellinaboxd_man&quot; hreflang=&quot;en&quot;&gt;documentation d&amp;#8217;installation&lt;/a&gt; est en ligne sur le Google Code du projet).&lt;/p&gt;


&lt;p&gt;A l&amp;#8217;usage, c&amp;#8217;est au final très réactif&amp;#160;! (j&amp;#8217;ai été bluffé par la vitesse d&amp;#8217;affichage, je m&amp;#8217;attendais à quelque chose de poussif, à l&amp;#8217;usage c&amp;#8217;est tout à fait utilisable).&lt;/p&gt;


&lt;p&gt;Le seul souci que je n&amp;#8217;ai pas encore terminé de résoudre est la gestion du certificat, afin d&amp;#8217;avoir un certificat valide et ne plus avoir l&amp;#8217;alerte de sécurité qui apparaît quand on passe par l&amp;#8217;URL &amp;#8220;https&amp;#8221; (mais ce n&amp;#8217;est en rien gênant au demeurant).&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/shellinabox-screenshot.png&quot; title=&quot;Shell In A Box&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.shellinabox-screenshot_m.jpg&quot; alt=&quot;Shell In A Box&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Shell In A Box, juil. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;HDDTemp&lt;/h2&gt;


&lt;p&gt;Petit outillage permettant d&amp;#8217;obtenir la température des disques. Vu que j&amp;#8217;ai 5 disques en RAID-5 collés les uns sur les autres à l&amp;#8217;intérieur de mon serveur à la maison, çà m&amp;#8217;intéressait de savoir à quelle température ils montent. Je monitore ces valeurs avec &lt;a href=&quot;http://www.domotiga.nl/&quot; hreflang=&quot;en&quot;&gt;DomotiGa&lt;/a&gt;, qui m&amp;#8217;envoit un mail si la température dépasse un certain seuil (paramétrable).&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/domotiga-screenshot.png&quot; title=&quot;DomotiGa&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.domotiga-screenshot_m.jpg&quot; alt=&quot;DomotiGa&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;DomotiGa, juil. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Disponible dans toutes les distributions, par ex. sous Ubuntu / Debian&amp;#160;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;sudo apt-get install hddtemp&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;L&amp;#8217;utilisation en ligne de commande est tout à fait possible, ex.&amp;#160;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;hddtemp /dev/sd?&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Donnera&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
/dev/sda: WDC WD360GD-00FNA0: 35°C
/dev/sdb: ST31500341AS: 30°C
/dev/sdc: ST31500341AS: 33°C
/dev/sdd: ST31500341AS: 31°C
/dev/sde: SAMSUNG HD154UI: 22°C
/dev/sdf: SAMSUNG HD753LJ:  lecteur connu, mais il ne possède pas de capteur de température.
/dev/sdg: SAMSUNG HD753LJ: 32°C
&lt;/pre&gt;


&lt;h2&gt;Monit&lt;/h2&gt;


&lt;p&gt;Outil de surveillance très pratique, permettant de détecter certains problèmes (process absents, surconsommation) et d&amp;#8217;agir en conséuqnce.&lt;/p&gt;


&lt;p&gt;Je paramètre ainsi essentiellement les applications soit dans un état &amp;#8220;peu stable&amp;#8221; (qui peuvent donc planter occasionnellement), soit dont je veux être sûr qu&amp;#8217;elles soient toujours accessibles. De fait, je ne déclare même pas les applications très stables comme Apache2, même si dans l&amp;#8217;idéal le mécanisme de redémarrage en cas de surchage CPU peut être intéressant (pour éviter qu&amp;#8217;Apache tourne en boucle pendant des heures sur un script PHP parti en vrille, etc.).&lt;/p&gt;


&lt;p&gt;Sont donc paramétrés sur ma machine de développement&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;l&amp;#8217;interface web &lt;a href=&quot;http://www.purple.org/sonos/&quot; hreflang=&quot;en&quot;&gt;sonos&lt;/a&gt; qui me permet de piloter mon audio-multiroom, un &lt;a href=&quot;http://sonos.com/Default.aspx?rdr=true&amp;amp;LangType=1036&quot; hreflang=&quot;fr&quot;&gt;système Sonos&lt;/a&gt; (interface non-officielle écrite en PERL, interfacée sur le réseau en UPnP, et qui plante ponctuellement)&amp;#160;;&lt;/li&gt;
&lt;li&gt;le serveur domotique DomotiGa, encore balbutiant, et dont je souhaite qu&amp;#8217;il soit constamment en ligne (pour enregistrer les événéments domotiques qui passent sur le réseau)&amp;#160;;&lt;/li&gt;
&lt;li&gt;ShellInABox, pour être sûr de toujours avoir un accès SSH de secours&amp;#160;;&lt;/li&gt;
&lt;li&gt;mon media player pour la Playstation 3 (PS3), &lt;a href=&quot;http://ps3mediaserver.blogspot.com/&quot; hreflang=&quot;en&quot;&gt;ps3mediaplayer&lt;/a&gt;, très efficace au passage&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/monit-screenshot.png&quot; title=&quot;Monit&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.monit-screenshot_m.jpg&quot; alt=&quot;Monit&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Monit, juil. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;Logwatch&lt;/h2&gt;


&lt;p&gt;&lt;a href=&quot;http://sourceforge.net/projects/logwatch/files/&quot; hreflang=&quot;en&quot;&gt;Logwatch&lt;/a&gt; permet, une fois paramétré, de recevoir par mail des informations sur sa machine&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;recherche d&amp;#8217;erreurs&lt;/strong&gt; au sein des logs&amp;#160;;&lt;/li&gt;
&lt;li&gt;récapitulatif des &lt;strong&gt;installations systèmes&lt;/strong&gt; (via apt, etc.)&amp;#160;;&lt;/li&gt;
&lt;li&gt;détail &lt;strong&gt;des comptes s&amp;#8217;étant connecté&lt;/strong&gt; sur la machine&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;occupation disque&lt;/strong&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;etc.&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le tout est paramétrable (bien que la configuration soit un peu bordélique), le seul souci du système étant qu&amp;#8217;il finit par envoyer chaque jour un mail, et qu&amp;#8217;au final on ne les ouvre jamais, je n&amp;#8217;ai pas réussi jusqu&amp;#8217;ici à n&amp;#8217;avoir des alertes que pour les événements réellement importants (comme un problème hardware sur les disques).&lt;/p&gt;


&lt;h2&gt;DenyHosts &amp;amp; Fail2Ban&lt;/h2&gt;


&lt;p&gt;Deux outils plus ou moins complémentaires (leur couverture fonctionnelle se recoupe tout de même en partie), qui permettent de bannir automatiquement toutes les adresses IP qui réalisent des opérations &amp;#8220;louches&amp;#8221; sur ma machine.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://denyhosts.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;DenyHosts&lt;/a&gt; agira uniquement sur analyse des logs de connexion SSH et placera les tentatives répétées (et en échec) de connexion par SSH dans le fichier /etc/hosts.deny pour définitivement bloquer les IPs correspondantes.
&lt;a href=&quot;http://www.fail2ban.org/&quot; hreflang=&quot;en&quot;&gt;Fail2Ban&lt;/a&gt; monitore quant à lui plus de type de logs différentes (dont celles liées à PHP, Apache, &amp;#8230;) et agira en modifiant les règles iptables. Ci-dessous un &lt;a href=&quot;http://doc.ubuntu-fr.org/fail2ban&quot; hreflang=&quot;fr&quot;&gt;tutoriel rapide&lt;/a&gt; pour l&amp;#8217;installation de Fail2Ban.&lt;/p&gt;


&lt;p&gt;Ces deux outils gagnent vraiment à être installés, même avec la configuration initiale (ils gagnent bien sûr à être customisés selon les cas de figures et selon ce que l&amp;#8217;on peut constater dans les logs Apache par ex. (fail2ban permet notamment de &lt;a href=&quot;http://fugitif.dyndns.org/fail2ban-anti-w00tw00t-288.html&quot; hreflang=&quot;fr&quot;&gt;bloquer les attaques Apache w00tw00t&lt;/a&gt;).&lt;/p&gt;


&lt;p&gt;Extrait de log remontée par Logwatch à propos de DenyHosts et Fail2Ban&amp;#160;:&lt;/p&gt;

&lt;pre&gt;

 --------------------- Denyhosts Begin ------------------------

 new denied hosts:
    217.16.83.178
    188.187.7.37

 ---------------------- Denyhosts End -------------------------


 --------------------- fail2ban-messages Begin ------------------------


 Banned services with Fail2Ban:                          Bans:Unbans
   ssh:                                                    [  1:1  ]

 ---------------------- fail2ban-messages End -------------------------


 --------------------- httpd Begin ------------------------


 Requests with error response codes
   400 Bad Request
      /w00tw00t.at.ISC.SANS.DFind:): 11 Time(s)

 ---------------------- httpd End -------------------------


 --------------------- Named Begin ------------------------


 **Unmatched Entries**
   error (unexpected RCODE SERVFAIL) resolving 'ns1.mymmode.com/A/IN': 209.183.52.21#53: 1 Time(s)
   error (unexpected RCODE SERVFAIL) resolving 'ns2.mymmode.com/A/IN': 209.183.52.20#53: 1 Time(s)
   success resolving '50.91.247.82.in-addr.arpa/PTR' (in '91.247.82.in-addr.arpa'?) after disabling EDNS: 1 Time(s)

 ---------------------- Named End -------------------------
&lt;/pre&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/02/16/Quelques-services-int%C3%A9ressants-%C3%A0-installer-sur-un-serveur-Linux#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/02/16/Quelques-services-int%C3%A9ressants-%C3%A0-installer-sur-un-serveur-Linux#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/58</wfw:commentRss>
      </item>
    
  <item>
    <title>Migration technique du serveur dédié terminée</title>
    <link>http://blog.tensin.org/index.php?post/2010/07/24/Migration-technique-du-serveur-d%C3%A9di%C3%A9-termin%C3%A9e</link>
    <guid isPermaLink="false">urn:md5:bb381aabd08eaf6e2806e9bbfba29ddd</guid>
    <pubDate>Sat, 24 Jul 2010 12:10:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>bon plan</category><category>hébergement</category><category>linux</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_serveur_dedie.png&quot; alt=&quot;Serveur dédié&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Serveur dédié, juil. 2010&quot; /&gt;Depuis deux ans et demi, je disposais d&amp;#8217;un serveur dédié  &amp;#8220;&lt;strong&gt;Kimsufi&lt;/strong&gt;&amp;#8221; chez &lt;a href=&quot;http://www.ovh.com/fr/index.xml&quot; hreflang=&quot;fr&quot;&gt;OVH&lt;/a&gt;. Il s&amp;#8217;agissait d&amp;#8217;un serveur &lt;a href=&quot;http://www.ovh.com/fr/produits/dedies.xml?year=2008&quot; hreflang=&quot;fr&quot;&gt;Kimsufi Reloaded 08&lt;/a&gt;, processeur &amp;#8220;Intel Celeron 220&amp;#160;1.2Ghz&amp;#8221;, 1GO de RAM DD2, 250GO de disque dur, bande passante garantie de 100 mbits/secondes.&lt;/p&gt;


&lt;p&gt;Ces caractéristiques peuvent ne pas sembler très puissantes, mais pour un serveur déporté et pour mon usage, c&amp;#8217;est largement suffisant. Je m&amp;#8217;en sers en effet pour, principalement&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;héberger ce blog et plusieurs autres sites / services sur d&amp;#8217;autres noms de domaines sur un serveur Apache2 / PHP5&amp;#160;;&lt;/li&gt;
&lt;li&gt;faire tourner des sites J2EE sur un serveur &lt;a href=&quot;http://tomcat.apache.org/&quot; hreflang=&quot;en&quot;&gt;Tomcat6&lt;/a&gt; (il est difficile sinon de trouver où héberger de tels sites sur des offres mutualisées)&amp;#160;;&lt;/li&gt;
&lt;li&gt;faire office serveur de backup distant pour sauver en ligne certains fichiers (photos, documentations, etc.) que je ne souhaite pas perdre en cas de problème chez moi - bien que mon serveur Linux &amp;#8220;at home&amp;#8221; tourne en RAID5 - celà me permet d&amp;#8217;avoir une sauvegarde déportée et d&amp;#8217;accéder au besoin à ces fichiers de partout&amp;#160;;&lt;/li&gt;
&lt;li&gt;comme repository de codes sources (historiquement, d&amp;#8217;abord sous &lt;a href=&quot;http://www.nongnu.org/cvs/&quot; hreflang=&quot;en&quot;&gt;CVS&lt;/a&gt;, puis &lt;a href=&quot;http://subversion.tigris.org/&quot; hreflang=&quot;en&quot;&gt;Subversion&lt;/a&gt; et maintenant uniquement &lt;a href=&quot;http://git-scm.com/&quot; hreflang=&quot;en&quot;&gt;GiT&lt;/a&gt;), ce qui me permet de récupérer de partout mon travail&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Installé il y a 2 ans et demi sur un Ubuntu 8.04&amp;#160;32bits, j&amp;#8217;ai profité d&amp;#8217;une baisse de tarifs chez OVH (grâce à la concurrence acharnée avec &lt;a href=&quot;http://www.online.net/&quot; hreflang=&quot;fr&quot;&gt;Dedibox&lt;/a&gt; qui propose une offre très similaire), pour prendre un autre serveur dédié de même catégorie (toujours un &lt;a href=&quot;http://www.kimsufi.com/ks/&quot; hreflang=&quot;fr&quot;&gt;Kimsufi&lt;/a&gt;), ce qui m&amp;#8217;a permis, outre de bénéficier d&amp;#8217;une réduction de quelques euros par mois, d&amp;#8217;avoir un serveur avec les mêmes caractéristiques de base mais le double de RAM (toujours bon à prendre pour Tomcat), et de facilement pouvoir migrer le système en &lt;a href=&quot;http://www.ubuntu.com/&quot; hreflang=&quot;en&quot;&gt;Ubuntu 10.04&amp;#160;64bits&lt;/a&gt;, ayant accès aux deux machines en parallèle pendant quelques jours.&lt;/p&gt;


&lt;p&gt;Autant j&amp;#8217;ai toujours été très déçu des prestations d&amp;#8217;OVH en matière d&amp;#8217;hébergement mutualisé, autant je n&amp;#8217;ai jamais eu de problèmes avec leurs offres de serveurs dédiés.&lt;/p&gt;


&lt;p&gt;La migration quant à elle s&amp;#8217;est au final très bien passée (une grosse soirée de migration).&lt;/p&gt;


&lt;p&gt;En effet, je m&amp;#8217;étais créé lors de ma première installation d&amp;#8217;une machine de ce type un petit script de post-paramétrie d&amp;#8217;un serveur dédié (qui sera peut être détaillé dans un billet futur), à base de SHELL et d&amp;#8217;ANT, qui me permet depuis une machine cliente chez moi de facilement appliquer en automatique toutes la paramétrie dont je veux disposer, soit (en vrac et de manière non exhaustive)&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;création des comptes systèmes&lt;/strong&gt; et application de la paramétrie correspondante (dont publication des clés SSH)&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;installation des packages&lt;/strong&gt; souhaités et retraits des packages inutiles&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sécurisation&lt;/strong&gt; de base du serveur (pas d&amp;#8217;accès ssh pour root, etc.)&amp;#160;;&lt;/li&gt;
&lt;li&gt;création des &lt;strong&gt;users et bases MySQL&lt;/strong&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;création des &lt;strong&gt;VirtualHost Apache&lt;/strong&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;installation et paramétrie d&amp;#8217;un certain nombre de &lt;strong&gt;services&lt;/strong&gt; (fail2ban, denyhosts, monit, &amp;#8230;)&amp;#160;;&lt;/li&gt;
&lt;li&gt;installation de &lt;a href=&quot;https://www.dropbox.com/&quot; hreflang=&quot;en&quot;&gt;Dropbox&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ensuite, une fois la base du serveur configuré, j&amp;#8217;ai juste eu à&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;modifier mes DNS&lt;/strong&gt; chez &lt;a href=&quot;http://www.bookmyname.com/&quot; hreflang=&quot;fr&quot;&gt;BookMyName&lt;/a&gt; pour les faire pointer sur la nouvelle IP&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ne rien faire&lt;/strong&gt; pour la partie messagerie (toujours une plaie à configurer) vu qu&amp;#8217;elle est liée au domaine chez &lt;a href=&quot;http://www.google.com/apps/intl/fr/business/index.html&quot; hreflang=&quot;fr&quot;&gt;Google Apps&lt;/a&gt; (c&amp;#8217;est l&amp;#8217;intérêt même de ce système, disposer d&amp;#8217;une messagerie, paramétrée aux niveaux du domaine (sur les DNS) et donc indépendantes du serveur qui est réellement lié à ce domaine)&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;migrer le coeur des données&lt;/strong&gt;&amp;#160;: recopie par SSH des répertoire www d&amp;#8217;Apache, export / réimport manuel du contenu des bases de données MySQL, etc.&amp;#160;;&lt;/li&gt;
&lt;li&gt;remise en place manuelle de la rare configuration qu&amp;#8217;il me restait à faire&amp;#160;;&lt;/li&gt;
&lt;li&gt;vérifier que tout fonctionne &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt; (rien de grave à déplorer)&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Enfin, par sécurité, avant de libérer l&amp;#8217;ancien serveur dédié, j&amp;#8217;ai fait un &lt;strong&gt;backup complet&lt;/strong&gt; de ce dernier, que je conservé en local quelques jours, au cas où j&amp;#8217;aurais oublié un fichier de paramétrie quelque part. Soit un .tar complet du système&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
sudo tar cvvzf /backup.tar.gz / --exclude /proc --exclude /backup.* --exclude /sys --exclude /dev --exclude /media --exclude /mnt --exclude /tmp --totals --show-omitted-dirs &amp;gt;&amp;gt; /backup.log 2&amp;gt;&amp;amp;1 &amp;amp;
&lt;/pre&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/07/24/Migration-technique-du-serveur-d%C3%A9di%C3%A9-termin%C3%A9e#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/07/24/Migration-technique-du-serveur-d%C3%A9di%C3%A9-termin%C3%A9e#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/71</wfw:commentRss>
      </item>
    
  <item>
    <title>Prendre la main sur la session courante avec VNC</title>
    <link>http://blog.tensin.org/index.php?post/2010/07/04/Prendre-la-main-sur-la-session-courante-avec-VNC</link>
    <guid isPermaLink="false">urn:md5:4e271887b44b3bdbd64e17533db3b642</guid>
    <pubDate>Sun, 04 Jul 2010 17:10:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>linux</category><category>pense-bête</category><category>vnc</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_vnc.png&quot; alt=&quot;VNC&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;VNC, juil. 2010&quot; /&gt;Par défaut, la connexion par &lt;a href=&quot;http://fr.wikipedia.org/wiki/Virtual_Network_Computing&quot; hreflang=&quot;fr&quot;&gt;VNC&lt;/a&gt; sur un serveur distant sous Linux démarre une nouvelle session. Ce n&amp;#8217;est pas forcément ce que l&amp;#8217;on souhaite toujours, personnellement, ne démarrant une session X que pour de rares applications qui ne sont pas lançables en ligne de commande, je préfère retomber sur la session de connexion courante.&lt;/p&gt;


&lt;p&gt;Pour ce faire rien de plus simple, il suffit d&amp;#8217;installer et de démarrer &lt;strong&gt;x11vnc&lt;/strong&gt; dans la session sur laquelle on veut prendre la main.&lt;/p&gt;


&lt;p&gt;Installation classique sous Ubuntu via&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;sudo apt-get install x11vnc&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Mise en place du password (qui sera demandé lors de la connexion depuis le PC client)&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;x11vnc -storepasswd&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Le fichier password sera par défaut stocké dans le répertoire home de l&amp;#8217;utilisateur, sous &lt;strong&gt;~/.vnc/passwd&lt;/strong&gt;. Il est tout à fait possible d&amp;#8217;utiliser une autre localisation (voir &lt;a href=&quot;http://www.karlrunge.com/x11vnc/x11vnc_opts.html&quot; hreflang=&quot;en&quot;&gt;l&amp;#8217;aide en ligne&lt;/a&gt; de x11vnc).&lt;/p&gt;


&lt;p&gt;Ensuite un petit script pour démarrer x11vnc sur le serveur Linux, dans la session que l&amp;#8217;on veut retrouver ensuite via VNC sur un poste client.&lt;/p&gt;
&lt;pre&gt;
#!/bin/zsh
x11vnc -noxdamage -ncache 10 -display :0 -forever -usepw
&lt;/pre&gt;


&lt;p&gt;A lancer en nohup ou à automatiser au démarrage.&lt;/p&gt;


&lt;p&gt;Ensuite sur le PC client, j&amp;#8217;utilise TightVNC, mais çà marche bien sûr avec toute autre implémentation VNC, y compris &lt;a href=&quot;http://www.uvnc.com/&quot; hreflang=&quot;en&quot;&gt;UltraVNC&lt;/a&gt; sous Windows ou WiNE&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;vncviewer 192.168.0.2&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Après saisie du mot de passe, on se retrouve en mode fenêtré sur la session démarrée sur le serveur distant.&lt;/p&gt;


&lt;p&gt;Liens&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Documentation sur &lt;a href=&quot;http://www.softpanorama.org/Xwindows/VNC/vnc_on_linux.shtml&quot; hreflang=&quot;en&quot;&gt;VNC sous Linux&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/07/04/Prendre-la-main-sur-la-session-courante-avec-VNC#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/07/04/Prendre-la-main-sur-la-session-courante-avec-VNC#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/64</wfw:commentRss>
      </item>
    
  <item>
    <title>Installation APR sous TomCat</title>
    <link>http://blog.tensin.org/index.php?post/2010/05/21/Installation-APR-sous-TomCat</link>
    <guid isPermaLink="false">urn:md5:c103ced78eab80b07734f14d45585a6c</guid>
    <pubDate>Fri, 21 May 2010 16:21:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>developpement</category><category>java</category><category>optimisation</category><category>Outils</category><category>tomcat</category>    
    <description>    &lt;p&gt;J&amp;#8217;utilise le serveur d&amp;#8217;applications TomCat 6, aussi bien en développement sur poste local sous Eclipse/WTP qu&amp;#8217;en environnement Linux (pour faire tourner Hudson ou Sonar).&lt;/p&gt;


&lt;p&gt;Une petite optimisation permettant de gagner un peu de temps au démarrage est d&amp;#8217;installer les APR&amp;#160;: ApachePortableRuntime.&lt;/p&gt;


&lt;p&gt;Avant&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;INFO: Server startup in 8477&amp;#160;ms&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Une fois APR installé&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;INFO: Server startup in 7908&amp;#160;ms&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Donc un gain pas énorme au final, mais vu que la manipulation d&amp;#8217;installation n&amp;#8217;est pas très compliquée, autant ne pas s&amp;#8217;en priver.&lt;/p&gt;


&lt;p&gt;La doc se trouve ici&amp;#160;: &lt;a href=&quot;http://tomcat.apache.org/native-doc/&quot; hreflang=&quot;en&quot;&gt;http://tomcat.apache.org/native-doc/&lt;/a&gt;
Site officiel du module APR&amp;#160;: &lt;a href=&quot;http://apr.apache.org/&quot; hreflang=&quot;en&quot;&gt;http://apr.apache.org/&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;Installation de APR et APR-UTILS&lt;/h2&gt;


&lt;p&gt;Installation de APR&amp;#160;:&lt;/p&gt;

&lt;pre&gt;
tar xvzf ../apr-1.3.8.tar.gz 
cd apr-1.3.8/
./configure 
make &amp;amp;&amp;amp; sudo make install
&lt;/pre&gt;


&lt;p&gt;Installation de APR-UTILS&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
tar xzvf ../apr-util-1.3.9.tar.gz 
cd apr-util-1.3.9/
./configure --with-apr=/usr/local/apr/bin/
make
sudo make install
&lt;/pre&gt;


&lt;h3&gt;Installation de Tomcat APR&lt;/h3&gt;

&lt;pre&gt;
cd jni/native/
./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-java-home=/home/applications/java/jdk1.6.0_15 --with-ssl=no --prefix=/home/applications/apache/tomcat/6.0.18
make
make install
&lt;/pre&gt;


&lt;h3&gt;Démarrage autonome de TomCat&lt;/h3&gt;


&lt;p&gt;Il suffit de mettre en place partie &lt;strong&gt;setenv.sh&lt;/strong&gt; comme indiqué dans la documentation pour lancement manuel de tomcat&lt;/p&gt;


&lt;h3&gt;Démarrage de TomCat sous Eclipse/WTP&lt;/h3&gt;


&lt;p&gt;Il suffit, dans les préférences du serveur sous WTP (Web Tools Platform), d&amp;#8217;indiquer sous &amp;#8220;Open Launch Configuration&amp;#8221; / &amp;#8220;Environnement&amp;#8221; la même valeur de la variable &lt;strong&gt;LD_LIBRARY_PATH&lt;/strong&gt; que ci-dessus (soit le chemin donné à la compilation jni ci-dessus sous &amp;#8220;prefix&amp;#8221;).&lt;/p&gt;


&lt;p&gt;Exemple sur mon poste&amp;#160;:
&lt;a href=&quot;http://blog.tensin.org/public/images/eclipse-tomcat-apr.jpg&quot; title=&quot;Eclipse (paramétrie APR Tomcat)&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.eclipse-tomcat-apr_s.jpg&quot; alt=&quot;Eclipse (paramétrie APR Tomcat)&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Eclipse (paramétrie APR Tomcat), sept. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Contenu du répertoire lib de Tomcat&lt;/strong&gt;&amp;#160;:&lt;/p&gt;

&lt;pre&gt;
~/applications/apache/tomcat/6.0.18/lib&amp;gt; lr
total 6260
-rw-r--r-- 1 domain users   49019 2008-07-22 02:01 tomcat-i18n-ja.jar
-rw-r--r-- 1 domain users   42702 2008-07-22 02:01 tomcat-i18n-fr.jar
-rw-r--r-- 1 domain users   45686 2008-07-22 02:01 tomcat-i18n-es.jar
-rw-r--r-- 1 domain users  197443 2008-07-22 02:01 tomcat-dbcp.jar
-rw-r--r-- 1 domain users  742085 2008-07-22 02:01 tomcat-coyote.jar
-rw-r--r-- 1 domain users   83787 2008-07-22 02:01 servlet-api.jar
-rw-r--r-- 1 domain users   72183 2008-07-22 02:01 jsp-api.jar
-rw-r--r-- 1 domain users 1395264 2008-07-22 02:01 jasper-jdt.jar
-rw-r--r-- 1 domain users  511634 2008-07-22 02:01 jasper.jar
-rw-r--r-- 1 domain users  102282 2008-07-22 02:01 jasper-el.jar
-rw-r--r-- 1 domain users   27690 2008-07-22 02:01 el-api.jar
-rw-r--r-- 1 domain users  228471 2008-07-22 02:01 catalina-tribes.jar
-rw-r--r-- 1 domain users 1129912 2008-07-22 02:01 catalina.jar
-rw-r--r-- 1 domain users  123115 2008-07-22 02:01 catalina-ha.jar
-rw-r--r-- 1 domain users   49145 2008-07-22 02:01 catalina-ant.jar
-rw-r--r-- 1 domain users   10805 2008-07-22 02:01 annotations-api.jar
-rw-r--r-- 1 domain users   18501 2009-07-21 18:01 tomcat-devloader.jar
drwxr-xr-x 2 domain users    4096 2009-11-06 15:54 pkgconfig
-rwxr-xr-x 1 domain users  613512 2009-11-06 15:54 libtcnative-1.so.0.1.16
lrwxrwxrwx 1 domain users      23 2009-11-06 15:54 libtcnative-1.so.0 -&amp;gt; libtcnative-1.so.0.1.16
lrwxrwxrwx 1 domain users      23 2009-11-06 15:54 libtcnative-1.so -&amp;gt; libtcnative-1.so.0.1.16
-rwxr-xr-x 1 domain users     939 2009-11-06 15:54 libtcnative-1.la
-rw-r--r-- 1 domain users  880544 2009-11-06 15:54 libtcnative-1.a
&lt;/pre&gt;


&lt;h3&gt;Démarrage d&amp;#8217;Eclipse / WTP&lt;/h3&gt;


&lt;p&gt;Si tout s&amp;#8217;est bien passé on aura&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
6 nov. 2009 15:59:20 org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.16.
6 nov. 2009 15:59:20 org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
6 nov. 2009 15:59:20 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: Failed to initialize the SSLEngine.
6 nov. 2009 15:59:20 org.apache.coyote.http11.Http11AprProtocol init
INFO: Initialisation de Coyote HTTP/1.1 sur http-8080
6 nov. 2009 15:59:20 org.apache.coyote.ajp.AjpAprProtocol init
INFO: Initializing Coyote AJP/1.3 on ajp-8009
6 nov. 2009 15:59:20 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 832 ms
6 nov. 2009 15:59:20 org.apache.catalina.core.StandardService start
INFO: Dï¿½marrage du service Catalina
6 nov. 2009 15:59:20 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
INFO: Using JVM encoding charset = UTF-8
&lt;/pre&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/05/21/Installation-APR-sous-TomCat#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/05/21/Installation-APR-sous-TomCat#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/60</wfw:commentRss>
      </item>
    
  <item>
    <title>Alternatives à PowerPoint / OpenOffice</title>
    <link>http://blog.tensin.org/index.php?post/2010/03/02/Alternative-%C3%A0-PowerPoint-/-OpenOffice</link>
    <guid isPermaLink="false">urn:md5:999133b6286c46d42037cee0bfa902ac</guid>
    <pubDate>Sun, 21 Mar 2010 20:46:00 +0100</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>Outils</category><category>powerpoint</category><category>ppt</category><category>présentation</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_powerpoint.png&quot; alt=&quot;icon_powerpoint.png&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;icon_powerpoint.png, mar. 2010&quot; /&gt;Lassé des innombrables bugs d&amp;#8217;OpenOffice et des incompatibilités avec les fichiers PowerPoint qui me font vite perdre trop de temps pour de simples problèmes de mises à pages (mhh les puces sous OpenOffice qui réagissent n&amp;#8217;importe comment &amp;#8230;), j&amp;#8217;ai trouvé quelques alternatives plutôt pas mal.&lt;/p&gt;


&lt;p&gt;Dans mon cahier de charges de la solution alternative à PowerPoint&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;simplicité&lt;/strong&gt; de la solution (simplicité d&amp;#8217;utilisation, simplicité d&amp;#8217;installation)&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;portabilité&lt;/strong&gt; (doit pouvoir fonctionner sur plusieurs plateformes)&amp;#160;;&lt;/li&gt;
&lt;li&gt;capacité à &lt;strong&gt;publier de différente manière&lt;/strong&gt; la présentation&amp;#160;: sous forme de slideshows bien sûr (projection au vidéo-projecteur), mais aussi en version papier voir faciliter la publication HTML au sein d&amp;#8217;un site&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;génération automatique de la table des matières&lt;/strong&gt; (parce que je trouve aberrant de perdre du temps sur çà en rédigeant un .ppt)&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;navigation intelligente&lt;/strong&gt; (notamment lorsqu&amp;#8217;il y a des animations - par ex. des puces qui apparaissent de manière incrémentale, pouvoir passer à l&amp;#8217;animation suivante bien sûr mais aussi directement passer au slide suivant)&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;J&amp;#8217;ai trouvé plusieurs outils, détaillés ci-dessous, qui respectent  presque tous &lt;a href=&quot;http://fr.wikipedia.org/wiki/Simple_Standards-Based_Slide_Show_System&quot; hreflang=&quot;en&quot;&gt;la même philosophie&lt;/a&gt;&amp;#160;: un moteur HTML (ou XHTML, ou XML) avec un peu de JavaScript pour gérer l&amp;#8217;aspect slideshow.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;HTML Slidy&lt;/strong&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;S5&lt;/strong&gt;, son add-on de rendu visuel &lt;strong&gt;Presentacular&lt;/strong&gt;, et le fork &lt;strong&gt;S5 Reloaded&lt;/strong&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Slideous&lt;/strong&gt; (le meilleur choix selon moi, voir plus loin)&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AJAX-S&lt;/strong&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;Enfin, &lt;strong&gt;Impress!ive&lt;/strong&gt; (anciennement &lt;strong&gt;KeyJNote&lt;/strong&gt;), qui est le seul à avoir une autre philosophie&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;HTML Slidy&lt;/h2&gt;


&lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_html_slidy.png&quot; alt=&quot;icon_html_slidy.png&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;icon_html_slidy.png, mar. 2010&quot; /&gt;La norme du W3C, très similaire à S5 dont on sent d&amp;#8217;ailleurs l&amp;#8217;inspiration&amp;#160;; pas mal du tout, mais n&amp;#8217;a pas l&amp;#8217;air très répandu au final.&lt;/p&gt;


&lt;p&gt;Lien&amp;#160;: &lt;a href=&quot;http://www.w3.org/2005/03/slideshow.html&quot; hreflang=&quot;en&quot;&gt;http://www.w3.org/2005/03/slideshow.html&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;S5&lt;/h2&gt;


&lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_s5.png&quot; alt=&quot;icon_s5.png&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;icon_s5.png, mar. 2010&quot; /&gt;Sans doute le projet le plus répandu sur cette philosophie et au final le plus actif (avec ses add-ons et ses dérivés). Le principe est le même que HTML Slidy, une page HTML et du Javascript pour en gérer l&amp;#8217;affichage. Le projet originel n&amp;#8217;est plus maintenu.&lt;/p&gt;


&lt;p&gt;Un add-on intéessant à S5 est&amp;#160;: Presentacular, qui améliore l&amp;#8217;affichage, avec grâce à l&amp;#8217;introduction de la librairie JavaScript Spetacular quelques effets (déplacement de blocs de texte, &amp;#8220;vibration&amp;#8221; de ligne de texte, etc.), qui peuvent être utile dans certains cas (mais sont totalement superflus à mes yeux).&lt;/p&gt;


&lt;p&gt;Voici un &lt;a href=&quot;http://www.framasoft.net/IMG/html/presentacular-exemple.html&quot; hreflang=&quot;fr&quot;&gt;exemple en ligne avec Presentacular&lt;/a&gt;.
Et ici un &lt;a href=&quot;http://www.framasoft.net/article434.html&quot; hreflang=&quot;fr&quot;&gt;tutorial très complet&lt;/a&gt; sur S5 + Presentacular (sur Framasoft).&lt;/p&gt;


&lt;p&gt;Lien&amp;#160;: &lt;a href=&quot;http://meyerweb.com/eric/tools/s5/structure-min.html&quot; hreflang=&quot;en&quot;&gt;http://meyerweb.com/eric/tools/s5/structure-min.html&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;S5 Reloaded.&lt;/h2&gt;


&lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_powerpoint_small.png&quot; alt=&quot;icon_powerpoint_small.png&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;icon_powerpoint_small.png, mar. 2010&quot; /&gt;Comme le projet S5 n&amp;#8217;est plus actif, d&amp;#8217;autres bonnes volontés se sont manifestées pour enrichir ce projet open-source avec des fonctionnalités supplémentaires, c&amp;#8217;est ainsi qu&amp;#8217;est né &lt;strong&gt;S5 Reloaded&lt;/strong&gt;, qui est donc une reprise et un enrichissement du projet S5. Pour quelqu&amp;#8217;un qui voudrait partir sur S5, c&amp;#8217;est bien sûr sur cette version qu&amp;#8217;il faut aller.&lt;/p&gt;


&lt;p&gt;Les nouveautés sont essentiellement&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;gestion du multimédia (audio via des MP3, fichiers vectoriels SVG, fichiers flash)&amp;#160;;&lt;/li&gt;
&lt;li&gt;gestion d&amp;#8217;un fondu entre les pages&amp;#160;;&lt;/li&gt;
&lt;li&gt;meilleure gestion des éléments graphiques type images (redimensionnement automatique)&amp;#160;;&lt;/li&gt;
&lt;li&gt;gestion de l&amp;#8217;autoplay (= déroulement automatique des slides)&amp;#160;;&lt;/li&gt;
&lt;li&gt;pannel de navigation en bas qui apparaît lorsque l&amp;#8217;on déplace la souris en bas de l&amp;#8217;écran avec des fonctions de navigation type DVD (pause, next, etc.)&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La rançon de ses fonctionnalités est qu&amp;#8217;il y a plus de fichiers à inclure / gérer (même si çà reste très facile), une feuille de style spécifique pour Opera, etc.&lt;/p&gt;


&lt;p&gt;Un &lt;a href=&quot;http://www.netzgesta.de/S5/reloaded/advantages-scala_gfx.html&quot; hreflang=&quot;en&quot;&gt;exemple en ligne&lt;/a&gt; et la &lt;a href=&quot;http://www.netzgesta.de/S5/download.php&quot; hreflang=&quot;en&quot;&gt;page de download&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Au final S5 / S5 Reloaded est une solution intéressante mais&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le changement de slide est mal fichu quand il y a des puces qui s&amp;#8217;affiche de manière itérative&amp;#160;: impossible de passer au slide suivant sans faire défiler toutes les puces&amp;#160;: il aurait été mieux que ESPACE et FLECHE BAS fassent apparaître les puces et PAGE DOWN ou FLECHE DROITE amène au slide suivant par ex.&amp;#160;;&lt;/li&gt;
&lt;li&gt;Il n&amp;#8217;y a pas de navigation par vignettes (difficile à faire vu le principe de S5)&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lien&amp;#160;: &lt;a href=&quot;http://www.netzgesta.de/S5/reloaded/&quot; hreflang=&quot;en&quot;&gt;http://www.netzgesta.de/S5/reloaded/&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;Slideous&lt;/h2&gt;


&lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_powerpoint_small.png&quot; alt=&quot;icon_powerpoint_small.png&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;icon_powerpoint_small.png, mar. 2010&quot; /&gt;&lt;strong&gt;Slideous&lt;/strong&gt; a été réécrit après la publication de S5 et d&amp;#8217;&lt;strong&gt;HTML Slidy&lt;/strong&gt;. Il en reprend les grands principes mais apporte plusieurs fonctions de navigations intéressantes qui m&amp;#8217;intéressent bigrement&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;génération automatique de la table des matières&lt;/strong&gt; à partir des titres des différents slides&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;status bar&lt;/strong&gt; très complète&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;navigation intelligente&lt;/strong&gt; au sein des slides&amp;#160;: quand il y a des éléments comme des puces qui s&amp;#8217;affichent un par un, il est toujours possible de passer directement au slide suivant (indispensable quand en fin de présentation on veut naviguer dans les slides pour en remontrer un)&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;De plus Slideous est particulièrement simple niveau intégration (autant que HTML Slidy, et plus que S5 Reloaded)&amp;#160;: il y a juste un fichier .css et un fichier .js à intégrer dans le HTML de présentation.&lt;/p&gt;


&lt;p&gt;Un exemple de page toute simple affichée (ici sur Google Chrome)&amp;#160;:
&lt;a href=&quot;http://blog.tensin.org/public/images/slideous-screenshot.png&quot; title=&quot;Présentation avec Slideous (rendu ici sur Google Chrome)&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.slideous-screenshot_m.jpg&quot; alt=&quot;Présentation avec Slideous (rendu ici sur Google Chrome)&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Présentation avec Slideous (rendu ici sur Google Chrome), mar. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Un exemple de code&amp;#160;:&lt;/p&gt;

&lt;pre&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot;
    &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;Réunion&amp;lt;/title&amp;gt;
    &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=UTF-8&amp;quot; /&amp;gt;
    &amp;lt;meta name=&amp;quot;author&amp;quot; content=&amp;quot;auteur&amp;quot; /&amp;gt; 
    &amp;lt;meta name=&amp;quot;date&amp;quot; content=&amp;quot;date&amp;quot; /&amp;gt; 
    &amp;lt;meta name=&amp;quot;autoincrement&amp;quot; content=&amp;quot;true&amp;quot; /&amp;gt; 
    &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;ui/slideous.css&amp;quot; /&amp;gt; 
    &amp;lt;script src=&amp;quot;ui/slideous.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;!-- statusbar --&amp;gt;
    &amp;lt;div id=&amp;quot;statusbar&amp;quot;&amp;gt;
      &amp;lt;span style=&amp;quot;float:right;&amp;quot;&amp;gt;
        &amp;lt;span style=&amp;quot;margin-right:4em;font-weight:bold;&amp;quot;&amp;gt;&amp;lt;span id=&amp;quot;slideidx&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; of {$slidecount}&amp;lt;/span&amp;gt;
        &amp;lt;button id=&amp;quot;prevslidebutton&amp;quot; title=&amp;quot;previous slide&amp;quot;&amp;gt;&amp;amp;laquo;&amp;lt;/button&amp;gt;
        &amp;lt;button id=&amp;quot;previtembutton&amp;quot; title=&amp;quot;previous item&amp;quot;&amp;gt;&amp;amp;lsaquo;&amp;lt;/button&amp;gt;
        &amp;lt;button id=&amp;quot;nextitembutton&amp;quot; title=&amp;quot;next item&amp;quot;&amp;gt;&amp;amp;rsaquo;&amp;lt;/button&amp;gt;
        &amp;lt;button id=&amp;quot;nextslidebutton&amp;quot; title=&amp;quot;next slide&amp;quot;&amp;gt;&amp;amp;raquo;&amp;lt;/button&amp;gt;
        &amp;lt;button id=&amp;quot;incfontbutton&amp;quot; title=&amp;quot;content&amp;quot;&amp;gt;A+&amp;lt;/button&amp;gt;
        &amp;lt;button id=&amp;quot;decfontbutton&amp;quot; title=&amp;quot;first slide&amp;quot;&amp;gt;A-&amp;lt;/button&amp;gt;
        &amp;lt;select id=&amp;quot;tocbox&amp;quot; size=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/option&amp;gt;&amp;lt;/select&amp;gt;
      &amp;lt;/span&amp;gt;
      &amp;lt;span id=&amp;quot;eos&amp;quot;&amp;gt;&amp;amp;frac12;&amp;lt;/span&amp;gt;
      &amp;lt;span title=&amp;quot;{$location}, {$date}&amp;quot;&amp;gt;{$title}, {$author}&amp;lt;/span&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;!-- slides --&amp;gt;
    &amp;lt;div class=&amp;quot;slide&amp;quot;&amp;gt;
      &amp;lt;h1&amp;gt;Introduction&amp;lt;/h1&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;div class=&amp;quot;slide&amp;quot;&amp;gt;
      &amp;lt;h1&amp;gt;Table des matières&amp;lt;/h1&amp;gt;
      &amp;lt;ul id=&amp;quot;toc&amp;quot; class=&amp;quot;incremental&amp;quot;&amp;gt;&amp;lt;li&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;div class=&amp;quot;slide&amp;quot;&amp;gt;
      &amp;lt;h1&amp;gt;Slide 1&amp;lt;/h1&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;


&lt;p&gt;En gros tout le début ne change pas (sauf l&amp;#8217;auteur, etc.), et il suffit d&amp;#8217;écrire des blocs &lt;strong&gt;div&lt;/strong&gt; pour chaque slide, et c&amp;#8217;est tout. Je trouve çà plutôt simple et rapide (copié / collé facilités, changement de thème via la CSS, etc.).&lt;/p&gt;


&lt;p&gt;Lien&amp;#160;: &lt;a href=&quot;http://goessner.net/articles/slideous/slideous.html&quot; hreflang=&quot;en&quot;&gt;http://goessner.net/articles/slideous/slideous.html&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;AJAX-S&lt;/h2&gt;


&lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_powerpoint_small.png&quot; alt=&quot;icon_powerpoint_small.png&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;icon_powerpoint_small.png, mar. 2010&quot; /&gt;Je n&amp;#8217;ai pas beaucoup creusé cette version parce que Slideous me convient bien, mais un des intérêts d&amp;#8217;AJAX-S est qu&amp;#8217;il fonctionne en XML pur, donc il n&amp;#8217;est pas nécessaire d&amp;#8217;écrire du HTML. Sinon il est à l&amp;#8217;usage et sur le principe relativement semblable aux autres.&lt;/p&gt;


&lt;p&gt;Lien&amp;#160;: &lt;a href=&quot;http://robertnyman.com/ajax-s/&quot; hreflang=&quot;en&quot;&gt;http://robertnyman.com/ajax-s/&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;Impress!ve&lt;/h2&gt;


&lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_powerpoint_small.png&quot; alt=&quot;icon_powerpoint_small.png&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;icon_powerpoint_small.png, mar. 2010&quot; /&gt;Il s&amp;#8217;agit d&amp;#8217;un moteur de rendu de fichiers .pdf avec plusieurs fonctionnalités sympas, notamment la surbrillance à la souris, la navigation au sein des diapos par vignettes et l&amp;#8217;enchaînement automatique des slides.&lt;/p&gt;


&lt;p&gt;Le principe est simple&amp;#160;: il faut générer un .pdf d&amp;#8217;une manière quelconque (Word, OpenOffice, etc.),
et Impressi!ve se charge d&amp;#8217;en faire l&amp;#8217;affichage en mode présentation, pour un rendu très agréable (la surbrillance t les vignettes notamment).&lt;/p&gt;


&lt;p&gt;Si ce mode de publication peut paraître simple, en pratique j&amp;#8217;y trouve des inconvénients&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La génération du .pdf peut être laborieuse&amp;#160;: il faut un outil &amp;#8220;annexe&amp;#8221; à Impress!ve&amp;#160;;&lt;/li&gt;
&lt;li&gt;Impress!ve est basé sur Python avec plusieurs dépendances système, et du coup c&amp;#8217;est assez laborieux à installer (personnellement j&amp;#8217;ai laissé tomber après 30 minutes à cause de l&amp;#8217;installation de tous ces modules pytons un peu compliquée sur mon poste SuSE bridé)&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/impressive-image.png&quot; alt=&quot;Impressive (exemple de surbrillance pendant la navigation)&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Impressive (exemple de surbrillance pendant la navigation), mar. 2010&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Lien&amp;#160;: &lt;a href=&quot;http://impressive.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;http://impressive.sourceforge.net/&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;Matrice de comparaison.&lt;/h2&gt;

&lt;table&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;strong&gt;Impress!ve&lt;/strong&gt;&lt;/td&gt;
    &lt;td&gt;&lt;strong&gt;HTML&amp;nbsp;&amp;Tidy&lt;/strong&gt;&lt;/td&gt;
    &lt;td&gt;&lt;strong&gt;S5&lt;/strong&gt;&lt;/td&gt;
    &lt;td&gt;&lt;strong&gt;S5&amp;nbsp;&amp;Reloaded&lt;/strong&gt;&lt;/td&gt;
    &lt;td&gt;&lt;strong&gt;Slideous&lt;/strong&gt;&lt;/td&gt;
    &lt;td&gt;&lt;strong&gt;AJAXS&lt;/strong&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td colspan=&quot;7&quot;&gt;&lt;hr&gt;&lt;/tr&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Projet vivant&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Communauté active&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Installation simple&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Table des matières automatique&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Navigation intelligente&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Fonctions de navigations avancées&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Navigation par vignette&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Facilité de publication externe&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Séparation fond/forme&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_no.png&quot; /&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_yes.png&quot; /&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;



&lt;h2&gt;Conclusion.&lt;/h2&gt;


&lt;p&gt;Pour conclure, tous les projets ont leurs avantages et leurs inconvénients. &lt;strong&gt;S5&lt;/strong&gt; (via &lt;strong&gt;S5 Reloaded&lt;/strong&gt;) est le plus actif et a la meilleure gestion multimédia, &lt;strong&gt;HTML Slidy&lt;/strong&gt; a pour lui le côté standard du &lt;a href=&quot;http://blog.tensin.org/index.php?post/2010/03/02/Alternative-%C3%A0-PowerPoint-/www.w3c.org&quot; hreflang=&quot;en&quot;&gt;W3C&lt;/a&gt; mais est resté plutôt confidentiel, &lt;strong&gt;Impress!ve&lt;/strong&gt; a des fonctionnalités de navigation très sympas que n&amp;#8217;ont pas les autres, &lt;strong&gt;AJAX-S&lt;/strong&gt; a la meilleure séparation fond / forme puisqu&amp;#8217;il n&amp;#8217;est pas nécessaire de faire du HTML  &amp;#8230;&lt;/p&gt;


&lt;p&gt;Du coup, au final, même s&amp;#8217;il ne présente pas d&amp;#8217;avancées majeures face aux autres, le choix le plus intéressant reste clairement pour moi &lt;strong&gt;Slideous&lt;/strong&gt;, peu d&amp;#8217;inconvénients, et couverture de quasiment toutes les fonctionnalités dont j&amp;#8217;ai besoin.&lt;/p&gt;


&lt;p&gt;Enfin, pratiquement toutes ces solutions reste du Javascript et c&amp;#8217;est bien dommage - je n&amp;#8217;aime vraiment pas le Javascript, techniquement j&amp;#8217;aurais préféré un autre mécanisme &amp;#8230; mais je suis néanmoins plutôt content du résultat final&amp;#160;: une fois le système en place, c&amp;#8217;est publiable à différents endroits (y compris sur un site généré par &lt;a href=&quot;http://maven.apache.org/&quot; hreflang=&quot;en&quot;&gt;Maven&lt;/a&gt; par ex.).&lt;/p&gt;


&lt;h2&gt;Annexes.&lt;/h2&gt;


&lt;p&gt;Une &lt;a href=&quot;http://www.hackitlinux.com/50226711/alternative_presentation_tools.php&quot; hreflang=&quot;en&quot;&gt;présentation&lt;/a&gt; en anglais de KeyJNote et S5.&lt;/p&gt;


&lt;p&gt;En complément, même si je n&amp;#8217;ai pas exploré cette piste, une autre alternative serait de passer par un document LaTeX&amp;#160;: à partir d&amp;#8217;un document source LaTeX, il est possible de générer du .pdf et du .html et il existe des extensions pour la présentation (notamment &lt;a href=&quot;http://texpoint.necula.org/&quot; hreflang=&quot;en&quot;&gt;TexPoint&lt;/a&gt; et &lt;a href=&quot;http://www.tuteurs.ens.fr/logiciels/latex/beamer.html&quot; hreflang=&quot;fr&quot;&gt;Beamer&lt;/a&gt;).&lt;/p&gt;


&lt;p&gt;Il y a bien sûr d&amp;#8217;autres alternatives plus dans la même logique que PowerPoint, voir par exemple &lt;a href=&quot;http://roget.biz/7-alternatives-gratuites-pour-se-passer-de-powerpoint&quot; hreflang=&quot;fr&quot;&gt;ce comparatif &amp;#8220;11 alternatives pour se passer de Powerpoint&amp;#8221;&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/03/02/Alternative-%C3%A0-PowerPoint-/-OpenOffice#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/03/02/Alternative-%C3%A0-PowerPoint-/-OpenOffice#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/59</wfw:commentRss>
      </item>
    
  <item>
    <title>Convertir des fichiers FLV an AVI (Xvid) sous Linux</title>
    <link>http://blog.tensin.org/index.php?post/2010/02/07/Convertir-des-fichiers-FLV-an-AVI-%28Xvid%29-sous-Linux</link>
    <guid isPermaLink="false">urn:md5:a8ad18d2b6428b59d0b9dfaa46b6eb12</guid>
    <pubDate>Sun, 07 Feb 2010 18:40:00 +0100</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>canal</category><category>flv</category><category>linux</category><category>Outils</category>    
    <description>    &lt;p&gt;Je télécharge depuis peu quelques fichiers en .flv depuis le site de &lt;a href=&quot;http://www.canalplus.fr/&quot; hreflang=&quot;fr&quot;&gt;Canal+&lt;/a&gt;, notamment les épisodes de &lt;a href=&quot;http://www.canalplus.fr/c-humour/pid1787-c-groland.html&quot; hreflang=&quot;fr&quot;&gt;Groland&lt;/a&gt; toutes les semaines.
Las, sans que je sache pourquoi, les .flv ne se lisent pas bien en streaming avec vlc sur mon Karmic Koala.
Donc il me faut les convertir en avi, avec &lt;strong&gt;&lt;a href=&quot;http://www.mplayerhq.hu/&quot; hreflang=&quot;en&quot;&gt;mencoder&lt;/a&gt;&lt;/strong&gt;. La conversion est automatisée à l&amp;#8217;aide du script ci-dessous en .avi (au format libre &lt;strong&gt;Xvid&lt;/strong&gt;).&lt;/p&gt;


&lt;p&gt;Le coeur de la conversion se fait avec ces paramètres&amp;#160;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;mencoder input.flv -oac mp3lame -lameopts preset=standard:fast -ovc xvid -xvidencopts pass=2:bitrate=650:vhq=4:autoaspect -vf pp=h1/v1/al/dr/tn,hqdn3d -o output.flv&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Après plusieurs tests j&amp;#8217;ai donc opté pour un encodage en &lt;strong&gt;650kbits&lt;/strong&gt; niveau bitrate&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La taille du fichier est au final très proche de la taille initiale en .flv&amp;#160;;&lt;/li&gt;
&lt;li&gt;Visuellement je ne perçois pas de réelles différences avec le fichier .flv original&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;L&amp;#8217;encodage se fait en deux passes pour une meilleure qualité (en une seule passe les artefacts de compression sont en effet bien plus visibles).&lt;/p&gt;


&lt;p&gt;Différence de taille entre le fichier original en .flc et la conversion en .avi&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
ubuntu:/home/downloads/Canal+/groland&amp;gt; ll *0130*
-rw-r--r-- 1 root   root   110233294 2010-02-07 17:52 groland_100130.avi
-rw-r--r-- 1 root   root   106066014 2010-01-31 15:08 groland_100130.flv
&lt;/pre&gt;


&lt;p&gt;Une image de la vidéo streamée&amp;#160;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/canal_-groland-flv-to-avi.png&quot; title=&quot;Vidéo flv convertie an avi&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.canal_-groland-flv-to-avi_m.jpg&quot; alt=&quot;Vidéo flv convertie an avi&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Vidéo flv convertie an avi, fév. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le script de conversion qui s&amp;#8217;utilise en passant le fichier à convertir en paramètre (sera effacé en fin de traitement).
Lien direct vers le .sh&amp;#160;: &lt;a href=&quot;http://blog.tensin.org/public/ressources/convert_flv_to_avi.sh&quot;&gt;convert_flv_to_avi.sh&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;
#!/bin/zsh

INPUT_FILENAME=&amp;quot;${1}&amp;quot;
OUTPUT_FILENAME=${INPUT_FILENAME%%.*}.avi
DIVX_TEMP_FILENAME=&amp;quot;divx2pass.log&amp;quot;
if [[ ! -f &amp;quot;${INPUT_FILENAME}&amp;quot; ]] ; then
  echo &amp;quot;Le fichier '${INPUT_FILENAME}' n'existe pas.&amp;quot;
  exit 1
fi

echo &amp;quot;Destination : '${OUTPUT_FILENAME}'&amp;quot;

[[ -f &amp;quot;${OUTPUT_FILENAME}&amp;quot; ]] &amp;amp;&amp;amp; rm -f &amp;quot;${OUTPUT_FILENAME}&amp;quot; &amp;gt;/dev/null 2&amp;gt;&amp;amp;1

# -lameopts cbr=128
VIDEO_BITRATE=&amp;quot;650&amp;quot;
AUDIO_OPTIONS_PASS1=&amp;quot;-oac copy&amp;quot; # Inutile de convertir l'audio pour la premiere passe, qui ne produit aucun fichier
AUDIO_OPTIONS_PASS2=&amp;quot;-oac mp3lame -lameopts preset=standard:fast&amp;quot;
VIDEO_OPTIONS_PASS1=&amp;quot;-ovc xvid -xvidencopts pass=1:bitrate=${VIDEO_BITRATE}:vhq=4:autoaspect -vf pp=h1/v1/al/dr/tn,hqdn3d&amp;quot;
VIDEO_OPTIONS_PASS2=&amp;quot;-ovc xvid -xvidencopts pass=2:bitrate=${VIDEO_BITRATE}:vhq=4:autoaspect -vf pp=h1/v1/al/dr/tn,hqdn3d&amp;quot;

echo &amp;quot;Passe 1&amp;quot;
eval mencoder &amp;quot;${INPUT_FILENAME}&amp;quot; ${AUDIO_OPTIONS_PASS1} ${VIDEO_OPTIONS_PASS1} -o /dev/null
echo &amp;quot;Passe 2&amp;quot;
eval mencoder &amp;quot;${INPUT_FILENAME}&amp;quot; ${AUDIO_OPTIONS_PASS2} ${VIDEO_OPTIONS_PASS2} -o &amp;quot;${OUTPUT_FILENAME}&amp;quot;

[[ -f &amp;quot;${DIVX_TEMP_FILENAME}&amp;quot; ]] &amp;amp;&amp;amp; rm -f &amp;quot;${DIVX_TEMP_FILENAME}&amp;quot; &amp;gt;/dev/null 2&amp;gt;&amp;amp;1
[[ -f &amp;quot;${OUTPUT_FILENAME}&amp;quot; &amp;amp;&amp;amp; ! -s &amp;quot;${OUTPUT_FILENAME}&amp;quot; ]] &amp;amp;&amp;amp; rm -f &amp;quot;${INPUT_FILENAME}&amp;quot; &amp;gt;/dev/null 2&amp;gt;&amp;amp;1
&lt;/pre&gt;


&lt;p&gt;Installation (en tant que root)&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;cd /usr/bin/&lt;br /&gt;
wget http://blog.tensin.org/public/ressources/convert_flv_to_avi.sh&lt;br /&gt;
chmod a+x convert_flv_to_avi.sh&lt;br /&gt;
apt-get install zsh mencoder&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Utilisation&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;convert_flv_to_avi.sh groland_100130.flv&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Lien vers un article très complet sur l&amp;#8217;encodage sous Linux (choix du codec, calcul du bitrate, dvdrip,etc.) chez &lt;a href=&quot;http://linux.leunen.com/?p=473&quot; hreflang=&quot;fr&quot;&gt;Autour de Linux&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/02/07/Convertir-des-fichiers-FLV-an-AVI-%28Xvid%29-sous-Linux#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/02/07/Convertir-des-fichiers-FLV-an-AVI-%28Xvid%29-sous-Linux#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/57</wfw:commentRss>
      </item>
    
  <item>
    <title>Effacer intégralement le contenu d'un disque dur</title>
    <link>http://blog.tensin.org/index.php?post/2010/01/03/Effacer-int%C3%A9gralement-le-contenu-d-un-disque-dur</link>
    <guid isPermaLink="false">urn:md5:7896ab30eacbd150ac2ecacea1aae390</guid>
    <pubDate>Wed, 20 Jan 2010 15:56:00 +0100</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>linux</category><category>pense-bête</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/hdd2.jpg&quot; title=&quot;HDD&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.hdd2_s.jpg&quot; alt=&quot;HDD&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;HDD, janv. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le simple fait&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;d&amp;#8217;effacer des fichiers&amp;#160;;&lt;/li&gt;
&lt;li&gt;de formatter une partition&amp;#160;;&lt;/li&gt;
&lt;li&gt;de détruire la partition (avec GParted ou autre)&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ne suffit aucunement à retirer les fichiers physiquement du disque&amp;#160;: les données des fichiers sont toujours présentes sur le disque et il est (relativement) facilement facile de les récupérer (par exemple avec l&amp;#8217;outil en ligne de commande &lt;a href=&quot;http://pwet.fr/man/linux/commandes/foremost&quot; hreflang=&quot;fr&quot;&gt;foremost&lt;/a&gt;).&lt;/p&gt;


&lt;p&gt;Pour les effacer de manière plus sécurisée, par exemple avant de revendre un PC ou de donner un disque dur, il est nécessaire de passer des commandes qui vont non pas se contenter d&amp;#8217;effacer les fichiers du disque ou d&amp;#8217;altérer la partition, mais qui vont écrire des données sur l&amp;#8217;intégralité du disque.&lt;/p&gt;


&lt;h2&gt;Solution 1 - &lt;strong&gt;dd&lt;/strong&gt;&lt;/h2&gt;


&lt;p&gt;Utiliser la commande &lt;a href=&quot;http://pwet.fr/man/linux/commandes/dd&quot; hreflang=&quot;fr&quot;&gt;dd&lt;/a&gt; pour copier des blocs nuls sur tout le disque.&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;dd if=/dev/zero of=/dev/sdg1 bs=1024 count=732572001&lt;/p&gt;&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;of&lt;/strong&gt;&amp;#160;: le device de destination (un disque complet ou une partition)&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;bs&lt;/strong&gt;&amp;#160;: le nombre d&amp;#8217;octets à écrire à chaque fois&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;count&lt;/strong&gt;&amp;#160;: le nombre de blocks à écrire.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour trouver le nombre de blocs il est possible de passer par fdisk&amp;#160;:&lt;/p&gt;

&lt;pre&gt;
ubuntu:/var/log&amp;gt; sudo fdisk /dev/sdg

Le nombre de cylindres pour ce disque est fixé à 91201.
Il n'y a rien d''incorrect avec cela, mais c'est plus grand que 1024,
et cela pourrait causer des problèmes pour certaines installations:
1) logiciels qui sont exécutés à l'amorçage (i.e., vieilles versions de LILO)
2) logiciels d'amorçage et de partitionnement pour d'autres OS
   (i.e., DOS FDISK, OS/2 FDISK)

Commande (m pour l'aide): p

Disque /dev/sdg: 750.1 Go, 750156374016 octets
255 têtes, 63 secteurs/piste, 91201 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Identifiant de disque : 0x000077ba

Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sdg1               1       91201   732572001   83  Linux
&lt;/pre&gt;


&lt;p&gt;Le nombre de blocs est donné ici pour la partition sdg1 qui couvre tout le disque.&lt;/p&gt;



&lt;h2&gt;Solution 2 - &lt;strong&gt;shred&lt;/strong&gt;&lt;/h2&gt;


&lt;p&gt;La solution avec &lt;strong&gt;dd&lt;/strong&gt; se contente de remplir le disque avec des zéros. Les données ne sont plus accessibles directement mais une récupération brute sur le disque peut toujours ramener des fichiers. Pour aller plus loin il est possible de passer par un outil qui fera la même chose que &lt;strong&gt;dd&lt;/strong&gt;, mais avec plusieurs passes, par exemple &lt;strong&gt;shred&lt;/strong&gt;.&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;shred -vfz -n 64 /dev/sdg&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Cette commande va écrite des zéros (option &lt;strong&gt;-z&lt;/strong&gt;), en faisant 64 passes (&lt;strong&gt;-n 64&lt;/strong&gt;), en mode verbose (&lt;strong&gt;-v&lt;/strong&gt;) et en forçant au besoin les permissions (&lt;strong&gt;-f&lt;/strong&gt;).&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;shred&lt;/strong&gt; est par défaut installé sur la plupart des systèmes Linux (ex. Ubuntu), au besoin l&amp;#8217;installer avec la commande d&amp;#8217;installation habituelle, genre&amp;#160;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;sudo apt-get install shred&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;A noter que cette opération est généralement très longue (environ 15h sur mon PC pour faire une seule passe sur un disque dur de 200GO Western Digital branché en SATA).&lt;/p&gt;


&lt;h2&gt;Remarques.&lt;/h2&gt;


&lt;p&gt;Il est théoriquement toujours possible de récupérer ensuite des données sur un disque effacé de la sorte, en passant par un laboratoire spécialisé. Ces manipulations, pour des données sensibles, peuvent donc ne pas être suffisantes.&lt;/p&gt;


&lt;h2&gt;Annexe - Retirer un flag GPT (GUID Partition Table).&lt;/h2&gt;


&lt;p&gt;Le nouveau format Intel de gestion des partitions est GPT (&lt;a href=&quot;http://en.wikipedia.org/wiki/GUID_Partition_Table&quot; hreflang=&quot;en&quot;&gt;GUID Partition Table&lt;/a&gt;).&lt;/p&gt;


&lt;p&gt;Ce format est par exemple utilisé pour les disques montés en RAID avec dmraid. Il fonctionne sans problèmes sous Linux. Toutefois, j&amp;#8217;ai galéré cinq bonnes minutes pour trouver comment retirer proprement et facilement cette information d&amp;#8217;un disque que l&amp;#8217;on souhaite partitionner normalement.&lt;/p&gt;


&lt;p&gt;Sans çà, un appel à &lt;strong&gt;cfdisk&lt;/strong&gt; produit le warning suivant&amp;#160;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;&amp;#8220;Attention!! Identifiant GPT (GUID) de table de partitions non supporté détecté. Utilisez GNU Parted.&amp;#8221;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;La seule solution simple que j&amp;#8217;ai trouvée est d&amp;#8217;installer le petit outil gdisk (similaire à fdisk mais pour les partitions GPT)&amp;#160;: &lt;a href=&quot;http://sourceforge.net/projects/gptfdisk&quot; hreflang=&quot;en&quot;&gt;http://sourceforge.net/projects/gptfdisk&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Il suffit ensuite d&amp;#8217;aller dans les options &amp;#8220;Expert&amp;#8221; puis &amp;#8220;zap&amp;#8221;.&lt;/p&gt;

&lt;pre&gt;
ubuntu:/home/sergio/Bureau&amp;gt; sudo gdisk /dev/sdg
GPT fdisk (gdisk) version 0.6.0

Caution: invalid main GPT header, but valid backup; regenerating main header
from backup!
Warning! One or more CRCs don't match. You should repair the disk!
Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: damaged

Found invalid MBR and corrupt GPT. What do you want to do? (Using the
GPT MAY permit recovery of GPT data.)
 1 - GPT
 2 - Create blank GPT

Your answer: 1

Command (? for help): ?
b	back up GPT data to a file
c	change a partition's name
d	delete a partition
i	show detailed information on a partition
l	list known partition types
n	add a new partition
o	create a new empty GUID partition table (GPT)
p	print the partition table
q	quit without saving changes
r	recovery and transformation options (experts only)
s	sort partitions
t	change a partition's type code
v	verify disk
w	write table to disk and exit
x	extra functionality (experts only)
?	print this menu

Command (? for help): i
No partitions

Command (? for help): x

Expert command (? for help): ?
a	set attributes
c	change partition GUID
d	display the sector alignment value
e	relocate backup data structures to the end of the disk
g	change disk GUID
i	show detailed information on a partition
l	set the sector alignment value
m	return to main menu
n	create a new protective MBR
o	print protective MBR data
p	print the partition table
q	quit without saving changes
r	recovery and transformation options (experts only)
s	resize partition table
v	verify disk
w	write table to disk and exit
z	zap (destroy) GPT data structures and exit
?	print this menu

Expert command (? for help): z
About to wipe out GPT on /dev/sdg. Proceed? (Y/N): Y
Blank out MBR? (Y/N): Y
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities. Program will now terminate.
ubuntu:/home/sergio/Bureau&amp;gt; 
&lt;/pre&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/01/03/Effacer-int%C3%A9gralement-le-contenu-d-un-disque-dur#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/01/03/Effacer-int%C3%A9gralement-le-contenu-d-un-disque-dur#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/50</wfw:commentRss>
      </item>
    
  <item>
    <title>Découper des fichiers FLAC sous Linux à partir d'un .cue</title>
    <link>http://blog.tensin.org/index.php?post/2010/01/01/D%C3%A9couper-des-fichiers-FLAC-sous-Linux-%C3%A0-partir-d-un-.cue</link>
    <guid isPermaLink="false">urn:md5:960c5d1b8c762d73996b40f03fec414f</guid>
    <pubDate>Fri, 01 Jan 2010 15:49:00 +0100</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>linux</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://blog.tensin.org/public/icons/icon_flac.png&quot; title=&quot;FLAC&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/.icon_flac_t.jpg&quot; alt=&quot;FLAC&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;FLAC, janv. 2010&quot; /&gt;&lt;/a&gt; Si vous avez un fichier .flac correspondant à un CD complet, et accompagné d&amp;#8217;un fichier .cue (listant l&amp;#8217;ensemble des pistes), il est facile de faire le découpage vers autant de fichiers FLAC que de pistes.&lt;/p&gt;


&lt;p&gt;Pour celà il faut les outils&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;cuetools&lt;/strong&gt;&amp;#160;: pour traiter le fichier .cue et récupérer la liste de chaque piste&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;shntool&lt;/strong&gt;&amp;#160;: pour faire le découpage depuis la sortie de cuetools&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Installation&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;sudo apt-get install cuetools shntool flac wavpack&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Usage&amp;#160;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;cuebreakpoints cd.cue | shnsplit -o flac cd.flac&lt;/p&gt;&lt;/blockquote&gt;

&lt;pre&gt;
cuebreakpoints CDImage.cue |  shnsplit -o flac  CDImage.flac 
Splitting [CDImage.flac] (62:45.15) --&amp;gt; [split-track01.flac] (3:28.00) : 100% OK
Splitting [CDImage.flac] (62:45.15) --&amp;gt; [split-track02.flac] (3:55.33) : 100% OK
Splitting [CDImage.flac] (62:45.15) --&amp;gt; [split-track03.flac] (2:10.25) : 100% OK
Splitting [CDImage.flac] (62:45.15) --&amp;gt; [split-track04.flac] (1:47.22) : 100% OK
Splitting [CDImage.flac] (62:45.15) --&amp;gt; [split-track05.flac] (1:49.40) : 100% OK
Splitting [CDImage.flac] (62:45.15) --&amp;gt; [split-track06.flac] (2:40.58) : 100% OK
Splitting [CDImage.flac] (62:45.15) --&amp;gt; [split-track07.flac] (1:42.47) : 100% OK
Splitting [CDImage.flac] (62:45.15) --&amp;gt; [split-track08.flac] (1:04.13) : 100% OK
&lt;/pre&gt;


&lt;p&gt;Plus d&amp;#8217;info (en anglais) (autres options)&amp;#160;: &lt;a href=&quot;http://aidanjm.wordpress.com/2007/02/15/split-lossless-audio-ape-flac-wv-wav-by-cue-file/&quot; hreflang=&quot;en&quot;&gt;Split lossless audio files by cue file&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Bonus&amp;#160;: pour convertir en ligne de commande des fichiers FLAC en MP3, j&amp;#8217;utilise (une version légérement modifiée de ce) &lt;a href=&quot;http://fr.wikibooks.org/wiki/Convertir_des_fichiers_flac_en_fichiers_mp3&quot; hreflang=&quot;fr&quot;&gt;script&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2010/01/01/D%C3%A9couper-des-fichiers-FLAC-sous-Linux-%C3%A0-partir-d-un-.cue#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2010/01/01/D%C3%A9couper-des-fichiers-FLAC-sous-Linux-%C3%A0-partir-d-un-.cue#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/49</wfw:commentRss>
      </item>
    
  <item>
    <title>Comparatif des GPS pour iPhone</title>
    <link>http://blog.tensin.org/index.php?post/2009/10/03/Comparatif-des-GPS-pour-iPhone</link>
    <guid isPermaLink="false">urn:md5:b212e68212455c3ba87b19db4c4dc564</guid>
    <pubDate>Sat, 03 Oct 2009 16:46:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>bon plan</category><category>gps</category><category>iphone</category>    
    <description>    &lt;p&gt;J&amp;#8217;hésite toujours sur quel logiciel GPS installer sur mon iPhone, entre &lt;a href=&quot;http://iphone.tomtom.com/fr-fr/&quot; hreflang=&quot;fr&quot;&gt;TomTom&lt;/a&gt;, &lt;a href=&quot;http://www.navigon.com/site/fr/fr/products/navigation_software/iphone&quot; hreflang=&quot;fr&quot;&gt;Navigon&lt;/a&gt;, &lt;a href=&quot;http://www.igomyway.com/fr/igomyway_Western_Europe.html&quot; hreflang=&quot;fr&quot;&gt;iGo My Way&lt;/a&gt;, &lt;a href=&quot;http://www.sygic.com/index.php/en/iphone.html&quot; hreflang=&quot;en&quot;&gt;Sygic Mobile Maps&lt;/a&gt; et &lt;a href=&quot;http://www.alk.eu.com/copilot/iphone/&quot; hreflang=&quot;en&quot;&gt;Co-Pilot&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_iphone_gps_tomtom.png&quot; alt=&quot;GPS iPhone&amp;nbsp;: Tom-Tom&quot; title=&quot;GPS iPhone&amp;nbsp;: Tom-Tom, oct. 2009&quot; /&gt;
&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_iphone_gps_navigon.png&quot; alt=&quot;GPS iPhone&amp;nbsp;: Navigon&quot; title=&quot;GPS iPhone&amp;nbsp;: Navigon, oct. 2009&quot; /&gt;
&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_iphone_gps_igo.png&quot; alt=&quot;GPS iPhone&amp;nbsp;: iGo&quot; title=&quot;GPS iPhone&amp;nbsp;: iGo, oct. 2009&quot; /&gt;
&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_iphone_gps_copilot.png&quot; alt=&quot;GPS iPhone&amp;nbsp;: Co-Pilot&quot; title=&quot;GPS iPhone&amp;nbsp;: Co-Pilot, oct. 2009&quot; /&gt;
&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_iphone_gps_sygic.png&quot; alt=&quot;GPS iPhone&amp;nbsp;: Sygic&quot; title=&quot;GPS iPhone&amp;nbsp;: Sygic, oct. 2009&quot; /&gt;
&lt;br /&gt;
Je cherche un GPS&amp;#160;: précis niveau localisation (donc à priori pas TomTom, d&amp;#8217;après les tests), rapide à démarrer (donc pas iGo, qui a l&amp;#8217;air de mettre près de 40 secondes pour démarrer), permettant de récupérer une adresse saisie sur la fiche d&amp;#8217;un contact, et permettant de saisir une destination à partir de coordonnées GPS. Le tout pas trop cher et en version Europe.&lt;br /&gt;
&lt;br /&gt;
Choix toujours en cours &amp;#8230; j&amp;#8217;ai pour le moment seulement trouvé un très bon comparatif des fonctionnalités de ces différentes solutions (comparatif dynamique et régulièrement mis à jour&amp;#160;; en anglais) sur PocketGPSWorld&amp;#160;: &lt;a href=&quot;http://www.pocketgpsworld.com/iphone-navigation-app-comparison-xr5133.php&quot; hreflang=&quot;en&quot;&gt;clickez ici pour accéder à ce comparatif&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Ci-dessous une capture (statique) de l&amp;#8217;analyse au 03 octobre 2009.&lt;br /&gt;&lt;/p&gt;


&lt;pre&gt;&lt;a href=&quot;http://blog.tensin.org/public/images/iphone_comparatif_gps.png&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.iphone_comparatif_gps_m.jpg&quot; alt=&quot;Comparatif des solutions GPS pour iPhone&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Comparatif des solutions GPS pour iPhone, oct. 2009&quot; /&gt;&lt;/a&gt;&lt;/pre&gt;


&lt;p&gt;&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Sinon les autres liens intéressants sont à ma connaissance&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le &lt;a href=&quot;http://www.clubic.com/article-298812-1-comparatif-des-programmes-de-navigation-pour-iphone.html&quot; hreflang=&quot;fr&quot;&gt;comparatif Clubic sur les logiciels de navigation sur iPhone&lt;/a&gt; entre Tom-Tom, Navigon et Co-Pilot (vainqueur&amp;#160;: Navigon)&amp;#160;;&lt;/li&gt;
&lt;li&gt;Les &lt;a href=&quot;http://www.iphon.fr/tag/GPS&quot; hreflang=&quot;fr&quot;&gt;articles GPS sur iPhon.fr&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;Tous &lt;a href=&quot;http://www.presse-citron.net/?s=gps&quot; hreflang=&quot;fr&quot;&gt;les articles GPS sur Presse-Citron&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Bonus - support voiture pour iPhone.&lt;/h4&gt;


&lt;p&gt;J&amp;#8217;ai acheté &lt;a href=&quot;http://dealextreme.com/details.dx/sku.15543&quot; hreflang=&quot;en&quot;&gt;ce support iPhone&lt;/a&gt; pour voiture qui me convient très bien et qui ne coûte vraiment pas cher (un vrai bon plan&amp;#160;!) (payement sans problèmes par Paypal sur ce site chinois, &lt;a href=&quot;http://dealextreme.com/&quot; hreflang=&quot;en&quot;&gt;DealExtreme&lt;/a&gt; - site dont je parlerai dans un prochain billet).&lt;br /&gt;
&lt;br /&gt;
Le support est compatible iPhone 3G / 3GS.&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Il n&amp;#8217;abîme pas l&amp;#8217;iPhone (clips pas trop durs), qui est cependant bien fixé (mais il n&amp;#8217;est possible de mettre qu&amp;#8217;un iPhone nu, pas avec une coque)&amp;#160;;&lt;/li&gt;
&lt;li&gt;Bras flexible et plateau de support pivotable dans toutes les directions (permet de placer l&amp;#8217;iPhone horizontalement ou verticalement, etc.), avec une molette pour figer la position&amp;#160;;&lt;/li&gt;
&lt;li&gt;La ventouse tient très bien sur le pare-brise, bien mieux que celle de mon précédent GPS autonome&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tout çà pour seulement 4.77$, soit moins de 4 euros (frais de port compris - comptez 3,4 semaines pour la réception).&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://blog.tensin.org/public/media/deal_extreme_sku_15543.jpg&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/media/.deal_extreme_sku_15543_m.jpg&quot; alt=&quot;Deal Extreme&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Deal Extreme, sept. 2009&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
Sinon il y a bien sûr le futur support officiel Tom-Tom, dont la puce GPS additionnelle pourra être utilisée par d&amp;#8217;autres logiciels de navigation, mais qui en comparaison est hors de prix &amp;#8230;&lt;br /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2009/10/03/Comparatif-des-GPS-pour-iPhone#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2009/10/03/Comparatif-des-GPS-pour-iPhone#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/46</wfw:commentRss>
      </item>
    
  <item>
    <title>Libérer de la place sur des disques durs de données sous Linux avec tune2fs</title>
    <link>http://blog.tensin.org/index.php?post/2009/09/28/tune2fs</link>
    <guid isPermaLink="false">urn:md5:2df7f018e0296e90286825a6b378fcb3</guid>
    <pubDate>Sat, 03 Oct 2009 15:03:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>linux</category><category>optimisation</category><category>ubuntu</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.hdd_t.jpg&quot; alt=&quot;hdd.jpg&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;hdd.jpg, oct. 2009&quot; /&gt;Astuce découverte récemment pour libérer de la place sur les disques durs (ext2/ext3/ext4) sous Linux.&lt;br /&gt;
&lt;br /&gt;
En effet, lors du formatage, un paramètre peut être précisé pour indiquer à Linux qu&amp;#8217;un pourcentage du disque doit être réservé à l&amp;#8217;utilisateur root, afin que ce dernier puisse toujours écrire sur la partition même si elle est indiquée pleine. Ce comportement est important notamment pour les disques systèmes.&lt;br /&gt;
&lt;br /&gt;
Celle valeur est par défaut (si non spécifiée lors du formatage) de &lt;strong&gt;5%&lt;/strong&gt;. Ce qui peut être énorme sur un disque de grande capacité, ou inutile sur des disques de données qui ne contiennet par ex. que des médias.&lt;br /&gt;&lt;/p&gt;


&lt;h3&gt;Utilisation.&lt;/h3&gt;


&lt;p&gt;Sur &lt;a href=&quot;http://www.ubuntu.com/&quot; hreflang=&quot;en&quot;&gt;Ubuntu&lt;/a&gt; 9.04 il est possible de préciser cette valeur dès la &lt;strong&gt;phase d&amp;#8217;installation&lt;/strong&gt; (sous réserve ce reformater les partitions concernées avec l&amp;#8217;installeur).&lt;br /&gt;
&lt;br /&gt;
Lors d&amp;#8217;un &lt;strong&gt;formatage manuel&lt;/strong&gt;, c&amp;#8217;est l&amp;#8217;option &lt;strong&gt;-m&lt;/strong&gt; (&amp;#8220;-m reserved-blocks-percentage&amp;#8221;) qui permet de préciser cette valeur (commandes &lt;strong&gt;mkfs.ext2&lt;/strong&gt; ou &lt;strong&gt;mkfs.ext3&lt;/strong&gt; par ex.). Voir le &lt;a href=&quot;http://manpages.ubuntu.com/manpages/karmic/man8/mkfs.ext2.8.html&quot; hreflang=&quot;en&quot;&gt;man de mkfs.ext3 de Karmic Koala&lt;/a&gt;&amp;#160;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;-m reserved-blocks-percentage&lt;/strong&gt;&lt;br /&gt;
Specify the percentage of the filesystem blocks reserved for the&lt;br /&gt;
super-user.  This avoids fragmentation,  and  allows  root-owned&lt;br /&gt;
daemons,  such  as syslogd(8), to continue to function correctly&lt;br /&gt;
after non-privileged processes are prevented from writing to the&lt;br /&gt;
filesystem.  The default percentage is 5%.&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;br /&gt;
Enfin, il est parfaitement possible de &lt;strong&gt;modifier cette valeur à chaud&lt;/strong&gt; sur une partition (même déjà montée), avec la commande &lt;a href=&quot;http://manpages.ubuntu.com/manpages/karmic/en/man8/tune2fs.8.html&quot; hreflang=&quot;en&quot;&gt;tune2fs&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;h3&gt;Exemples.&lt;/h3&gt;


&lt;p&gt;Passer un disque à 0% de blocs réservés (rappel&amp;#160;: c&amp;#8217;est fortement déconseillé sur un disque système).&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;sudo tune2fs -m 0 /dev/sda9&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Idem mais à 3%.&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;sudo tune2fs -m 3 /dev/sda1&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Visualiser toutes les infos sur la partition (le pourcentage n&amp;#8217;apparaît pas, seulement le nombre de blocs réservés).&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;sudo dumpe2fs -h /dev/sda9&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Ainsi par ex. avec la valeur par défaut de 5% sur un disque de 1500GO, j&amp;#8217;avais&amp;#160;:&lt;br /&gt;&lt;/p&gt;

&lt;pre&gt;
ubuntu:/&amp;gt; df /dev/sda1
Sys. de fich. Type    Tail. Occ. Disp. %Occ. Monté sur
/dev/sda1     ext3    1,4T  1,3T   12G 100% /mnt/internal/sata_1500go-media
&lt;/pre&gt;


&lt;p&gt;Après réduction à 0%&amp;#160;:&lt;br /&gt;&lt;/p&gt;

&lt;pre&gt;
ubuntu:/&amp;gt; sudo tune2fs -m 0 /dev/sda1
tune2fs 1.41.4 (27-Jan-2009)
Initialisation du pourcentage de blocs réservés à 0% (0 blocs)

ubuntu:/&amp;gt; df /dev/sda1               
Sys. de fich. Type    Tail. Occ. Disp. %Occ. Monté sur
/dev/sda1     ext3    1,4T  1,3T   82G  95% /mnt/internal/sata_1500go-media
&lt;/pre&gt;


&lt;p&gt;Soit 70GO de récupérés.&lt;br /&gt;
&lt;br /&gt;
Pour les infos données par tune2fs&amp;#160;: &lt;br /&gt;&lt;/p&gt;

&lt;pre&gt;
ubuntu:/&amp;gt; sudo dumpe2fs -h /dev/sda1
dumpe2fs 1.41.4 (27-Jan-2009)
Filesystem volume name:   &amp;lt;none&amp;gt;
Last mounted on:          &amp;lt;not available&amp;gt;
Filesystem UUID:          f372549f-6945-43a5-9194-a04cd34e17b3
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Filesystem flags:         signed_directory_hash 
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              91578368
Block count:              366284000
Reserved block count:     0
Free blocks:              21345077
Free inodes:              91531060
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      936
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Filesystem created:       Sat May 16 10:55:59 2009
Last mount time:          Sat Sep 26 02:29:18 2009
Last write time:          Mon Sep 28 23:35:43 2009
Mount count:              28
Maximum mount count:      26
Last checked:             Sat May 16 10:55:59 2009
Check interval:           15552000 (6 months)
Next check after:         Thu Nov 12 09:55:59 2009
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      3c04a963-383a-4b2a-aed5-4322c7bb70b0
Journal backup:           inode blocks
Taille du journal:        128M
&lt;/pre&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2009/09/28/tune2fs#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2009/09/28/tune2fs#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/42</wfw:commentRss>
      </item>
    
  <item>
    <title>Connexions SSH lentes sous Linux</title>
    <link>http://blog.tensin.org/index.php?post/2009/09/27/Connexions-SSH-lentes-sous-Linux</link>
    <guid isPermaLink="false">urn:md5:a62031fc0a4fb11800dcf645168b1a12</guid>
    <pubDate>Sun, 27 Sep 2009 23:43:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>linux</category><category>ssh</category>    
    <description>    &lt;p&gt;Si &lt;strong&gt;ssh&lt;/strong&gt; (&lt;a href=&quot;http://fr.wikipedia.org/wiki/Secure_Shell&quot; hreflang=&quot;fr&quot;&gt;Secure Shell&lt;/a&gt;) est particulièrement lent lors de la connexion (chez moi lent correspond à environ 5 secondes entre le moment où je lance une commande &lt;strong&gt;ssh user@hostname&lt;/strong&gt; et le moment où j&amp;#8217;ai accès au prompt, sur un réseau local (connexion par WiFi 54mbits), ce que je trouve affreusement lent), il est possible de facilement améliorer les choses et de réduire cette lenteur à la connexion.&lt;br /&gt;&lt;/p&gt;


&lt;h3&gt;Côté serveur.&lt;/h3&gt;


&lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_infra_server.png&quot; alt=&quot;Network, Server&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Network, Server, sept. 2009&quot; /&gt;Je tourne ici sur Ubuntu 9.04 et sous &lt;a href=&quot;http://www.openssh.com/&quot; hreflang=&quot;en&quot;&gt;OpenSSH&lt;/a&gt; 5.1. L&amp;#8217;optimisation la plus importante consiste à désactiver l&amp;#8217;interrogation DNS, dans la configuration du serveur ssh, afin d&amp;#8217;éviter qu&amp;#8217;OpenSSH réalise un reverse de l&amp;#8217;adresse IP du PC qui cherche à s&amp;#8217;authentifier.&lt;br /&gt;
&lt;br /&gt;
Pour ce faire modifier, sous Ubuntu, le fichier &lt;strong&gt;/etc/ssh/sshd_config&lt;/strong&gt; (fichier de configuration du démon ssh) et ajouter ou modifier la ligne&amp;#160;:&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;UseDNS no&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Relancer le serveur avec&amp;#160;:&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;sudo /etc/init.d/sshd restart&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Et voilà, les connexions passent chez moi de 5 secondes à &amp;#8230; connexion instantannée.&lt;br /&gt;
&lt;br /&gt;
Les autres paramétries, dans le même fichier &lt;strong&gt;/etc/ssh/sshd_config&lt;/strong&gt;, pour améliorer la vitesse de connexion sont (avec toutefois une amélioration moindre que la paramétrie DNS)&amp;#160;:&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;UsePAM no          # Désactiver l&amp;#8217;interface PAM (authentification par modules)&lt;br /&gt;
Cipher blowfish    # Utiliser pour le cryptage l&amp;#8217;algorithme blowfish, + rapide&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Remarque&amp;#160;: ces optimisations côté serveur profiteront aussi bien aux sessions ssh lancées en ligne de commandes qu&amp;#8217;à l&amp;#8217;usage du protocole &lt;a href=&quot;http://fr.wikipedia.org/wiki/SSH_file_transfer_protocol&quot; hreflang=&quot;fr&quot;&gt;SFTP&lt;/a&gt;, par ex. sous &lt;a href=&quot;http://filezilla-project.org/&quot; hreflang=&quot;en&quot;&gt;Filezilla&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;


&lt;h3&gt;Côté client.&lt;/h3&gt;


&lt;p&gt;&lt;img src=&quot;http://blog.tensin.org/public/icons/icon_infra_client.png&quot; alt=&quot;Network, Client&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Network, Client, sept. 2009&quot; /&gt;Si la paramétrie n&amp;#8217;est pas réalisable côté serveur, il est possible de ruser côté client en réutilisant la même connexion SSH pour les connexions SSH ultérieures (à condition que la connexion initiale soit toujours active, cependant).&lt;br /&gt;
&lt;br /&gt;
Attention donc, si la première connexion ssh est fermée, toutes les connexions qui ont été réalisées par la suite seront automatiquement déconnectées.&lt;br /&gt;
&lt;br /&gt;
Deux solutions pour utiliser ce mode&amp;#160;: au lancement de la commande &lt;strong&gt;ssh&lt;/strong&gt;, ou par paramétrie globale.&lt;br /&gt;&lt;/p&gt;


&lt;h4&gt;Au lancement de la commande ssh.&lt;/h4&gt;


&lt;p&gt;Démarrer chaque connexion &lt;strong&gt;ssh&lt;/strong&gt; via&amp;#160;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;ssh -o ControlPath=~/.ssh-control-sock user@hostname&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Chaque connexion ssh après la première sera instantannée (par réutilisation de la connexion mappée sur le fichier .ssh-control-sock dans le répertoire home - N.B.&amp;#160;: ce fichier a une taille de zéro, c&amp;#8217;est normal).&lt;br /&gt;&lt;/p&gt;


&lt;h4&gt;Par paramétrie.&lt;/h4&gt;


&lt;p&gt;Afin que ce comportement soit en place de manière automatique pour tous les appels à la commande ssh (gains toujours sur les connexions après la première).&lt;br /&gt;
&lt;br /&gt;
Dans le fichier &lt;strong&gt;~/.ssh/config&lt;/strong&gt; (configuration du poste client, donc), ajouter&amp;#160;:&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Host *&lt;br /&gt;
ControlMaster auto&lt;br /&gt;
ControlPath /tmp/%r@%h:%p&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Cette paramétrie va s&amp;#8217;appliquer automatiquement pour toutes les destinations (&lt;strong&gt;Host *&lt;/strong&gt;), sans confirmation utilisateur (&lt;strong&gt;ControlMaster auto&lt;/strong&gt;), en stockant ici le fichier temporaire dans /tmp/ (directive &lt;strong&gt;ControlPath&lt;/strong&gt;).&lt;br /&gt;
&lt;br /&gt;
Autre paramétrie possible dans le même fichier, pour changer l&amp;#8217;algo. de cryptage et pour activer ou non la compression des données transitant par ssh (à voir selon les cas de figures, réseau local ou non, etc.)&amp;#160;:&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Cipher blowfish&lt;br /&gt;
Compression yes&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;h4&gt;Annexes.&lt;/h4&gt;


&lt;p&gt;Pour créer un alias ssh facilitant le lancement de sessions ssh en ligne de commande, mettre toujours dans le fichier &lt;strong&gt;~/.ssh/config&lt;/strong&gt;&amp;#160;:&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Host alias&lt;br /&gt;
User user&lt;br /&gt;
HostName adresse_ip&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Ensuite au lieu de taper&amp;#160;:&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;ssh user@adresse_ip&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Il suffira ensuite d&amp;#8217;utiliser&amp;#160;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;ssh alias&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2009/09/27/Connexions-SSH-lentes-sous-Linux#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2009/09/27/Connexions-SSH-lentes-sous-Linux#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/34</wfw:commentRss>
      </item>
    
  <item>
    <title>Skin design &quot;masque hurlant&quot; pour PS3 (FAT)</title>
    <link>http://blog.tensin.org/index.php?post/2009/09/14/Skin-%22design%22-pour-PS3</link>
    <guid isPermaLink="false">urn:md5:f56237d89138820ce6ed021086e2914a</guid>
    <pubDate>Fri, 25 Sep 2009 02:47:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>PS3</category>    
    <description>    &lt;p&gt;Bien que la &lt;a href=&quot;http://www.ultimateps3.fr/news-ps3-3111-images-comparatives-ps3-ps3-slim.html&quot; hreflang=&quot;fr&quot;&gt;PS3 slim&lt;/a&gt; soit sortie tout récemment, je ne compte pas revendre l&amp;#8217;ancienne que j&amp;#8217;ai pour passer sur le nouveau modèle, les différences ne justifiant pas la manipulation de revente / ré-achat (mêmes capacités entre l&amp;#8217;ancien et le nouveau modèle, mais le nouveau modèle a un disque dur de 120GO contre 80GO précédemment, est plus petit, chauffe moins (gravure du processeur CELL en 45nm au lieu de 65nm précédemment).&lt;a href=&quot;http://blog.tensin.org/public/media/playstation_compartif_ps3_fat_versus_slim.jpg&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/media/.playstation_compartif_ps3_fat_versus_slim_m.jpg&quot; alt=&quot;Comparatif Playstation PS3 Fat vs Slim&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Comparatif Playstation PS3 Fat vs Slim, sept. 2009&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Du coup je me suis commandé en Chine un gadget ridicule totalement indispensable&amp;#160;: un skin à plaquer sur la console, sous la forme d&amp;#8217;un masque hurlant. Inutile, mais çà a quand même de la gueule.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://blog.tensin.org/public/media/playstation_mask.jpg&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/media/.playstation_mask_m.jpg&quot; alt=&quot;Skin &amp;quot;masque hurlant&amp;quot; pour PS3&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Skin &amp;quot;masque hurlant&amp;quot; pour PS3, sept. 2009&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
Commandé chez &lt;a href=&quot;http://www.gameyeeeah.com/&quot; hreflang=&quot;en&quot;&gt;GameYeeeah&lt;/a&gt; pour au final quelque chose comme 8 euros (frais de port compris) (11.54$ pour être précis). Reçu en 15 jours / 3 semaines (délai très correct poru une expédition de Chine). J&amp;#8217;ai dû avoir le dernier, il n&amp;#8217;est plus référencé désormais sur ce site.&lt;br /&gt;
&lt;br /&gt;
La qualité du produit est assez moyenne&amp;#160;: plastique fin, mais une fois posée çà rend assez bien. L&amp;#8217;ajustement est correct mais sans plus.&lt;br /&gt;
&lt;br /&gt;
Le masque est supposé servir de &amp;#8220;protection&amp;#8221;, mais c&amp;#8217;est clairement plus un skin de customisation pour faire joli (pour ceux qui trouveraient çà joli).&lt;br /&gt;
&lt;br /&gt;
Par contre mon exemplaire a un peu souffert dans le voyage, le colis A4 contenant le skin entouré d&amp;#8217;une enveloppe à bulles ayant été pas mal maltraité pendant le trajet &amp;#8230; Du coup toute une partie de la tranche avant est en partie plié, dommage.&lt;br /&gt;
&lt;br /&gt;
A noter dans un registre un peu différent la possibilité de faire réaliser sur commande une &lt;a href=&quot;http://www.ultimateps3.fr/news-ps3-3404-customisez-votre-ps3-slim-aux-couleurs-de-votre-choix.html&quot; hreflang=&quot;fr&quot;&gt;peinture spécifique&lt;/a&gt; d&amp;#8217;une PS3&amp;#160;: çà a de la gueule aussi, mais c&amp;#8217;est franchement pas donné.&lt;br /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2009/09/14/Skin-%22design%22-pour-PS3#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2009/09/14/Skin-%22design%22-pour-PS3#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/26</wfw:commentRss>
      </item>
    
  <item>
    <title>GraphicsMagick : manipulation d'images en ligne de commande sous Linux</title>
    <link>http://blog.tensin.org/index.php?post/2009/09/25/GraphicsMagick-%3A-manipulation-d-images-en-ligne-de-commande</link>
    <guid isPermaLink="false">urn:md5:3e8036fd5961c46c0c4954405c466ce4</guid>
    <pubDate>Fri, 25 Sep 2009 01:52:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>gfx</category><category>linux</category><category>php</category><category>ubuntu</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.graphicsmagick.org/&quot; hreflang=&quot;en&quot;&gt;GraphicsMagick&lt;/a&gt; (&lt;strong&gt;gm&lt;/strong&gt;) est un ensemble d&amp;#8217;outils en ligne de commande pour manipuler des images, particulièrement en batch.Il est le successeur d&amp;#8217;&lt;a href=&quot;http://www.imagemagick.org/script/index.php&quot; hreflang=&quot;en&quot;&gt;ImageMagick&lt;/a&gt; dont il est un fork (bien qu&amp;#8217;ImageMagick ait continué son développement de son côté).&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://blog.tensin.org/public/images/graphicsmagick_logo.png&quot; alt=&quot;Logo GraphicsMagick&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Logo GraphicsMagick, sept. 2009&quot; /&gt;&lt;/p&gt;


&lt;h3&gt;Introduction.&lt;/h3&gt;


&lt;p&gt;GraphicsMagick est composé de &lt;a href=&quot;http://www.graphicsmagick.org/utilities.html&quot; hreflang=&quot;en&quot;&gt;plusieurs outils lançable en ligne de commande&lt;/a&gt; permettant toute une floppée d&amp;#8217;opération&amp;#160;: resize, crop, ajustement des niveaux de couleurs, rotations, bien évidemment conversions de fichiers, etc. Il y a 10 outils au total (dont deux importantes, &lt;strong&gt;convert&lt;/strong&gt; et &lt;strong&gt;mogrify&lt;/strong&gt;), plus une API de programmation pour réutiliser les fonctions de GraphicsMagick dans d&amp;#8217;autres applications (API pour C, C++, PERL).&lt;br /&gt;
&lt;br /&gt;
De &lt;a href=&quot;http://www.graphicsmagick.org/formats.html&quot; hreflang=&quot;en&quot;&gt;nombreux formats de fichiers&lt;/a&gt; sont couverts (environ 90 au total), des plus usuels (&lt;strong&gt;bmp&lt;/strong&gt;, &lt;strong&gt;jpeg&lt;/strong&gt;, &lt;strong&gt;jpeg-2000&lt;/strong&gt;, &lt;strong&gt;tiff&lt;/strong&gt;, &lt;strong&gt;gif&lt;/strong&gt;, &lt;strong&gt;png&lt;/strong&gt;, &amp;#8230;) à d&amp;#8217;autres un peu moins courants ou un peu différents (&lt;strong&gt;svg&lt;/strong&gt;, &lt;strong&gt;ps&lt;/strong&gt;, &lt;strong&gt;pdf&lt;/strong&gt;, &amp;#8230;).&lt;br /&gt;
&lt;br /&gt;
Les raisons d&amp;#8217;être de GraphicsMagick par rapport à ImageMagick sont données dans la &lt;a href=&quot;http://www.graphicsmagick.org/FAQ.html&quot; hreflang=&quot;en&quot;&gt;FAQ&lt;/a&gt;, le fork ayant eu lieu en 2002, avec notamment la volonté de garder des interfaces compatibles de manière ascendantes, ce que n&amp;#8217;a pas toujours garanti ImageMagick.&lt;br /&gt;
&lt;br /&gt;
Curieusement je n&amp;#8217;ai découvert ce package qu&amp;#8217;il y a peu, mais il a clairement remplacé &lt;strong&gt;ImageMagick&lt;/strong&gt; chez moi.&lt;br /&gt;
&lt;br /&gt;
A l&amp;#8217;usage je trouve effectivement ce fork plus sympa à utiliser qu&amp;#8217;ImageMagick, moins consommateur et avec moins de problème de mémoire (nativement il est possible de créer de gros .pdf à partir de nombreux fichiers *.bmp, sous ImageMagick sans l&amp;#8217;option &amp;#8220;&amp;#8212;cache 1&amp;#8221; pour désactiver le cache la même manipulation tombait en erreur, par ex.).&lt;br /&gt;
&lt;br /&gt;
L&amp;#8217;usage typique sera par ex. l&amp;#8217;automatisation de création de vignettes pour un site web, l&amp;#8217;ajout d&amp;#8217;un watermark, etc. - toutes sortes d&amp;#8217;opérations qu&amp;#8217;il est possible de faire sous &lt;a href=&quot;http://www.gimp.org/&quot; hreflang=&quot;en&quot;&gt;The GIMP&lt;/a&gt; mais qui peut ici peuvent être entièrement ou semi-automatisées.&lt;br /&gt;
&lt;br /&gt;
Ci-dessous une image avec quelques exemples d&amp;#8217;opérations réalisables via &lt;strong&gt;GraphicsMagick&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://blog.tensin.org/public/images/graphicsmagick_examples.jpg&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/images/.graphicsmagick_examples_sq.jpg&quot; alt=&quot;Examples des opérations GraphicsMagick&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Examples des opérations GraphicsMagick, sept. 2009&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;Installation.&lt;/h3&gt;


&lt;p&gt;L&amp;#8217;installation sous &lt;strong&gt;Ubuntu&lt;/strong&gt; est évidemment royalement simple&amp;#160;:&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;sudo apt-get install graphicsmagick&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Sinon la page de download (pour installation manuelle des sources par ex.) est &lt;a href=&quot;http://www.graphicsmagick.org/download.html&quot; hreflang=&quot;en&quot;&gt;là&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;h3&gt;Documentation.&lt;/h3&gt;


&lt;p&gt;La documentation générale (pour la branche 1.3)&amp;#160;: &lt;a href=&quot;http://www.graphicsmagick.org/1.3/GraphicsMagick.html&quot; hreflang=&quot;en&quot;&gt;http://www.graphicsmagick.org/1.3/GraphicsMagick.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Pour l&amp;#8217;outil &lt;strong&gt;convert&lt;/strong&gt;&amp;#160;: &lt;a href=&quot;http://www.graphicsmagick.org/convert.html&quot; hreflang=&quot;en&quot;&gt;http://www.graphicsmagick.org/convert.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Pour l&amp;#8217;outil &lt;strong&gt;mogrify&lt;/strong&gt;&amp;#160;: &lt;a href=&quot;http://www.graphicsmagick.org/mogrify.html&quot; hreflang=&quot;en&quot;&gt;http://www.graphicsmagick.org/mogrify.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;


&lt;h3&gt;Exemples.&lt;/h3&gt;


&lt;p&gt;Un seul binaire est nécessaire&amp;#160;: &lt;strong&gt;gm&lt;/strong&gt;. Toutes les commandes commencent donc par appeler cet outil, le premier paramètre étant le type d&amp;#8217;opérations à réaliser (les &amp;#8220;outils&amp;#8221; évoqués plus haut, &lt;strong&gt;convert&lt;/strong&gt; pour les conversions, &lt;strong&gt;mogrify&lt;/strong&gt; pour les modifications au sein d&amp;#8217;une image pour les plus utilisées)&amp;#160;; ensuite viennent les paramètres de l&amp;#8217;outil en lui-même.&lt;br /&gt;&lt;/p&gt;


&lt;h4&gt;Convertir toutes les images d&amp;#8217;un format vers un autre.&lt;/h4&gt;


&lt;p&gt;Pour une seule image (ici c&amp;#8217;est l&amp;#8217;extension du nom du fichier cible qui détermine le fomat à adopter)&amp;#160;:&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;gm convert titi.bmp titi.jpg&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Pour plusieurs images&amp;#160;:&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;gm convert -format jpeg *.bmp &lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Remarque&amp;#160;: les fichiers sources ne sont pas modifiés ni effacés.&lt;br /&gt;&lt;/p&gt;


&lt;h4&gt;Retailler toutes les images.&lt;/h4&gt;


&lt;p&gt;Ici ce sont les images courantes qui sont directement modifiées.&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;gm mogrify -resize 66% *.bmp&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Pour ne pas altérer les images de départ et créer par ex. des vignettes dans un sous-répertoire&amp;#160;:&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;gm mogrify -output-directory thumbnails -resize 320x200 &amp;#8220;*.jpg&amp;#8221;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Remarque&amp;#160;: les guillemets autour de &amp;#8220;*.jpg&amp;#8221; permettent d&amp;#8217;éviter un éventuel débordement du shell s&amp;#8217;il y a trop de fichiers à étendre sur ce joker (c&amp;#8217;est alors GraphicsMagick qui gère le développement du joker).&lt;br /&gt;
&lt;br /&gt;
Remarque&amp;#160;: on voit ici que l&amp;#8217;option &lt;strong&gt;-resize&lt;/strong&gt; est versatile, elle permet d&amp;#8217;être spécifiée de différentes manières, voir les infos sur l&amp;#8217;option &lt;strong&gt;&amp;#8212;geometry&lt;/strong&gt; pour plus de détails.&lt;/p&gt;


&lt;h4&gt;Faire pivoter à 180° toutes les pages ayant un numéro pair.&lt;/h4&gt;


&lt;p&gt;On liste tous les fichiers à traiter, et on ne travaille que sur ceux qui finissent par un chiffre pair.&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;ls -1 *.bmp | egrep &amp;#8220;[0|2|4|6|8]&amp;#46;bmp&amp;#8221; | while read F &lt;br /&gt;
do&lt;br /&gt;
echo &amp;#8220;Working on &amp;#8216;${F}&amp;#8217;&amp;#8221;&lt;br /&gt;
gm mogrify -rotate 180 &amp;#8220;${F}&amp;#8221; &lt;br /&gt;
done&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;h4&gt;Ajuster les niveaux de clarté et d&amp;#8217;assombrissement.&lt;/h4&gt;


&lt;p&gt;Pour avoir une page plus contrastée, avec accroissement de 10% des parties claires et assombrissement à 95% du haut du spectre.&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;ls -1 *.bmp | while read F&lt;br /&gt;
do&lt;br /&gt;
echo &amp;#8220;Working on &amp;#8216;${F}&amp;#8217;&amp;#8221;&lt;br /&gt;
gm mogrify -level 10%,1.0,95% &amp;#8220;${F}&amp;#8221;&lt;br /&gt;
done &lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;h4&gt;Enlever les bordures d&amp;#8217;une page.&lt;/h4&gt;


&lt;p&gt;Pour retirer un certain nombre de pixels sur tout un ensemble de pages, il est soit possible d&amp;#8217;utiliser &lt;strong&gt;-crop&lt;/strong&gt; (en indiquant la zone finale que l&amp;#8217;on veut conserver et le point en haut à gauche à partir de laquelle extraire l&amp;#8217;image finale de l&amp;#8217;image source), soit l&amp;#8217;option &lt;strong&gt;-shave&lt;/strong&gt; qui retire un même nombre de pixels sur les bords droit et gauche (axe x) / haut et bas (axe y). Exemple pour retirer sur toutes les pages 10 pixels sur chaque côté (soit -20 pixels) et 20 pixels sur chaque bordure haut et bas (soit -40 pixels en vertical)&amp;#160;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;ls -1 *.bmp|while read F&lt;br /&gt;
do&lt;br /&gt;
gm mogrify -shave 10x20 &amp;#8220;${F}&amp;#8221;&lt;br /&gt;
done&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;h4&gt;Créer un .pdf à partir d&amp;#8217;images.&lt;/h4&gt;


&lt;p&gt;Autre exemple, créer un fichier.pdf avec toutes les images *.bmp du répertoire courant, en utilisant la compression &lt;strong&gt;jpeg&lt;/strong&gt; avec un taux de compression (qualité) de 85%.&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;gm convert -compress jpeg -quality 85 *.bmp fichier.pdf&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;h3&gt;Divers.&lt;/h3&gt;


&lt;h4&gt;Changer le répertoire temporaire.&lt;/h4&gt;


&lt;p&gt;Certaines opérations (ex. création de .pdf) nécessitent des fichiers temporaires, par défaut stockés dans &lt;strong&gt;/tmp/&lt;/strong&gt;. Si la place y est insuffisante, il suffit avant de lancer la commande &lt;strong&gt;gm&lt;/strong&gt; de positionner la variable &lt;strong&gt;MAGICK_TMPDIR&lt;/strong&gt; (ou juste &lt;strong&gt;TMPDIR&lt;/strong&gt;).&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;export MAGICK_TMPDIR=~/tmp/&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;h4&gt;Utiliser GraphicsMagick sous PHP.&lt;/h4&gt;


&lt;p&gt;Comme il est possible d&amp;#8217;utiliser la librairie &lt;strong&gt;GD&lt;/strong&gt; sous PHP avec l&amp;#8217;extension correspondante, il est tout à fait possible de manipuler des images en PHP avec GraphicsMagick, simplement en installant l&amp;#8217;extension correspondante avec PECL. Voir &lt;a href=&quot;http://devzone.zend.com/article/10531-Manipulating-Images-with-PHP-and-GraphicsMagick&quot; hreflang=&quot;en&quot;&gt;cet article&lt;/a&gt; sur &lt;a href=&quot;http://devzone.zend.com/&quot; hreflang=&quot;en&quot;&gt;Zend Developer Zone&lt;/a&gt; qui montre sur un exemple d&amp;#8217;image certaines opérations possibles et le code PHP correspondant.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2009/09/25/GraphicsMagick-%3A-manipulation-d-images-en-ligne-de-commande#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2009/09/25/GraphicsMagick-%3A-manipulation-d-images-en-ligne-de-commande#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/33</wfw:commentRss>
      </item>
    
  <item>
    <title>Débloquer sous Linux un iPhone bloqué en mode recovery</title>
    <link>http://blog.tensin.org/index.php?post/2009/09/13/D%C3%A9bloquer-un-iPhone-bloqu%C3%A9-en-mode-recovery-sous-Linux</link>
    <guid isPermaLink="false">urn:md5:d020b9233245a266073230ceb3ebfd0c</guid>
    <pubDate>Sun, 13 Sep 2009 12:13:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>iphone</category><category>linux</category><category>recovery</category><category>ubuntu</category>    
    <description>    &lt;p&gt;J&amp;#8217;ai un iPhone depuis peu (grâce à la très bonne offre &lt;a href=&quot;http://www.ideo.bouyguestelecom.fr/&quot; hreflang=&quot;fr&quot;&gt;idéo de chez Bouygues&lt;/a&gt; dont je parlerai dans un autre billet).&lt;br /&gt;
Il est nécessaire pour un certain nombre d&amp;#8217;opérations d&amp;#8217;avoir &lt;a href=&quot;http://www.apple.com/fr/itunes/download/&quot; hreflang=&quot;en&quot;&gt;iTunes&lt;/a&gt;, sous Windows ou OSX sur Mac (par ex. pour l&amp;#8217;activation initiale ou pour les montées de version du firmware).&lt;br /&gt;
&lt;br /&gt;
Je n&amp;#8217;ai aucune machine sous Windows ou OSX, seulement sous Linux. Par contre comme j&amp;#8217;ai tout de même besoin d&amp;#8217;un Windows pour certaines tâches (par ex. utiliser mon scanner qui n&amp;#8217;est pas reconnu sous Linux), j&amp;#8217;ai installé un Windows XP sous &lt;a href=&quot;http://www.virtualbox.org/&quot; hreflang=&quot;en&quot;&gt;VirtualBox&lt;/a&gt;, et çà marche très bien. J&amp;#8217;ai notamment pu installer dessus &lt;a href=&quot;http://www.apple.com/fr/itunes/download/&quot; hreflang=&quot;en&quot;&gt;iTunes&lt;/a&gt; et ainsi procéder à l&amp;#8217;activation initiale de mon iPhone, ou bien envoyer des MP3 depuis &lt;a href=&quot;http://www.apple.com/fr/itunes/download/&quot; hreflang=&quot;en&quot;&gt;iTunes&lt;/a&gt; toujours.&lt;br /&gt;
&lt;br /&gt;
Avec l&amp;#8217;apparition d&amp;#8217;&lt;a href=&quot;http://www.apple.com/fr/itunes/download/&quot; hreflang=&quot;en&quot;&gt;iTunes 9&lt;/a&gt; et du firmware 3.1, j&amp;#8217;ai voulu tenter l&amp;#8217;upgrade de l&amp;#8217;iPhone depuis &lt;a href=&quot;http://www.virtualbox.org/&quot; hreflang=&quot;en&quot;&gt;VirtualBox&lt;/a&gt;. Mal m&amp;#8217;en a pris, çà ne fonctionne évidemment pas&amp;#160;!&lt;br /&gt;
&lt;br /&gt;
Au démarrage, l&amp;#8217;iPhone démarre ainsi et se retrouve bloqué sur ce mode&amp;#160;:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://blog.tensin.org/public/media/iphone_recovery_mode.png&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/media/.iphone_recovery_mode_m.jpg&quot; alt=&quot;iPhone, démarrage en mode recovery&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;iPhone, démarrage en mode recovery, sept. 2009&quot; /&gt;&lt;/a&gt; - &lt;a href=&quot;http://blog.tensin.org/public/media/iphone_itunes_activation.png&quot;&gt;&lt;img src=&quot;http://blog.tensin.org/public/media/.iphone_itunes_activation_m.jpg&quot; alt=&quot;iPhone, activation iTunes&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;iPhone, activation iTunes, sept. 2009&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Pour rappel VirtualBox est un &lt;strong&gt;outil de virtualisation&lt;/strong&gt; qui permet de faire tourner sur un système d&amp;#8217;opération donné d&amp;#8217;autres OS, de manière virtuelle. La reconnaissance des périphériques physiques (par ex. USB) branchés sur la machine hôte fonctionne très bien&amp;#160;: ils sont propagés vers le système invité (sélection pour chaque périphérique USB de la propagation manuelle ou automatique vers le système invité).&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Toutefois dans le cas d&amp;#8217;une mise-à-jour de l&amp;#8217;iPhone&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;iTunes (sous Windows XP) télécharge le nouveau firmware&amp;#160;;&lt;/li&gt;
&lt;li&gt;l&amp;#8217;iPhone reboot pour passer en mode recovery, et est donc déconnecté tant du Windows XP virtualisé que du système Linux&amp;#160;;&lt;/li&gt;
&lt;li&gt;au redémarrage de l&amp;#8217;iPhone, il est reconnu par la machine hôte (ici un Linux Ubuntu 8.10)  &amp;#8230;&amp;#160;;&lt;/li&gt;
&lt;li&gt;&amp;#8230; mais n&amp;#8217;est toutefois pas propagé immédiatement / à temps à la machine invité (le Windows XP sur lequel tourne iTunes)&amp;#160;;&lt;/li&gt;
&lt;li&gt;la mise-à-jour iTunes (sous Windows XP) tombe en erreur car l&amp;#8217;iPhone a disparu&amp;#160;;&lt;/li&gt;
&lt;li&gt;l&amp;#8217;iPhone reste alors bloqué en &lt;strong&gt;mode recovery&lt;/strong&gt; (un rebranchement sous iTunes ne suffit pas à le remettre d&amp;#8217;aplomb)&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le problème se pose donc sur la phase de reboot&amp;#160;: au moment où l&amp;#8217;iPhone redémarre en mode recovery, il s&amp;#8217;attend à recevoir une information d&amp;#8217;iTunes. Mais, ayant redémarré, il a été éjecté de la machine invité, et au reboot n&amp;#8217;est reconnu que par la machine hôte (Linux / Ubuntu), qui n&amp;#8217;est pas capable de lui donner les infos pour continuer (bravo Apple au passage pour ne pas mettre en place des mécanismes simples et éprouvés &amp;#8230;).&lt;br /&gt;
&lt;br /&gt;
Pour réactiver l&amp;#8217;iPhone il faut le sortir du &lt;strong&gt;mode recovery&lt;/strong&gt;, à l&amp;#8217;aide du logiciel &lt;a href=&quot;http://theiphonewiki.com/wiki/index.php?title=IRecovery&quot; hreflang=&quot;en&quot;&gt;iRecovery&lt;/a&gt; .&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Remarque 1&lt;/strong&gt;&amp;#160;: cette manipulation peut également servir sur certains problèmes pouvant survenir lors d&amp;#8217;un jailbreak.&lt;br /&gt;
&lt;strong&gt;Remarque 2&lt;/strong&gt;&amp;#160;: la même opération peut également se faire sous Windows (voir par exemple ce &lt;a href=&quot;http://www.ipodtouchfans.com/forums/showthread.php?t=116469&quot; hreflang=&quot;en&quot;&gt;lien&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
Pour ce faire&amp;#160;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Télécharger les sources d&amp;#8217;&lt;strong&gt;iRecovery&lt;/strong&gt; depuis &lt;a href=&quot;http://theiphonewiki.com/wiki/index.php?title=IRecovery#Download&quot; hreflang=&quot;en&quot;&gt;ce lien&lt;/a&gt; ou depuis &lt;a href=&quot;http://github.com/westbaer/irecovery&quot; hreflang=&quot;en&quot;&gt;celui-ci&lt;/a&gt; pour avoir les sources les plus récentes (SVN) (ou voir en fin de billet)&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Procéder à la compilation&lt;/strong&gt; d&amp;#8217;iRecovery (voir ci-dessous pour les dépendances)&amp;#160;;&lt;/li&gt;
&lt;li&gt;Exécuter la commande &amp;#8220;&lt;strong&gt;iRecovery -s&lt;/strong&gt;&amp;#8221; pour démarrer iRecovery, qui va se connecter à l&amp;#8217;iPhone en mode bas-niveau&amp;#160;;&lt;/li&gt;
&lt;li&gt;Taper sous iRecovery la commande &amp;#8220;&lt;strong&gt;printenv&lt;/strong&gt;&amp;#8220;&amp;#160;;&lt;/li&gt;
&lt;li&gt;Vérifier la variable &amp;#8220;&lt;strong&gt;auto-boot&lt;/strong&gt;&amp;#8221;, qui va vraisemblablement être à &amp;#8220;false&amp;#8221;&amp;#160;;&lt;/li&gt;
&lt;li&gt;Taper&amp;#160;: &amp;#8220;&lt;strong&gt;setenv auto-boot true&lt;/strong&gt;” pour modifier cette valeur&amp;#160;;&lt;/li&gt;
&lt;li&gt;Taper&amp;#160;: &amp;#8220;&lt;strong&gt;saveenv&lt;/strong&gt;&amp;#8220;&amp;#160;;&lt;/li&gt;
&lt;li&gt;Taper&amp;#160;: &amp;#8220;&lt;strong&gt;reboot&lt;/strong&gt;&amp;#8220;&amp;#160;;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;L&amp;#8217;iPhone redémarre et n&amp;#8217;est plus en mode recovery. Reste à faire la mise-à-jour du firmware depuis un PC nativement sous Windows.&lt;br /&gt;&lt;/p&gt;


&lt;h3&gt;Logs&lt;/h3&gt;


&lt;h4&gt;Compilation d&amp;#8217;iRecovery.&lt;/h4&gt;


&lt;p&gt;Personnellement j&amp;#8217;ai eu besoin d&amp;#8217;installer &lt;strong&gt;libusb&lt;/strong&gt; et &lt;strong&gt;libreadline&lt;/strong&gt; au préalable en dépendances.&lt;br /&gt;&lt;/p&gt;

&lt;pre&gt;ubuntu:/tmp/iRecovery&amp;gt; sudo apt-get install libusb-dev
(...)
ubuntu:/tmp/iRecovery&amp;gt; sudo apt-get install libreadline5-dev
make linux
gcc irecovery.c -o irecovery -lusb -lreadline
(...)
ubuntu:/tmp/iRecovery&amp;gt; ll
total 72
-rw-r--r-- 1 sergio sergio   913 2009-07-25 00:53 constants.h
-rwxr-xr-x 1 sergio sergio 14612 2009-09-10 10:33 irecovery
-rw-r--r-- 1 sergio sergio  7168 2009-07-25 00:53 irecovery.c
-rw-r--r-- 1 sergio sergio 35146 2009-07-25 00:53 LICENSE
-rw-r--r-- 1 sergio sergio   341 2009-07-25 00:53 Makefile
-rw-r--r-- 1 sergio sergio   770 2009-07-25 00:53 README
&lt;/pre&gt;


&lt;h4&gt;Trace de la manipulation sous iRecovery.&lt;/h4&gt;


&lt;p&gt;Les manipulations effectuées.&lt;/p&gt;

&lt;pre&gt;ubuntu:/tmp/iRecovery&amp;gt; irecovery -s
iRecovery - Recovery Utility
by westbaer
Thanks to pod2g, tom3q, planetbeing and geohot.

=======================================
::
:: iBoot for n88ap, Copyright 2009, Apple Inc.
::
::	BUILD_TAG: iBoot-596.24
::
::	BUILD_STYLE: RELEASE
::
::	USB_SERIAL_NUMBER: CPID:8920 CPRV:14 CPFM:03 SCEP:02 BDID:00 ECID:000001xxxxxxxxxx IBFL:01 SRNM:[8xxxxxxxxx]
::
=======================================

[FTL:MSG] Apple NAND Driver (AND) RO
[NAND] Found Chip ID 0x3294D79876 on FMI0:CE0
[NAND] Found Chip ID 0x3294D79876 on FMI0:CE1
[NAND] Found Chip ID 0x3294D79876 on FMI1:C8
[NAND] Found Chip ID 0x3294D79876 on FMI1:CE9
[FTL:MSG] FIL_Init            [OK]
[FTL:MSG] BUF_Init            [OK]
[FTL:MSG] FPart Init          [OK]
read new style signature 0x43313132 (line:305)
[FTL:MSG] VSVFL Register  [OK]
[FTL:MSG] VFL Init            [OK]
[FTL:MSG] VFL_Open            [OK]
[FTL:MSG] YAFTL Register  [OK]
[FTL:MSG] FTL_Open            [OK]
Boot Failure Count: 0	Panic Fail Count: 0
Entering recovery mode, starting command prompt
] printenv
  build-style = &amp;quot;RELEASE&amp;quot;
  build-version = &amp;quot;iBoot-596.24&amp;quot;
  config_board = &amp;quot;n88ap&amp;quot;
  loadaddr = &amp;quot;0x41000000&amp;quot;
  boot-command = &amp;quot;fsboot&amp;quot;
  idle-off = &amp;quot;true&amp;quot;
  boot-device = &amp;quot;nand0&amp;quot;
  boot-partition = &amp;quot;0&amp;quot;
  boot-path = &amp;quot;/System/Library/Caches/com.apple.kernelcaches/kernelcache.s5l8920x&amp;quot;
  display-color-space = &amp;quot;RGB888&amp;quot;
  display-timing = &amp;quot;n88&amp;quot;
P bootdelay = &amp;quot;0&amp;quot;
P platform-uuid = &amp;lt;DATA&amp;gt;
P backlight-level = &amp;quot;168&amp;quot;
P auto-boot = &amp;quot;false&amp;quot;
  image-version = &amp;quot;0x3&amp;quot;
  framebuffer = &amp;quot;0x4f00000&amp;quot;
  secure-boot = &amp;quot;0x1&amp;quot;
] setenv auto-boot true
] saveenv
] reboot
] exit
&lt;/pre&gt;


&lt;p&gt;A tout hasard, mon répertoire (sources au 2009-08-22 + binaire compilé sur Ubuntu 8.10&amp;#160;en 32 bits et Ubuntu 9.10&amp;#160;en 64 bits)&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.tensin.org/public/ressources/iRecovery-ubuntu-32bits-2009-08-22.tar.gz&quot;&gt;iRecovery - src + ubuntu 32bits binary (2009-08-22)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.tensin.org/public/ressources/iRecovery-ubuntu-64bits-2010-02-23.tar.gz&quot;&gt;iRecovery - src + ubuntu 64bits binary (2010-02-23)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2009/09/13/D%C3%A9bloquer-un-iPhone-bloqu%C3%A9-en-mode-recovery-sous-Linux#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2009/09/13/D%C3%A9bloquer-un-iPhone-bloqu%C3%A9-en-mode-recovery-sous-Linux#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/22</wfw:commentRss>
      </item>
    
  <item>
    <title>Configuration FireFox pour gérer les liens ed2k avec Sancho</title>
    <link>http://blog.tensin.org/index.php?post/2009/09/11/Configuration-FireFox-pour-g%C3%A9rer-les-liens-ed2k-avec-Sancho</link>
    <guid isPermaLink="false">urn:md5:fbb533360d1d1fed63e424d0c8ca49b7</guid>
    <pubDate>Fri, 11 Sep 2009 21:45:00 +0200</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>ed2k</category><category>firefox</category><category>linux</category><category>mldonkey</category><category>sancho</category>    
    <description>    &lt;p&gt;Ayant passé bien 5 minutes sous &lt;strong&gt;Firefox 3.5.3&lt;/strong&gt; sur Linux / Open Suse pour réparamétrer les liens ed2k://, afin qu’un simple click sur ces liens déclenche le téléchargement distant MLDonkey, voici la marche à suivre.&lt;/p&gt;
&lt;h3&gt;1. Configuration FireFox.&lt;/h3&gt;
&lt;p&gt;Dans FireFox, taper &lt;strong&gt;about:config&lt;/strong&gt;.
Créer les nouvelles valeurs suivantes&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;network.protocol-handler.app.ed2k&lt;/strong&gt;&amp;#160;: (chaîne de caractères), valeur “/usr/bin/ed2k” &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;network.protocol-handler.expose.ed2k&lt;/strong&gt;&amp;#160;: (booléan), valeur “true” &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;network.protocol-handler.external.e2dk&lt;/strong&gt;&amp;#160;: (booléan), valeur “true” &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;network.protocol-handler.warn-external.ed2k&lt;/strong&gt;&amp;#160;: (booléan), valeur “false”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Méthode alternative, ajouter ces lignes directement dans le fichier prefs.js (dans le répertoire du profile Firefox, ~/.mozilla/firefox/…) - attention dans ce cas à faire cette modification FireFox éteint&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;user_pref(“network.protocol-handler.app.ed2k”, “/usr/bin/ed2k”); &lt;/p&gt;
&lt;p&gt;user_pref(“network.protocol-handler.expose.ed2k”, true); &lt;/p&gt;
&lt;p&gt;user_pref(“network.protocol-handler.external.e2dk”, true); &lt;/p&gt;
&lt;p&gt;user_pref(“network.protocol-handler.warn-external.ed2k”, false);&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;2. Script de lancement de sancho.&lt;/h3&gt;
&lt;p&gt;Créer dans &lt;strong&gt;/usr/bin/&lt;/strong&gt; le fichier &lt;strong&gt;ed2k&lt;/strong&gt; avec le contenu ci-dessous, et rendez ce fichier exécutable (&lt;strong&gt;chmod a+x /usr/bin/ed2k&lt;/strong&gt;)&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;#!/bin/sh &lt;/p&gt;
&lt;p&gt;nohup /usr/bin/sancho -l $* &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;N.B.&amp;#160;: le chemin vers sancho est éventuellement à adapter.&lt;/p&gt;
&lt;p&gt;Remarque 1&amp;#160;: lancement en nohup pour rendre la main immédiatement.&lt;/p&gt;
&lt;p&gt;Remarque 2&amp;#160;: le paramètre -l est pour indiquer à sancho de prendre le lien fourni et de l&amp;#8217;envoyer vers MLDonkey.&lt;/p&gt;
&lt;h3&gt;3. Forcer la prise en compte&lt;/h3&gt;
&lt;p&gt;C’est là où j’ai un peu galéré, les étapes ci-dessus ne suffisaient pas, il fallait réactiver la demande de sélection pour avoir le choix du protocole.
Pour ce faire&amp;#160;:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Arrêter FireFox&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;&lt;li&gt;Dans le répertoire du profile FireFox (&lt;strong&gt;~/.mozilla/firefox/…&lt;/strong&gt;), éditer le fichier &lt;strong&gt;mimeTypes.rdf&lt;/strong&gt; et chercher les 2 lignes correspodant à&amp;#160;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&amp;nbsp; &amp;lt;RDF:Description RDF:about=&quot;urn:scheme:handler:ed2k&quot; NC:alwaysAsk=&quot;false&quot;&amp;gt;&lt;/pre&gt;&lt;ul&gt;&lt;li&gt;Remplacer le &lt;strong&gt;alwaysAsk=”false”&lt;/strong&gt; par &lt;strong&gt;alwaysAsk=”true”&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;&lt;li&gt;Relancer FireFox, clicker sur un lien &lt;strong&gt;ed2k://&lt;/strong&gt;, FireFox demande quel protocole choisir, le choisir dans la liste, et ensuite tout marche.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les autres blocs de configuration dans ce fichier &lt;strong&gt;mimeTypes.rdf&lt;/strong&gt; sont donc au final&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;nbsp; &amp;lt;RDF:Description RDF:about=&amp;#8221;urn:handler:local:/usr/bin/ed2k&amp;#8221;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NC:prettyName=&amp;#8221;ed2k&amp;#8221;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NC:path=&amp;#8221;/usr/bin/ed2k&amp;#8221; /&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;br /&gt;Puis&amp;#160;:&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;&amp;nbsp; &amp;lt;RDF:Description RDF:about=&amp;#8221;urn:scheme:handler:ed2k&amp;#8221;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NC:alwaysAsk=&amp;#8221;false&amp;#8221;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;NC:externalApplication RDF:resource=&amp;#8221;urn:scheme:externalApplication:ed2k&amp;#8221;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;NC:possibleApplication RDF:resource=&amp;#8221;urn:handler:local:/usr/bin/ed2k&amp;#8221;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/RDF:Description&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;Et&amp;#160;:&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;lt;RDF:Description RDF:about=&amp;#8221;urn:scheme:externalApplication:ed2k&amp;#8221;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NC:prettyName=&amp;#8221;ed2k&amp;#8221;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NC:path=&amp;#8221;/usr/bin/ed2k&amp;#8221; /&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;C&amp;#8217;est pas fini &amp;#8230;&amp;#160;:&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;&amp;nbsp; &amp;lt;RDF:Description RDF:about=&amp;#8221;urn:scheme:ed2k&amp;#8221;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NC:value=&amp;#8221;ed2k&amp;#8221;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;NC:handlerProp RDF:resource=&amp;#8221;urn:scheme:handler:ed2k&amp;#8221;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/RDF:Description&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;Et enfin en complément de la balise root&amp;#160;:&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;lt;RDF:Seq RDF:about=&amp;#8221;urn:schemes:root&amp;#8221;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RDF:li RDF:resource=&amp;#8221;urn:scheme:mailto&amp;#8221;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RDF:li RDF:resource=&amp;#8221;urn:scheme:webcal&amp;#8221;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RDF:li RDF:resource=&amp;#8221;urn:scheme:ed2k&amp;#8221;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RDF:li RDF:resource=&amp;#8221;urn:scheme:irc&amp;#8221;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RDF:li RDF:resource=&amp;#8221;urn:scheme:ircs&amp;#8221;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/RDF:Seq&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Au final mon fichier a donc le contenu suivant&amp;#160;: &lt;a href=&quot;http://blog.tensin.org/public/ressources/mimeTypes.rdf&quot;&gt;mimeTypes.rdf&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Liens.&lt;/h3&gt;
Liens&amp;#160;: &lt;a href=&quot;http://mldonkey.sourceforge.net/Main_Page&quot; hreflang=&quot;fr&quot;&gt;MLDonkey&lt;/a&gt;, &lt;a href=&quot;http://sancho-gui.sourceforge.net/&quot; hreflang=&quot;fr&quot;&gt;Sancho&lt;/a&gt;.&lt;br /&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2009/09/11/Configuration-FireFox-pour-g%C3%A9rer-les-liens-ed2k-avec-Sancho#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2009/09/11/Configuration-FireFox-pour-g%C3%A9rer-les-liens-ed2k-avec-Sancho#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/20</wfw:commentRss>
      </item>
    
  <item>
    <title>Jeux PlayStation 3 à moindre coût</title>
    <link>http://blog.tensin.org/index.php?post/2009/01/04/ach</link>
    <guid isPermaLink="false">urn:md5:fdd83356a185dfdabcafc7e1180c062c</guid>
    <pubDate>Sun, 22 Mar 2009 14:24:00 +0100</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>bon plan</category><category>Jeu vidéo</category><category>PS3</category>    
    <description>    &lt;h2&gt;Quoi&amp;#160;?&lt;/h2&gt;
&lt;p&gt;Ayant acheté récemment une console de jeu PlayStation 3, j&amp;#8217;entends souvent dire ou je lis souvent sur le web que les jeux pour cette console &amp;#8220;NextGen&amp;#8221; sont horriblement chers, aux alentours de 70 euros pour une nouveauté. C&amp;#8217;est vrai&amp;#160;: en France. Il est toutefois possible de facilement trouver les mêmes jeux pour un prix bien moins élevé, en les commandant en Angleterre.
Les jeux sont du point de vue du contenu rigoureusement identiques et totalement compatible avec une console achetée en France et branchée en ligne chez un provider français, simplement les boîtiers et manuels sont en anglais.
La plupart du temps le jeu comprend la version française sur le disque (à qqs exceptions près, ex. Dead Space qui comprend 5 langues mais pas le français - voir ci-dessous).&lt;/p&gt;
&lt;p&gt;Les sites permettant d&amp;#8217;acheter des jeux en angleterre sont nombreux, des plus connus à d&amp;#8217;autres plus obscurs. J&amp;#8217;en détaille ci-dessous quelques uns. &lt;/p&gt;
A noter que les jeux UK sont tous compatibles avec les serveur Playstation Store européens, donc les mises-à-jour ou contenus additionnels seront à télécharger avec le même compte Playstation Network qu&amp;#8217;un jeu français, et les parties en ligne seront compatibles avec des jeux FR.
Il est également possible de commander sur des sites américains (US) ou japonais (JAP), mais&amp;#160;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;les délais de réception sont plus longs&amp;#160;;&lt;/li&gt;
&lt;li&gt;contrairement aux jeux UK, dans la majorité des cas les contenus additionnels ou patchs seront à télécharger sur le serveur Playstation Store correspondant (donc avec un autre compte Playstation Network que votre compte habituel - voir &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.ultimateps3.fr/tutoriaux-ps3-categorie-9-playstation-network.html&quot;&gt;ces tutoriaux&lt;/a&gt; pour se créer des comptes sur les autres serveurs)&amp;#160;;&lt;/li&gt;
&lt;li&gt;il n&amp;#8217;est normalement pas possible de faire des parties en ligne avec des joueurs ayant le jeu FR ou UK&amp;#160;;&lt;/li&gt;
&lt;li&gt;le colis lors de son passage à la douane en France peut être soumis à l&amp;#8217;application de la TVA (c&amp;#8217;est rare, mais çà arrive)&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
L&amp;#8217;achat de jeu au Royaume-Uni reste donc la meilleure solution.&lt;/p&gt;
&lt;p&gt;Voici un convertisseur Livres Sterling (GBP) / Euro&amp;#160;: &lt;a href=&quot;http://www.xe.com/ucc/fr/&quot; hreflang=&quot;fr&quot;&gt;XE&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Quelques exemples.&lt;/h2&gt;
&lt;p&gt;Quelques exemples de prix relevés le dimanche 22 mars, frais de port pour la france non-compris et sans tenir compte d&amp;#8217;éventuels codes de réduction, pour des jeux neufs, sur trois sites français et trois sites UK.&lt;/p&gt;
&lt;p&gt;Remarque&amp;#160;: à l&amp;#8217;heure de ce billet, Resident Evil 5 est un jeu qui vient de sortir, et Killzone 2 est un jeu récent. &lt;/p&gt;
&lt;br /&gt;
&lt;center&gt;
&lt;a href=&quot;http://blog.tensin.org/public/media/ps3_game_little_big_planet.jpg&quot;&gt;&lt;img title=&quot;Jeu PS3, Little Big Planet, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/media/.ps3_game_little_big_planet_t.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://blog.tensin.org/public/media/ps3_game_soul_calibur_4.jpg&quot;&gt;&lt;img title=&quot;Jeu PS3, Soul Calibur IV, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/media/.ps3_game_soul_calibur_4_t.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://blog.tensin.org/public/media/ps3_game_resident_evil_5.jpg&quot;&gt;&lt;img title=&quot;Jeu PS3, Resident Evil 5, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/media/.ps3_game_resident_evil_5_t.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://blog.tensin.org/public/media/ps3_game_killzone_2.jpg&quot;&gt;&lt;img title=&quot;Jeu PS3, Killzone 2, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/media/.ps3_game_killzone_2_t.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://blog.tensin.org/public/media/ps3_game_guitar_hero_3.jpg&quot;&gt;&lt;img title=&quot;Jeu PS3, Guitar Hero 3, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/media/.ps3_game_guitar_hero_3_t.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/center&gt;
&lt;br /&gt;
&lt;center&gt;
&lt;table&gt;
&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Jeux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Micromania&lt;/td&gt;&lt;td&gt;Fnac.com&lt;/td&gt;&lt;td&gt;Amazon.fr&lt;/td&gt;&lt;td&gt;Play.com&lt;/td&gt;&lt;td&gt;sendit.com&lt;/td&gt;&lt;td&gt;shopto.net&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;7&quot;&gt;&lt;hr /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Little Big Planet&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;69.99€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;69.90€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;56.77€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;23.49€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;20.99€&lt;/strong&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;21.99€&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Soul Calibur IV&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;69.99€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;69.99€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;67.19€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;23.49€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;41.49€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;19.99€&lt;/strong&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Guitar Hero III (avec guitare)&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;99.99€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;69.99€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;54.90€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;75.00€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;64.49€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;48.99€&lt;/strong&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Resident Evil 5&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;69.99€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;59.99€ (*)&lt;br /&gt;&lt;/td&gt;&lt;td&gt;52.00€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;45.49€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;40.49€&lt;/strong&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;42.99€&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Killzone 2&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;69.99€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;69.90€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;55.00€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;45.49€&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;41.49€&lt;/strong&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;42.99€&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;7&quot; align=&quot;right&quot;&gt;(*&amp;#160;: vente Flash)&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/center&gt;Prix ci-dessus hors frais de port, mais à noter qu&amp;#8217;avec les frais de port le site le moins cher reste globalement toujours le même: pour &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.amazon.fr/&quot;&gt;Amazon.fr&lt;/a&gt; et &lt;a hreflang=&quot;en&quot; href=&quot;http://www.play.com/&quot;&gt;Play.com&lt;/a&gt;, les frais de port sont compris dans les prix indiqués&amp;#160;; pour les autres boutiques, voir le détail des frais de port ci-dessous, 1€95 pour un jeu commandé par ex. sur &lt;a hreflang=&quot;en&quot; href=&quot;http://www.sendit.com/&quot;&gt;sendit.com&lt;/a&gt;).&lt;p&gt;Les conclusions que l&amp;#8217;on peut en tirer&amp;#160;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les jeux vendus en France sont très chers, et toutes les boutiques sont plutôt alignées niveau tarif, avec tout de même de meilleurs prix pour &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.amazon.fr/&quot;&gt;Amazon.fr&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;L&amp;#8217;écart entre les prix de vente en France et sur ces sites UK peut être conséquent (parfois -50%)&amp;#160;;&lt;/li&gt;
&lt;li&gt;Il n&amp;#8217;y a pas un seul site UK qui a systématiquement les prix les moins chers, chaque site va être très compétitif sur quelques jeux mais pas sur tous&amp;#160;;&lt;/li&gt;
&lt;li&gt;Il  y a ponctuellement de vraies bonnes affaires (exemple ici, Guitar Hero III Legends of Rock &lt;strong&gt;avec&lt;/strong&gt; la guirate WiFi Les Paul pour moins de 50 euros&amp;#160;!)&amp;#160;;&lt;/li&gt;
&lt;li&gt;il est bien sûr possible de trouver le jeu sur des sites français à d&amp;#8217;autres prix, par exemple, le comparateur général &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.twenga.fr/&quot;&gt;Twenga&lt;/a&gt; me trouve Little Big Planet (hors occasions et hors eBay) à 53.50€ chez &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.grosbill.com/index.php3?site=firstcoffee&amp;amp;id=82303&quot;&gt;GrosBill&lt;/a&gt; (+ 8€90 de frais de port, on est toujours loin des 23€49 tout compris de Play)&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h2&gt;Où&amp;#160;?&lt;/h2&gt;
&lt;br /&gt;
&lt;h3&gt;&lt;img title=&quot;Site web, www.play.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_www.play.com.jpg&quot; /&gt; Play.com&lt;/h3&gt;
&lt;a hreflang=&quot;en&quot; href=&quot;http://www.play.com/&quot;&gt;http://www.play.com/&lt;/a&gt;&amp;#160;: site très sérieux, tarifs frais de port compris (même pour la France)&amp;#160;; les nouveautés ultra récentes sont à 55 euros, un peu moins récentes (MotorStorm Pacific Rift aujourd’hui par ex.) à ~40 euros ou à 35 euros (ex. Dead Space)&amp;#160;; les prix fluctuent beaucoup au fil des semaines (ex. il y a qqs temps Assassin’s Creed à 13 euros (fdp compris toujours), remonté à 30 euros ensuite), donc il faut y passer souvent. A noter un très bon service&amp;#160;: en cas de non-réception d&amp;#8217;un jeu, il est remboursé sans sourciller et Play.com s&amp;#8217;occupe ensuite de règler le litige avec la poste (çà m&amp;#8217;est arrivé une fois).&lt;br /&gt;&lt;br /&gt;
&lt;h3&gt;&lt;img title=&quot;Site web, www.sendit.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_www.sendit.com.jpg&quot; /&gt;&amp;nbsp;Sendit.com&lt;/h3&gt;
&lt;a hreflang=&quot;en&quot; href=&quot;http://www.sendit.com/&quot;&gt;
http://www.sendit.com/&lt;/a&gt;&amp;#160;: site - sérieux de mon point de vue en matière de gestion de stocks … mais prix souvent très bas&amp;#160;! (Mirror’s Edge à 25 euros je crois)&amp;#160;; frais de port pour un jeu = 1€95 vers la France&amp;#160;;&lt;br /&gt;&lt;br /&gt;
&lt;h3&gt;&lt;img title=&quot;Site web, www.shopto.net, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_www.shopto.net.jpg&quot; /&gt; Shopto.net&lt;/h3&gt;
&lt;a hreflang=&quot;en&quot; href=&quot;http://www.shopto.net/&quot;&gt;
http://www.shopto.net/&lt;/a&gt;&amp;#160;: jamais commandé, prix super bas en général (Mirror’s Edge à 21 euros&amp;#160;!)&amp;#160;; frais de port d’environ 5 euros pour un jeu pour la france&amp;#160;;&lt;br /&gt;&lt;br /&gt;
&lt;h3&gt;&lt;img title=&quot;Site web, www.amazon.fr, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_www.amazon.fr.jpg&quot; /&gt; Amazon.co.uk&lt;/h3&gt;
&lt;a hreflang=&quot;en&quot; href=&quot;http://www.amazon.co.uk/&quot;&gt;
http://www.amazon.co.uk/&lt;/a&gt;&amp;#160;: la version anglaise d’Amazon&amp;#160;; vous pouvez commander avec votre compte Amazon.fr sans pbs (il retrouve même votre CB si vous l’y aviez enregistré)&amp;#160;; j’y ai commandé il y a quelques semaines Little Big Planet à 21 euros + 5 euros de frais de port&amp;#160;! Site super efficace niveau expédition / gestion du stock. A noter que la plupart du temps les produits sont tout de même posté depuis un entrepot en France (donc délai réduit, livraison en collissimo).&lt;br /&gt;&lt;br /&gt;
&lt;h3&gt;Game.co.uk&lt;/h3&gt;
&lt;a hreflang=&quot;en&quot; href=&quot;http://www.game.co.uk/&quot;&gt;
http://www.game.co.uk/&lt;/a&gt;&amp;#160;: pas encore commandé chez eux, à voir.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Encore d&amp;#8217;autres site &amp;#8230;&lt;/h3&gt;
D&amp;#8217;autres sites anglo-saxons, que je n&amp;#8217;ai par contre jamais essayés&amp;#160;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://dvd.co.uk/&quot;&gt;dvd.co.uk&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.gameplay.co.uk/&quot;&gt;gameplay.co.uk&lt;/a&gt; (GamePlay semble avoir plutôt bonne presse)&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.hmv.com&quot;&gt;hmv.com&lt;br /&gt;&lt;/a&gt; (visiblement ils ont parfois des promotions très ponctuelles intéressantes, j&amp;#8217;avais vu le pack Guitar Hero World Tour à un prix défiant toute concurrence)&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.gamestation.co.uk/&quot; target=&quot;_blank&quot;&gt;gamestation.co.uk&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.thehut.com/hut/home.dept&quot;&gt;thehut.co.uk&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.simplygames.com&quot;&gt;simplygames.com&lt;/a&gt;&amp;#160;;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;h2&gt;Comment&amp;#160;?&lt;/h2&gt;
&lt;p&gt;Sur tous ces sites localisés en angleterre, il suffit de payer par
carte bleue type VISA. Il n&amp;#8217;y a pas de frais particulier (en dehors des
frais de port) ou de difficultés pour payer. &lt;/p&gt;
&lt;p&gt;La plupart de ces sites permettent d&amp;#8217;ailleurs de règler directement
en euros (autrement dit vous êtes avisés du montant final en euro à
avec le cours du jour immédiatement lors de l&amp;#8217;achat, alors que pour un
site qui ne permet que le payement en Livres Sterling, c&amp;#8217;est au moment
du débit sur votre compte bancaire que la conversion sera faite (à un
cours potentiellement différent de celui du jour de la commande)).&lt;/p&gt;
&lt;p&gt;A noter qu&amp;#8217;il n&amp;#8217;y a jamais de frais
de douane à payer pour un envoi depuis le Royaume-Uni (les taxes sont appliquées directement par le site lui-même).&lt;/p&gt;
&lt;h2&gt;Encore moins cher&amp;#160;?&lt;/h2&gt;
&lt;p&gt;
Un moteur de comparaison de plusieurs sites UK&amp;#160;: &lt;a hreflang=&quot;en&quot; href=&quot;http://www.find-games.co.uk/%20&quot;&gt;http://www.find-games.co.uk/
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Un site recensant les coupons de réduction pour les sites anglais&amp;#160;: &lt;a hreflang=&quot;en&quot; href=&quot;http://www.myvouchercodes.co.uk/&quot;&gt;http://www.myvouchercodes.co.uk/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;D&amp;#8217;autres pistes.&lt;/h2&gt;
&lt;p&gt;Il y a bien sûr la piste de l&amp;#8217;occasion (vente par particuliers ou par boutiques spécialisées en ligne), par ex. sur &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.priceminister.fr/&quot;&gt;PriceMinister&lt;/a&gt; ou, bien sûr, sur &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.ebay.fr/&quot;&gt;eBay&lt;/a&gt;. On peut tout à fait trouver des jeux neufs (encore emballé sous cellophane) pour pas très cher ainsi. &lt;/p&gt;
&lt;p&gt;Il est d&amp;#8217;ailleurs parfois amusant de voir que sur eBay les jeux récents vendus à des prix compétitifs &amp;#8230; sont justement des jeux UK &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;h2&gt;Tableau des langues. &lt;/h2&gt;
&lt;p&gt;
Retrouvez dans ce billet séparé la liste des langues présentes sur les jeux PS3&amp;#160;en import UK&amp;#160;: &lt;a href=&quot;http://blog.tensin.org/index.php?post/2009/03/22/Tableau-des-langues-des-jeux-PS3-en-import&quot;&gt;clickez-ici&lt;/a&gt;.&lt;/p&gt;
&lt;br /&gt;&lt;h2&gt;F.A.Q.&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Tous les sites UK proposent-ils l&amp;#8217;envoi en France&amp;#160;? &lt;/strong&gt;Non&amp;#160;! Plusieurs sites (non recensés ici) ne proposent que l&amp;#8217;envoi exclusif en Angleterre.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Un jeu acheté au Royaume-Uni et importé en France peut-il taxé lorsqu&amp;#8217;il passe la douane&amp;#160;? &lt;/strong&gt;Non&amp;#160;!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Combien de temps pour recevoir par la poste un jeu envoyé depuis le Royaume-Uni&amp;#160;? &lt;/strong&gt;Variable selon la poste anglaise et française, il faut en général compter entre 5 et 7 jours.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Est-ce qu&amp;#8217;il y a des frais bancaires pour payer sur un site UK avec une carte bleue type VISA liée à une banque française&amp;#160;? &lt;/strong&gt;Ca dépend uniquement de la banque française et de sa politique de payement sur des sites étrangers (à ma connaissance aucun des sites évoqué ici ne permet de payer par Paypal à l&amp;#8217;heure où j&amp;#8217;écris ces lignes). Ma banque (&lt;a hreflang=&quot;fr&quot; href=&quot;https://www.axabanque.fr/&quot;&gt;AXA Banque&lt;/a&gt;) me prend une commission minimine.&lt;/p&gt;
&lt;h2&gt;Conclusion&amp;#160;!&lt;/h2&gt;
&lt;p&gt;Au final, en jonglant avec ces différents sites, vous pouvez donc trouver la plupart des jeux, même récents, à 45€ maximum, pour un jeu en français avec un boîtier et une notice en anglais.&lt;/p&gt;
&lt;p&gt;Enfin, toutes ces adresses internet sont bien évidemment valables pour des jeux PC et/ou XBox360 également&amp;#160;!&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2009/01/04/ach#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2009/01/04/ach#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/2</wfw:commentRss>
      </item>
    
  <item>
    <title>Tableau des langues des jeux PS3 en import</title>
    <link>http://blog.tensin.org/index.php?post/2009/03/22/Tableau-des-langues-des-jeux-PS3-en-import</link>
    <guid isPermaLink="false">urn:md5:71f6459a932857d733736f2aa34b6b60</guid>
    <pubDate>Sun, 22 Mar 2009 13:11:00 +0100</pubDate>
    <dc:creator>SRG</dc:creator>
        <category>Jeu vidéo</category><category>PS3</category>    
    <description>    &lt;p&gt;En complément du billet sur l&amp;#8217;&lt;a href=&quot;http://blog.tensin.org/index.php?post/2009/01/04/ach&quot;&gt;achat à moindre coût de jeux Playstation 3&lt;/a&gt;, voici le détail pour chaque jeu PS3&amp;#160;en version UK des langues présentes sur le bluray.&lt;/p&gt;
&lt;center&gt;
&lt;table&gt;
&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Titre du jeu&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;strong&gt;(1)&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;strong&gt;(2)&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;strong&gt;(3)&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;strong&gt;(4)&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;strong&gt;(5)&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;hr /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;0&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;007 Quantum Of Solace&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009908-007-quantum-of-solace-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;5&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;50 Cent&amp;#160;: Blood on the Sand&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010374-50-cent-blood-on-the-sand-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;A&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;A la Croisée des Mondes&amp;#160;: La Boussole d&amp;#8217;Or&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008329-a-la-croisee-des-mondes-la-boussole-d-or-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Alone In The Dark &amp;#8220;Inferno&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009984-alone-in-the-dark-inferno-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Armored Core 4&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007737-armored-core-4-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Armored Core for Answer&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010035-armored-core-for-answer-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Army Of Two&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008760-army-of-two-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Assassin&amp;#8217;s Creed&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008231-assassin-s-creed-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Astro Tripper&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;B&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Baja&amp;#160;: Edge of Control&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009694-baja-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Battle Fantasia&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010400-battle-fantasia-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Battlefield&amp;#160;: Bad Company&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009246-battlefield-bad-company-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Beijing 2008&amp;#160;: Le Jeu Vidéo Officiel des Jeux Olympiques&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009262-beijing-2008-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Bionic Commando Rearmed&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009690-bionic-commando-rearmed-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Bioshock&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009818-bioshock-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Blacksite&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008784-blacksite-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Bladestorm&amp;#160;: La Guerre de Cent Ans&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008205-bladestorm-la-guerre-de-cent-ans-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Blazing Angels 2&amp;#160;: Secret Missions of WW II&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008376-blazing-angels-2-secret-missions-of-ww-ii-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Blazing Angels&amp;#160;: Squadrons of WWII&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007533-blazing-angels-squadrons-of-wwii-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Brothers in Arms&amp;#160;: Hell&amp;#8217;s Highway&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009662-brothers-in-arms-hell-s-highway-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Burnout Paradise&amp;#160;: The Ultimate Box&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Burnout Paradise&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Buzz&amp;#160;! Junior &amp;#8220;Singes en délire&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Buzz&amp;#160;! Quizz TV&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009288-buzz-quiz-tv-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;C&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Call Of Duty 3&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Call Of Duty 4 &amp;#8220;Modern Warfare&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Call Of Duty 5 &amp;#8220;World At War&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009953-call-of-duty-world-at-war-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Calling all Cars!&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008523-calling-all-cars-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Cars&amp;#160;: La Coupe Internationale de Martin&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008430-cars-la-coupe-internationale-de-martin-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Clive Barker&amp;#8217;s Jericho&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008092-clive-barker-s-jericho-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Colin McRae&amp;#160;: DIRT&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007952-colin-mcrae-dirt-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Conan&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008055-conan-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Condemned 2&amp;#160;: Bloodshot&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008842-condemned-2-bloodshot-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Conflict&amp;#160;: Denied Ops&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008643-conflict-denied-ops-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Crash Commando&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010192-crash-commando-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Cuboid&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010393-cuboid-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;D&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Dark Mist&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008916-dark-mist-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Dark Sector&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008876-dark-sector-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Dead Space&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Def Jam Icon&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007479-def-jam-icon-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Destroy All Humans&amp;#160;! En Route Vers Paname&amp;#160;!&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010397-destroy-all-humans-en-route-vers-paname-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Devil May Cry 4&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008629-devil-may-cry-4-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Disgaea 3 &amp;#8220;Absence Of Justice&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010436-disgaea-3-absence-of-justice-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Disney Sing it&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010097-disney-sing-it-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Dragon Ball Z &amp;#8220;Burst Limit&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009139-dragon-ball-z-burst-limit-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Dynasty Warriors 6&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008761-dynasty-warriors-6-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Dynasty Warriors&amp;#160;: Gundam&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008255-dynasty-warriors-gundam-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;E&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Eat Lead&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Echochrome&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010191-echochrome-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Elder Scrolls IV &amp;#8220;Les Portes d&amp;#8217;Oblivion&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Enchanted Arms&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007480-enchanted-arms-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Enemy Territory&amp;#160;: Quake Wars&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009084-enemy-territory-quake-wars-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Eternal Sonata&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010394-eternal-sonata-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Everybody Golf &amp;#8220;World Tour&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008802-everybody-s-golf-world-tour-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Eye of Judgement&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008137-the-eye-of-judgment-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;F&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;F.E.A.R. 2&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010385-f-e-a-r-2-project-origin-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;F.E.A.R.&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007575-f-e-a-r-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FIFA 08&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;FIFA 09&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;FIFA Street 3&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008679-fifa-street-3-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;FLOw&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Facebreaker&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009578-facebreaker-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Fallout 3&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Far Cry 2&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009854-far-cry-2-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Ferrari Challenge &amp;#8220;Trofeo Pirelli&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009286-ferrari-challenge-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Fight Night&amp;#160;: Round 3&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007483-fight-night-round-3-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Flower&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010388-flower-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Folklore&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008074-folklore-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Formula One&amp;#160;: Championship Edition&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007475-formula-one-championship-edition-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Fracture&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009757-fracture-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Full Auto 2&amp;#160;: Battlelines&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007467-full-auto-2-battlelines-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;G&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;G1 Jockey 4&amp;#160;2008&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010110-g1-jockey-4-2008-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GTI Club+&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010113-gti-club-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Genji&amp;#160;: Days of the Blade&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007460-genji-days-of-the-blade-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Geon&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Ghost Recon Advanced Warfighter 2&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007908-ghost-recon-advanced-warfighter-2-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Golden Axe&amp;#160;: Beast Rider&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009826-golden-axe-beast-rider-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Gran Turismo 5 Prologue&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008840-gran-turismo-5-prologue-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Grand Theft Auto 4&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008955-grand-theft-auto-4-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Guitar Hero 3 &amp;#8220;Legends Of Rock&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008309-guitar-hero-iii-legends-of-rock-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Guitar Hero&amp;#160;: Aerosmith&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009278-guitar-hero-aerosmith-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Guitar Hero&amp;#160;: World Tour&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010036-guitar-hero-world-tour-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;H&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Half-Life 2&amp;#160;: Episode One&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008555-half-life-2-episode-one-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Half-Life 2&amp;#160;: Episode Two&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008552-half-life-2-episode-two-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Half-Life 2&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008551-half-life-2-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Harry Potter et l&amp;#8217;Ordre du Phénix&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007754-harry-potter-et-l-ordre-du-phenix-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Haze&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009061-haze-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Heavenly Sword&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007972-heavenly-sword-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Hellboy&amp;#160;: The Science of Evil&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009628-hellboy-the-science-of-evil-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;History Channel&amp;#160;: Battle For The Pacific&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008800-history-channel-battle-for-the-pacific-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;I&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Iron Man&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009000-iron-man-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;InFAMOUS&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/jeux/playstation-3-ps3/00019189-infamous.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;J&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Juiced 2&amp;#160;: Hot Import Nights&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008052-juiced-2-hot-import-nights-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;K&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Kane And Lynch &amp;#8220;Dead Man&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008285-kane-lynch-dead-men-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Killzone 2&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010313-killzone-2-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Kung Fu Panda&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009256-kung-fu-panda-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;L&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;La Legende de Beowulf&amp;#160;: Le Jeu&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008373-la-legende-de-beowulf-le-jeu-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Lair&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008185-lair-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Le Monde de Narnia&amp;#160;: Chapitre 2&amp;#160;: Le Prince Caspian&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009225-le-monde-de-narnia-chapitre-2-le-prince-caspian-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Le Parrain&amp;#160;: Edition du Don&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007476-le-parrain-edition-du-don-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Le Seigneur des Anneaux&amp;#160;: L&amp;#8217;Age des Conquêtes&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010253-le-seigneur-des-anneaux-l-age-des-conquetes-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Legendary&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009941-legendary-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Lego Batman&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009781-lego-batman-le-jeu-video-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Lego Indiana Jones&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009145-lego-indiana-jones-la-trilogie-originale-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Lego Star Wars &amp;#8220;Complete Saga&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008214-lego-star-wars-la-saga-complete-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Les 4 Fantastiques et le Surfer d&amp;#8217;Argent&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007860-les-4-fantastiques-et-le-surfer-d-argent-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Les Rois de la Glisse&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008070-les-rois-de-la-glisse-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Les Simpson&amp;#160;: Le Jeu&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008236-les-simpson-le-jeu-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Little Big Planet&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009812-littlebigplanet-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;LocoRoco Cocoreccho!&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008519-locoroco-cocoreccho-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Lost &amp;#8220;The Game&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008725-lost-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Lost Planet &amp;#8220;Extreme Condition&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008713-lost-planet-extreme-condition-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Lumines Supernova&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010379-lumines-supernova-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;M&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;MX vs ATV&amp;#160;: Extreme Limite&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008740-mx-vs-atv-extreme-limite-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Madagascar 2&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010056-madagascar-2-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Madden NFL 08&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008439-madden-nfl-08-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Madden NFL 09&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009593-madden-nfl-09-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Magic Ball&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010402-magic-ball-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Mahjong Tales&amp;#160;: Ancient Wisdom&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Marvel Ultimate Alliance&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007436-marvel-ultimate-alliance-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Medal of Honor&amp;#160;: Airborne&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008378-medal-of-honor-airborne-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Mega Man 9&amp;#160;: The Ambition&amp;#8217;s Revival&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009678-mega-man-9-the-ambition-s-revival-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Mercenaries 2&amp;#160;: L&amp;#8217;Enfer des Favelas&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009570-mercenaries-2-l-enfer-des-favelas-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Metal Gear Solid 4&amp;#160;: Guns of the Patriots&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009069-metal-gear-solid-4-guns-of-the-patriots-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Midnight club &amp;#8220;Los Angeles&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009872-midnight-club-los-angeles-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Millennium Championship Paintball 2009&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010511-millenium-championship-paintball-2009-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Mirror&amp;#8217;s Edge&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009967-mirror-s-edge-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Mobile Suit Gundam&amp;#160;: Target in Sight&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007468-mobile-suit-gundam-target-in-sight-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Monopoly&amp;#160;: Editions Classique et Monde&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009878-monopoly-editions-classique-et-monde-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Mortal Kombat Vs. DC Universe&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010012-mortal-kombat-vs-dc-universe-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;MotoGP 08&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009863-motogp-08-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;MotorStorm &amp;#8220;Complete&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009456-motorstorm-complete-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Motorstorm &amp;#8220;Pacific Rift&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009882-motorstorm-pacific-rift-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Motorstorm&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007462-motorstorm-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;N&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;NBA 08&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008619-nba-08-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;NBA 2K7&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007442-nba-2k7-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;NBA 2K8&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008290-nba-2k8-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;NBA 2K9&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009797-nba-2k9-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;NBA Live 08&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008058-nba-live-08-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;NBA Live 09&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009803-nba-live-09-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;NBA Street Homecourt&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007496-nba-street-homecourt-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;NHL 08&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008619-nba-08-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;NHL 09&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009675-nhl-09-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;NHL 2K7&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007503-nhl-2k7-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;NHL 2K8&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008538-nhl-2k8-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;NHL 2K9&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009624-nhl-2k9-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Naruto &amp;#8220;Ultimate Ninja Storm&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009933-naruto-ultimate-ninja-storm-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Need For Speed &amp;#8220;Undercover&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Need for Speed &amp;#8220;Carbon&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007441-need-for-speed-carbon-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Need for Speed &amp;#8220;ProStreet&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008271-need-for-speed-prostreet-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Ninja Gaïden Sigma&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007782-ninja-gaiden-sigma-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Noby Noby Boy&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010429-noby-noby-boy-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Novastrike&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;O&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Overlord&amp;#160;: Raising Hell&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009184-overlord-raising-hell-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;P&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;PAIN&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008905-pain-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;PES 2008&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008117-pro-evolution-soccer-2008-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;PES 2009&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009777-pro-evolution-soccer-2009-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Pirates des Caraïbes&amp;#160;: Jusqu&amp;#8217;au Bout du Monde&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007673-pirates-des-caraibes-jusqu-au-bout-du-monde-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;PixelJunk Eden&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010241-pixeljunk-eden-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;PixelJunk Monsters&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008913-pixeljunk-monsters-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Portal&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008553-portal-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Prince of Persia&amp;#160;: Epilogue&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010470-prince-of-persia-epilogue-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Prince of Persia&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010063-prince-of-persia-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Pure&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009657-pure-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;R&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Race Driver&amp;#160;: GRID&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009072-race-driver-grid-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Rainbow Six Vegas 2&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008807-rainbow-six-vegas-2-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Rainbow Six Vegas&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007828-rainbow-six-vegas-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Ratatouille&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007885-ratatouille-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Ratchet And Clank &amp;#8220;Opération Destruction&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008213-ratchet-clank-operation-destruction-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Ratchet And Clank &amp;#8220;Quest for Booty&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009545-ratchet-clank-quest-for-booty-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Resident Evil 5&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010476-resident-evil-5-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Resistance &amp;#8220;Fall Of Man&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007459-resistance-fall-of-man-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Resistance 2&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010019-resistance-2-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Ridge Racer 7&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007461-ridge-racer-7-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Rise of the Argonauts&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010135-rise-of-the-argonauts-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Rock Band&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009643-rock-band-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;S&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;SBK 08&amp;#160;: Superbike World Championship&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009710-sbk-08-superbike-world-championship-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;SCORE International Baja 1000 World Championship Off Road Racing&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010084-score-international-baja-1000-world-championship-off-road-racing-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;SOCOM Confrontation&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010526-socom-confrontation-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Saint Row 2&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009828-saints-row-2-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Savage Moon&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010215-savage-moon-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Sega Mega Drive Ultimate Collection&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010435-sega-megadrive-ultimate-collection-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Sega Rally&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008019-sega-rally-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Sega Superstars Tennis&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008820-sega-superstars-tennis-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Sega Ultimate Collection&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Shaun White Snowboarding&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009970-shaun-white-snowboarding-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;ShellShock 2&amp;#160;: Blood Trails&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010382-shellshock-2-blood-trails-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Sid Meier&amp;#8217;s Civilization Revolution&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009178-civilization-revolution-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Silent Hill&amp;#160;: Homecoming&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010425-silent-hill-homecoming-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Singstar ABBA&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010138-singstar-abba-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Singstar Hits&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010030-singstar-hits-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Singstar&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008524-singstar-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Siren&amp;#160;: Blood Curse&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009469-siren-blood-curse-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Skate 2&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010275-skate-2-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Skate&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008077-skate-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Soldier Of Fortune&amp;#160;: Payback&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008785-soldier-of-fortune-payback-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Sonic Unleashed&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010162-sonic-unleashed-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Sonic the Hedgehog&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007482-sonic-the-hedgehog-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;SoulCalibur 4&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009441-soulcalibur-iv-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;SpiderMan 3&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007647-spider-man-3-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Spiderman &amp;#8220;Web Of Shadows&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009875-spider-man-le-regne-des-ombres-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Splinter Cell Double Agent&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007521-splinter-cell-double-agent-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Spyro &amp;#8220;Dawn Of The Dragon&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009958-la-legende-de-spyro-naissance-d-un-dragon-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Star wars &amp;#8220;The Force Unleashed&amp;#8221;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009639-star-wars-le-pouvoir-de-la-force-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Stranglehold&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008377-stranglehold-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Street Fighter 4&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010391-street-fighter-iv-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Stuntman Ignition&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008008-stuntman-ignition-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Super Stardust&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Supersonic Acrobatic Rocket-Powered Battle-Cars&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010441-supersonic-acrobatic-rocket-powered-battle-cars-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Söldner-X&amp;#160;: Himmelsstürmer&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010181-soldner-x-himmelssturmer-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;T&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;TNA iMPACT!&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009615-tna-impact-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Team Fortress 2&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008554-team-fortress-2-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Tekken 5&amp;#160;: Dark Resurrection Online&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008528-tekken-dark-resurrection-online-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;The Bourne conspiracy&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009248-la-memoire-dans-la-peau-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;The Club&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008641-the-club-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;The Darkness&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007835-the-darkness-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;The Incredible Hulk&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009249-the-incredible-hulk-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;The Last Guy&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010231-the-last-guy-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;The Orange Box&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008556-the-orange-box-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Tiger Woods PGA Tour 07&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007563-tiger-woods-pga-tour-07-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Tiger Woods PGA Tour 08&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008474-tiger-woods-pga-tour-08-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Tiger Woods PGA Tour 09&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009556-tiger-woods-pga-tour-09-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Time Crisis 4&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008917-time-crisis-4-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;TimeShift&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008405-timeshift-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Tom Clancy&amp;#8217;s EndWar&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009951-tom-clancy-s-endwar-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Tom Clancy&amp;#8217;s HAWX&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010465-tom-clancy-s-h-a-w-x-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Tomb Raider Underworld&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010007-tomb-raider-underworld-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Tony Hawk&amp;#8217;s Project 8&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007473-tony-hawk-s-project-8-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Tony Hawk&amp;#8217;s Proving Ground&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008201-tony-hawk-s-proving-ground-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Top Spin 3&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009211-top-spin-3-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Toy Home&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008624-toy-home-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Transformers&amp;#160;: Le Jeu&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007839-transformers-le-jeu-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Trivial Pursuit&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010530-trivial-pursuit-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Turning Point&amp;#160;: Fall Of Liberty&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008816-turning-point-fall-of-liberty-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Turok&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008626-turok-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;U&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;UEFA Euro 2008&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008922-uefa-euro-2008-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Uncharted Drake&amp;#8217;s Fortune&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008316-uncharted-drake-s-fortune-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Unreal Tournament III&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008705-unreal-tournament-iii-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Untold Legends&amp;#160;: Le Royaume des Tenebres&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007616-untold-legends-le-royaume-des-tenebres-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;V&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Valkyria Chronicles&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Vampire Rain&amp;#160;: Altered Species&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009733-vampire-rain-altered-species-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Viking&amp;#160;: Battle for Asgard&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008848-viking-batte-for-asgard-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Virtua Fighter 5&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007474-virtua-fighter-5-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Virtua Tennis 3&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007448-virtua-tennis-3-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Volt&amp;#160;: Star Malgré Lui&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010316-volt-star-malgre-lui-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;W&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WALL-E&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009412-wall-e-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WWE Smackdown Vs. Raw 2008&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008415-wwe-smackdown-vs-raw-2008-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WWE Smackdown Vs. Raw 2009&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009950-smackdown-vs-raw-2009-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WarHawk&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007954-warhawk-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Watchmen&amp;#160;: The End is Nigh&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0001/00010481-watchmen-the-end-is-nigh-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WipEout HD&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Playstation Network, mar. 2009&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_playstation_network.jpg&quot; height=&quot;16&quot; width=&quot;16&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00009684-wipeout-hd-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;World Series of Poker 2008&amp;#160;: Battle for the Bracelets&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00008557-world-series-of-poker-2008-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;World Snooker Championship 2007&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;?&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.jeuxvideo.com/articles/0000/00007485-world-snooker-championship-2007-test.htm&quot;&gt;&lt;img title=&quot;Jeuxvideo.com, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_jeuvideo.com.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;font size=&quot;+1&quot;&gt;&lt;strong&gt;&lt;br /&gt;X&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;X-Blades&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue anglaise, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_en.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;img title=&quot;Langue française, mar. 2009&quot; alt=&quot;&quot; src=&quot;http://blog.tensin.org/public/icons/icon_lang_fr.png&quot; /&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot; align=&quot;right&quot;&gt;&lt;italic&gt;
(1)&amp;#160;: Langue anglaise&lt;br /&gt;
(2)&amp;#160;: Langue française&lt;br /&gt;
(3)&amp;#160;: Jeu Playstation Store&lt;br /&gt;
(4)&amp;#160;: Test du jeu sur JeuVideo.com&lt;br /&gt;
(5)&amp;#160;: Acheter le jeu en ligne&lt;br /&gt;&lt;/italic&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/center&gt;
&lt;br /&gt;&lt;br /&gt;Tableau compilé à partir de différentes sources (notamment &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.metagames-eu.com/&quot;&gt;Metagames.eu&lt;/a&gt; et &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.play3-live.com/forum/index.php?showtopic=37594&quot;&gt;Play3-live.com&lt;/a&gt;). Egalement sur le forum de ce dernier, des tableaux similaires pour les jeux en import US ou JAP&amp;#160;: &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.metagames-eu.com/forums/showthread.php?t=108150&amp;amp;referrerid=49141&quot;&gt;Tableau des langues des jeux PS3&amp;#160;en import sur Metagames&lt;/a&gt; (bien que les achats en Angleterre semblent clairement les plus intéressants).&lt;br /&gt;</description>
    
    
    
          <comments>http://blog.tensin.org/index.php?post/2009/03/22/Tableau-des-langues-des-jeux-PS3-en-import#comment-form</comments>
      <wfw:comment>http://blog.tensin.org/index.php?post/2009/03/22/Tableau-des-langues-des-jeux-PS3-en-import#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.tensin.org/index.php?feed/atom/comments/15</wfw:commentRss>
      </item>
    
</channel>
</rss>