Le script

Travailler sur le script nous a pris la plus grande partie du semestre. Cette page contient un résumé du processus, mais pour plus de détails, mieux vaut suivre notre blog.

Pour télécharger le script, cliquez ici.

Pour le voir sur cette page (sans formatage ni indentations), cliquez ici.

Le script se déroule en plusieurs étapes afin d'arriver au tableau final. Le principe est le suivant :

  • chaque page web du corpus doit être aspirée et stockée localement (colonne PA)
  • si l'encodage de la page aspirée est différent d'UTF-8, on doit la convertir (voir schéma plus bas) avant de la transformer en fichier texte (colonnes DUMP)
  • on choisit un expression régulière relative au mot qu'on étudie et on recherche les contextes dans lesquels on la retrouve dans les fichiers textes (colonnes CTXTE et MINIGREP)
  • on compte les occurrences de l'expression régulière dans chaque fichier texte, et on fait l'index des mots les plus fréquents de chaque fichier (colonnes FREQUENCE et INDEX)
  • on concatène les fichiers de contextes et les fichiers texte afin de pouvoir les exploiter dans iTrameur et en faire des nuages de mots

#!/bin/bash

#syntaxe dans le terminal : bash scripttableau.sh < ./PROGRAMMES/param.txt
read rep;
echo "Input: dossier contenant les fichiers d'URL : $rep";
read table;
echo "Output: emplacement où le fichier html sera créé : $table";
read motifan;
echo "Motif recherché dans le corpus anglais : $motifan";
read motifch;
echo "Motif recherché dans le corpus chinois : $motifch";
read motiffr;
echo "Motif recherché dans le corpus français : $motiffr";

#on insère le début de la page html dans le tableau
echo "<!DOCTYPE HTML>
<!--
Photon by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-->
<html>
<head>
<title>Le plagiat sur le web</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!--[if lte IE 8]><script src="assets/js/ie/html5shiv.js"></script><![endif]-->
<link rel="stylesheet" href="assets/css/main.css" />
<!--[if lte IE 8]><link rel="stylesheet" href="assets/css/ie8.css" /><![endif]-->
<!--[if lte IE 9]><link rel="stylesheet" href="assets/css/ie9.css" /><![endif]-->
</head>
<body>

<!-- Header -->
<section id="header">
<div class="inner">
<span class="icon major fa-cloud"></span>
<h1>PROJET ENCADRE 2017-2018</h1>
<p>Etude du mot "plagiat" en anglais, chinois, et français</p>
<ul class="actions">
<li><a href="\#index" class="button scrolly">A propos</a></li>
<li><a href="\#script" class="button scrolly">Script</a></li>
<li><a href="\#tableaux" class="button scrolly">Tableaux</a></li>
<li><a href="\#trameur" class="button scrolly">Trameur</a></li>
<li><a href="\#nuages" class="button scrolly">Nuages</a></li>
<li><a href="\#analyse" class="button scrolly">Analyse</a></li>
<li><a href="https://pluritalbcx.wordpress.com/" class="button scrolly">Blog</a></li>
</ul>
</div>
</section>" > $table;

#fonction qui crée le début du tableau
tableau () {
echo "<h4>Tableau d'URLs $1</h4>">> $table;
echo "<h5>Motif recherché : $motif</h5>" >> $table;
echo "<section><div class="table-wrapper">
<table>
<thead>" >> $table;
}

#fonction qui crée une ligne du tableau
ligne_tableau () {
echo "<tr><th>$1</th><th>$2</th><th>$3</th><th>$4</th><th>$5</th><th>$6</th><th>$7</th><th>$8</th><th>$9</th><th>${10}</th><th>${11}</th></tr>" >> $table;
}

#fonction qui crée le footer du tableau, aka la ligne avec les fichiers concaténés
ligne_concatenation () {
echo "<tfoot><tr><td colspan="5"></td><td><a href="../DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt">DP-GLOBAL-$compteurtable</a></td><td colspan="1"></td><td><a href="../CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt">CTXTE-GLOBAL-$compteurtable</a></td></tr></tfoot>" >> $table;
}

