$TITLE="Comment générer des pages Web avec PERL";
$ALT="jlbicquelet";
$IMG="../../img/jean-louis.jpg";
$SITE="http://jlbicquelet.free.fr";
$TITLEPAGE="Comment générer des pages avec PERL";
$PAGE_FRANCAIS="webpage_perl.html";
$PAGE_ANGLAISE="webpage_perl_en.html";
$UPDATE="25 novembre 2004";
$VERSION="1.0";


@menu=(
"e:Présentation",
"i:Objectif de ce site:../../index.html",
"i:mon curriculum Vitae:../../perso/cv.html",
"e:Linux",
"i:Choisir Linux",
"i:Quel Linux?",
"e:Langages de script",
"i:PERL",
"s:Menu mode texte",
"s:Arguments et options",
"s:Génération de page Web:scripting/perl/webpage_perl.html",
"i:Python",
"i:shell",
"e:Techniques web",
"i:introduction",
"e:conseils",
"i:liens à ne pas manquer"
);

$TEXTE= << "_TEXT_"
<P>
L'idée de générer des pages automatiquement avec PERL m'ai venu, avec la génération de ce site.
Maintenir un site avec un menu comme celui-ci n'est ni aisé, ni pratique.
</P>
<P>
Il faut avouer que c'est de style "quick and dirty" (rapide et sâle), mais cela fonctionne!
</P>
<H3></H3>
<P>
</P>
<H3>Utilisation</H3>
<P>
Il faut remplir les champs suivant:
<OL>
<LI>\$TITLE avec le titre à afficherpar le navigateur</LI>
<LI>\$ALT avec le commentaire pour l'image en haut à gauche</LI>
<LI>\$IMG avec le chemin vers l'image</LI>
<LI>\$SITE</LI>
<LI>\$TITLEPAGE avec le titre affiché en haut à droite</LI>
<LI>\$PAGE_FRANCAIS avec le nom du fichier pour la version Française</LI>
<LI>\$PAGE_ANGLAISE avec le nom du fichier pour la version Française</LI>
<LI>\$UPDATE avec la date</LI>
<LI>\$VERSION avec le numéro de version du document</LI>
</OL>
</P>
<P>
Remplir le tableau menu. Il y a une ligne par entrée, trois types d'entrées:
<OL>
<LI>e entrée de menu</LI>
<LI>i (item) menu avec un lien vers une page html</LI>
<LI>s (subitem) sous menu avec un lien vers une page html</LI>
</OL>
</P>
<P>Pour chaque entrée, le caractère ':' sert de séparateur. La deuxième partie sert de texte à afficher.
La troisème (optionnelle) contient un lien éventuel vers une autre page html.
</P>
<P>exemple: <BR><BR>
<I>
 "e:Présentation"<BR>
"i:Curriculum:cv.html"
</I>
</P>
<P>On remplit la partie texte qui contient la page à afficher (à droite en dessous du titre) entre la ligne
<BR><I>\$TEXTE= << "_TEXT_"</I>
<BR><BR>
et la ligne<BR><BR>
<I>"_TEXT_"</I>
</P>
<H3>Téléchargement</H3>
<P>Voici un script d'exemple <A href="webpage.pl">webpage.pl</A>.
</P>

<P>
Il ne reste plus qu'à lancer le programme qui va générer la page:
<BR>
index.pl > index.html
</P>

_TEXT_
;

print << "_HEAD_"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--  -->
<HTML><HEAD><TITLE>$TITLE</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252"><LINK 
href="../../img/perso.css" type=text/css rel=STYLESHEET>
</HEAD>
<BODY text=#202020 vLink=#606060 aLink=#606060 link=#606060 bgColor=#e9e9e9>
<CENTER>
<TABLE cellSpacing=0 cellPadding=1 width=763 bgColor=#a0a0a0 border=0>
  <TBODY>
  <TR>
    <TD vAlign=center align=middle width=761 bgColor=#a0a0a0>
      <TABLE cellSpacing=0 cellPadding=1 width=761 bgColor=#ffffff border=0>
        <TBODY>
        <TR>
          <TD align=middle width=759 bgColor=#ffffff>
            <TABLE cellSpacing=0 cellPadding=0 width=759 bgColor=#ffffff 
            border=0>
              <TBODY>
              <TR>
                <TD align=left width=190 rowSpan=2>&nbsp;

