#!/perl
#Spécial COVID
#fabrique une page web en relation avec les fichiers gabarit*
#importe automatiquement toutes les parties haute, gauche, bas, et 
#gère l'import de la partie droite
use strict;   

#Déclarations variables
my ($f, $fresu, $dossier, $fcourt, $extension, $flocal);
my $excuses="<p\/>";
#my $excuses="<i>Site en refonte. Veuillez nous excuser pour les éventuels désagréments.</i><p/>\n";
#à virer à la fin
my $tout;
my ($regexpparametresdentree, @morceauxtout);
my ($titre, $motscleslocaux, $encodage, $datecreationfic, $datemodificationfic);
my ($chemingabarit, $chemingabaritcss,  $css, $head1, $bodyhaut, $bodygauche, $bodypied, $motscles);
my ($regexppourimportationessentielle, @partieessentielledutexte);
#Fin Déclarations variables

#Prealables: fichier source: .tag, supposé complété à la main 
$f="index.tag"; #Resume-Jacob2017.tag";
#$f= ce qu'on veut, mais le commentaire APRES le bon $f !!!

($dossier, $fcourt, $extension)=($f=~/(^.*\/)(.*).(tag)/);
if ($dossier eq "")
	{
	($fcourt, $extension)=($f=~/(.*).(tag)/);
	}
else
	{
	chdir ($dossier) ;
	}

my $gole=`pwd`;
print $dossier," On est dans ", $gole, " \n\n";

$flocal=$fcourt.".".$extension;	
$fresu=$fcourt.".html";

open (F,$flocal);
open (G,">$fresu"); #le même, avec extension html
while(<F>)
	{
	$tout.=$_;
	}
close (F);
#Fin Préalables fichier source

####Repérage paramètres du début et découpages
$regexpparametresdentree="<[\/]?parametresdentree>";
@morceauxtout=split(/$regexpparametresdentree/,$tout);
	#$morceauxtout[1]=ces paramètres (<encodage>, etc.)
	#$morceauxtout[2]= la suite après </parametresdentree>
####Récupération paramètres de base:
($titre)= ($morceauxtout[1]=~/<memotitre>([^<]+)<\/memotitre>/);
($motscleslocaux)= ($morceauxtout[1]=~/<motscleslocaux>([^<]+)<\/motscleslocaux>/);
($encodage)=($morceauxtout[1]=~/<encodage>([^<]+)<\/encodage>/);
($datecreationfic)= ($morceauxtout[1]=~/<datecreationfic>([^<]+)<\/datecreationfic>/);
($datemodificationfic)= ($morceauxtout[1]=~/<datemodificationfic>([^<]+)<\/datemodificationfic>/);
####fin paramètres du début et découpages

#Dossier gabarit (css, fragments de fichiers, etc.)
$chemingabarit="/var/www/html/gabarit";
$chemingabaritcss="/gabarit" ;
$css="<link rel='stylesheet' type='text/css' href='$chemingabaritcss/covidgabarit.css' />"; 
	
#Lecture des fichiers gabarit (haut, gauche, etc)
$head1=`cat $chemingabarit/gabarit-html-head-avant-title.html`;
$bodyhaut=`cat $chemingabarit/covidgabarit-html-body-partiehaute.html`;
$bodygauche=`cat $chemingabarit/gabarit-html-body-partiegauche.html`;

#print " >>>>>>>>>> ok Dago\n" if $bodygauche=~/Dagognet/;

$bodypied=`cat $chemingabarit/gabarit-html-body-piedpage-et-fin.html`;
$motscles=`cat $chemingabarit/keywords.html`;

#ON VIRE:
$motscles=$bodypied=$bodygauche="";
#Nettoyer le head1:
$head1=~s/CHANGERencodage/$encodage/;
$head1=~s/CHANGERmotscleslocaux/$motscleslocaux/;

#Enlever le "/" de /dossier si on travaille en local (hors site web)
#$bodyhaut=~s/<a href=\"\//<a href=\"/g if $local;
#$bodyhaut=~s/\/logoERST.gif/logoERST.gif/g if $local;
#$bodygauche=~s/<a href=\"\//<a href=\"/g if $local;
#$bodypied=~s/<a href=\"\//<a href=\"/g if $local;

###Récupérer L'IMPORT ESSENTIEL
$regexppourimportationessentielle="<[\/]?importationessentielle[^>]*>";
@partieessentielledutexte=split (/$regexppourimportationessentielle/, $morceauxtout[2]);
#$morceauxtout[2]= la suite après </parametresdentree>
#$partieessentielledutexte[1] est la partie essentielle 

#Ajout des mots-clés en couleur là où c'est éventuellement demandé dans la partie essentielle
$partieessentielledutexte[1]=~s/<importkeywordscouleur\/>/<p\/>\n$motscles\n<p\/>\n/ ;
###Fin Récupérer L'IMPORT ESSENTIEL

#Écriture du fichier html final
print G $head1, "<title>$titre<\/title>
$css
</head>\n";

#Déf body, partiesgaucheetdroite
#et écriture haut et gauche du body
print G "
$bodyhaut
<br\/>
	<partiesgaucheetdroite>\n";
#	<div id='container'>
#$bodygauche \n";

###Inscrire ici la partie droite 
#$excuses contient déjà un <p/>
print G "
		<partiedroite>
		<div id='content'>
		$excuses 
		\n";

#Écrire ICI L'IMPORT ESSENTIEL
print G "<importationessentielle>
	<div id='importationessentielle'>\n",
	$partieessentielledutexte[1],
	"</div>
	<\/importationessentielle>\n";

	#On inscrit en bas à droite les dates
print G "
		<p/>
		<datedanspartiedroite>
			<div id='datespourfic'>
			Page créée <datecreationfic>$datecreationfic</datecreationfic>, 
			modifiée <datemodificationfic>$datemodificationfic</datemodificationfic><br>
			</div>
		</datedanspartiedroite>
		</p>
		</div>
		</partiedroite>\n";

print G "	</div>
	</partiesgaucheetdroite>\n";
###Fin de la partie droite

print G  "<findutout/>\n</body>\n</html>\n";
close (G);