#on définit une variable compteurtable qui assignera une numéro à chaque tableau (un tableau par langue)
compteurtable=0;

#on définit la variable urlfile pour le fichier qui contient les urls: $urlfile est contenu dans $rep
#on ouvre une première boucle pour créer un tableau ; cette boucle créera autant de tableaux qu'il y a de fichiers dans $rep

for urlfile in $(ls $rep)
do

let "compteurtable=compteurtable+1";

#on détermine dans quel tableau on se situe et on choisit le motif approprié
case $compteurtable in
1) motif=$motifan
tableau "anglaises"
;;
2) motif=$motifch
tableau "chinoises"
;;
3) motif=$motiffr
tableau "françaises"
;;
esac

ligne_tableau "N°" "Encodage" "Code HTTP" "URL" "Page aspirée" "Fichier texte (originel)" "Fichier texte (converti)" "Contextes" "Contextes (minigrep)" "Fréquence du motif" "Index";

echo "</thead><tbody>" >> $table;

#on crée un deuxième compteur qui assigne cette fois un numéro à chaque ligne/url
compteur=0;

#on crée une deuxième boucle pour chaque url
#le chemin est écrit ainsi car on se situe toujours dans PROJET_MOTS SUR LE WEB : ATTENTION, c'est différent après
for url in $(cat ./URLS/$urlfile)
do

let "compteur=compteur+1";
#on établit nouvelle variable qui permet d'extraire l'encodage de la page
encodage=$(curl -sIL $url | tr -d "\r" | egrep -i "charset=" | cut -d"=" -f2 | tr "a-z" "A-Z");

#codes http les plus communs :
#200 : succès de la requête ; 301 et 302 : redirection, respectivement permanente et temporaire ; 401 : utilisateur non authentifié ; 403 : accès refusé ; 404 : page non trouvée ; 500 et 503 : erreur serveur.
http_code=$(curl -o ./PAGES-ASPIREES/$compteurtable-$compteur.html -w "%{http_code}" "$url");

#avant de passer au dump, on doit tester l'encodage de chaque page (voir schéma)
#pas de problème de casse grâce à tr
if [[ $encodage = UTF-8 ]]
then
echo "Encodage ("$encodage") détecté, poursuite du programme ($compteurtable-$compteur).";
#envoie tout le texte (dump) dans le dossier approprié
lynx -dump -nolist -assume_charset=$encodage -display_charset=$encodage /Users/milena/Desktop/M1TAL/PROJET_MOTS_SUR_LE_WEB/PAGES-ASPIREES/$compteurtable-$compteur.html > ./DUMP-TEXT/$compteurtable-$compteur.txt;

echo "Création des contextes.";
#contextes simples
egrep -i --context $motif ./DUMP-TEXT/$compteurtable-$compteur.txt > ./CONTEXTES/$compteurtable-$compteur.txt;

echo "Ajout au fichier concaténé";
echo "<file=$compteur>" >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;
sed 's/<>//g' < ./DUMP-TEXT/$compteurtable-$compteur.txt >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;
echo "</file>" >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;

echo "<file=$compteur>" >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
sed 's/<>//g' < ./CONTEXTES/$compteurtable-$compteur.txt >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
echo "</file>" >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;

#minigrep
comptemotif=$(egrep -coi $motif ./DUMP-TEXT/$compteurtable-$compteur.txt);
perl ./PROGRAMMES/minigrep/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$compteurtable-$compteur.txt ./PROGRAMMES/paramminigrep$compteurtable.txt;
mv resultat-extraction.html ./CONTEXTES/$compteurtable-$compteur.html;

#index
egrep -o "\w+" ./DUMP-TEXT/$compteurtable-$compteur.txt | sort | uniq -ic | sort -r > ./CONTEXTES/$compteurtable-$compteur-index.txt;

