<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
 <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <META NAME="GENERATOR" CONTENT="lfparser_2.31">
 <META NAME="LFCATEGORY" CONTENT="UNIXBasics">
 <link rel="icon" HREF="../../common/images/lf-16.png" TYPE="image/png">
 <TITLE>lf222, UNIXBasics:  Ex&eacute;cution d'applications distantes avec X11</TITLE>
<style type="text/css">
<!--
 td.top {font-family: Arial,Geneva,Verdana,Helvetica,sans-serif; font-size:12 }
 pre { font-family:monospace,Courier }
 p.cl { color:#EE9500 }
 a.nodec { text-decoration:none }
 p.trans { font-size:8pt; text-align:right }
 p.clbox { width:50%; alignment:center; background-color:#FFD700; 
           border-style:none; border-width:medium; border-color:#FFD700; 
           padding:0.5cm;  text-align:center }
 p.code { width:80%; alignment:center; background-color:#aedbe8; 
          border-style:none; border-width:medium; border-color:#aedbe8; 
          padding:0.1cm;  text-align:left }
 p.foot { background-color:#AAAAAA; color:#FFFFFF; border-style:none; 
          border-width:medium; border-color:#AAAAAA; padding:0.5cm ; 
          margin-top:0.1cm; margin-right:1cm; margin-left:1cm; 
          text-align:center }
 .mark  { background-color:#e6e6ff }
-->
</style>
 
</HEAD>
<BODY bgcolor="#ffffff" text="#000000">
 <!-- this is generated html code. NEVER use this file for your
 translation work. Instead get the file with the same article number
 and .meta.shtml in its name. Translate this meta file and then
 use lfparser program to generate the final article -->
 <!-- lfparser can be obtained from http://www.linuxfocus.org/~guido/dev/lfparser.html -->

<!-- this is used by a number of tools:
 =LF=AUTHOR: Guido     Socher
 =LF=CAT___: UNIXBasics
 =LF=TITLE_:  Ex&eacute;cution d'applications distantes avec X11
 =LF=NUMBER: 222
 =LF=ANAME_: article222.shtml
 -->

<!-- 2pdaIgnoreStart -->

<!-- start navegation bar -->
 <!-- top navegation bar -->
 <TABLE summary="topbar_1" cellspacing="0" cellpadding="0" border="0" align="center" width="90%">
   <TR bgcolor="#2e2292">
     <TD class="top"><TABLE summary="topbar_1_logo" cellspacing="0" cellpadding="0" border="0" width=
       "100%">
         <TR><TD width="319"><IMG src="../../common/images/logolftop_319x45.gif"
           alt="[LinuxFocus-icon]" width="319" height="45" align="left" 
           border="0"></TD>

           <TD class="top">
             <TABLE summary="topbar_1_links" width="100%">
               <TR align="right">
                 <TD class="top"><A class="nodec" href="../index.shtml"><FONT color=
                 "#DDDDDD" size="2">Sommaire</FONT></A> &nbsp;|&nbsp; <A class=
                 "nodec" href="../map.html"><FONT color=
                 "#DDDDDD" size="2">Carte</FONT></A> &nbsp;|&nbsp; <A class="nodec" href="../Themes/index.html"><FONT color=
                 "#DDDDDD" size="2">Index</FONT></A> &nbsp;|&nbsp; <A class="nodec" href="../Search/index.html"><FONT color=
                 "#DDDDDD" size="2">Recherche</FONT></A> </TD>
               </TR>

               <TR align="right">
                 <TD class="top">
                   <HR width="100%" noshade size="1">
                 </TD>
               </TR>
             </TABLE>
           </TD>
         </TR>
       </TABLE>
     </TD>
   </TR>
 </TABLE>
 <!-- end top navegation bar -->
 <!-- blue bar -->
 <TABLE summary="topbar_2" cellspacing="0" cellpadding="0" border="0" align="center"
 width="90%">
   <TR bgcolor="#00ffff">
     <TD><IMG src="../../common/images/transpix.gif" width="1" height=
     "2" alt=""></TD>
   </TR>
 </TABLE>
 <!-- end blue bar -->
 <!-- bottom navegation bar -->
 <TABLE summary="topbar_3" cellspacing="0" cellpadding="0" border="0" align="center"
 width="94%">
   <TR bgcolor="#000000">
     <TD>
       <TABLE summary="topbar_3_links" cellspacing="0" cellpadding="1" border="0" width=
       "100%">
         <TR align="center">
           <TD WIDTH="20%"><A class="nodec" href="../News/index.shtml"><FONT color=
           "#FFFFFF">Nouvelles</FONT></A> </TD>
           <TD WIDTH="5%"><FONT color="#FFFFFF">|</FONT> </TD>
           <TD WIDTH="20%"><A class="nodec" href="../Archives/index.html"><FONT color=
           "#FFFFFF">Archives</FONT></A> </TD>
           <TD WIDTH="5%"><FONT color="#FFFFFF">|</FONT> </TD>
           <TD WIDTH="20%"><A class="nodec" href="../Links/index.html"><FONT color=
           "#FFFFFF">Liens</FONT></A> </TD>
           <TD WIDTH="5%"><FONT color="#FFFFFF">|</FONT> </TD>
           <TD WIDTH="20%"><A class="nodec" href="../aboutus.html"><FONT color=
           "#FFFFFF">A propos</FONT></A> </TD>
         </TR>
       </TABLE>
     </TD>
   </TR>
 </TABLE>
 <!-- end bottom navegation bar -->
<!-- stop navegation bar -->

<!-- SSI_INFO -->

<!-- tr_staticssi include virtual -->
<!-- tr_staticssi exec cmd -->
<!-- addedByLfdynahead ver 1.1 --><TABLE ALIGN="right" border=0><TR><TD ALIGN="right"><FONT SIZE="-1" FACE="Arial,Helvetica">Cet article est disponible en: <A href="../../English/January2002/article222.shtml">English</a> &nbsp;<A href="../../Castellano/January2002/article222.shtml">Castellano</a> &nbsp;<A href="../../ChineseGB/January2002/article222.shtml">ChineseGB</a> &nbsp;<A href="../../Deutsch/January2002/article222.shtml">Deutsch</a> &nbsp;<A href="../../Francais/January2002/article222.shtml">Francais</a> &nbsp;<A href="../../Italiano/January2002/article222.shtml">Italiano</a> &nbsp;<A href="../../Nederlands/January2002/article222.shtml">Nederlands</a> &nbsp;<A href="../../Portugues/January2002/article222.shtml">Portugues</a> &nbsp;<A href="../../Russian/January2002/article222.shtml">Russian</a> &nbsp;<A href="../../Turkce/January2002/article222.shtml">Turkce</a> &nbsp;<A href="../../Arabic/January2002/article222.shtml">Arabic</a> &nbsp;</FONT></TD></TR></TABLE><br>
 


<!-- SSI_INFO STOP -->
<!-- 2pdaIgnoreStop -->

<!-- SHORT BIO ABOUT THE AUTHOR -->
<TABLE ALIGN=LEFT BORDER=0  WIDTH="190" summary="about the author">
<TR>
<TD>

<!-- 2pdaIgnoreStart -->
<!-- PALM DOC -->
<TABLE BORDER=0 hspace=4 vspace=4 summary="pda download"> <TR> <TD>
<font size=1> <img src="../../common/images/2doc.gif" width=34 align=left border=0 height=22 alt="convert to palm"><a href="http://cgi.linuxfocus.org/cgi-bin/2ztxt">Convert to GutenPalm</a><br>or <a href="http://cgi.linuxfocus.org/cgi-bin/2pda">to PalmDoc</a></font>
</TD> </TR> </TABLE>
<!-- END PALM DOC -->
<!-- 2pdaIgnoreStop -->
<br>
<IMG src="../../common/images/Guido-S.gif" alt=
    "[Photo of the Author]" height="164" width="173">
<BR>par  Guido Socher <a href="http://linuxfocus.org/~guido/"><font size="1">(homepage)</font></a>
<BR><BR>
<I>L&acute;auteur:</I><BR>
<P> Guido adore Linux non seulement parce qu'il est int&eacute;ressant de d&eacute;couvrir
    le fonctionnement des syst&egrave;mes d'exploitation mais aussi &agrave; cause des personnes impliqu&eacute;es dans sa conception.

</P>
<!-- TRANSLATED TO fr -->
<BR><BR><I>Traduit en Fran�ais par:</I><BR>
Olivier Pons <small>&lt;pons(at)cnam.fr&gt;</small>
<br>
<!--
 =LF=TRANSTO=fr: Olivier Pons
-->
<!-- TRANSLATED TO STOP -->
<BR><i>Sommaire</i>:
<UL>
  <LI><A HREF="#222lfindex0">Le concept d'affichage</A></LI>
  <LI><A HREF="#222lfindex1"> Lancement d'une application &agrave; distance
</A></LI>
  <LI><A HREF="#222lfindex2"> Variable DISPLAY &agrave; emporter
</A></LI>
  <LI><A HREF="#222lfindex3"> OpenGL
</A></LI>
  <LI><A HREF="#222lfindex4"> Conclusion
</A></LI>
  <LI><A HREF="#222lfindex5">Links</A></LI>
  <LI><A HREF="http://cgi.linuxfocus.org/cgi-bin/lftalkback?anum=222&amp;lang=fr">Discussion sur cet article</A></LI>
</UL>

</TD></TR></TABLE>
<!-- HEAD OF THE ARTICLE -->
<br>&nbsp;
<H2> Ex&eacute;cution d'applications distantes avec X11</H2>
 <IMG src="../../common/images/illustration222.gif" width="178"
    height="90" alt="[Illustration]" hspace="10">
<!-- ABSTRACT OF THE ARTICLE -->
<P><i>R&eacute;sum&eacute;</i>:
<P>


     Beaucoup de nouveaux venus &agrave; Linux  pensent que son
     bureau graphique est juste un autre syst&egrave;me "&agrave; la
     Windows" o&ugrave; vous pouvez lancer des applications qui vont
     appara&icirc;tre dans des fen&ecirc;tre s&eacute;par&eacute;es.  Certains remarquent la
     possibilit&eacute; d'avoir plusieurs bureaux mais &ccedil;a semble
     s'arr&ecirc;ter l&agrave;.  Le syst&egrave;me de fen&ecirc;trage X Window de Linux (X11)
     est beaucoup plus que cela !  C'est un syst&egrave;me de fen&ecirc;trage
     r&eacute;seau.  Nous verrons les nouvelles et puissantes
     fonctionnalit&eacute;s que cela offre.

 
<br><!-- HR divider --><center><font color="#8282e0"><b>_________________ _________________ _________________</b></font></center><br> 
<!-- BODY OF THE ARTICLE -->


    <A NAME="222lfindex0">&nbsp;</A>
<H2>Le concept d'affichage</H2>


    <P> Lors de son lancement, chaque application graphique de X  Window lit la variable d'environnement DISPLAY pour d&eacute;couvrir
l'&eacute;cran d'ordinateur auquel envoyer ses graphiques. Si on ajoute les capacit&eacute;s
r&eacute;seau du syst&egrave;me X Window, ceci  permet d'ex&eacute;cuter des applications graphiques
&agrave; distance.  C'est-&agrave;-dire que vous utilisez la puissance du processeur d'une
machine alors que vous ex&eacute;cutez l'application &agrave; partir d'une autre.

L'interface graphique compl&egrave;te appara&icirc;t sur la machine d'o&ugrave; vous l'ex&eacute;cutez. Vous ne remarquez pas que vous utilisez 2
ordinateurs.<BR>
     La vitesse du r&eacute;seau est naturellement importante ici mais
une connexion locale &agrave; 10Mbit/s est plus que suffisante.
</P>
<BR>

    <CENTER>
      <IMG src="../../common/images/article222/remote.gif" width="200"
      height="150" alt="[lancement d'une application &agrave; distance]">
    </CENTER>
    <BR>


    <P> A quoi &ccedil;a sert ?
<BR>
     Il existe de nombreuses applications de ce "graphisme r&eacute;seau".
Des entreprises l'utilisent pour g&eacute;rer &agrave; distance du mat&eacute;riel
pouvant se trouver &agrave; des milliers de kilom&egrave;tres et emploient pour le contr&ocirc;ler,
la m&ecirc;me application que celle qui aurait servi en &eacute;tant sur place.
<BR>
 Supposons que vous ayez 2 ordinateurs, une machine rapide &agrave; 1GHz  et
un vieux Pentium &agrave; 133MHz. Vous pouvez d'autant plus appr&eacute;cier la vitesse de votre
nouvelle machine que vous n'&ecirc;tes pas assis devant elle.
Votre soeur est peut-&ecirc;tre actuellement assise devant la machine rapide et
travaille avec. Aucune importance, vous continuez &agrave; en b&eacute;n&eacute;ficier.
<BR>
    <IMG src="../../common/images/article222/disply.gif" width="256"
    height="200" alt="[ecran]" align="right" hspace="10" vspace="10">
     Comment &ccedil;a marche
<BR>
     Toutes les applications X Window, qu'elles se nomment
gimp, xterm, konquerer, Netscape... sont vraiment des clients r&eacute;seau
 qui se connectent &agrave; un serveur, le serveur X.  La t&acirc;che du
serveur X est de communiquer avec le mat&eacute;riel graphique, de dessiner les images
sur votre &eacute;cran, de lire les entr&eacute;es souris et clavier. Les clients
(vos programmes tels que gimp, Netscape...) envoient les
instructions au serveur sur la fa&ccedil;on de dessiner les cadres et les
boutons.  En &eacute;change, ils re&ccedil;oivent du serveur les &eacute;v&egrave;nements
 souris et  clavier.  De toute &eacute;vidence, vous avez besoin d'un certain
type d'authentification, sinon n'importe qui
pourrait mettre la pagaille sur l'&eacute;cran de tout le monde. Deux
programmes peuvent contr&ocirc;ler l'acc&egrave;s:
<BR>
     - xhost :  en utilisant ce programme vous pouvez permettre &agrave;
n'importe quel utilisateur sur une machine donn&eacute;e d'&eacute;crire des
graphiques sur votre &eacute;cran.  Exemple :  vous &ecirc;tes assis devant une
machine nomm&eacute;e philosophus. Pour permettre &agrave;
n'importe quel programme sur l'h&ocirc;te movietux d'acc&eacute;der &agrave; votre &eacute;cran sur
philosophus vous tapez la commande :
</P>

    <P class="code"> xhost +movietux
<BR>
    <I> Ceci doit &ecirc;tre tap&eacute; dans un shell sur philosophus
</I></P>
    <BR>
     - xauth :  C'est une authentification beaucoup plus sophistiqu&eacute;e bas&eacute;e sur
     l'usage de cl&eacute;s (cookies).  Ici vous pouvez vraiment d&eacute;finir
des acc&egrave;s individuels.  C'est beaucoup plus s&ucirc;r que xhost.
 L'authentification utilise une cl&eacute; (cookie) enregistr&eacute;e dans le
fichier .Xauthority dans le r&eacute;pertoire home de l'utilisateur. Si la
machine distante dispose d'une cl&eacute; valide dans ce fichier
alors l'acc&egrave;s est autoris&eacute;.  Pour copier la cl&eacute; de la machine
 devant laquelle vous &ecirc;tes assis (philosophus) sur l'h&ocirc;te duquel vous voulez
d&eacute;marrer le programme (movietux), vous pouvez utiliser une des
m&eacute;thodes suivantes :
    <P class="code">xauth extract - philosophus:0.0 | ssh movietux
    /usr/X11R6/bin/xauth merge<BR>
ou
<BR>
    scp ~/.Xauthority movietux:</P>
    <BR>
     Le proc&eacute;d&eacute; &agrave; la mise en route d'un programme (client) est le suivant:


<OL>
      <LI> Le client contr&ocirc;le la variable d'environnement DISPLAY
pour trouver le serveur, &agrave; d&eacute;faut, il essaie de se connecter sur le serveur de
cet h&ocirc;te.
</LI>

      <LI> Le serveur v&eacute;rifie que le client est autoris&eacute; &agrave; lui envoyer
des "images".  Si le client est reconnu, alors le serveur dessine
l'image sur l'&eacute;cran.
</LI>
    </OL>
     La variable d'environnement DISPLAY a la syntaxe
suivante :

 <P class="code"><I>bash:</I>export
    DISPLAY=hostname:displaynumber.screennumber<BR>
    <I>tcsh:</I>setenv DISPLAY hostname:displaynumber.screennumber</P>
     Je ne parlerai pas ici du displaynumber et du screennumber.
     Normalement c'est simplement 0:0.  Un exemple pour bash serait :


    <P class="code">export DISPLAY=philosophus:0.0</P>


    <A NAME="222lfindex1">&nbsp;</A>
<H2> Lancement d'une application &agrave; distance
</H2>

     Apr&egrave;s toute la th&eacute;orie voyons maintenant un exemple pratique.
Essayez-le.  Nous sommes encore assis devant l'ordinateur
appel&eacute; philosophus et nous voulons lancer quelque chose &agrave; distance depuis
movietux.


<OL>
      <LI> Informez votre serveur X que les clients de
movietux sont autoris&eacute;s &agrave; dessiner des images sur votre &eacute;cran :
<BR>
       xhost +movietux
</LI>

      <LI>connectez-vous &agrave; la machine distante movietux :
<BR>
       slogin -l username movietux
</LI>

      <LI>vous &ecirc;tes maintenant connect&eacute; &agrave; movietux et chaque commande
que vous tapez est ex&eacute;cut&eacute;e sur movietux
</LI>

      <LI> export DISPLAY=philosophus:0.0
</LI>

      <LI>lancez le programme.  Par exemple :
<BR>
       netscape &amp;
</LI>
    </OL>
     Si movietux est une machine puissante, vous noterez
que le rendu des pages HTML dans Netscape est beaucoup plus rapide
que lorsque vous l'ex&eacute;cutez sur votre propre machine. En m&ecirc;me
temps vous ne remarquerez pas vraiment, d'un point de vue utilisation, que ce
Netscape n'est pas lanc&eacute; localement car vous le manipulerez de
la m&ecirc;me mani&egrave;re avec la souris et le clavier.
<BR>
     Sympa, non ?


<A NAME="222lfindex2">&nbsp;</A>
<H2> Variable DISPLAY &agrave; emporter
</H2>

     Bien qu'il soit facile d'ex&eacute;cuter une application &agrave;
distance, il reste ce petit suppl&eacute;ment de frappe requis pour d&eacute;finir la variable
DISPLAY. Il est possible de l'automatiser :


<UL>
      <LI> Si vous utilisez ssh pour vous connecter
&agrave; la machine distante, la variable DISPLAY est automatiquement
d&eacute;finie. D'autres programmes de connexion &agrave; distance supportent la variable
DISPLAY mais ssh est tr&egrave;s r&eacute;pandu.
</LI>

      <LI>
         Si vous utilisez slogin ou d'autres commandes, vous
pouvez installer les scripts suivants sur la machine distante
<BR>
         Pour tcsh :


<P class="code"> # emportez votre variable display avec vous lors de la connexion
distante :<BR>
         # mettez-la dans votre fichier ~/.login<BR>
        set whoami=`who -ml`<BR>
        set remhost=`expr "$whoami" : '.*(\(.*\))'`<BR>
        if ( "$remhost" != "" ) then<BR>
         setenv DISPLAY "$remhost":0.0<BR>
        endif</P>
         Ce script fonctionne en r&eacute;cup&eacute;rant le nom
de l'h&ocirc;te distant &agrave; partir de la commande "who -ml". Cette commande
retourne quelque chose du genre

 <P class="code">&gt;who -ml<BR>
        movietux!guido pts/3 Oct 26 21:55 (philosophus.tux.org)</P>

         Si vous utilisez bash, il vous faut le script suivant :


<P class="code"> # emportez votre variable display avec vous lors de la connexion
distante :<BR>
         # mettez-la dans votre ~/.bash_profile<br>
         whoami=`who -ml`<BR>
         remhost=`expr "$whoami" : '.*(\(.*\))'`<BR>
         if [ -n "$remhost" ]; then<BR>
         DISPLAY="$remhost":0.0<BR>
         export DISPLAY<BR>
         fi</P>

        <A NAME="222lfindex3">&nbsp;</A>
<H2> OpenGL
</H2>

        Si les capacit&eacute;s r&eacute;seau du
syst&egrave;me X  Window sont tr&egrave;s bonnes, les graphiques sont un peu
plus lents du fait que vous envoyez les donn&eacute;es par un
protocole de r&eacute;seau.  Normalement vous ne verrez pas grande
diff&eacute;rence.
<br><br>
         Les applications gourmandes en ressources, telles que
les jeux au graphisme intensif sont habituellement bas&eacute;es sur OpenGL
(Open Graphics Library) et GLX (extension d'OpenGL au
syst&egrave;me X Window).  Ces biblioth&egrave;ques fournissent une
interface de programmation ind&eacute;pendante du mat&eacute;riel autorisant
l'acc&egrave;s direct aux composants d'acc&eacute;l&eacute;ration 3D des cartes
graphiques. Autrement dit : l'application envoie la description d'un objet
sous forme de points, lignes et polygones &agrave; la carte graphique qui g&eacute;n&egrave;re tout le rendu en interne.
Le graphisme devient tr&egrave;s rapide.
<br><br>
         Actuellement, la plupart des gestionnaires de cartes graphiques pour
Linux ne supportent pas l'acc&eacute;l&eacute;ration GLX/OpenGL pour les applications
distantes.  Ils ne
supportent l'acc&eacute;l&eacute;ration que pour des applications
locales.  Le r&eacute;sultat, c'est que les applications OpenGL lanc&eacute;es &agrave; distance ont du mal &agrave; d&eacute;marrer et sont vraiment lentes.  Une
exception vient des gestionnaires propri&eacute;taires de NVidia.  Ils ont
une interface de rendu direct qui supporte le rendu indirect pour les
applications distantes.


<A NAME="222lfindex4">&nbsp;</A>
<H2> Conclusion
</H2>

         L'utilisation de la puissance de calcul de votre r&eacute;seau est
tr&egrave;s facile avec X11. Vous pouvez travailler avec des applications
distantes de la m&ecirc;me mani&egrave;re qu'avec les applications locales. La seule diff&eacute;rence que
vous rencontrerez, c'est la possibilit&eacute; de voir les fichiers et le r&eacute;pertoire
home de la machine distante.  Cependant, avec NFS et
NIS install&eacute;s, vous pouvez masquer cette petite diff&eacute;rence et
utiliser la pleine puissance du processeur des
machines les plus rapides de vos r&eacute;seaux sans m&ecirc;me y penser.

<A NAME="222lfindex5">&nbsp;</A>
<H2>Links</H2>

        <A href="http://www.x.org/">X11 syst&egrave;me, x.org</A><BR>
        <A href="http://www.xfree86.org/">xfree86.org</A> Le syst&egrave;me X11
        sous Linux<BR>
      </LI>
    </UL>
  

           <!-- vim: set sw=2 ts=2 et tw=80: -->


<!-- 2pdaIgnoreStart -->
<A NAME="talkback">&nbsp;</a>
<h2>Discussion sur cet article</h2>
Chaque article poss&egrave;de sa page de discussion. Vous pouvez y soumettre un commentaire ou lire ceux d&acute;autres lecteurs:
<center>
<table border="0"  CELLSPACING="2" CELLPADDING="1" summary="tb-button-outerpart">
 <tr BGCOLOR="#C2C2C2"><td align=center>
  <table border="3"  CELLSPACING="2" CELLPADDING="1" summary="tb-button">
   <tr BGCOLOR="#C2C2C2"><td align=center>
    <A href="http://cgi.linuxfocus.org/cgi-bin/lftalkback?anum=222&amp;lang=fr"><b>&nbsp;page de discussion&nbsp;</b></a>
   </td></tr></table>
</td></tr></table>
</center>

<HR size="2" noshade>
<!-- ARTICLE FOOT -->
<CENTER><TABLE WIDTH="98%" summary="footer">
<TR><TD ALIGN=CENTER BGCOLOR="#9999AA" WIDTH="50%">
<A HREF="../../common/lfteam.html">Site Web maintenu par l&acute;&eacute;quipe d&acute;&eacute;dition LinuxFocus</A>
<BR><FONT COLOR="#FFFFFF">&copy; Guido     Socher, <a href="../../common/copy.html">FDL</a> <BR><a href="http://www.linuxfocus.org">LinuxFocus.org</a></FONT>
</TD>
<TD BGCOLOR="#9999AA">
<!-- TRANSLATION INFO -->
<font size=2>Translation information:</font>
<TABLE summary="translators">
  <tr><td><font size="2">en --&gt; -- : Guido Socher (<a href="http://linuxfocus.org/~guido/"><font size="1">homepage</font></a>)</font></td></tr>
  <tr><td><font size="2">en --&gt; fr: Olivier Pons &lt;pons(at)cnam.fr&gt;</font></td></tr>
</TABLE>
</TD>
</TR></TABLE></CENTER>
<p><font size=1>2002-10-04, generated by lfparser version 2.31</font></p>
<!-- 2pdaIgnoreStop -->
</BODY>
</HTML>