Grèves dans le monde

La vie multilingue des mots sur le web

Script

Pour télécharger le script, cliquez ici
#!/bin/bash

# Attention aux utilisateurs de ce script !

# Avant de lancer ce script, il faut:

#   - Créer un fichier input avec les chemins du dossier urls, le fichier résultat et le motif
#    Il sera utilisé de la manière suivante: bash "nomduscript.sh" < nomdufichierinput.txt

#   - Lancer ce script avec la commande bash "nomduscript.sh" et non pas sh
#     Sinon remplacer toutes les occurences de la commande "let" de la manière suivante:
#     let "i+=1" >>>>>>> i=`expr $i +1`

#   - Placer le minigrep (contextes html) dans: ./PROGRAMMES/minigrepmultilingue-v2.2-regexp

#   - Nommer le fichier motif du minigrep "motif-regexp.txt" et le placer dans le répertoire minigrep

#   - Sinon veiller à changer les chemins et noms de fichiers dans le corps du script

#   - Se placer dans le répertoire désiré pour le projet: cd Desktop/Projet par exemple

#   - Créer 2 sous-répertoires obligatoires: PROGRAMMES (script,minigrep,motif,input(facultatif) et URLS (1 fichier url par langue)

# Conseils:

#   - Nommer les fichiers urls par leurs langues: "Anglais.txt" pour que les sous-répertoires aient des noms compréhensibles. Si vous voulez que les dossiers soient nommés "1,2,3..." effacer les lignes 237-239 et remplacer tous les w par j (match case and entire words only)

#   - Pour les lettres non-ASCII, utiliser leurs codes html dans les noms de fichiers et script pour obtenir le bon affichage sur votre site: "ç" >>>> "&ccedil;"

# Création des répertoires
mkdir ./CONTEXTES;
mkdir ./DUMP-TEXT;
mkdir ./IMAGES;
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>
<style type="text/css">
<!--
body {
    font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif;
    background-color: #333333;
    margin: 0;
    padding: 0;
    color: #FFFFFF;
}
ul, ol, dl {
    padding: 0;
    margin: 0;
}
h1 {
    margin-top: 0px;
    padding-right: 15px;
    padding-left: 15px;
}
h2, h3, h4, h5, h6, p {
    margin-top: 15px;
    padding-right: 15px;
    padding-left: 15px;
}
}
a img {
    border: none;
}
a:link {
    color: #FFFFFF;
    text-decoration: underline;
}
a:visited {
    color: #FFFFFF;
    text-decoration: underline;
}
a:hover, a:active, a:focus {
    text-decoration: none;
}
.container {
    width: 960px;
    background-color: #333333;
    margin: 0 auto;
}
header {
    background-color: #000000;
    height: 100px;
}
.sidebar1 {
    float: left;
    width: 180px;
    background-color: #333333;
    padding-bottom: 10px;
}
.content {
    padding: 10px 0;
    width: 600px;
    float: left;
}
aside {
    float: left;
    width: 180px;
    background-color: #333333;
    padding: 10px 0;
}
.content ul, .content ol {
    padding: 0 15px 15px 40px;
}
ul.nav {
    list-style: none;
    border-top: 1px solid #666;
    margin-bottom: 15px;
    color: #FFF;
}
ul.nav li {
    border-bottom: 1px solid #666;
}
ul.nav a, ul.nav a:visited {
    padding: 5px 5px 5px 15px;
    display: block;
    width: 160px;
    text-decoration: none;
    background-color: #333333;
}
ul.nav a:hover, ul.nav a:active, ul.nav a:focus {
    background-color: #333333;
    color: #FFF;
}

footer {
    background-color: #333333;
    position: relative;
    bottom: 0px;
    clear: both;
}
.fltrt {
    float: right;
    margin-left: 8px;
}
.fltlft {
    float: left;
    margin-right: 8px;
}
.clearfloat {
    clear:both;
    height:0;
    font-size: 1px;
    line-height: 0px;
}

header, section, footer, aside, article, figure {
    display: block;
}