#on crée le tableau en tant que tel
#ICI le chemin est différent car le tableau se situe dans PROJET_MOTS_SUR_LE_WEB/TABLEAUX
ligne_tableau "$compteur" "$encodage" "$http_code" "<a href="$url">$url</a>" "<a href="../PAGES-ASPIREES/$compteurtable-$compteur.html">PA $compteurtable-$compteur</a>" "<a href="../DUMP-TEXT/$compteurtable-$compteur.txt">DP $compteurtable-$compteur</a>" "-" "<a href="../CONTEXTES/$compteurtable-$compteur.txt">CTXTE $compteurtable-$compteur</a>" "<a href="../CONTEXTES/$compteurtable-$compteur.html">MINIGREP $compteurtable-$compteur</a>" "$comptemotif" "<a href="../CONTEXTES/$compteurtable-$compteur-index.txt">INDEX $compteurtable-$compteur";

else
if [[ $encodage = "" ]]
then
echo "Aucun encodage détecté. Recherche de la page aspirée.";
if [ -e ./PAGES-ASPIREES/$compteurtable-$compteur.html ]
then
echo "Page aspirée trouvée. Recherche de l'encodage dans la page aspirée.";
#on utilise un programme externe pour trouver un encodage ($encodagepa) et vérifier si ce dernier est présent dans la liste des encodages connus de iconv (iconv -l)
encodagepa=$(./PROGRAMMES/detect-encoding-osx ./PAGES-ASPIREES/$compteurtable-$compteur.html | tr "a-z" "A-Z" | sed "s/\n//");
if [[ $encodagepa = UTF-8 ]]
then
echo "Encodage ("$encodagepa") détecté, poursuite du programme ($compteurtable-$compteur).";
lynx -dump -nolist -assume_charset=$encodagepa -display_charset=$encodagepa /Users/milena/Desktop/M1TAL/PROJET_MOTS_SUR_LE_WEB/PAGES-ASPIREES/$compteurtable-$compteur.html > ./DUMP-TEXT/$compteurtable-$compteur.txt;
echo "Création des contextes.";
egrep -i --context $motif ./DUMP-TEXT/$compteurtable-$compteur.txt > ./CONTEXTES/$compteurtable-$compteur.txt;

echo "Ajout au fichier concaténé";
echo "<file=$compteur>" >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;
sed 's/<>//g' < ./DUMP-TEXT/$compteurtable-$compteur.txt >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;
echo "</file>" >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;

