Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
laviedumotpaix.overblog.com

Suite du projet

Etape 2 : Tableaux avec liens actifs et ordonés par sens et par langue.

On veut à présent organiser les tableaux, pour ce faire, on doit réaliser un deuxième script, inspiré du premier, mais amélioré.

#!/bin/bash

echo "Donnez le nom du dossier contenant les liens http : ";

read dossier;

echo "Donnez le nom du fichier html où stocker ces liens : ";

read webPage;

i=1

for sites in `ls $dossier`

{

y=1

echo "<thead><tr><th>Fichier $sites</th><th>PAGES-ASPIREES</th></tr></thead>">> $webPage

#echo "<tr><td align=\"center\" bgcolor=\"silver\" colspan=\"3\"><b style=\"font-family:arial;\">Fichier $sites</b></td></tr>" >> $webPage;

for nom in `cat $sites`

{

wget -O ./PAGES-ASPIREES/$i.html $nom

echo "<tbody><tr><td><a href=\"$nom\" target=\"_blank\">Url $y</a></font></td><td><a href=\"../PAGES-ASPIREES/$i.html\">PAGE ASPIREE</a></td></tr></tbody>" >> $webPage;

let "i+=1" ;

let "y+=1" ;

}

}

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

for nom in `cat $sites`

{

echo "<tr><td><a href=\"$nom\" target=\"_blank\">$nom</a></td></tr>" >> $webPage;

}

On explique donc cela de la manière suivante :

Tout d'abord il faut se familiariser avec le html, réalisation d'un tableau, <tr>,<td>,..

Dans laViedumotpaix il y a:

Un dossier français

Un dossier Anglais

Ces dossiers sont sous le dossier URLS, bien sûr;

$ dossier signifie la valeur de la variable dossier donc des fichiers

$ dossier= $francais ou bien $Anglais

Deuxième explication : le script contient 2 boucles :

for sites in `ls $dossier`

for nom in `cat $sites`

Explication :

- La première boucle signifie que l'on va récuperer le contenu de la variable dossier (Francais, Anglais); qui sont donc les fichiers et on va affecter au "sites" dans for sites, les valeurs contenues dans les fichiers en question.

Le processus est donc le suivant: récupération des valeurs et création d'un tableau puis ainsi de suite,voilà donc le rôle de la boucle.

- La seconde boucle signifie egalement que l'on va récuperer le contenu de la variable sites: les liens et le contenu de la variable dossier: les fichiers. La variable nom sera donc affectée de ces valeurs successives et la fonction CAT donnera l'ordre des les afficher.

Le processus est donc le suivant: récupération des valeurs en définitive les liens et création d'un tableau et ainsi de suite, la boucle lit les valeurs une par une et les place dans un tableau.

La finalité est toujours la même, récuperer les valeurs de la variable fichier, mais le BASH ne comprend que si on lui donne les bonnes instructions et le bon chemin à suivre.

Maintenant on va voir comment est-il possible d'organiser le contenu des dossiers pour que le BASH puisse les traiter correctement.

Exemple : Dans mon dossier j'ai :

Dossier Francais

Dossier Anglais

Nous allons donc créer dans le dossier PROGRAMMES, 2 fichiers qui auront une extension sites.*txt:(* correspond à la langue)

Exemple: Anglais/sites.txt, francais/sites.txt (dans un bloc note)

Il ne suffit pas de les creer, en effet ces fichiers vont contenir successivement les chemins et les resultats dans lesquels vont être stockés les valeurs des variables.

Dans un fichier francais/sites.txt: indiquez les deux éléments suivants

../URLS/francais = chemin

..TABLEAUX/tab_liens-francais.html= le résultat que l'on souhaite stocker dans un tableau et dont l'extension .html est une page web.

De même pour Anglais. Ne faites cette procédure que deux fois (selon le nombre de langue que vous avez bien sûr) mais inutile de le faire pour tous les fichiers, la boucle va le faire pour vous. Elle lira un par un, les liens présents dans les fichiers.

N'OUBLIEZ PAS D'ENREGISTRER les fichiers sites.txt DANS LE DOSSIER PROGRAMMES

DANS LE BASH :

$ sh CreationTableau.sh <francais/sites.txt (CreationTableau.sh c'est le nom sous lequel le script a été sauvegardé)

echo "Pour analyser des fichiers dans un répertoire, saisir un chemin S.V.P: "

"Répertoire lu et donne le chemin où tu veux créer la page :"

Cette directive s'applique aussi pour Anglais/sites.txt

Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article