Premier script shell
Le résultat de notre projet sera présenté sous forme de tableau html, que nous aurons généré automatiquement. La première étape de notre travail consiste donc pour nous à obtenir un tableau contenant toutes les URLS que nous avons relevées, numérotées. Nous enrichirons ce tableau au cours de l'avancée de notre travail.
Voici donc notre premier script et son résultat, une page contenant quatre tableaux, un pour chaque langue que nous traiterons :
#!/bin/bash
# récupération des coordonnées des fichiers d'input et d'output et enregistrement dans des variables
read URLallemand;
read URLanglais;
read URLchinois;
read URLfrancais;
read tablo;
# mise en place de l'en-tête de la page html
echo "<html>" > $tablo;
echo "<head>" >> $tablo;
echo "<meta http-equiv=\"Content-Type\" content=\"texte/html;charset=ISO-8859-1\"> </head> <body>">> $tablo;
# création du tableau pour les URLS de l'allemand
echo "<table border=\"2\">" >> $tablo;
echo "<th bgcolor=\"grey\" colspan=\"2\">Liste URL allemand</th>" >> $tablo;
numligne=1;
while read url
do
echo "<tr><td> <font color=\"red\">$numligne</font> </td><td><a href=$url\" target=\"_blank\">$url</a></font> </td></tr>" >> $tablo;
let "numligne=numligne+1";
done <$URLallemand;
echo "</table><br><br>" >> $tablo;
# création du tableau pour les URLS de l'anglais
echo "<table border=\"2\">" >> $tablo;
echo "<th bgcolor=\"grey\" colspan=\"2\">Liste URL anglais</th>" >> $tablo;
numligne=1;
while read url
do
echo "<tr><td> <font color=\"red\">$numligne</font> </td><td><a href=$url\" target=\"_blank\">$url</a></font> </td></tr>" >> $tablo;
let "numligne=numligne+1";
done <$URLanglais;
echo "</table><br><br>" >> $tablo;
# création du tableau pour les URLS de le chinois
echo "<table border=\"2\">" >> $tablo;
echo "<th bgcolor=\"grey\" colspan=\"2\">Liste URL chinois</th>" >> $tablo;
numligne=1;
while read url
do
echo "<tr><td> <font color=\"red\">$numligne</font> </td><td><a href=$url\" target=\"_blank\">$url</a></font> </td></tr>" >> $tablo;
let "numligne=numligne+1";
done <$URLchinois;
echo "</table><br><br>" >> $tablo;
# création du tableau pour les URLS de le français
echo "<table border=\"2\">" >> $tablo;
echo "<th bgcolor=\"grey\" colspan=\"2\">Liste URL français</th>" >> $tablo;
numligne=1;
while read url
do
echo "<tr><td> <font color=\"red\">$numligne</font> </td><td><a href=$url\" target=\"_blank\">$url</a></font> </td></tr>" >> $tablo;
let "numligne=numligne+1";
done <$URLfrancais;
echo "</table><br><br>" >> $tablo;
# fin de la page html
echo "</body>" >> $tablo;
Voici ce qu'il faut taper en ligne de commande, sans oublier le fichier d'input :
Et voilà le résultat!
Quelques remarques :
- Nous avons pris soin de faire en sorte que pages s'ouvrent dans un nouvel onglet en ajoutant l'attribut target="_blank" à la balise <a>.
- Nous avons été confrontées aux premières difficultés liées à l'encodage des caractères chinois. Le fichier contenant les URLS en chinois était encodé en UTF-16 Little-Endian et nous avons dû le recoder en unicode UTF-8 pour que le script fonctionne.
- Nous ne comprenons pas pourquoi les tableaux des URLS ont des largeurs toutes différentes en fonction des langues. Ceci ne présente pas véritablement de problème pour la suite de notre projet, puisque toutes les URLS rentrent dans les tableaux, mais nous en sommes curieuses et nous allons tâcher d'arranger ce détails à l'avenir, par soucis d'esthétique entre autre.