echo "<file=$compteur>" >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
sed 's/<>//g' < ./CONTEXTES/$compteurtable-$compteur.txt >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
echo "</file>" >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
comptemotif=$(egrep -coi $motif ./DUMP-TEXT/$compteurtable-$compteur.txt);
perl ./PROGRAMMES/minigrep/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$compteurtable-$compteur.txt ./PROGRAMMES/paramminigrep$compteurtable.txt;
mv resultat-extraction.html ./CONTEXTES/$compteurtable-$compteur.html;
egrep -o "\w+" ./DUMP-TEXT/$compteurtable-$compteur.txt | sort | tr "A-Z" "a-z" | uniq -ic | sort -gr > ./CONTEXTES/$compteurtable-$compteur-index.txt;
ligne_tableau "$compteur" "$encodagepa" "$http_code" "<a href="$url">$url</a>" "<a href="../PAGES-ASPIREES/$compteurtable-$compteur.html">PA $compteurtable-$compteur</a>" "<a href="../DUMP-TEXT/$compteurtable-$compteur.txt">DP $compteurtable-$compteur</a>" "-" "<a href="../CONTEXTES/$compteurtable-$compteur.txt">CTXTE $compteurtable-$compteur</a>" "<a href="../CONTEXTES/$compteurtable-$compteur.html">MINIGREP $compteurtable-$compteur</a>" "$comptemotif" "<a href="../CONTEXTES/$compteurtable-$compteur-index.txt">INDEX $compteurtable-$compteur";
#iconv -l donne la liste des encodages reconnus par iconv, egrep permet de vérifier si l'encodage de la P.A. s'y trouve, sort -u supprime les lignes en double
else
encodageiconv=$(iconv -l | egrep -io $encodagepa | sort -u);
#si $encodageiconv est vide, cela signifie qu'egrep n'a rien trouvé
if [[ $encodageiconv != "" ]]
then
echo "Page aspirée trouvée et encodage ("$encodagepa") reconnu par iconv ("$encodageiconv"), poursuite du programme ($compteurtable-$compteur).";
lynx -dump -nolist -assume_charset=$encodagepa -display_charset=$encodagepa /Users/milena/Desktop/M1TAL/PROJET_MOTS_SUR_LE_WEB/PAGES-ASPIREES/$compteurtable-$compteur.html > ./DUMP-TEXT/$compteurtable-$compteur-$encodagepa.txt;
iconv -f $encodagepa -t UTF-8//TRANSLIT ./PAGES-ASPIREES/$compteurtable-$compteur.html > ./PAGES-ASPIREES/$compteurtable-$compteur-UTF-8.html;
lynx -dump -nolist -assume_charset=UTF-8 -display_charset=UTF-8 /Users/milena/Desktop/M1TAL/PROJET_MOTS_SUR_LE_WEB/PAGES-ASPIREES/$compteurtable-$compteur-UTF-8.html > ./DUMP-TEXT/$compteurtable-$compteur.txt;
echo "Création des contextes.";
egrep -i --context $motif ./DUMP-TEXT/$compteurtable-$compteur.txt > ./CONTEXTES/$compteurtable-$compteur.txt;

echo "Ajout au fichier concaténé";
echo "<file=$compteur>" >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;
sed 's/<>//g' < ./DUMP-TEXT/$compteurtable-$compteur.txt >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;
echo "</file>" >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;

echo "<file=$compteur>" >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
sed 's/<>//g' < ./CONTEXTES/$compteurtable-$compteur.txt >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
echo "</file>" >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
comptemotif=$(egrep -coi $motif ./DUMP-TEXT/$compteurtable-$compteur.txt);
perl ./PROGRAMMES/minigrep/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$compteurtable-$compteur.txt ./PROGRAMMES/paramminigrep$compteurtable.txt;
mv resultat-extraction.html ./CONTEXTES/$compteurtable-$compteur.html;
egrep -o "\w+" ./DUMP-TEXT/$compteurtable-$compteur.txt | sort | tr "A-Z" "a-z" | uniq -ic | sort -gr > ./CONTEXTES/$compteurtable-$compteur-index.txt;
ligne_tableau "$compteur" "$encodageiconv" "$http_code" "<a href="$url">$url</a>" "<a href="../PAGES-ASPIREES/$compteurtable-$compteur.html">PA $compteurtable-$compteur</a>" "<a href="../DUMP-TEXT/$compteurtable-$compteur-$encodagepa.txt">DP $compteurtable-$compteur-$encodagepa</a>" "<a href="../DUMP-TEXT/$compteurtable-$compteur.txt">DP $compteurtable-$compteur</a>" "<a href="../CONTEXTES/$compteurtable-$compteur.txt">CTXTE $compteurtable-$compteur</a>" "<a href="../CONTEXTES/$compteurtable-$compteur.html">MINIGREP $compteurtable-$compteur</a>" "$comptemotif" "<a href="../CONTEXTES/$compteurtable-$compteur-index.txt">INDEX $compteurtable-$compteur";
else
echo "Page aspirée trouvée mais encodage ("$encodagepa") non reconnu par iconv ("$encodageiconv"). ECHEC ($compteurtable-$compteur).";
echo "<tr><td>$compteur</td><td> ECHEC ($url) </td><td>$http_code</td></tr>" >>$table;
fi
fi
else
echo "Aucune page aspirée trouvée. ECHEC.";
echo "<tr><td>$compteur</td><td> ECHEC ($url) </td><td>$http_code</td></tr>" >>$table;
fi
else
encodageiconv=$(iconv -l | egrep -io $encodage | sort -u);
if [[ $encodageiconv != "" ]]
then
echo "Détection d'un encodage ("$encodage") reconnu par iconv ("$encodageiconv"), poursuite du programme ($compteurtable-$compteur).";
lynx -dump -nolist -assume_charset=$encodage -display_charset=$encodage /Users/milena/Desktop/M1TAL/PROJET_MOTS_SUR_LE_WEB/PAGES-ASPIREES/$compteurtable-$compteur.html > ./DUMP-TEXT/$compteurtable-$compteur-$encodage.txt;
iconv -f $encodageiconv -t UTF-8//TRANSLIT ./PAGES-ASPIREES/$compteurtable-$compteur.html > ./PAGES-ASPIREES/$compteurtable-$compteur-UTF-8.html;
lynx -dump -nolist -assume_charset=UTF-8 -display_charset=UTF-8 /Users/milena/Desktop/M1TAL/PROJET_MOTS_SUR_LE_WEB/PAGES-ASPIREES/$compteurtable-$compteur-UTF-8.html > ./DUMP-TEXT/$compteurtable-$compteur.txt;
echo "Création des contextes.";
egrep -i --context $motif ./DUMP-TEXT/$compteurtable-$compteur.txt > ./CONTEXTES/$compteurtable-$compteur.txt;

