Etant donnés un ensemble de fils RSS et un programme minimal que nous allons présenter ci-dessous, notre projet suit quatre étapes principales :
1) Le but de la première étape est de construire un script qui nous permet de parcourir l'arborescence de fils RSS et d'appliquer un traitement sur chaque ficher XML rencontré pour extraire, filtrer et nettoyer les contenus textuels.
2) Le but de la deuxième étape est de produire un étiquetage du contenu textuel extrait en suivant deux différentes méthodes : étiquetage via Cordial de la concaténation des textes extraits et étiquetage via TreeTagger pour chaque fil RSS en modifiant le script creé dans la première étape pour parcourir l'arborescence.
3) Le but de la troisième étape est d'extraire des patrons à partir des sorties produites dans la deuxième étape, en suivant deux différentes méthodes : extraction de patrons sur les sorties "brutes" de l'étiquetage via Cordial et extraction de patrons sur les sorties au format XML de l'étiquetage via Treetagger.
4) Le but de la quatrième étape est de construire des graphes qui répresentent les patrons extraits, pour une analyse linguistique des données textuelles contenues dans les fils RSS de départ.
Voilà un petit résumé des 4 étapes de notre projet à l'aide de notre ami, l'expert des outils :
Les ressources utilisées
Les fils RSS sont un moyen pour recevoir de infos constamment maintenues à jour à partir d'un site web, dans notre cas le site du journal Le Monde, sans avoir à le consulter. Un fil RSS est un fichier qui contient le titre et une description de l'information, et un lien qui nous permet de consulter une page ayant plus de détails sur l'information. Ils s'appellent "RSS" à cause de leur format ("Really Simple Syndication") qui permet de décrire synthétiquement le contenu de l'information dans un fichier au format XML. Le fichier RSS, appelé également flux RSS, canal RSS ou fil RSS, contient donc les dernières informations à diffuser. Voici comment ils se présentent, divisés par rubriques, dans le site du journal "Le Monde" :
Cette page ci-dessus a été notre point de départ, puis nous avons travaillé sur les contenus textuels des infos selon les quatre étapes du projet, à partir d'un programme minimal que vous trouverez ci-dessous, à enrichir pour parcourir l'arborescence des fils RSS :
#/usr/bin/perl
<<DOC;
Votre Nom : Ardas KHALSA, Francesca ERVAS et Thomas MORAINE
JUIN 2012
usage : perl parcours-arborescence-fichiers repertoire-a-parcourir
Le programme prend en entree le nom du repertoire contenant les fichiers
a traiter
Le programme construit en sortie un fichier structure contenant sur chaque
ligne le nom du fichier et le resultat 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 my $DUMPFULL1="";
#----------------------------------------my $output1="SORTIE.xml";
if (!open (FILEOUT,">$output1")) { die "Pb a l'ouverture du fichier $output1"};
#----------------------------------------
&parcoursarborescencefichiers($rep); #recurse!#----------------------------------------print FILEOUT "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>\n";
print FILEOUT "<PARCOURS>\n";
print FILEOUT "<NOM>Votre nom</NOM>\n";
print FILEOUT "<FILTRAGE>".$DUMPFULL1."</FILTRAGE>\n";
print FILEOUT "</PARCOURS>\n";
close(FILEOUT);
exit;
#----------------------------------------------sub parcoursarborescencefichiers {
my $path = shift(@_);
opendir(DIR, $path) or die "can't open $path: $!\n";
my @files = readdir(DIR);
closedir(DIR);
foreachmy $file (@files) {
nextif $file =~ /^\.\.?$/;
$file = $path."/".$file;
if (-d $file) {
&parcoursarborescencefichiers($file); #recurse!
}
if (-f $file) {
# TRAITEMENT à réaliser sur chaque fichier# Insérer ici votre code (le filtreur)print $i++,"\n";
}
}
}
#----------------------------------------------
Les étapes de notre projet
Boîte à outils 1
Boîte à outils 2
Boîte à outils 3
Boîte à outils 4
Découvrez tous les outils à l'intérieure de chaque boîte, en cliquant sur les images!