#!/usr/bin/perl -w
#!perl -w
# remd: Créera un cartouche menu servant à accéder au fichiers alphabétiquement. Dans un *
# premier temps il enregistre un fichier menu.html qui contiendra ce cartouche puis il   *
# listera le contenu d'un repertoires de publication, classe les fichiers meta en les    *
# sélectionnant alphabétiquement et créé des listes comme :liste_a.html liste_b.html ... *
# (Il y aura plusieurs possibilités de tri sur les versions à venir(par nature)).        *
# Dans ces listes  le noms  des  fichiers apparaitra  sous forme de liens ainsi que leur *
# taille leur date de publication et un petit topo de 2-3 lignes pour les définir (quoi) *
#                                                                                        *
# note: Ce script ne touche pas à votre repertoire de publication il ne fait que lire les*
# noms de fichiers et créé un menu et des listes, sans jamais écraser quoique ce soit.   *
# ---------------------------------------------------------------------------------utf8  *
# écris par Alain Adelmar aadelmar@numericable.fr peut fonctionner sur tout OS (Lx, M$)  *
# Multi environement (Linux, MicroSoft, msys, cygwin)   _   vers:1.5 (26/06/11)          *
# Usage: mk-menu-alpha-html.pl [-c] [repertoire_de_publication]                          *
#      	-c complet incorpore aussi les images dans les listes                            *
#      	-p personnaliser ajouter vos propre paramètres (auteur, adresse_email, etc...)   *
#      	-r pour remd: ajoute quelques lignes explicatives                                *
# mk-menu-alpha-html.pl           pour traiter le repertoire courant (defaut) :          *
# ------------------écrit par alain Adelmar -------------------------------------------  *
# Enjoyed, that's a aadelmar's script, fun free and french  06/2011  "hé, ouai mon pote" *
#----------------------------------------------------------------------------------------* 

#use strict;
use warnings;
use Cwd;
my $dir = cwd;
#use File::stat;

# traitement du temps pour date et heure en français
(my $sec,my $min,my $heure,my $mjour,my $mois,my $annee,my $sjour,my $ajour,my $isdst) =  localtime(time);
my @lssjour = qw( Dim Lun Mar Mer Jeu Ven Sam);
my @lssmois = qw ( Janvier Fevrier Mars Avril Mai Juin Juillet Aout Septembre Octobre Novembre Decembre );

my $french_date_now = "$lssjour[$sjour] $mjour $lssmois[$mois] " . ($annee+=1900) . " - $heure:$min:$sec";

my $fr_date_file = "";      # initialisation de date fichier par &datefile
#my $model = "ctime";     # peut être mis à a pour acces| c pour change | m pour modif
my $mode = 9;

my $vers = '1.5';
my $auteur = "Adelmar Alain";       						# avec l'option -p entrer vos propre coordonnées
my $adresse_mail = 'aadelmar@numericable.fr';
my $adresse_postale = '6 rue de Tunis 33600 Pessac';
my $adresse_pub1 = 'http://perso.numericable.fr/aadelmar';
my $adresse_pub2 = 'http://aadelmar.free.fr/';	#--------a là
my $vide = " " x 30;
my $x ="*-" x 25;
my $tiret = "-" x50;
my $nlr = my $gnus = my $u = my $datenum = 0;
my $al = "\t=== A_l_a_i_n -\/\/- A_d_e_l_m_a_r ===      |";
my $lbl = "$x\n$al\n\t$0:\t$vers\n$x\n\n";
my $lbl_titre = "";		# titre de la page créé (menu ou liste ou rep_)
my $mi = "<hr\>alain Adelmar <a href=\"mailto:aadelmar\@free.fr\"\>aadelmar\@numericable.fr<\/a\>\n";
my $rem = my $reptmp = my $l = my $f = "";
my $argv = my $file = "";
my $d = "";					# repertoire (de travail) entrer par l'utilisateur
my $rpath_fliste = "";		# adresse reelle des listes
my @ls_rpath_fliste = ""; 	# liste des fichier créés dans la session en vue de créer le footer
my @contenu = my @remd = "";
my $fr_datenum_file= "";
my $line = my $filename = my $filelbl = "";
my $cj = my $ptaille = my $format_d = "";
my $taille = 0;
my $fout = "";
my $fout_dat = my $fliste = my $lettre = "";
my $menu_debut = "&nbsp;" . '<table BORDER COLS=3 WIDTH="100%" >'
  . "<tr\>\n<td\><a NAME=\"menu_top\"\>" . '</a><table BORDER COLS=7 WIDTH="100%" >'
  . "\n<tr\>\n";