echo "Ajout au fichier concaténé";
echo "<file=$compteur>" >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;
sed 's/<>//g' < ./DUMP-TEXT/$compteurtable-$compteur.txt >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;
echo "</file>" >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;

echo "<file=$compteur>" >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
sed 's/<>//g' < ./CONTEXTES/$compteurtable-$compteur.txt >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
echo "</file>" >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
comptemotif=$(egrep -coi $motif ./DUMP-TEXT/$compteurtable-$compteur.txt);
perl ./PROGRAMMES/minigrep/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$compteurtable-$compteur.txt ./PROGRAMMES/paramminigrep$compteurtable.txt;
mv resultat-extraction.html ./CONTEXTES/$compteurtable-$compteur.html;
egrep -o "\w+" ./DUMP-TEXT/$compteurtable-$compteur.txt | sort | tr "A-Z" "a-z" | uniq -ic | sort -gr > ./CONTEXTES/$compteurtable-$compteur-index.txt;
ligne_tableau "$compteur" "$encodageiconv" "$http_code" "<a href="$url">$url</a>" "<a href="../PAGES-ASPIREES/$compteurtable-$compteur.html">PA $compteurtable-$compteur</a>" "<a href="../DUMP-TEXT/$compteurtable-$compteur-$encodage.txt">DP $compteurtable-$compteur-$encodage</a>" "<a href="../DUMP-TEXT/$compteurtable-$compteur.txt">DP $compteurtable-$compteur</a>" "<a href="../CONTEXTES/$compteurtable-$compteur.txt">CTXTE $compteurtable-$compteur</a>" "<a href="../CONTEXTES/$compteurtable-$compteur.html">MINIGREP $compteurtable-$compteur</a>" "$comptemotif" "<a href="../CONTEXTES/$compteurtable-$compteur-index.txt">INDEX $compteurtable-$compteur";
else
echo "Détection d'un encodage ("$encodage") non reconnu par iconv ("$encodageiconv"). Recherche de la page aspirée.";
if [ -e ./PAGES-ASPIREES/$compteurtable-$compteur.html ]
then
echo "Page aspirée trouvée. Recherche de l'encodage dans la page aspirée.";
encodagepa=$(./PROGRAMMES/detect-encoding-osx ./PAGES-ASPIREES/$compteurtable-$compteur.html | tr "a-z" "A-Z" | sed "s/\n//");
if [[ $encodageiconv = UTF-8 ]]
then
echo "Encodage ("$encodageiconv") détecté, poursuite du programme ($compteurtable-$compteur).";
lynx -dump -nolist -assume_charset=$encodageiconv -display_charset=$encodageiconv $url > ./DUMP-TEXT/$compteurtable-$compteur.txt;
echo "Création des contextes.";
egrep -i --context $motif ./DUMP-TEXT/$compteurtable-$compteur.txt > ./CONTEXTES/$compteurtable-$compteur.txt;

