Secteur TAL Informatique,
Université Sorbonne nouvelle, Paris 3
19 rue des Bernardins, 75005 Paris
Etape 3 :
Automatisation des Tâches (suite)
Liens
Lien direct : http://www.tal.univ-paris3.fr/cours/atomatisationdestaches-etape3.html
Séance précédentes : Etape 1, Etape 2
Transparents
Transparents Série 1 (version PDF), "Présentation du cours et du projet, le mini-projet "un mot sur le web", ... , ou (version HTML).
Transparents Série 2 (version PDF) : "Fichiers et systèmes de fichiers"
Tâche numéro 3 :
Pour cette séance, chaque groupe devra apporter les résultats construits aux cours des 2 précédentes séances (Tâches numéro 1 et 2). Nous commencerons par examiner collectivement ces résultats "in-progress". Une autre partie de la séance sera consacrée à la présentation de egrep et un rappel sera fait sur les Expressions régulières (cf Transparents du cours pages 53-64). Enfin vous mettrez en oeuvre la tâche n°3 prévue.
Rappel :
On a environ 50 URL (stockées dans un fichier TEXTE), on veut automatiser les tâches suivantes : (tâche 1) récupération des pages (via la commande wget), (tâche 2) conservation du texte seul (via la commande "lynx -dump"), (tâche 3) filtrage d'un contexte réduit (via la commande "egrep -i"):
- Tâche 1 : Etape 1 (cf Etape 1) en transformant le script fourni et en modifiant quelques éléments dans ce script (modification de la ligne : echo "<tr><td>$nom</td></tr>" >> $tablo;, insertion de balises HTML manquantes : BODY...).
- Tâche 2 :Etape 2 (cf Etape 2) en s'inspirant du script fourni et modifié, créer un script qui lit votre répertoire de pages aspirées, qui applique sur chacune la commande "lynx-dump" et qui créé en sortie un fichier HTML contenant des liens vers la page aspirée et vers le fichier issu de la commande lynx.
- Tâche 3 : en s'inspirant du script fourni et modifié, créer un script qui lit votre répertoire de pages issues de la commande lynx, qui applique sur chacune la commande "egrep -i motif" et qui créé en sortie un fichier HTML contenant des liens vers la page "lynx" et vers le fichier issu de la commande egrep
Ces tâches sont réalisées de façon séquentielle : pour les relier les unes aux autres dans le cadre du mini-projet "barrage", on peut envisager, par exemple, de construire 3 pages html contenant 3 tableaux de liens, chacun de ces liens renvoyant aux fichiers obtenus à chaque tâche :
tablo_liens_vers_url | tablo_liens_vers_fichiers_texte | liens_vers_contexte |
fichier1.html | fichier1.html.txt | fichier1.html.txt.grep |
fichier2.html | fichier2.html.txt | fichier2.html.txt.grep |
.... | ..... | ... |
Pour passer d'une page à l'autre, on créerait, à la main, des liens hypertexte. Le défaut de cette solution est qu'on perd le côté "automatisation totale". Ceci implique de s'interroger sur les résultats produits.
Résultats produits :
- Que constatez-vous à l'issue des 3 tâches réalisées ?
- Comment créer un tableau (comme celui présenté infra) dans lequel on aurait pour chaque ligne 4 cellules contenant respectivement : l'URL originale, le lien vers la page locale aspirée, le lien vers la page locale issue de la commande dump et le lien vers la page locale issue de la commande egrep ? On regardera aussi dans les transparents du cours pour comprendre comment peuvent être organisées les données manipulées (il ne s'agit que d'un exemple de solution) : Page 48, Page 49, Page 50...
URL initiale | Page aspirée | Dump lynx | Contexte "barrage" |
http://www.ville-frejus.fr/hermes/patrimoine/malpasset.htm | 0.html | 0.txt | 0.txt |
http://www.prim.net/citoyen/definition_risque_majeur/21_9_risq_barrage.html | 1.html | 1.txt | 1.txt |
Lecture indispensable...
- Guide avancé d'écriture des scripts Bash, sur le Site de traduction français pour le guide ABS Advanced Bash Scripting Guide
(Lien : Version 5 http://abs.traduc.org/abs-5.0-fr/)
Une exploration en profondeur de l'art de la programmation shell. Ce tutoriel ne suppose aucune connaissance de la programmation de scripts, mais permet une progression rapide vers un niveau intermédiaire/avancé d'instructions tout en se plongeant dans de petites astuces du royaume d'UNIX. Il est utile comme livre, comme manuel permettant d'étudier seul, et comme référence et source de connaissance sur les techniques de programmation de scripts. Les exercices et les exemples grandement commentés invitent à une participation active du lecteur avec en tête l'idée que la seule façon pour vraiment apprendre la programmation de scripts est d'écrire des scripts.
On regardera en particulier : la seconde partie, le chapitre 10, le chapitre 14, etc.