#/usr/bin/perl
<<DOC; 
Votre Nom : SHEN , 
JANVIER 2008
 usage : perl parcours-arborescence-fichiers repertoire-a-parcourir
 Le programme prend en entrée le nom du répertoire contenant les fichiers
 à traiter
 Le programme construit en sortie un fichier structuré contenant sur chaque
 ligne le nom du fichier et le résultat du filtrage :
<FICHIER><NOM>du fichier</NOM></FICHIER><CONTENU>du filtrage</CONTENU></FICHIER>
DOC
#-----------------------------------------------------------
my $rep="$ARGV[0]";
# on s'assure que le nom du répertoire ne se termine pas par un "/"
$rep=~ s/[\/]$//;
# on initialise une variable contenant le flux de sortie 

# Creation d'un tableau dans lequel on lui associe la Clé à chaque nom du rubrique. 
%equivalencefichierrubrique=();
$equivalencefichierrubrique{"0,2-3208,1-0,0.xml"}="1_A_la_une.txt";
$equivalencefichierrubrique{"0,2-3214,1-0,0.xml"}="2_Europe.txt";
$equivalencefichierrubrique{"0,2-3210,1-0,0.xml"}="3_International.txt";
$equivalencefichierrubrique{"0,2-3232,1-0,0.xml"}="4_Opinions.txt";
$equivalencefichierrubrique{"0,2-3238,1-0,0.xml"}="5_Rendez_vous.txt";
$equivalencefichierrubrique{"0,2-3234,1-0,0.xml"}="6_Economie.txt";
$equivalencefichierrubrique{"0,2-3242,1-0,0.xml"}="7_Sports.txt";
$equivalencefichierrubrique{"0,2-3246,1-0,0.xml"}="8_Culture.txt";
$equivalencefichierrubrique{"0,2-3224,1-0,0.xml"}="12_Societe.txt";
$equivalencefichierrubrique{"0,2-3236,1-0,0.xml"}="13_Medias.txt";
$equivalencefichierrubrique{"0,2-3260,1-0,0.xml"}="14_Livres.txt";
$equivalencefichierrubrique{"0,2-3244,1-0,0.xml"}="15_Environnement,Sciences.txt";

$equivalencefichierrubrique{"0,2-3404,1-0,0.xml"}="9_Examens_2008.txt";
$equivalencefichierrubrique{"0,2-3476,1-0,0.xml"}="10_Cinema.txt";
$equivalencefichierrubrique{"0,2-3546,1-0,0.xml"}="11_Voyages.txt";

$equivalencefichierrubrique{"0,2-651865,1-0,0.xml"}="16_Technologies.txt";
$equivalencefichierrubrique{"0,2-823353,1-0,0.xml"}="17_Politique.xml",
$equivalencefichierrubrique{"0,2-987718,1-0,0.xml"}="18_Municipales_Cantonales.xml",
$equivalencefichierrubrique{"0,2-876502,1-0,0.xml"}="19_Podcast_Telezapping.xml",
$equivalencefichierrubrique{"0,2-970371,1-0,0.xml"}="20_Podcast_Radiozapping.xml";
							

#----------------------------------------
&parcoursarborescencefichiers($rep);	#procédure_recurse! 
#------------------------------
exit;
#-------------------------------
sub parcoursarborescencefichiers {
    my $path = shift(@_);
    opendir(DIR, $path) or die "can't open $path: $!\n";
    my @files = readdir(DIR);
    closedir(DIR);
    foreach my $file (@files) 
	{
	    next if $file =~ /^\.\.?$/;
	    $file = $path."/".$file;
	    if (-d $file) 
		{
	        &parcoursarborescencefichiers($file);	#recurse, on appelle la  procédure 
        }

	    if (-f $file)
		{
	
        #s'assurer que le fichier a une extension ".xml"
	    # si c'est vrai :
		if ($file=~/\.xml$/){
		    open(FILE,$file);
			$file=~/([^\/]+\.xml)$/;
			$cle=$1;
		    open(FILEOUTPUT,">>$equivalencefichierrubrique{$cle}");
			print $equivalencefichierrubrique{$cle},"\n";
			print FILEOUTPUT "<FICHIER>\n";
			print FILEOUTPUT "<NOM>$file</NOM>\n";
            print FILEOUTPUT "<CONTENU>\n";
		    while ($ligne = <FILE>)
			{
	            $cpt++; # ou $cpt=$cpt+1;
	            if (($ligne=~/<title>(.*)<\/title>/) || ($ligne=~/<description>(.*)<\/description>/)) {	
				    my $chaineaimprimer=$1;
				    $chaineaimprimer=~s/&#38;#39;/\'/g;
				    $chaineaimprimer=~s/&#38;#34;/\"/g;
				    $chaineaimprimer=~s/&#233;/é/g;
				    $chaineaimprimer=~s/&#234;/ê/g;
					$chaineaimprimer=~s/Retrouvez l\'ensemble des dépêches sur http:\/\/www\.lemonde\.fr\.?//g;
				    print FILEOUTPUT "$chaineaimprimer\n" ;         
                }
            }   
		   print FILEOUTPUT "</CONTENU>\n";
		   print FILEOUTPUT "</FICHIER>\n";
        close(FILE);
		close(FILEOUTPUT);	
		}
		open(FILEOUTPUT,">>./Classeur/$file");	
	    print FILEOUTPUT "$i\n";
		$i++;
		}
	}
}

	