echo "Ajout au fichier concaténé";
echo "<file=$compteur>" >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;
sed 's/<>//g' < ./DUMP-TEXT/$compteurtable-$compteur.txt >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;
echo "</file>" >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;

echo "<file=$compteur>" >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
sed 's/<>//g' < ./CONTEXTES/$compteurtable-$compteur.txt >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
echo "</file>" >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
comptemotif=$(egrep -coi $motif ./DUMP-TEXT/$compteurtable-$compteur.txt);
perl ./PROGRAMMES/minigrep/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$compteurtable-$compteur.txt ./PROGRAMMES/paramminigrep$compteurtable.txt;
mv resultat-extraction.html ./CONTEXTES/$compteurtable-$compteur.html;
egrep -o "\w+" ./DUMP-TEXT/$compteurtable-$compteur.txt | sort | tr "A-Z" "a-z" | uniq -ic | sort -gr > ./CONTEXTES/$compteurtable-$compteur-index.txt;
ligne_tableau "$compteur" "$encodageiconv" "$http_code" "<a href="$url">$url</a>" "<a href="../PAGES-ASPIREES/$compteurtable-$compteur.html">PA $compteurtable-$compteur</a>" "<a href="../DUMP-TEXT/$compteurtable-$compteur.txt">DP $compteurtable-$compteur</a>" "-" "<a href="../CONTEXTES/$compteurtable-$compteur.txt">CTXTE $compteurtable-$compteur</a>" "<a href="../CONTEXTES/$compteurtable-$compteur.html">MINIGREP $compteurtable-$compteur</a>" "$comptemotif" "<a href="../CONTEXTES/$compteurtable-$compteur-index.txt">INDEX $compteurtable-$compteur";
else
encodageiconv=$(iconv -l | egrep -io $encodagepa | sort -u);
if [[ $encodageiconv != "" ]]
then
echo "Page aspirée trouvée et encodage ("$encodagepa") reconnu par iconv ("$encodageiconv"), poursuite du programme ($compteurtable-$compteur).";
lynx -dump -nolist -assume_charset=$encodagepa -display_charset=$encodagepa /Users/milena/Desktop/M1TAL/PROJET_MOTS_SUR_LE_WEB/PAGES-ASPIREES/$compteurtable-$compteur.html > ./DUMP-TEXT/$compteurtable-$compteur-$encodagepa.txt;
iconv -f $encodageiconv -t UTF-8//TRANSLIT ./PAGES-ASPIREES/$compteurtable-$compteur.html > ./PAGES-ASPIREES/$compteurtable-$compteur-UTF-8.html;
lynx -dump -nolist -assume_charset=UTF-8 -display_charset=UTF-8 /Users/milena/Desktop/M1TAL/PROJET_MOTS_SUR_LE_WEB/PAGES-ASPIREES/$compteurtable-$compteur-UTF-8.html > ./DUMP-TEXT/$compteurtable-$compteur.txt;
echo "Création des contextes.";
egrep -i --context $motif ./DUMP-TEXT/$compteurtable-$compteur.txt > ./CONTEXTES/$compteurtable-$compteur.txt;

echo "Ajout au fichier concaténé";
echo "<file=$compteur>" >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;
sed 's/<>//g' < ./DUMP-TEXT/$compteurtable-$compteur.txt >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;
echo "</file>" >> ./DUMP-TEXT/DUMP-GLOBAL-$compteurtable.txt;

