Les scripts Bash


Création de l'environnement de travail

Pour télécharger ce script... : ici.

#!/bin/bash

# On se place initialement à la racine de notre répertoire de travail, via la commande cd
# Ici, c'est un dossier nommé "AxelKunMarjo"

###################################
# Création de l'arborescence du répertoire de travail #
###################################


mkdir
./CONTEXTES;
mkdir
./DUMP-TEXT;
mkdir
./IMAGES;
mkdir
./PAGES-ASPIREES;
mkdir
./PROGRAMMES;
mkdir
./TABLEAUX;
mkdir
./URLs;
mkdir
./URLs/Allemand;
mkdir
./URLs/Anglais;
mkdir
./URLs/Chinois;
mkdir
./URLs/Espagnol;
mkdir
./URLs/Francais;
mkdir
./URLs/Portugais;

##########################################
# Il faut ensuite placer les fichiers d'URL dans les dossiers URLs #
##########################################


______________________________________________________________

Création du tableau

Pour télécharger le script et ses ressources... : ici (à décompresser dans votre répertoire racine ; le script se trouve dans le dossier PROGRAMMES, et le tableau sera créé dans le dossier SITE). Recommandé, c'est plus lisible ! ;)

Lancement du script : lecture du run

#!/bin/bash

# On se place initialement dans le répertoire PROGRAMMES, via la commande cd
# Exécuter le script en redirigeant le fichier run54.txt : sh tab-liens-v54.sh < run_54.txt

########################
# Lecture du fichier run par le script #
########################

# Le fichier run contient des données que l'on stocke dans plusieurs variables :
# Le chemin du dossier contenant les URLs, le chemin du tableau à créer, le fichier contenant les définitions


read

dossierurls

;
# Si la commande
read
a fonctionné...

echo
"Répertoire URLs lu";

read

tablo

;
# Si la commande
read
a fonctionné...

echo
"Tableau créé";

read

definition

;
# Si la commande
read
a fonctionné...

echo
"Définitions apprises !";

############
# Fichier run lu ! #
############


_______________________

Préparatifs

#########################
# Opérations diverses de préparation #
#########################

# On colle le contenu du fichier d'entête header.html dans notre tableau (en le redirigeant vers la variable $tablo)

cat
header.html >

$tablo

;

# Préparation des fichiers et dossiers pour les nuages => suppression des fichiers textes destinés aux nuages, s'il y en a
# (pour éviter que le script ne concatène les dumps et les contextes à l'infini)

rm
-f -r
../NUAGES/

################
# Opérations terminées #
################


_______________________

Boucles et tableau

#######################
# Début des boucles et du tableau #
#######################

# Démarrage d'une numérotation qui compte chaque ligne dans chaque fichier d'URLs pour faciliter le nommage des URLs aspirées (colonne2) dans le tableau

i

=1

# Première boucle : pour chaque dossier de langue présent dans le répertoire des URLs...

for

dossierlangue

