Rechercher dans ce blog

mardi 11 novembre 2014

Tableau HTML à 3 colonnes

Bonjour !

Aujourd'hui, nous allons ajouter 2 colonnes au tableau d'URLs que nous avons commencé à construire précédemment : une colonne pour numéroter les liens et une autre pour les pages aspirées correspondant à ces liens.

Concernant le code du script, nous nous sommes posés la question de savoir s'il était préférable d'utiliser for ou while pour la boucle. For permet de construire une "pseudo liste", ce qui implique une conservation en mémoire mais cette boucle est très simple à comprendre. While est plus efficace sur de gros programmes qui comportent des milliers de lignes, cependant cette boucle est moins intuitive. Ici, nous avons privilégié l'usage du for.  

A partir de maintenant, nous n'allons plus demander à l'utilisateur les chemins d'accès aux fichiers d'URLs et au fichier du tableau (surtout que nous devons prendre en compte les fichiers de liens pour chaque langue) mais nous allons créer un seul fichier de paramètres regroupant les paramètres d'entrée et les paramètres de sortie. Pour l'exécution du script, nous n'aurons plus qu'à appeler le programme et y associer le fichier en paramètres de la manière suivante :
appel du script < nom_fichier_paramètres
Puis on supprime les deux commandes "echo" du fichier de départ qui sont désormais inutiles. 
Dans le fichier paramètres, les chemins des fichiers d'URLs doivent être listés les uns sous les autres, le script lira les informations dans cet ordre. De plus, dans le fichier HTML de sortie, il vaut mieux faire apparaître un tableau par langue car nous aurons à effectuer des traitements séparés pour chaque fichier de liens. 

On veut faire en sorte que chaque URL pointe vers sa véritable adresse, c'est-à-dire qu'en cliquant dessus dans le fichier HTML, on soit redirigé vers le contenu de la page en question. 

Nous voulons rajouter à notre tableau une colonne qui numérote les URLs. Pour cela, il suffit d'utiliser la balise HTML :
<a href = "url vers laquelle on veut aller"> ce que l'on voit dans le navigateur </a>

Ensuite, pour numéroter les URLs : on introduit un compteur qui prend une valeur de départ et qui est incrémenté à chaque fois que l'on passe à une nouvelle URL. Attention à bien distinguer les compteurs, par exemple pour chaque fichier de langue, sinon nous n'aurons qu'un seul tableau (correspondant au dernier fichier d'URLs) dans la page HTML. 

Enfin, nous ajoutons une 3ème colonne au tableau. Elle va récupérer les pages aspirées, autrement dit, on met en place un mécanisme pour sauvegarder localement le contenu des pages Web. Pour ce faire, on utilise les commandes wget et curl. La syntaxe minimale est celle-ci : 
wget http://lien.com
wget n'écrase pas un fichier déjà existant bien que cette commande sauvegarde dans un fichier portant le même nom que le fichier d'origine. 

Dans notre script, nous avons utilisé la commande curl car wget n'est pas installée par défaut sous MacOS. 
curl transfère une URL (elle télécharge et sauvegarde le contenu de cette URL) et renvoie le fichier directement à l'écran donc il est nécessaire de faire une redirection. Par exemple : 
curl www.sncf.com>SNCF.html

Attention, pour que le shell comprenne les URLs, il faut les mettre entre guillemets (surtout lorsque l'on a des caractères spéciaux, signes de ponctuation, etc.). 
Les commandes wget et curl doivent positionner le fichier des pages aspirées dans le sous-dossier correspondant. 
Il vaut mieux privilégier les chemins relatifs aux chemins absolus car les chemins relatifs vont toujours être les mêmes quelque soit le système d'exploitation alors que les chemins absolus seront différents. 

Passons aux images (cliquez dessus pour les agrandir) :

Script Partie 1

Script Partie 2
Fichier Paramètres
Début du tableau URLs Anglais

Début du tableau URLs Espagnol

Début du tableau URLs Français

Début du tableau URLs Tchèque
C'est tout pour aujourd'hui !

A bientôt !

Aucun commentaire:

Enregistrer un commentaire