lundi 30 décembre 2013

Site Web

Nous arrivons enfin à la partie de préparation de notre site web...Malheureusement, je ne pense pas pouvoir la finir ces jours-ci dû à certains problèmes d'organisation.

Mais ne désespérez pas chers lecteurs, une fois lancé, je vous l'indiquerai ici.

A bientôt !

vendredi 27 décembre 2013

Wohoooo....Nuages !!!!

Ce post sera très très court...Nous allons simplement constituer des nuages pour voir les mots les plus fréquents. En gros c'est comme notre index global mais de manière plus intéressante

Pour cela, nous avons utilisé le site Woordle.

Il suffit d'y coller votre texte et vous aurez un très beau nuage comme ça:




samedi 21 décembre 2013

Let: command not found

Chers lecteurs,

Vous avez dû remarquer que la commande let était de retour dans le script présenté..

Alors pour faire fonctionner cette commande, il faut lancer le script avec la commande suivante:

bash nomscript < input.txt

et non pas sh nomduscript < input.txt

Je dois avouer que c'est par hasard que je l'ai remarqué. Il était déjà tard le soir et je voulais tester les scripts présentés sur icampus pour les comparer au mien et j'ai donc tapé bash....après 2-3 essais j'ai remarqué que ces scripts contenaient la commande let et qu'elle ne m'avait pas donné d'erreur...

Eh oui...Le hasard fait bien les choses !!!

samedi 14 décembre 2013

Presque fini !!!

Après près d'un mois sans nouvelles, nous vous présentons notre script générant 10 colonnes.
Le script étant déjà bien commenté , nous nous abstenons de rallonger ce post