.container .sidebar1 .nav li a {
    color: #FFFFFF;
}
.container header h1 a em {
    color: #FFFFFF;
}
div {
    float: left;
}
table {
    table-layout: fixed;
}
table th, table td {
    overflow: hidden;
    white-space: nowrap;
    text-align:center;
}
</style>
</head>

<body>

<div class="container">
<header>
    <h1 align="center"><a href="index.html" style="text-decoration:none">Grèves dans le monde</a> </h1>
    <p align="right"><em>La vie multilingue des mots sur le web</em></p>
  </header>
  <div class="sidebar1">
    <ul class="nav">
      <li><a href="index.html">Accueil</a></li>
      <li><a href="etapes.html">Étapes</a></li>
      <li><a href="script.html">Script</a></li>
      <li><a href="resultat.html">Résultat</a></li>
      <li><a href="nuages.html">Nuages</a></li>
      <li><a href="http://greve-projet-plurital.blogspot.com">Blog</a></li>
      <li><a href="mailto:iahmedahassan@gmail.com">Contact</a></li>
    </ul>
  </div>
  <article class="content">
    <h1>Résultat</h1>
    <section>" > $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%">
<colgroup>
<col width="150px"/>
<col width="400px"/>
<col width="150px"/>
<col width="150px"/>
<col width="150px"/>
<col width="150px"/>
<col width="150px"/>
<col width="150px"/>
<col width="150px"/>
<col width="150px"/>
</colgroup>
<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;
    mkdir -p TRAMEUR/CONTEXTES;
    mkdir -p TRAMEUR/DUMP;

    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;

                # Étiquetage Dump globaux pour trameur
                # Délimiteur fichiers <Fichier=$i><§>
                echo "<Fichier=$i><§>" >> ./TEMP/tempdump_$w.txt && cat ./DUMP-TEXT/$w/$i-utf8.txt >> ./TEMP/tempdump_$w.txt;

                # Supprimer tous les caractères sauf les chiffres, lettres et délimiteurs
                cat ./TEMP/tempdump_$w.txt | tr -c '[a-zA-z0-9] < § > = \n' ' ' | tr -d '_' > ./TEMP/tempdump_$w"2.txt";

                # Délimiteur parties <§> au début et à la fin de chaque paragraphe
                sed ':a;N;$!ba;s/\n\n/<§>\n\n<§>/g' < ./TEMP/tempdump_$w"2.txt" > ./TEMP/tempdump_$w"3.txt"; 

                # Supprime espaces en trop
                sed 's/^ *//;s/ *$//;s/ \{1,\}/ /g' < ./TEMP/tempdump_$w"3.txt" > ./TEMP/tempdump_$w"4.txt";

                # Paragraphes vides
                #sed ':a;N;$!ba;s/\n\n/\n/g' < ./TEMP/tempdump_$w"3.txt" > ./TEMP/tempdump_$w"4.txt";
                sed '/^$/d'< ./TEMP/tempdump_$w"4.txt" > ./TEMP/tempdump_$w"5.txt";

                # Joindre délimiteur fichiers aux parties
                sed ':a;N;$!ba;s/><§>\n/><§>/g' < ./TEMP/tempdump_$w"5.txt" > ./TEMP/tempdump_$w"6.txt";

                # délimiteur partie fin de chaque fichier
                sed ':a;N;$!ba;s/\n<Fichier=/<§>\n\n<Fichier=/g' < ./TEMP/tempdump_$w"6.txt" > ./TEMP/tempdump_$w"7.txt";

                # Section pour dernier paragraphe
                sed '${s/$/<§>/}' < ./TEMP/tempdump_$w"7.txt" > ./TEMP/tempdump_$w"8.txt";

                # Supprimer caractère BOM Â qui apparait après le passage d'utf-8 à iso8859-1
                cat ./TEMP/tempdump_$w"8.txt" | sed 's/\xc2//g' > ./TRAMEUR/DUMP/DUMP-GLOBAUX_$w.txt;

                # Étiquetage Contextes globaux pour trameur
                # Délimiteur fichiers <Fichier=$i><§>
                echo "<Fichier=$i><§>" >> ./TEMP/tempcontexte_$w.txt && cat ./CONTEXTES/$w/$i-utf8.txt >> ./TEMP/tempcontexte_$w.txt;

                # Supprimer tous les caractères sauf les chiffres, lettres et délimiteurs
                cat ./TEMP/tempcontexte_$w.txt | tr -c '[a-zA-z0-9] < § > = \n -' ' ' | tr -d '_' > ./TEMP/tempcontexte_$w"2.txt";

                # Supprimer lignes vides
                sed '/^$/d' < ./TEMP/tempcontexte_$w"2.txt" > ./TEMP/tempcontexte_$w"3.txt";

                # Joindre délimiteurs aux paragraphes
                sed ':a;N;$!ba;s/--\n/--/g' < ./TEMP/tempcontexte_$w"3.txt" > ./TEMP/tempcontexte_$w"4.txt";

                # Joindre délimiteurs fichiers aux paragraphes
                sed ':a;N;$!ba;s/><§>\n/><§>/g' < ./TEMP/tempcontexte_$w"4.txt" > ./TEMP/tempcontexte_$w"5.txt";

                # Supprime espaces en trop
                sed 's/^ *//;s/ *$//;s/ \{1,\}/ /g' < ./TEMP/tempcontexte_$w"5.txt" > ./TEMP/tempcontexte_$w"6.txt";

                # Délimiteurs début et fin de parties
                sed ':a;N;$!ba;s/\n--/<§>\n<§>/g' < ./TEMP/tempcontexte_$w"6.txt" > ./TEMP/tempcontexte_$w"7.txt";

                # Délimiteurs partie fin de chaque fichier
                sed ':a;N;$!ba;s/\n<Fichier=/<§>\n\n<Fichier=/g' < ./TEMP/tempcontexte_$w"7.txt" > ./TEMP/tempcontexte_$w"8.txt";

                # Supprimer caractère BOM Â qui apparait après le passage d'utf-8 à iso8859-1
                cat ./TEMP/tempcontexte_$w"8.txt" | sed 's/\xc2//g' > ./TRAMEUR/CONTEXTES/CONTEXTES-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;

                    # Étiquetage Dump globaux pour trameur
                    # Délimiteur fichiers <Fichier=$i><§>
                    echo "<Fichier=$i><§>" >> ./TEMP/tempdump_$w.txt && cat ./DUMP-TEXT/$w/$i-utf8.txt >> ./TEMP/tempdump_$w.txt;

                    # Supprimer tous les caractères sauf les chiffres, lettres et délimiteurs
                    cat ./TEMP/tempdump_$w.txt | tr -c '[a-zA-z0-9] < § > = \n' ' ' | tr -d '_' > ./TEMP/tempdump_$w"2.txt";

                    # Délimiteur parties <§> au début et à la fin de chaque paragraphe
                    sed ':a;N;$!ba;s/\n\n/<§>\n\n<§>/g' < ./TEMP/tempdump_$w"2.txt" > ./TEMP/tempdump_$w"3.txt"; 

                    # Supprime espaces en trop
                    sed 's/^ *//;s/ *$//;s/ \{1,\}/ /g' < ./TEMP/tempdump_$w"3.txt" > ./TEMP/tempdump_$w"4.txt";

                    # Paragraphes vides
                    #sed ':a;N;$!ba;s/\n\n/\n/g' < ./TEMP/tempdump_$w"3.txt" > ./TEMP/tempdump_$w"4.txt";
                    sed '/^$/d'< ./TEMP/tempdump_$w"4.txt" > ./TEMP/tempdump_$w"5.txt";

                    # Joindre délimiteur fichiers aux parties
                    sed ':a;N;$!ba;s/><§>\n/><§>/g' < ./TEMP/tempdump_$w"5.txt" > ./TEMP/tempdump_$w"6.txt";

                    # délimiteur partie fin de chaque fichier
                    sed ':a;N;$!ba;s/\n<Fichier=/<§>\n\n<Fichier=/g' < ./TEMP/tempdump_$w"6.txt" > ./TEMP/tempdump_$w"7.txt";

                    # Section pour dernier paragraphe
                    sed '${s/$/<§>/}' < ./TEMP/tempdump_$w"7.txt" > ./TEMP/tempdump_$w"8.txt";

                    # Supprimer caractère BOM Â qui apparait après le passage d'utf-8 à iso8859-1
                    cat ./TEMP/tempdump_$w"8.txt" | sed 's/\xc2//g' > ./TRAMEUR/DUMP/DUMP-GLOBAUX_$w.txt;

                    # Étiquetage Contextes globaux pour trameur
                    # Délimiteur fichiers <Fichier=$i><§>
                    echo "<Fichier=$i><§>" >> ./TEMP/tempcontexte_$w.txt && cat ./CONTEXTES/$w/$i-utf8.txt >> ./TEMP/tempcontexte_$w.txt;

                    # Supprimer tous les caractères sauf les chiffres, lettres et délimiteurs
                    cat ./TEMP/tempcontexte_$w.txt | tr -c '[a-zA-z0-9] < § > = \n -' ' ' | tr -d '_' > ./TEMP/tempcontexte_$w"2.txt";

                    # Supprimer lignes vides
                    sed '/^$/d' < ./TEMP/tempcontexte_$w"2.txt" > ./TEMP/tempcontexte_$w"3.txt";

                    # Joindre délimiteurs aux paragraphes
                    sed ':a;N;$!ba;s/--\n/--/g' < ./TEMP/tempcontexte_$w"3.txt" > ./TEMP/tempcontexte_$w"4.txt";

                    # Joindre délimiteurs fichiers aux paragraphes
                    sed ':a;N;$!ba;s/><§>\n/><§>/g' < ./TEMP/tempcontexte_$w"4.txt" > ./TEMP/tempcontexte_$w"5.txt";

                    # Supprime espaces en trop
                    sed 's/^ *//;s/ *$//;s/ \{1,\}/ /g' < ./TEMP/tempcontexte_$w"5.txt" > ./TEMP/tempcontexte_$w"6.txt";

                    # Délimiteurs début et fin de parties
                    sed ':a;N;$!ba;s/\n--/<§>\n<§>/g' < ./TEMP/tempcontexte_$w"6.txt" > ./TEMP/tempcontexte_$w"7.txt";

                    # Délimiteurs partie fin de chaque fichier
                    sed ':a;N;$!ba;s/\n<Fichier=/<§>\n\n<Fichier=/g' < ./TEMP/tempcontexte_$w"7.txt" > ./TEMP/tempcontexte_$w"8.txt";

                    # Supprimer caractère BOM Â qui apparait après le passage d'utf-8 à iso8859-1
                    cat ./TEMP/tempcontexte_$w"8.txt" | sed 's/\xc2//g' > ./TRAMEUR/CONTEXTES/CONTEXTES-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;

                        # Étiquetage Dump globaux pour trameur
                        # Délimiteur fichiers <Fichier=$i><§>
                        echo "<Fichier=$i><§>" >> ./TEMP/tempdump_$w.txt && cat ./DUMP-TEXT/$w/$i-utf8.txt >> ./TEMP/tempdump_$w.txt;

                        # Supprimer tous les caractères sauf les chiffres, lettres et délimiteurs
                        cat ./TEMP/tempdump_$w.txt | tr -c '[a-zA-z0-9] < § > = \n' ' ' | tr -d '_' > ./TEMP/tempdump_$w"2.txt";

                        # Délimiteur parties <§> au début et à la fin de chaque paragraphe
                        sed ':a;N;$!ba;s/\n\n/<§>\n\n<§>/g' < ./TEMP/tempdump_$w"2.txt" > ./TEMP/tempdump_$w"3.txt"; 

                        # Supprime espaces en trop
                        sed 's/^ *//;s/ *$//;s/ \{1,\}/ /g' < ./TEMP/tempdump_$w"3.txt" > ./TEMP/tempdump_$w"4.txt";

                        # Paragraphes vides
                        #sed ':a;N;$!ba;s/\n\n/\n/g' < ./TEMP/tempdump_$w"3.txt" > ./TEMP/tempdump_$w"4.txt";
                        sed '/^$/d'< ./TEMP/tempdump_$w"4.txt" > ./TEMP/tempdump_$w"5.txt";

                        # Joindre délimiteur fichiers aux parties
                        sed ':a;N;$!ba;s/><§>\n/><§>/g' < ./TEMP/tempdump_$w"5.txt" > ./TEMP/tempdump_$w"6.txt";

                        # délimiteur partie fin de chaque fichier
                        sed ':a;N;$!ba;s/\n<Fichier=/<§>\n\n<Fichier=/g' < ./TEMP/tempdump_$w"6.txt" > ./TEMP/tempdump_$w"7.txt";

                        # Section pour dernier paragraphe
                        sed '${s/$/<§>/}' < ./TEMP/tempdump_$w"7.txt" > ./TEMP/tempdump_$w"8.txt";

                        # Supprimer caractère BOM Â qui apparait après le passage d'utf-8 à iso8859-1
                        cat ./TEMP/tempdump_$w"8.txt" | sed 's/\xc2//g' > ./TRAMEUR/DUMP/DUMP-GLOBAUX_$w.txt;

                        # Étiquetage Contextes globaux pour trameur
                        # Délimiteur fichiers <Fichier=$i><§>
                        echo "<Fichier=$i><§>" >> ./TEMP/tempcontexte_$w.txt && cat ./CONTEXTES/$w/$i-utf8.txt >> ./TEMP/tempcontexte_$w.txt;

                        # Supprimer tous les caractères sauf les chiffres, lettres et délimiteurs
                        cat ./TEMP/tempcontexte_$w.txt | tr -c '[a-zA-z0-9] < § > = \n -' ' ' | tr -d '_' > ./TEMP/tempcontexte_$w"2.txt";

                        # Supprimer lignes vides
                        sed '/^$/d' < ./TEMP/tempcontexte_$w"2.txt" > ./TEMP/tempcontexte_$w"3.txt";

                        # Joindre délimiteurs aux paragraphes
                        sed ':a;N;$!ba;s/--\n/--/g' < ./TEMP/tempcontexte_$w"3.txt" > ./TEMP/tempcontexte_$w"4.txt";

                        # Joindre délimiteurs fichiers aux paragraphes
                        sed ':a;N;$!ba;s/><§>\n/><§>/g' < ./TEMP/tempcontexte_$w"4.txt" > ./TEMP/tempcontexte_$w"5.txt";

                        # Supprime espaces en trop
                        sed 's/^ *//;s/ *$//;s/ \{1,\}/ /g' < ./TEMP/tempcontexte_$w"5.txt" > ./TEMP/tempcontexte_$w"6.txt";

                        # Délimiteurs début et fin de parties
                        sed ':a;N;$!ba;s/\n--/<§>\n<§>/g' < ./TEMP/tempcontexte_$w"6.txt" > ./TEMP/tempcontexte_$w"7.txt";

                        # Délimiteurs partie fin de chaque fichier
                        sed ':a;N;$!ba;s/\n<Fichier=/<§>\n\n<Fichier=/g' < ./TEMP/tempcontexte_$w"7.txt" > ./TEMP/tempcontexte_$w"8.txt";

                        # Supprimer caractère BOM Â qui apparait après le passage d'utf-8 à iso8859-1
                        cat ./TEMP/tempcontexte_$w"8.txt" | sed 's/\xc2//g' > ./TRAMEUR/CONTEXTES/CONTEXTES-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 "</section>
  <!-- end .content --></article>
<div id="footer">
  <footer>Designed by Ahmed Hassan</footer>
  </div>
<!-- end .container --></div>
</body>
</html>" >> $fichier_tableau;

# Supprimer le répertoire TEMP
rm -r ./TEMP