#!/usr/bin/perl -w
# remd: transformer un texte avec des chapitres numeroté en fichier html *
# avec des liens (pour Linux ) - alain Adelmar 18.03.2001~ 06.12.2003 v2 *
# -idée possible de traiter le mail => HTML (objet=titre dynamiques)     *
#*************************************************************************
# voir le nom de fichier pour les liens entre XWindow et copie_xwind
use Cwd;

$dir = cwd;

$id = 0;
$x = "x" x 25;

# mettre en variable les incontournables___
$p_s_s = '<A HREF="lien_ici">pr&eacute;c&eacute;dant</A> | <A HREF="lien_ici">suivant</A> | <A HREF="index.html">sommaire</A>';
$li = '<LI>';
$lblhtm = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">' . "\n" . '<HTML>';

$lblhtmo = '</HTML>';
$h_ref = '<H REF="' . "s" . "$numbrut" . '">' . "$line" . '</H></H3>' . "\n"; 
$ancre_in = '<H3><A NAME="' . "s" . "$numbrut" . "\><\/A\>";

LABEL_TOP:print "Entrez le nom du fichier à traiter:\n";
chomp($file = <STDIN>);

## sortir le path du filename
#$road66 = $filename = $file;
#$road66 =~ s/()\/\w+\.\w{3,4}$/$1/i;
#$filename =~ s/^.+\/\b()\.\w{3,4}/$1/;

# sortir le path du fichier ouvert
@rep = split(/\//, $file);
$filename = pop @rep;           # nom du fichier seul
$rep = join('/', @rep);   # rep de travail
#------------------------------------

if (-e $file) {
  @statfilename = stat($file); 
  $df = localtime($statfilename[8]);
  $crt = "$x\n Rapport du contenu de $file : $df \n";
  print "$crt";
}
else {
  print "Erreur, le fichier $file n\'existe pas\n";
  goto LABEL_TOP;
}

# lit le fichier et met son contenu dans une variable liste
open F, "$file" or die "Ouverture de $file impossible $!";
@contenu = <F>;
close F or die "Fermeture impossible: $file $!";

# fait une copie pour pouvoir travailler sans faire de dégas (la copie doit avoir un nom propre et/ou un numero particulier)
$copieID = "copie_" . "$filename" . "_$id" . "\.html";
$full_copieID ="$rep" . "\/" . "$copieID"; 
#($copie, $ext) = split(/\./, $copieID);
#($lbl, $id) = split(/_/, $copie);

while (-e $full_copieID) {
  #$id++;
  donne_un_nom($copieID);
  $copieID = "copie_" . "$copieID";
  $full_copieID ="$rep" . "\/" . "$copieID"; 
}

open COPF, ">$copieID" or die "Ouverture de $copieID impossible: $!";
print COPF $lblhtm;
print COPF @contenu;
print COPF $lblhtmo;
close COPF or die "Re_merde c\'est quoi encore $!";

# definir le fichier tmp en lui donnant un nom, un num et un rep (/tmp/tmp/):
($filetmp, $ext) = split(/\./, $filename);
#($lbl, $id) = split(/_/, $filetmp);
$ftmp = "$filetmp" . "\.html";
$fulltmp = "$rep" . "\/" . "$ftmp";

while (-e $fulltmp) {
#  $id++;
  donne_un_nom($ftmp);
  $fulltmp = "$rep" . "\/" . "$ftmp";
}
$tmpdir = "\./tmp";
if (!(-d $tmpdir)) {
  mkdir $tmpdir;
}

$filetmp = "$tmpdir" . "\/" . "$copieID";



open CT, ">$filetmp" or die "Ouverture de $filetmp impossible $!";
print CT $lblhtm;
foreach $line(@contenu) {
  next if ($line =~ /^</);
  if ($line =~ /^sommaire\s/i) {
    $line = '<h1><title>' . "$line" . '</h1></title>';
  }
  elsif ($line=~ /^\d{1,2}\.\d{1,2}\s/) {
    $lignetitre = $line;	# au cas  ou pourra remplacer la merde plus bas
    ($numbrut, $ttchap) = split(/\s/, $line, 1);
    ($nump, $nums)= split(/\./, $numbrut);
    $i++;	#numero me servant au classement
    if ($nums ne 0) {
      $tt_actif_tab = "$li" . '<H3><A NAME="' . "tab_" . "$nump" . '"></A><A HREF="' . "\.\/$ftmp" . "#s_" . "$nump" . '">' . "$line" . '</A></H3>' . "\n";
      $tt_actif_s = "$li" . '<H3><A NAME="' . "s_" . "$nump" . '"></A><A HREF="' . "\.\/$ftmp" . "#tab_" . "$nump" . '">' . "$line" . '</A></H3>' . "\n";		       
      print CT $tt_actif_tab;
      push @nwcontenu, $tt_actif_s;
      next;
    }
    else {
      $tt_actift_tab = "$li\t" . '<H3><A NAME="' . "tab_" . "$nump" . "$nums" . '"></A><A HREF="' . "\.\/$ftmp" . "#s_" . "$nump" . "$nums" . '">' . "$line" . '</A></H3>' . "\n";
      $tt_actift_s = "$li" . '<H3><A NAME="' . "s_" . "$nump" . "$nums" . '"></A><A HREF="' . "\.\/$ftmp" . "#tab_" . "$nump" . "$nums" . '">' . "$line" . '</A></H3>' . "\n";
      print CT $tt_actift_tab;
      push @nwconten#!/usr/bin/perl -w
# remd: transformer un texte avec des chapitres numeroté en fichier html *
# avec des liens (pour Linux ) - alain Adelmar 18.03.2001~ 06.12.2003 v2 *
# -idée possible de traiter le mail => HTML (objet=titre dynamiques)     *
#*************************************************************************
# voir le nom de fichier pour les liens entre XWindow et copie_xwind
use Cwd;

$dir = cwd;

$id = 0;
$x = "x" x 25;

# mettre en variable les incontournables___
$p_s_s = '<A 