my $z = "";
my $vierge = 0;
my $commentaire = '<!-- ne pas bouger ce commentaire, svp -->';
my $pied = '  <!-- pied de page -->';
my $ford = "";
my @nwcontenu = "";


if (@ARGV) {
  if($ARGV[0] =~ /^-/) {
    s/-//;
    $argv = $ARGV[0];
    print "argv vaut $argv\n";
    $d = $ARGV[1];
    print "$x\n$al\n\n$x\n\n";
  }
  else {
    $d = $ARGV[0];
    print "$x\n$al\n\n$x\n\n";
  }
}
else {
  print "usage: rep2html [répértoire] \n";
  print "Indiquez le dossier a traiter:\n";
  chomp($d = <STDIN>);
}

#-------traiter les paramêtres utilisateur----
if($argv =~ /p/) {
  # le nom prenom
  print "veuillez entrer votre [nom prenom] pour indiquer l'auteur des pages\n";
  $auteur = <STDIN>;
  chomp $auteur;
  # l'adresse email
  print "veuillez entrer votre [adresse email] comme toto\@lala.fr pour renseigner la page menu\n";
  $adresse_mail = <STDIN>;
  chomp $adresse_mail;
  # l'adresse postale
  print "veuillez entrer votre [adresse postale] comme \"6 rue bubu 45000 Tralala Grosland\""
    . "pour renseigner la page menu\n";
  my $adresse_postale = <STDIN>;
  chomp $adresse_postale;
  # l'adresse de votre premier site de publication, (page perso, blog)
  print "veuillez entrer votre [adresse de publication] principale comme \n"
    . "http://aadelmar.free.fr/ pour renseigner la page menu\n";
  my $adresse_pub1 = <STDIN>;
  chomp $adresse_pub1;
  # l'adresse de votre second site de publication, (page perso, blog)
  print "veuillez entrer votre seconde [adresse de publication] comme \n"
    . "http://aadelmar.free.fr/ pour renseigner la page menu\n";
  my $adresse_pub2 = <STDIN>;
  chomp $adresse_pub2;
}





format STDOUT_TOP =
Page @<<
$%

 Fichier                       Taille (oc)      Date du dernier changement
=======================      ==============    ===========================
.


if ($d eq "") {
  $d = $dir;
}
else {
  unless (-d $d) {
    print "Entrez un chemin de fichier valide:\n";
    $d = <STDIN>;
    chomp $d;
  }
}

if ($^O=~ /[msys|cygwin|gnu]$/) {
  $gnus++;
  print "this is a real gnu OS, congratulation\n";
}
elsif ($ENV{"PATH"}=~ /^\//) {
  $gnus++;
  print "this is a real gnu OS, congratulation\n";
}

my @gnul = ("\\", "\/");
my $slash = $gnul[$gnus];
my @ds = split(/$slash/, $d);
my $ds = pop @ds;

my $ext_html = ".html";
my $ext_dat = ".dat";
$fout = "rep_" . "$ds$ext_html";
&gnotise($fout);
$fout_dat = "rep_" . "$ds$ext_dat";
&gnotise($fout_dat);

open OUT, ">$fout" or die "Ouverture du fichier rep impossible $!";
$lbl_titre = "liste d&eacute;taill&eacute; de $d";
&header("OUT");
print OUT "<h1\>Liste des fichiers de $d<\/h1\><br>\n";
print OUT "Edit&eacute; automatiquement par le script $0 vers:$vers d\'Adelmar Alain le: "
  . $french_date_now . "\nn\'eff&eacute;ctuez pas de modifications (SVP)\.\n<hr\>\n";


open OUTDAT, ">$fout_dat" or die "Screugneugneu $fout_dat ne veux pas souvrir $!";
print OUTDAT "Edité automatiquement par le script $0 le: $french_date_now\nn\'"
  . "efféctuez pas de modifications (SVP)\.\n";