echo "<file=$compteur>" >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
sed 's/<>//g' < ./CONTEXTES/$compteurtable-$compteur.txt >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
echo "</file>" >> ./CONTEXTES/CTXTE-GLOBAL-$compteurtable.txt;
comptemotif=$(egrep -coi $motif ./DUMP-TEXT/$compteurtable-$compteur.txt);
perl ./PROGRAMMES/minigrep/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$compteurtable-$compteur.txt ./PROGRAMMES/paramminigrep$compteurtable.txt;
mv resultat-extraction.html ./CONTEXTES/$compteurtable-$compteur.html;
egrep -o "\w+" ./DUMP-TEXT/$compteurtable-$compteur.txt | sort | tr "A-Z" "a-z" | uniq -ic | sort -gr > ./CONTEXTES/$compteurtable-$compteur-index.txt;
ligne_tableau "$compteur" "$encodageiconv" "$http_code" "<a href="$url">$url</a>" "<a href="../PAGES-ASPIREES/$compteurtable-$compteur.html">PA $compteurtable-$compteur</a>" "<a href="../DUMP-TEXT/$compteurtable-$compteur-$encodagepa.txt">DP $compteurtable-$compteur-$encodagepa</a>" "<a href="../DUMP-TEXT/$compteurtable-$compteur.txt">DP $compteurtable-$compteur</a>" "<a href="../CONTEXTES/$compteurtable-$compteur.txt">CTXTE $compteurtable-$compteur</a>" "<a href="../CONTEXTES/$compteurtable-$compteur.html">MINIGREP $compteurtable-$compteur</a>" "$comptemotif" "<a href="../CONTEXTES/$compteurtable-$compteur-index.txt">INDEX $compteurtable-$compteur";
else
echo "Page aspirée trouvée mais encodage ("$encodagepa") non reconnu par iconv ("$encodageiconv"). ECHEC ($compteurtable-$compteur).";
echo "<tr><td>$compteur</td><td> ECHEC ($url) </td><td>$http_code</tr>" >>$table;
fi
fi
else
echo "Aucune page aspirée trouvée. ECHEC ($compteurtable-$compteur).";
echo "<tr><td>$compteur</td><td> ECHEC ($url) </td><td>$http_code</td></tr>" >>$table;
fi
fi
fi
fi
done

#on finit le tableau
echo "</tbody>" >> $table;
ligne_concatenation;
echo "Fin du tableau.";
echo "</table></div></section>" >> $table;
done
echo "Fin !";

#fin page html
echo "<!-- Contact -->
<section id="four" class="main style2 special">
<div class="container">
<header class="major">
<h2>Contact</h2>
</header>
<p>Pour contacter les étudiantes en charge du projet :</p>
<ul class="actions uniform">
<li><a class="button special" href="mailto:pluritalbcx@outlook.fr">E-mail</a></li>
</ul>
</div>
</section>
<!-- Footer -->
<section id="footer">
<ul class="copyright">
<li>&copy; Untitled</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li>
</ul>
</section>

<!-- Scripts -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery.scrolly.min.js"></script>
<script src="assets/js/skel.min.js"></script>
<script src="assets/js/util.js"></script>
<!--[if lte IE 8]><script src="assets/js/ie/respond.min.js"></script><![endif]-->
<script src="assets/js/main.js"></script>

</body>
</html>" >> $table;

Qui sommes-nous ?

Plurital

Nous avons conduit ce projet dans le cadre de notre première année de master en traitement automatique des langues, en coordination entre l'université Paris 10 Nanterre, Paris 3 la Sorbonne, et l'Inalco.

Enseignants

La réalisation du projet a été orientée au cours du semestre par :

  • Serge Fleury (Paris 3)
  • Jean-Michel Daube (Inalco)

Etudiantes

Nous sommes trois étudiantes :

  • Cassandre Bâton (Paris 10, français)
  • Milena Chaîne (Inalco, anglais)
  • Qing Xue (Paris 10, chinois)

Contact

Pour contacter les étudiantes en charge du projet :