<A href="$SITE"><IMG alt="$ALT" src="$IMG" width=150 border=0></A></TD>

                <TD vAlign=top width=25></TD>
                <TD vAlign=center align=left width=490>

      <TABLE cellSpacing=0 cellPadding=0 width=490 bgColor=#efefef border=0>
      <TBODY>
      <TR>
      <TD  vAlign=center 
       align=middle width=488 height=75 
       background-color:?#efefef??>

<H2><center>$TITLEPAGE </center></H2>

</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>


         <TABLE cellSpacing=0 cellPadding=0 width=759 bgColor=#ffffff 
            border=0>
              <TBODY>
              <TR>
                <TD class=text vAlign=top align=left width=210><BR>
                  <TABLE cellPadding=2 width=194 border=0>
                    <TBODY>
                    <TR>
<!-- ======================================================================================================== -->

<TD class=TITRE>&nbsp;&nbsp; <A class=LIENGRIS href=
"$PAGE_ANGLAISE">
English version 
</A>&nbsp;<FONT color=#808080>|</FONT>&nbsp; <A  class=LIENGRIS href=
"$PAGE_FRANCAIS">
Français 
</A><BR><BR>
<!-- ======================================================================================================== -->

<TABLE cellSpacing=0 cellPadding=1 width=190 bgColor=#cdcdcd border=0>
<TBODY>
<TR>
<TD class=lienn vAlign=center align=middle width=188>
<TABLE cellSpacing=0 cellPadding=1 width=188 bgColor=#efefef border=0>
<TBODY>
_HEAD_
;




foreach $e (@menu)
{
  ($type,$txt,$link)=split(/:/,$e);

  if ($type eq "e")
  {
  print << "_ENTRY_"
<TR><TD width=186 colSpan=2 height=1><IMG height=1 src="../../img/traitgris.gif" width=186> </TD></TR>

<TR> <TD vAlign=center align=left width=40></TD>
<TD class=tg11 vAlign=center align=left width=126>
$txt
</TD></TR>

_ENTRY_
  ;
  }
  
  if ($type eq "i")
  {
  print << "_ITEM_"

<TR><TD onmouseover="this.style.background='#ffffff'" 
onmouseout="this.style.background='#efefef'" bgColor=#f5f5f5 colSpan=2 
cursor:hand;color:#efefef;background-color:?#efefef??>
<IMG alt="" src="../../img/ruz2.gif">&nbsp;&nbsp;
<A class=lienn  href="$link">$txt</A></TD></TR>

_ITEM_
  ;
  }
  

  if ($type eq "s")
  {
  print << "_SUBITEM_"
<TR><TD onmouseover="this.style.background='#ffffff'" onmouseout="this.style.background='#efefef'" 
bgColor=#f5f5f5 colSpan=2  cursor:hand;color:#000000;background-color:?#efefef??>
&nbsp;&nbsp;&nbsp;&nbsp;<IMG alt="" src="../../img/gwer.gif">&nbsp;&nbsp;
<A  class=lienn      href="$link">$txt
</A></TD></TR>

_SUBITEM_
  ;

  }
}

print << "_FOOT_"
</TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><BR>
<TABLE width="100%" border=0>
</TABLE></TD>
          
                 

<!-- ======================================================================================================== -->

  <TD vAlign=top align=left width=520>
 <DIV class=tg12>&nbsp;</DIV>
 <DIV class=tg12>

$TEXTE

</DIV>
</TD></TR>
              <TR>
                <TD class=tg11 align=left bgColor=#ffffff colSpan=5><BR>
<!-- ======================================================================================================== -->

<br><br>
<HR SIZE=1>

<TT>
<STRONG>Update:</STRONG>$UPDATE 
<BR><STRONG>Version:</STRONG> $VERSION
<BR><STRONG>Author:</STRONG>
Jean-Louis Bicquelet-Salaün
<BR><STRONG>Location:</STRONG> <A HREF="http://jlbicquelet.free.fr/">http:/jlbicquelet.free.fr/index.html</A>
<BR><STRONG>Copyright:</STRONG> (c) 2004 Jean-Louis BICQUELET-SALAÜN
</TT>

</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></CENTER></BODY></HTML>
_FOOT_
;