my $menu = "$d$slash" . "menu.html";
unless (-e $menu) {
  open MENU, ">$menu" or die "Ouverture de $menu impossible $!";
  # création du cartouche
  # entete
  $lbl_titre = "menu alphabetique et par genre du site";
  &header("MENU");
  &onglet_menu("MENU");
  
  print MENU '  <table BORDER COLS=3 WIDTH="100%" STYLE="background-image: url(bkgnd15.gif)">' . "\n";
  print MENU '  <tr>' . "\n";
  print MENU '  <td><a NAME="menu_top"></a>' . "\n";
  print MENU '  <table BORDER COLS=7 WIDTH="100%" >' . "\n";
  print MENU '  <tr>' . "\n";
  
  # mettre boucle de a-z
  my $renvoi = 0;
  my @az = ("a".."z");
  foreach (@az) {
    if($renvoi <= 6) {
      print MENU '	<td><font face="Georgia" size=+1><a href="liste_'
	. $_ . '.html#a_top"><center>' . $_ . '</center></a></font></td>'
	  . "\n";
      $renvoi++;
    }
    else {
      print MENU '	</tr>' . "\n\n\t" . '  <tr>' . "\n";
      $renvoi = 0;
      print MENU '	<td><font face="Georgia" size=+1><a href="liste_'
	. $_ . '.html#a_top"><center>' . $_ . '</center></a></font></td>' . "\n";
    }
  }
  print MENU '	</tr>' . "\n\n\t" . '  </table>' . "\n\n";
  print MENU '  <center><a NAME="recherche"></a><FONT COLOR="#FF0000"><a href="recherche.html">'
    . 'Recherche</a></FONT></center>' . "\n";  
  print MENU '  </td>' . "\n\n" . '  <td>' . "\n\n";
  print MENU '  <center><img SRC="al_sigle_5.gif" height=107 width=117></center>' . "\n";
  print MENU '  </td>' . "\n";
  print MENU '  <td>&nbsp;&nbsp;  ' . $auteur . '&nbsp;&nbsp;' . "\n";
  print MENU '  <br>&nbsp;&nbsp;  <a href="' . $adresse_mail . '">' . $adresse_mail . '</a>' . "\n";
  print MENU '  <br>&nbsp;&nbsp;  ' . $adresse_postale . "\n";
  print MENU '  <br>&nbsp;&nbsp;  <a href="' . $adresse_pub1 . '">' . $adresse_pub1 . '</a>' . "\n";
  print MENU '  <br>&nbsp;&nbsp;  <a href="' . $adresse_pub1 . '">' . $adresse_pub1 . '</a></td>' . "\n";
  print MENU '  </tr>' . "\n" . '  <tr>' . "\n" . '  <td>' . "\n";
  print MENU '  <center><a NAME="_top"></a><a href="index.html">Index du site</a></center>' . "\n";
  print MENU '  </td>' . "\n\n" . '  <td>' . "\n";
  print MENU '  <center><a NAME="informgnl_tab"></a><a href="informatique_gnl.html">'
    . 'Informatique G&eacute;n&eacute;rale</a></center>' . "\n";
  print MENU '  </td>' . "\n\n" . '  <td>' . "\n";
  print MENU '  <center><a NAME="plan_site_tab"></a>Plan du Site</center>' . "\n";
  print MENU '  </td>' . "\n" . '  </tr>' . "\n" . '  </table>' . "\n";
  print MENU '  <!-- script ecrit par Adelmar Alain aadelmar@numericable.fr -->' . "\n";
  print MENU '  <dl>' . "\n";
  
  close MENU or die "Fermeture de $file impossible $!";
}

#--------------------------------------------------------------------a la


opendir R, "$d" or die "Ouverture repertoire impossible $!";
$mode = 8;