in `
ls

$dossierurls

`
{

# On crée un tableau en HTML dont la mise en page a été définie dans la feuille de style générale du site (tel que déclaré dans l'entête)

echo
"
<table>
<thead>
<tr>
<th id=\"

$dossierlangue

\" colspan=\"5\">

$dossierlangue

</th> <!-- Regroupement des différentes colonnes (5 au total) par langue -->
</tr>
</thead>
" >>

$tablo

;

# On crée une arborescence des dossiers organisée par langue
# L'option -p permet que mkdir ne considère pas qu'il y a une erreur si les dossiers existent déjà

mkdir
-p
../PAGES-ASPIREES/

$dossierlangue

/ ;
mkdir
-p
../DUMP-TEXT/

$dossierlangue

/ ;
mkdir
-p
../CONTEXTES/

$dossierlangue

/ ;

# Deuxième boucle : pour chaque fichier regroupant des URLs classées par sens, dans chaque dossier de langue du dossier URLs...

for

fichiersens

in `
ls

$dossierurls

/

$dossierlangue

`
{

# Démarrage d'une numérotation qui compte chaque ligne dans chaque fichier d'URLs pour faciliter le nommage des URLs (colonne1) dans le tableau

y

=1

# Création d'une arborescence par sens

mkdir
-p
../DUMP-TEXT/

$dossierlangue

/

$fichiersens

/ ;
mkdir
-p
../CONTEXTES/

$dossierlangue

/

$fichiersens

/ ;
# Création des dossiers pour stocker les fichiers texte servant aux nuages

mkdir
-p
../NUAGES/
mkdir
-p
../NUAGES/

$dossierlangue

/
mkdir
-p
../NUAGES/

$dossierlangue

/

$fichiersens

/
# Puisque nous voulons afficher le motif proprement, on crée une page HTML

mkdir
-p
../CONTEXTES/

$dossierlangue

/

$fichiersens

/html/ ;
# Nous avons cependant besoin de garder le fichier en texte brut pour la création des nuages

mkdir
-p
../CONTEXTES/

$dossierlangue

/

$fichiersens

/txt/ ;

# On crée une sous-section dans le tableau pour regrouper les sites, pages aspirées, contextes, etc, classés par sens

echo
"
<thead>
<tr>
<th width=\"35%\">Fichier

$fichiersens

</th> <!-- Colonne pour les URLs -->
<th>Pages aspirées</th> <!-- On rajoute une colonne pour les pages aspirées -->
<th>Texte aspiré (UTF-8)</th> <!-- On rajoute une colonne pour les contenus textuels -->
<th>Contextes .txt (UTF-8)</th> <!-- On rajoute une colonne pour les contextes (.txt) -->
<th>Contextes .html</th> <!-- On rajoute une colonne pour les contextes (.html) -->
</tr>
</thead>
" >>

$tablo

;

###############
# Fin des préparatifs #
###############


_______________________

Wget, lynx, etc

#####################################
# Lecture des fichiers d'URLs et récupération des pages #
#####################################

# Troisième boucle : pour chaque URL inscrite dans chaque fichier d'URLs organisées par sens, pour chaque langue...

for

url

in `
cat

$dossierurls

/

$dossierlangue

/

$fichiersens

`
{

# On aspire le contenu des URLs de chaque fichier, puis on les stocke dans le répertoire PAGES ASPIREES et on les nomme grâce à la numérotation i

wget
-O
../PAGES-ASPIREES/

$dossier

/

$i

.html

$url



# On tente d'extraire l'encodage de la page aspirée grâce à la commande egrep
# Si la page a bien été aspirée et qu'un encodage a été trouvé, on copie celui-ci dans la variable $encodage
# Si la page n'a pas été aspirée ou que l'encodage n'a pas été trouvé, on inscrit un encodage par défaut (ISO-8859-1, car c'est l'encodage le plus fréquent dans nos pages - vérifié) dans cette même variable

if
egrep
-qi
"(charset ?=.*?(\"|\')|encoding ?=.*?(\"|\'))" ../PAGES-ASPIREES/

$dossierlangue

/

$i

.html ;
then

encodage

=

$

(
egrep
-m
1
-o
'(((utf|UTF)-(8|16|32))|(gb|GB)(k|K|2312|18030)|(iso|ISO|Iso)-8859-(\w)(\w)?|(WINDOWS|windows)-1252|((m|M)(a|A)(c|C)(R|r)(O|o)(M|m)(a|A)(n|N))|us-ascii)' ../PAGES-ASPIREES/

$dossierlangue

/

$i

.html |
sort
-u
) ;
else

encodage

=

$

(
echo
ISO-8859-1);
fi


# On récupère le texte de chaque page aspirée, on le convertit depuis son encodage d'origine en UTF-8, puis on le stocke dans le répertoire DUMP-TEXT et on le nomme grâce à la numérotation i

lynx
-dump -nolist -display_charset=

$encodage

../PAGES-ASPIREES/

$dossierlangue

/

$i

.html |
iconv
-f

$encodage

-t
UTF-8
-c
> ../DUMP-TEXT/

$dossierlangue

/

$fichiersens

/

$i

.txt

# On prépare les fichiers textuels qui serviront à la création des nuages :
# Concaténation des fichiers DUMP dans un fichier texte par langue et par sens

cat
../DUMP-TEXT/

$dossierlangue

/

$fichiersens

/

$i

.txt >> ../NUAGES/

$dossierlangue

/

$fichiersens

/nuage_dump

$fichiersens

.txt

#####
# Fin #
#####


_______________________

Variables pour le grep

##############################################
# Définition des différentes variables servant à l'extraction des motifs #
##############################################

# On sélectionne les motifs à chercher en fonction de la langue (exprimée dans la variable $dossierlangue) et en fonction du sens qui est étudié ; on stocke ce motif dans la variable $motif
# On associe à ce sens une définition, stockée dans la variable $def
# Pour certaines langues, on associe également à un motif voulu une liste de motifs non-désirés, qui seront mis en relief dans le fichier HTML de présentation final ; on les stocke dans la variable $dico

# Pour les pages en chinois

if
[

$dossierlangue

= "Chinois" ];
then

# Sens 1 (direction)

if
[[ "

$fichiersens

" == *1* ]];
then

def

=

$

(
head
-n
1

$definition

|
tail
-1)

motif

="方向"
# Sens 2 (signification)

elif
[[ "

$fichiersens

" == *2* ]];
then

def

=

$

(
head
-n
2

$definition

|
tail
-1)

motif

="意思"
# Sens 3 (capacité physique)

elif
[[ "

$fichiersens

" == *3* ]];
then

def

=

$

(
head
-n
3

$definition

|
tail
-1)

motif

="感觉"
# Sens 4 (capacité intellectuelle)

elif
[[ "

$fichiersens

" == *4* ]];
then

def

=

$

(
head
-n
4

$definition

|
tail
-1)

motif

="意识"
fi


# Pour les pages en allemand

elif
[

$dossierlangue

= "Allemand" ];
then

# Sens 1

if
[[ "

$fichiersens

" == *1* ]];
then

def

=

$

(
head
-n
1

$definition

|
tail
-1)

motif

="(Richtung|Einbahnstrassen|Uhrzeigersinn)"
# Sens 2

elif
[[ "

$fichiersens

" == *2* ]];
then

def

=

$

(
head
-n
2

$definition

|
tail
-1)

motif

="(Bedeutung|Sinngehalt|Fehl(ü|u)bersetzung|Nonsens|zweideutig)"
# Sens 3

elif
[[ "

$fichiersens

" == *3* ]];
then

def

=

$

(
head
-n
3

$definition

|
tail
-1)

motif

="(Sinne?|Gef(ü|u)hl)"
# Sens 4

elif
[[ "

$fichiersens

" == *4* ]];
then

def

=

$

(
head
-n
4

$definition

|
tail
-1)

motif

="(Sinne?|Gesp(ü|u)r|Verst(a|ä)nd|Empfinden|
Gef(ü|u)hl|Unziemlichkeit|Erfolgserlebnis|Organisationstalent)"
fi


# Pour les pages en anglais

elif
[

$dossierlangue

= "Anglais" ];
then

# Sens 1

if
[[ "

$fichiersens

" == *1* ]];
then

def

=

$

(
head
-n
1

$definition

|
tail
-1)

motif

="(directions?(\b)|(\b)(\w)+-ways?(\b)|(\b)ways?(\b))"

dico

="<span style=\"color: \#FE7F0E\"><b>ways?</b></span> of"
# Sens 2

elif
[[ "

$fichiersens

" == *2* ]];
then

def

=

$

(
head
-n
2

$definition

|
tail
-1)

motif

="(meanings?|significations?|senses?(\b))"

dico

="(common <span style=\"color: \#FE7F0E\"><b>sense</b></span>|(i|you|(\b)he|she|we|they) <span style=\"color: \#FE7F0E\"><b>senses?</b></span>|can <span style=\"color: \#FE7F0E\"><b>sense</b></span>|(five|5) <span style=\"color: \#FE7F0E\"><b>senses?</b></span>)"
# Sens 3

elif
[[ "

$fichiersens

" == *3* ]];
then

def

=

$

(
head
-n
3

$definition

|
tail
-1)

motif

="senses?(\b)"

dico

="(common <span style=\"color: \#FE7F0E\"><b>sense</b></span>|(i|you|(\b)he|she|we|they) <span style=\"color: \#FE7F0E\"><b>senses?</b></span>|can <span style=\"color: \#FE7F0E\"><b>sense</b></span>)"
# Sens 4

elif
[[ "

$fichiersens

" == *4* ]];
then

def

=

$

(
head
-n
4

$definition

|
tail
-1)

motif

="senses?(\b)"

dico

="((i|you|(\b)he|she|we|they) <span style=\"color: \#FE7F0E\"><b>senses?</b></span>|can <span style=\"color: \#FE7F0E\"><b>sense</b></span>|(five|5) <span style=\"color: \#FE7F0E\"><b>senses?</b></span>)"
fi


# Pour les pages en espagnol

elif
[

$dossierlangue

= "Espagnol" ];
then

motif

="(\b)sentidos?"
# Sens 1

if
[[ "

$fichiersens

" == *1* ]];
then

def

=

$

(
head
-n
1

$definition

|
tail
-1)

dico

="((he|has|ha|hemos|hab[ée]is|han) <span style=\"color: \#FE7F0E\"><b>sentido</b></span>|<span style=\"color: \#FE7F0E\"><b>sentido</b></span> com[uú]n|(tener|tiene) <span style=\"color: \#FE7F0E\"><b>sentido</b></span>)"
# Sens 2

elif
[[ "

$fichiersens

" == *2* ]];
then

def

=

$

(
head
-n
2

$definition

|
tail
-1)

dico

="((he|has|ha|hemos|hab[ée]is|han) <span style=\"color: \#FE7F0E\"><b>sentido</b></span>|<span style=\"color: \#FE7F0E\"><b>sentido</b></span> com[uú]n|<span style=\"color: \#FE7F0E\"><b>sentido</b></span> de (la verg[uü]enza|responsabilidades))"
# Sens 3

elif
[[ "

$fichiersens

" == *3* ]];
then

def

=

$

(
head
-n
3

$definition

|
tail
-1)

dico

="((he|has|ha|hemos|hab[ée]is|han) <span style=\"color: \#FE7F0E\"><b>sentido</b></span>|<span style=\"color: \#FE7F0E\"><b>sentido</b></span> com[uú]n)"
# Sens 4

elif
[[ "

$fichiersens

" == *4* ]];
then

def

=

$

(
head
-n
4

$definition

|
tail
-1)

dico

="(he|has|ha|hemos|hab[ée]is|han) <span style=\"color: \#FE7F0E\"><b>sentido</b></span>"
fi


# Pour les pages en français

elif
[

$dossierlangue

= "Francais" ];
then

motif

="(\b)sens(\b)"
# Sens 1

if
[[ "

$fichiersens

" == *1* ]];
then

def

=

$

(
head
-n
1

$definition

|
tail
-1)

dico

="((\b)je(\b)|(\b)tu(\b)) <span style=\"color: \#FE7F0E\"><b>(\b)sens(\b)</b></span>|<span style=\"color: \#FE7F0E\"><b>(\b)sens(\b)</b></span> commun|(cinq|5) <span style=\"color: \#FE7F0E\"><b>(\b)sens(\b)</b></span>"
# Sens 2

elif
[[ "

$fichiersens

" == *2* ]];
then

def

=

$

(
head
-n
2

$definition

|
tail
-1)

dico

="((\b)je(\b)|(\b)tu(\b)) <span style=\"color: \#FE7F0E\"><b>(\b)sens(\b)</b></span>|<span style=\"color: \#FE7F0E\"><b>(\b)sens(\b)</b></span> commun|(cinq|5) <span style=\"color: \#FE7F0E\"><b>(\b)sens(\b)</b></span>"
# Sens 3

elif
[[ "

$fichiersens

" == *3* ]];
then

def

=

$

(
head
-n
3

$definition

|
tail
-1)

dico

="((\b)je(\b)|(\b)tu(\b)) <span style=\"color: \#FE7F0E\"><b>(\b)sens(\b)</b></span>|<span style=\"color: \#FE7F0E\"><b>(\b)sens(\b)</b></span> commun"
# Sens 4

elif
[[ "

$fichiersens

" == *4* ]];
then

def

=

$

(
head
-n
4

$definition

|
tail
-1)

dico

="((\b)je(\b)|(\b)tu(\b)) <span style=\"color: \#FE7F0E\"><b>(\b)sens(\b)</b></span>|(cinq|5) <span style=\"color: \#FE7F0E\"><b>(\b)sens(\b)</b></span>"
fi


# Pour les pages en portugais

elif
[

$dossierlangue

= "Portugais" ];
then

# Sens 1

if
[[ "

$fichiersens

" == *1* ]];
then

def

=

$

(
head
-n
1

$definition

|
tail
-1)

motif

="(\b)sentidos?"

dico

="(<span style=\"color: \#FE7F0E\"><b>(\b)sentido(\b)</b></span> comum|dar? (mais)? <span style=\"color: \#FE7F0E\"><b>sentido(\b)</b></span>|t[eê][rm] (mais)? <span style=\"color: \#FE7F0E\"><b>sentido(\b)</b></span>|cheia de <span style=\"color: \#FE7F0E\"><b>sentido(\b)</b></span>)"
# Sens 2

elif
[[ "

$fichiersens

" == *2* ]];
then

def

=

$

(
head
-n
2

$definition

|
tail
-1)

motif

="(\b)sentidos?"

dico

="(<span style=\"color: \#FE7F0E\"><b>(\b)sentido(\b)</b></span> comum|<span style=\"color: \#FE7F0E\"><b>sentido</b></span> da (rua|estrada))"
# Sens 3

elif
[[ "

$fichiersens

" == *3* ]];
then

def

=

$

(
head
-n
3

$definition

|
tail
-1)

motif

="(\b)sentidos?"

dico

="(<span style=\"color: \#FE7F0E\"><b>(\b)sentido(\b)</b></span> comum|dar? (mais)? <span style=\"color: \#FE7F0E\"><b>sentido(\b)</b></span>|t[eê][rm] (mais)? <span style=\"color: \#FE7F0E\"><b>sentido(\b)</b></span>|cheia de <span style=\"color: \#FE7F0E\"><b>sentido(\b)</b></span>)"
# Sens 4

elif
[[ "

$fichiersens

" == *4* ]];
then

def

=

$

(
head
-n
4

$definition

|
tail
-1)

motif

="(\b)sensos?"

dico

="(dar? (mais)? <span style=\"color: \#FE7F0E\"><b>sentido(\b)</b></span>|t[eê][rm] (mais)? <span style=\"color: \#FE7F0E\"><b>sentido(\b)</b></span>|cheia de <span style=\"color: \#FE7F0E\"><b>sentido(\b)</b></span>)"
fi


fi


########
# Fin du if #
########


_______________________

Fichiers de contexte

###############################
# Création des fichiers contenant les contextes #
###############################

# On commence à créer le fichier contextehtml$i.html, qui affichera (joliment !) les contextes
# L'encodage est UTF-8, ce qui ne posera pas de problème de compatiblité puisque le dump a été converti en UTF-8

echo
"
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<title>

$dossierlangue

/

$fichiersens

/html/contextehtml

$i

.html</title>
<meta http-equiv=\"Content-Language\" content=\"Français\" />
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"../../../../SITE/style.css\" media=\"screen\" />
</head>
<body>

<div id=\"wrap\">

<div id=\"header\">
<h1><a href=\"../../../../SITE/index.html\">La vie du mot \"sens\" sur le Web</a></h1>
<h2>Master 1 PluriTAL - Projet encadré - Site de Jin Kun, Marjorie Seizou et Axel Court</h2>
</div>

<div id=\"top\"> </div>

<div id=\"content\">
<div class=\"unique\">
<div class=\"articles\">

<h4>Fichier de travail :</h4><ul><span style=\"color: #FF4800\"><b>../DUMP-TEXT/

$dossierlangue

/

$fichiersens

/

$i

.txt</b></span></ul><br />
<h4>Forme voulue :</h4><ul><span style=\"color: #FF4800\"><b>

$motif

</b></span></ul><br />
<h4>Définition :</h4><ul><span style=\"color: #FF4800\"><b>$def</b></span></ul>
<br />_____________________________________________________________
<br />
"
> ../CONTEXTES/

$dossierlangue

/

$fichiersens

/html/contextehtml

$i

.html

# On récupère le motif + 1 ligne avant + 1 ligne après, dans chaque fichier contenant le texte des pages
# On envoie le résultat de la commande egrep (motif + contexte) à la commande sed, pour colorer et mettre en gras les motifs
# Si $dico a été définie, une commande sed s'occupe également de mettre en relief les formes non-désirées
# Puis on envoie le tout à une nouvelle commande sed, qui ajoute des sauts de lignes
# Et on écrit le résultat dans le fichier contextehtml$i.html (à la suite de ce qu'on y avait déjà écrit)

if
[
-n
"

$dico

" ] ;
then

egrep
-i -A
1
-B
1 "

$motif

" ../DUMP-TEXT/

$dossierlangue

/

$fichiersens

/

$i

.txt |
sed
-re
'
s
#'"(

$motif

)"'#<span style=\"color: \#FE7F0E\"><b>'"\1"'</b></span>#
gi
' |
sed
-re
'
s
#'"(

$dico

)"'#'"\1"' <span style=\"color: \#FF4800\"><b>\\!/ Attention ! Mon dictionnaire me dit que cette forme ne correspond sûrement pas au sens recherché ! Mais je peux me tromper... \\!/</b></span>#
gi
' |
sed
-e
'
s
#$#<br />#
g
' >> ../CONTEXTES/

$dossierlangue

/

$fichiersens

/html/contextehtml

$i

.html ;
else

egrep
-i -A
1
-B
1 "

$motif

" ../DUMP-TEXT/

$dossierlangue

/

$fichiersens

/

$i

.txt |
sed
-re
'
s
#'"(

$motif

)"'#<span style=\"color: \#FE7F0E\"><b>'"\1"'</b></span>#
gi
' |
sed
-e
'
s
#$#<br />#
g
' >> ../CONTEXTES/

$dossierlangue

/

$fichiersens

/html/contextehtml

$i

.html ;
fi


# On termine l'écriture du fichier

echo
"
</div>
</div>
</div>

<div id=\"bottom\"> </div>
<div id=\"footer\">
Designed by <a href=\"http://www.free-css-templates.com/\">Free CSS Templates</a>
</div>
</div>

</body>
</html>
" >> ../CONTEXTES/

$dossierlangue

/

$fichiersens

/html/contextehtml

$i

.html

# On stocke motif + contexte dans un fichier texte, qui nous servira pour les nuages de mots

egrep
-i -A
1
-B
1 "

$motif

" ../DUMP-TEXT/

$dossierlangue

/

$fichiersens

/

$i

.txt > ../CONTEXTES/

$dossierlangue

/

$fichiersens

/txt/contexte

$i

.txt

# Pour créer les nuages, on crée également un fichier texte contenant les contextes par langue et par sens

cat
../CONTEXTES/

$dossierlangue

/

$fichiersens

/txt/contexte

$i

.txt >> ../NUAGES/

$dossierlangue

/

$fichiersens

/nuage_contexte

$fichiersens

.txt

###################################
# Fichiers présentant les contextes des motifs créés ! #
###################################


_______________________

Ajout des liens

#################################
# Ajout des liens vers les fichiers dans le tableau #
#################################


if
[
-s
../PAGES-ASPIREES/

$dossierlangue

/

$i

.html ] ;
then


if
[
-s
../CONTEXTES/

$dossierlangue

/

$fichiersens

/txt/contexte

$i

.txt ] ;
then

# Situation 1 : si toutes les étapes se sont bien passées

echo
"
<tbody>
<tr>
<td><a href=\"

$url

\" target=\"_blank\">Url

$y

</a></td>
<!-- On nomme les URLs de la colonne 1 grâce à la numérotation y et on crée des liens vers celles-ci -->
<td><a href=\"../PAGES-ASPIREES/

$dossierlangue

/

$i

.html\" target=\"_blank\">Visualiser</a></td>
<!-- On crée des liens vers les URLs aspirées plus haut -->
<td><a href=\"../DUMP-TEXT/

$dossierlangue

/

$fichiersens

/

$i

.txt\" target=\"_blank\">Dump</a></td>
<!-- On crée des liens vers les contenus textuels récupérés pour chaque site -->
<td><a href=\"../CONTEXTES/

$dossierlangue

/

$fichiersens

/txt/contexte

$i

.txt\" target=\"_blank\">Version TXT</a></td>
<!-- On crée des liens vers les contextes en texte brut récupérés pour chaque site -->
<td><a href=\"../CONTEXTES/

$dossierlangue

/

$fichiersens

/html/contextehtml

$i

.html\" target=\"_blank\">Version HTML</a></td>
<!-- On crée des liens vers les contextes en texte brut récupérés pour chaque site -->
</tr>
</tbody>
" >>

$tablo

;
else

# Situation 2 : si la récupération des contextes s'est mal passée et que les fichiers de contexte sont vides (mais qu'il y a quelque chose dans le dump)

echo
"
<tbody>
<tr>
<td><a href=\"

$url

\" target=\"_blank\">Url

$y

</a></td>
<td><a href=\"../PAGES-ASPIREES/

$dossierlangue

/

$i

.html\" target=\"_blank\">Visualiser</a></td>
<td><a href=\"../DUMP-TEXT/

$dossierlangue

/

$fichiersens

/

$i

.txt\" target=\"_blank\">Dump</a></td>
<td colspan=\"2\">Oups ! Fichiers vides : vérifier le dump</td>
</tr>
</tbody>
" >>

$tablo

;
fi


else

# Situation 3 : si la récupération de la page n'a pas fonctionné, et que tous les fichiers sont donc vides

echo
"
<tbody>
<tr>
<td><a href=\"

$url

\" target=\"_blank\">Url

$y

</a></td>
<td colspan=\"4\">Recupération de la page impossible</td>
</tr>
</tbody>
" >>

$tablo

;
fi


############
# Liens ajoutés ! #
############


_______________________

Fin du script !

###########################
# Finalisation du tableau et fin du script #
###########################

# Pour continuer la numérotation à chaque nouvelle ligne

let
"

i

+=1" ;
let
"

y

+=1" ;

# Fin de la troisième boucle (pour chaque URL)

}

# Nuages : concaténation de chaque fichier sens par langue, pour former un gros fichier regroupant les dumps pour tous les sens pour chaque langue

cat
../NUAGES/

$dossierlangue

/

$fichiersens

/nuage_dump

$fichiersens

.txt >> ../NUAGES/

$dossierlangue

/nuages_general_dumps_pour_

$dossierlangue

.txt
# Nuages : concaténation de chaque fichier sens par langue, pour former un gros fichier regroupant les contextes pour tous les sens pour chaque langue

cat
../NUAGES/

$dossierlangue

/

$fichiersens

/nuage_contexte

$fichiersens

.txt >> ../NUAGES/

$dossierlangue

/nuages_general_contextes_pour_

$dossierlangue

.txt

# Fin de la deuxième boucle (pour chaque sens)

}

# Ecriture du pied de chaque tableau, pour y ajouter un lien vers le haut de la page, et un espace, selon si d'autres tableaux suivront ou pas

if
[

$dossierlangue

= "Portugais" ] ;
then

echo
"</table><a href=\"#wrap\" style=\"text-decoration: none; \"><h4>Retour en haut de page</h4></a>" >>

$tablo

;
else

echo
"</table><a href=\"#wrap\" style=\"text-decoration: none; \"><h4>Retour en haut de page</h4></a><div style=\"height:50px;display:block;\"></div>" >>

$tablo

;
fi


# Fin de la première boucle (pour chaque langue)

}

# Fin de la page des tableaux : fermeture des balises et ajout d'un footer contenu dans le fichier foot.html

echo
"</div>" >>

$tablo

;
cat
foot.html >>

$tablo

;

#########
# THE END ! #
#########