#!/bin/bash # Création des répertoires mkdir ./CONTEXTES; mkdir ./DUMP-TEXT; mkdir ./PAGES-ASPIREES; mkdir ./TABLEAUX; # Création d'un répertoire temporaire pour les besoins du trameur (il est effacé à la fin de ce script) mkdir -p TEMP; # Input read dossier_urls; read fichier_tableau; read motif; # Style Page HTML echo "<!doctype html> <html> <head> <meta charset="utf-8"> <title>Grèves dans le monde</title>" > $fichier_tableau; # Compteur fichiers urls j=1; for fichier_url in `ls $dossier_urls` do # Titre Tableau echo "<table align=center border="1" width="100%"> <tr> <th bgcolor=\"black\" colspan="10" align="center">Tableau n&deg$j<br/ align="center"> Fichier: $fichier_url</th> </tr>" >> $fichier_tableau; # 1ère ligne du Tableau echo "<tr><td bgcolor=\"black\" align="center">N&degURL</td><td bgcolor=\"black\" align="center">URL</td><td bgcolor=\"black\" align="center">Pages aspir&eacute;es</td><td bgcolor=\"black\" align="center">Retour WGET</td><td bgcolor=\"black\" align="center">DUMP initial<br/>(non utf-8)</td><td bgcolor=\"black\" align="center">DUMP UTF-8</td><td bgcolor=\"black\" align="center">CONTEXTES</td><td bgcolor=\"black\" align="center">CONTEXTES<br/>HTML</b></td><td bgcolor=\"black\" align="center">Nb Occurences</td><td bgcolor=\"black\" align="center">INDEX<br/>Fq mots</td></tr>" >> $fichier_tableau; # Compteur urls i=1; # Compteur dumps nbdump=0; # Noms des sous-dossiers (remplace le compteur avec les noms des langues) w=$(basename $fichier_url .txt) # Créer les sous-répertoires mkdir -p CONTEXTES/$w; mkdir -p DUMP-TEXT/$w; mkdir -p PAGES-ASPIREES/$w; mkdir -p INDEX/$w; mkdir -p FICHIERS-GLOBAUX/DUMP-GLOBAUX; mkdir -p FICHIERS-GLOBAUX/CONTEXTES-GLOBAUX; mkdir -p FICHIERS-GLOBAUX/INDEX-GLOBAUX; for ligne in `cat $dossier_urls/$fichier_url` do # Aspiration pages wget -O ./PAGES-ASPIREES/$w/$i.html "$ligne"; # Vérification contenu retourwget=$?; contenupageaspiree=$(egrep -i -o "(400 )?Bad request|Moved Permanently|s interdit|Not Acceptable" ./PAGES-ASPIREES/$w/$i.html | sort -u); # Méthode encodage 1 (file -i) if test $retourwget == 0; then encodage=$(file -i ./PAGES-ASPIREES/$w/$i.html | cut -d= -f2); # Encodage UTF-8 if test $encodage == "utf-8" then # Dump UTF-8 lynx -dump -nolist -display_charset=$encodage ./PAGES-ASPIREES/$w/$i.html > ./DUMP-TEXT/$w/$i-utf8.txt; # Contextes UTF-8 egrep -i -A 1 -B 1 `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt > ./CONTEXTES/$w/$i-utf8.txt; # Contextes HTML perl ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$w/$i-utf8.txt ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/motif-regexp.txt; mv resultat-extraction.html ./CONTEXTES/$w/$i.html; # Occurences nbOccur=??; nbOccur=$(egrep -c `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt); # Index cat ./DUMP-TEXT/$w/$i-utf8.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./INDEX/$w/$i.txt; # Intégrer au tableau echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td><a href=\"../PAGES-ASPIREES/$w/$i.html\">$i.html</a></td><td>$retourwget</td><td>&nbsp;-&nbsp;</td><td><a href=\"../DUMP-TEXT/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i.html\">$i.html</a></td><td>$nbOccur</td><td><a href=\"../INDEX/$w/$i.txt\">$i.txt</a></td></tr>" >> $fichier_tableau; # Contextes globaux cat ./CONTEXTES/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/CONTEXTES-GLOBAUX/CONTEXTES-GLOBAUX_$w.txt; # Dump globaux cat ./DUMP-TEXT/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt; # Index Global cat ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./FICHIERS-GLOBAUX/INDEX-GLOBAUX/INDEX-GLOBAUX_$w.txt; # Actualisation compteur dump let "nbdump+=1"; # Méthode encodage 2 (iconv -l) else encodageiconv=$(iconv -l | egrep -io $encodage | sort -u); if test "$encodageiconv" != ""; then # Dump initial lynx -dump -nolist -display_charset=$encodage ./PAGES-ASPIREES/$w/$i.html > ./DUMP-TEXT/$w/$i.txt; # Conversion Dump initial en UTF-8 iconv -f $encodage -t utf-8 ./DUMP-TEXT/$w/$i.txt > ./DUMP-TEXT/$w/$i-utf8.txt; # Contextes UTF-8 egrep -i -A 1 -B 1 `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt > ./CONTEXTES/$w/$i-utf8.txt; # Occurences nbOccur=??; nbOccur=$(egrep -c `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt); # Index cat ./DUMP-TEXT/$w/$i-utf8.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./INDEX/$w/$i.txt; # Contextes HTML perl ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$w/$i-utf8.txt ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/motif-regexp.txt; mv resultat-extraction.html ./CONTEXTES/$w/$i.html; # Intégrer au tableau echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td><a href=\"../PAGES-ASPIREES/$w/$i.html\">$i.html</a></td><td>$retourwget</td><td><a href=\"../DUMP-TEXT/$w/$i.txt\">$i.txt</a><br/>($encodage)</small></td><td><a href=\"../DUMP-TEXT/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i.html\">$i.html</a></td><td>$nbOccur</td><td><a href=\"../INDEX/$w/$i.txt\">$i.txt</a></td></tr>" >> $fichier_tableau; # Contextes globaux cat ./CONTEXTES/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/CONTEXTES-GLOBAUX/CONTEXTES-GLOBAUX_$w.txt; # Dump globaux cat ./DUMP-TEXT/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt; # Index Global cat ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./FICHIERS-GLOBAUX/INDEX-GLOBAUX/INDEX-GLOBAUX_$w.txt; # Actualisation compteur dump let "nbdump+=1"; # Méthode encodage 3 (egrep -i "<meta.*charset") else if egrep -i "<meta.*charset" ./PAGES-ASPIREES/$w/$i.html; then encodage=$(egrep -i "<meta.*charset" ./PAGES-ASPIREES/$w/$i.html | egrep -i -o 'charset *=[^\"]+' | tr [A-Z] [a-z] | sort -u | cut -f2 -d=); encodageiconv=$(iconv -l | egrep -io $encodage | sort -u); if test $encodageiconv == "" then echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td><a href=\"../PAGES-ASPIREES/$w/$i.html\">$i.html</a></td><td>$retourwget</td><td bgcolor=\"blue\">Encodage<br/>non d&eacute;tect&eacute;</td><td bgcolor=\"blue\">Encodage<br/>non d&eacute;tect&eacute;</td><td bgcolor=\"blue\">Encodage<br/>non d&eacute;tect&eacute;</td><td bgcolor=\"blue\">Encodage<br/>non d&eacute;tect&eacute;</td><td bgcolor=\"blue\">Encodage<br/>non d&eacute;tect&eacute;</td><td bgcolor=\"blue\">Encodage<br/>non d&eacute;tect&eacute;</td><td bgcolor=\"blue\">Encodage<br/>non d&eacute;tect&eacute;</td></tr>" >> $fichier_tableau; echo "Erreur Tableau $w ligne $i" >> ./Erreurs.txt; else # Dump initial lynx -dump -nolist -display_charset=$encodage ./PAGES-ASPIREES/$w/$i.html > ./DUMP-TEXT/$w/$i.txt; # Conversion Dump initial en UTF-8 iconv -f $encodage -t utf-8 ./DUMP-TEXT/$w/$i.txt > ./DUMP-TEXT/$w/$i-utf8.txt; # Contextes UTF-8 egrep -i -A 1 -B 1 `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt > ./CONTEXTES/$w/$i-utf8.txt; # Occurences nbOccur=??; nbOccur=$(egrep -c `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt); # Index cat ./DUMP-TEXT/$w/$i-utf8.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./INDEX/$w/$i.txt; # Contextes HTML perl ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$w/$i-utf8.txt ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/motif-regexp.txt; mv resultat-extraction.html ./CONTEXTES/$w/$i.html; # Intégrer au tableau echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td><a href=\"../PAGES-ASPIREES/$w/$i.html\">$i.html</a></td><td>$retourwget</td><td><a href=\"../DUMP-TEXT/$w/$i.txt\">$i.txt</a><br/>($encodage)</td><td><a href=\"../DUMP-TEXT/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i.html\">$i.html</a></td><td>$nbOccur</td><td><a href=\"../INDEX/$w/$i.txt\">$i.txt</a></td></tr>" >> $fichier_tableau; # Contextes globaux cat ./CONTEXTES/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/CONTEXTES-GLOBAUX/CONTEXTES-GLOBAUX_$w.txt; # Dump globaux cat ./DUMP-TEXT/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt; # Index Global cat ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./FICHIERS-GLOBAUX/INDEX-GLOBAUX/INDEX-GLOBAUX_$w.txt; # Actualisation compteur dump let "nbdump+=1"; fi # Méthode 3 ne fonctionne pas else echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td><a href=\"../PAGES-ASPIREES/$w/$i.html\">$i.html</a></td><td>$retourwget</td><td bgcolor=\"blue\">Encodage<br/>non d&eacute;tect&eacute;</td><td bgcolor=\"blue\">Encodage<br/>non d&eacute;tect&eacute;</td><td bgcolor=\"blue\">Encodage<br/>non d&eacute;tect&eacute;</td><td bgcolor=\"blue\">Encodage<br/>non d&eacute;tect&eacute;</td><td bgcolor=\"blue\">Encodage<br/>non d&eacute;tect&eacute;</td><td bgcolor=\"blue\">Encodage<br/>non d&eacute;tect&eacute;</td></tr>" >> $fichier_tableau; echo "Erreur Tableau $w ligne $i" > ./Erreurs.txt; fi fi fi # Si le WGET échoue else retourwget="Erreur"; echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td bgcolor=\"red\">Page non aspir&eacute;e</td><td bgcolor=\"red\">$retourwget</td><td bgcolor=\"red\">Page non aspir&eacute;e</td><td bgcolor=\"red\">Page non aspir&eacute;e</td><td bgcolor=\"red\">Page non aspir&eacute;e</td><td bgcolor=\"red\">Page non aspir&eacute;e</td><td bgcolor=\"red\">Page non aspir&eacute;e</td><td bgcolor=\"red\">Page non aspir&eacute;e</td></tr>" >> $fichier_tableau; echo "Erreur Tableau $w ligne $i" >> ./Erreurs.txt; fi # Actualisation compteur urls let "i+=1"; done # Intégrer Fichiers globaux au tableau echo "<tr><td colspan=\"5\">&nbsp</td><td><a href="../FICHIERS-GLOBAUX/DUMP/DUMP-GLOBAUX_$w.txt">Fichier DUMP<br/>global</a><br/>$nbdump fichier(s)</td><td><a href="../FICHIERS-GLOBAUX/CONTEXTES/CONTEXTES-GLOBAUX_$w.txt">Fichier CONTEXTES<br/>global</a><br/>$nbdump fichier(s)</td><td>&nbsp</td><td colspan="1"></td><td><a href="../FICHIER-GLOBAUX/INDEX-GLOBAUX.txt">Fichier Index<br/>global</a><br/>$nbdump fichier(s)</td></tr>" >> $fichier_tableau; # Fin du tableau echo "</table>" >> $fichier_tableau; # Actualisation compteur fichiers urls let "j+=1"; done # Fin page HTML echo "</body> </html>" >> $fichier_tableau;