foreach $file (sort readdir R){
  next if ($file =~ /^\./);
  $filelbl = $filename = $file;
  
  # print "filename vaut $filename\n";
  $file ="$d$slash$filename";
  # print "file vaut $file\n";
  $u++;
  our $format_d = 4;
  $fr_date_file = datefinefile($file, $mode, $format_d);
  
  $fr_date_file = datefinefile($file);
  
  if(-d $file) {
    my $reptmp = "d";
    &ecrit_d("OUT");
    #------------------------
    $lettre= substr($filename,0,1);	
    if($lettre=~ /\d/) {
      $lettre = "0-9";
    }
    elsif($lettre=~ /\w/) {
      $lettre= lc $lettre;
    }
    $fliste = "liste_$lettre.html";
    # $rpath_fliste = adresse réelle de $fliste
    # tant qu'a faire placer les liste dans le rep voulu
    $rpath_fliste = "$d$slash$fliste";
    $ford = "d";
    if(&jette_un_oeil($rpath_fliste, $ford)== 1) {
      if($vierge == 1) {
	&ecrit_d("FL");
	print FL $commentaire;
	&footer("FL");
	close FL || die "Fermeture de $fliste impossible $!";
	$vierge = 0;
      }
      else {
	close FL || die "impossible a $rpath_fliste de se fermer $!";
	open FL, ">$rpath_fliste" or die "Ouverture de $fliste impossible $!";
	print FL "@nwcontenu\n";
	close FL || die "Fermeture de $fliste impossible $!";
      }
    }
    
    #--------------------------
    write;
    print OUTDAT "$reptmp $line";
  }
  elsif(-f $file) {
    #damned avec remd: je pourrai carrement afficher le commentaire à coté du liens (but no alias sur M$)
    $reptmp = "f";
    $taille = (stat($file))[7];
    if ($taille >= 1000000) {
      $taille = $taille/1000000;
      $ptaille = "$taille (Mo)";
    }
    elsif ($taille >= 1000) {
      $taille = $taille/1000;
      $ptaille = "$taille (Koctets)";
    }
    else {
      $ptaille = "$taille (Octets)";
    }
    &ecrit_f("OUT");
    # ajout dans les listes des noms de fichier (qui controle l'existance fichier et nom de fichier)-----
    unless($argv=~ /^c/) {
      next if($filename=~ /\.gif$|jpe?g$|png$/i);
    }
    $lettre= substr($filename,0,1);	
    if($lettre=~ /\d/) {
      $lettre = "0-9";
    }
    elsif($lettre=~ /\w/) {
      $lettre= lc $lettre;
    }
    $fliste = "liste_$lettre.html";
    # $rpath_fliste = adresse réelle de $fliste
    # tant qu'a faire placer les liste dans le rep voulu
    $rpath_fliste = "$d$slash$fliste";
    $ford = "f";
    if(&jette_un_oeil($rpath_fliste, $ford)== 1) {
      if($vierge == 1) {
	&ecrit_d("FL");
	print FL $commentaire;
	&footer("FL");
	close FL || die "Fermeture de $fliste impossible $!";
	$vierge = 0;
      }
      else {
	close FL || die "impossible a $rpath_fliste de se fermer $!";
	open FL, ">$rpath_fliste" or die "Ouverture de $fliste impossible $!";
	print FL "@nwcontenu\n";
	close FL || die "Fermeture de $fliste impossible $!";
      }
    }
    #------------------------------------------------------------------------------------------------------
    write;
    $line = ":$filename\n\t$ptaille\t$fr_date_file\n";
    if ($argv eq "c") {
      $rem = &remdthat($filename);
      print OUTDAT "$reptmp $line\n$rem\n";
    }
    print OUTDAT "$reptmp $line";
  }
}     
#closedir R or die "Fermeture du repertoire impossible $!";

print OUTDAT "\n$lbl\n";
close OUTDAT || die "Comme dirai tonton jo, Fartoi encoula granda connasse, "
  . "30000 fois saloperie ce ptain de $fout_dat ne veut pas ce fermer $!";
&onglet_menu("OUT");
print OUT '<!-- script Perl d\'alain Adelmar -->' . "\n";
&footer("OUT");
close OUT or die "Fermeture impossible bordel $!";

print "nombre de fichier traite $u\n";
print "\n\nUn fichier $fout a été créé ainsi qu'un fichier $fout_dat\nBonne journée\nalain\n";

sub gnotise() {
  my($fili)= @_;
  
  $fili = "$dir$slash$fili";
  my $i = 0;
  while (-e $fili) {
    if($fili =~ /html$/) {
      $fili = "$dir$slash" . "rep_" . "$ds" . "_$i" . "$ext_html";
      $fout = $fili;
    }
    elsif($fili =~ /dat$/) {
      $fili = "$dir$slash" . "rep_" . "$ds" . "_$i" . "$ext_dat";
      $fout_dat = $fili;
    }
    # a saquer quand ok------------------------------------------------------------------------de là
    else {
      print "\nProblème de fichier de sortie erreur dans gnotise\nnom du fichier de sortie: $fili\n";
    }
    #---------------------------------------------------------------------------a là
    $i++;
    # a saquer quand ok-------------------------------------------------------------------------de là
    #my $arch = "$fili" . "~";
    #rename $fili, $arch or die "impossible de faire comme cela $!";
    #--------------------------------------------------------------------------a là
  }
}

