L'algorithme bash

Généralités

Le script bash est formé de plusieurs procédures effectuant chacune un travail particulier. Certaines des procédures sont appelées depuis le programme principal (ou dans la "procédure principale") alors que certaines le sont depuis d'autres procédures, mais nous verrons cela en détail plus bas.

procédures

filecreator()

Filecreator est une procédure qui va récupérer le nom des fichiers d'urls et placer chaque fichier dans une cellule d'un tableau (tab_fic). Chaque cellule du tableau contient alors un fichier d'urls.
Ensuite, la procédure demande à l'utilisateur de donner un nom de fichier output qui sera directement placé dans le sous répertoire ./tabs/nom_de_fichier.


nota : on demande confirmation à chaque étape de manière à pouvoir réctifier le nom du fichier si besoin.

tabheader()

Cette procédure va créer dans le fichier de sortie l'en-tête du tableau html que nous devons produire.

tabclosure()

Comme son nom l'indique, cette procédure va fermer le tableau html du fichier de sortie quand toutes les informations y auront été écrites.

newcontext()

On crée un ligne et on place le contexte dans la première cellule.

newhttp()

Crée un tableau dans la deuxième cellule de la ligne créer dans newcontext() Cette cellule correspond aux urls du français. Ce nouveau tableau contient dans chaque cellule un lien vers une page web.

newtabwget()

Wgette les urls pour les sauver sur le disque dans le sous-dossiers : ./pages_locales/
Crée ensuite dans la cellule suivante (dans la ligne de newcontext) un tableau contenant les liens vers les pages wgetées.

newtabdump()

Transforme les pages locales en pages de texte dans le sous-dossier : ./dumps/
Puis, la procédure crée le tableau contenant les liens vers les pages dumpées. Tableau qui sera placé dans la cellule suivant celle des pages wgetées

suivant()

Cette procédure appelle newtabwget puis newtabdump.

newen()

Cette procédure appelle suivant et crée une cellule libre dans laquelle ira se placer le tableau des pages egrepées.


procédure principale

Elle constitue le coeur du programme.

On initialise les compteurs d'urls

Appeler la procédure "filecreator"
Appeler la procédure "tabheader"


Pour chaque sens (donc chaque fichier compilant des urls) :
    traiter le fichier ligne par ligne.
    On va regarder les 4 premiers caractères de la ligne .
    si la ligne commence par :
        "FR"
           On initialise le compteur à 1. Les urls seront numéroté à partir
           de 1.
        "EN"           
            On appelle la procédure "newen"
        "http"
            On appelle la procédure "newhttp" qui va créer le tableau de
            liens d'urls.
       "Une chaîne de caractères quelconque (aucun des cas précédents)"
            alors appeler la procédure "newcontext"

Une fois toutes les lignes traitées, on a donc créé tous les tableaux du français et le tableau d'urls de l'anglais. Il faut maintenant créer les autres tableaux de l'anglais, ce que l'on fait en appelant la procédure "suivant".
cela effectué, il ne reste qu'à créer une cellule vide pour la ligne de contexte (censément) créée par egrep et à fermer la ligne.
On passe ensuite au fichier (sens) suivant et on recommence jusqu'au dernier fichier. Puis, on ferme le tableau et le fichier de sortie..