# donne la date et heure sous plusieurs format Français et numerique--------------------------------------
sub datefinefile {
  my ($file)= @_;
  
  my $formad_d = 4;
  our @lssjour = qw( Dim Lun Mar Mer Jeu Ven Sam);
  our @lslsjour = qw( Dimanche Lundi Mardi Mercredi Jeudi Vendredi Samedi);
  our @lssmois = qw(Janvier Fevrier Mars Avril Mai Juin Juillet Aout Septembre Octobre Novembre Decembre);
  my $datenum = ((stat($file))[$mode]);
  (my $sec,my $min,my $heure,my $mjour,my $mois,my $annee,my $sjour,my $ajour,my $isdst)=localtime($datenum);
  
  my $pa = "";
  my $num_mois = ($mois+1);
  if ($mois <= 9) {
    $num_mois = "0$num_mois";
  }
  if ($mjour <= 9) {
    $mjour = "0" . "$mjour";
  }
  if ($heure <= 9) {
    $heure = "0" . "$heure";
  }
  if ($min <= 9) {
    $min = "0" . "$min";
  }
  if ($sec <= 9) {
    $sec = "0" . "$sec";
  }
  $cj = $lssjour[$sjour];
  my $pj = substr($cj, 0, 2);
  my $pm = substr("$lssmois[$mois]", 0 , 3);
  if ($annee < 100) {
    my $pa = $annee;
  }
  elsif ($annee <=109) {
    my $pa = "0" . ($annee-100);
  }
  else {
    my $pa = ($annee-100);
  }
  if ($format_d eq "1") {
    # format differants 1: 20100131-203001 
    $fr_date_file = ($annee+=1900) . "$num_mois$mjour-$heure$min$sec";
  }
  elsif ($format_d eq "2") {
    # format differants 2: 31/01/2010-20:30
    $fr_date_file = "$mjour\/$num_mois\/" . ($annee+=1900) . "-$heure:$min";
  }
  elsif ($format_d eq "3") {
    # format differants 2:  Di-31/01/2010-20:30:02
    $fr_date_file = "$pj-$mjour\/$num_mois\/" . ($annee+=1900) . "-$heure:$min:$sec";
  }
  elsif ($format_d eq "4") {
    # format differants: $fr_dt_file = 31Jan10-20h
    $fr_date_file = "$mjour$pm" . "$pa" . "-$heure" . "h";
  }
  elsif ($format_d eq "5") {
    # format differants: $fr_dt_file = Di 31 Jan 10 - 20h30
    $fr_date_file = "$pj $mjour $pm" . " $pa" . "- $heure" . "h$min";
  }
  else {
    # format differants: $fr_date_file = Dim 31 Janvier 2010 - 20:30:02
    $fr_date_file = "$lslsjour[$sjour] $mjour $lssmois[$mois] " . ($annee+=1900) . " - $heure:$min:$sec";
  }
  return $fr_date_file;
}
#--------------------------------------------------------------------------------------------------------


sub remdthat {
  my ($filename)= @_;
  (@contenu, @remd)= "";
  my $filnm = "$d$slash$filename";
  
  open FREM, "<$filnm" or die "Ouverture de $file impossible $!";
  @contenu = <FREM>;
  $nlr = 0;
  foreach $l(@contenu) {
    if ($nlr >= 1) {
      chomp $l;
      push @remd, $l;
      goto LABELLE if ($nlr == 1);
      $nlr--;
    }
    elsif ($l =~ /remd:/) {
      chomp $l;
      if(length $l <=150) {
	push @remd, $l;
	print "ok pour $l\n";
      }
      else {
	print "ligne trop longue\n";
      }
      $nlr = 5;       # nombre de lignes de commantaires +1, changer le nombres ici
    }
  }
 LABELLE:close FREM || die "Fermeture de $file compromise $!";
  $rem = join("\n\t", @remd);
  return $rem;
}


sub jette_un_oeil {
  my ($rpath_fliste, $ford)=@_;
  
  @nwcontenu= "";
  if(-e $rpath_fliste) {
    open FL, "$rpath_fliste" or die "Ouverture de $fliste impossible $!";
    @contenu = <FL>;
    #close FL || die "Fermeture de $fliste impossible $!";
    foreach (@contenu) {
      chomp;
      if(/$filename/) {
	close FL || die "Fermeture de $rpath_fliste impossible $!";
	return 0;
      }
      elsif(/$commentaire/) {
	if($ford eq "d") {
	  push @nwcontenu, "<img SRC=\"folder.jpg\"\>&nbsp;&nbsp;<b\><a href=\"$filename\"\>"
	    . "$file<\/a\><\/b\><br\><div align=center\>$fr_date_file<\/div\><br\>\n";
	}
	else {
	  push @nwcontenu, "<img SRC=\"file.jpg\"\>&nbsp;&nbsp;<a href=\"$filename\"\>$filename"
	    . "<\/a\><br\><div align=center\>$ptaille --- $fr_date_file<\/div\><br\>\n";
	}
	push @nwcontenu, "$commentaire\n";
      }
      elsif(/<\/html\>/) {
	push @nwcontenu, "$_\n";
	return 1;
      }
      else {
	push @nwcontenu, "$_\n";
      }
    }
  }
  else {
    my $fileliste = "$d$slash$fliste";
    
    open FL, ">>$rpath_fliste" or die "Ouverture de $fileliste impossible $!";
    $lbl_titre = "Liste des fichiers commencant par &lt;" . $lettre . "&gt;";
    &header("FL");
    &onglet_menu("FL");
    print FL "<h1\>Liste des fichiers commencant par &lt;" . $lettre . '&gt;' . "<\/h1\><br>\n";
    print FL "Edit&eacute; automatiquement par le script $0 vers:$vers le: " . $french_date_now 
      . "\nn\'eff&eacute;ctuez pas de modifications (SVP)\.\n<hr\>\n";
    $vierge = 1;
    return 1;
  }
}


closedir R or die "Fermeture du repertoire impossible $!";

sub onglet_menu() {
  my ($handel)= @_;
  
  print $handel '  <ul>' . "\n";
  print $handel '  <li class="mu"><a class="neolink" href="base_conaissances_perso.html">'
    . 'Pr&eacute;c&eacute;dant</a></li>' . "\n";
  print $handel '  <li class="mu"><a class="neolink" href="liste_a.html">Suivant</a></li>' . "\n";
  print $handel '  <li class="mu"><a class="neolink" href="index.html">Index</a></li>' . "\n";
  print $handel '  <li class="mu"><a class="neolink" href="menu.html#menu_top">Menu</a></li>' . "\n";
  print $handel '  <li class="mu"><a class="neolink" href="mailto:' . $adresse_mail . '">'
    . 'Me Joindre</a></li>' . "\n";
  print $handel '  </ul>' . "\n";
  print $handel '  <hr>' . "\n";
}

sub header() {
  my ($handel)= @_;
  
  print $handel '<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">' . "\n";
  print $handel '  <html>' . "\n";
  print $handel '    <head>' . "\n";
  print $handel '      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">' . "\n";
  print $handel '      <title>' . $lbl_titre . '</title>' . "\n";
  print $handel '      <meta name="Author" content="' . $auteur . '">' . "\n";
  print $handel '      <meta name="GENERATOR" content="Mozilla/4.7 [fr] (Linux) [Netscape]">' . "\n";
  print $handel '      <link href="style.css" type="text/css" rel="stylesheet">' . "\n";
  print $handel '  </head>' . "\n";
  print $handel '  <body>' . "\n";
}

sub ecrit_d() {
  my ($handel)= @_;
  
  print $handel "<img SRC=\"folder.jpg\"\>&nbsp;&nbsp;<b\><a href=\"$filename\"\>$file"
    . "<\/a\><\/b\><br\><div align=center\>$fr_date_file<\/div\><br\>\n";
}

sub ecrit_f() {
  my ($handel)= @_;
  
  print $handel "<img SRC=\"file.jpg\"\>&nbsp;&nbsp;<a href=\"$filename\"\>$filename<\/a\>"
    . "<br\><div align=center\>$ptaille --- $fr_date_file<\/div\><br\>\n";	
}

sub footer() {
  my ($handel)= @_;
  
  print $handel "$pied\n";	
  print $handel '  <ul>' . "\n";
  print $handel '  <li class="mu"><a class="neolink" href="base_conaissances_perso.html">'
    . 'Pr&eacute;c&eacute;dant</a></li>' . "\n";
  print $handel '  <li class="mu"><a class="neolink" href="liste_a.html">Suivant</a></li>' . "\n";
  print $handel '  <li class="mu"><a class="neolink" href="index.html">Index</a></li>' . "\n";
  print $handel '  <li class="mu"><a class="neolink" href="menu.html#menu_top">Menu</a></li>' . "\n";
  print $handel '  <li class="mu"><a class="neolink" href="mailto:' . $adresse_mail . '">Me Joindre'
    . '</a></li>' . "\n";
  print $handel '  </ul>' . "\n";
  print $handel '  <hr>' . "\n";
  print $handel '  </body>' . "\n" . "</html\>\n";
}


format STDOUT =
@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<   @<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<
$filelbl, $ptaille, $fr_date_file
.



END;
