Secteur TAL Informatique,
Université Sorbonne nouvelle, Paris 3
19 rue des Bernardins, 75005 Paris
Automatisation des Tâches
Liens
lien direct : http://www.tal.univ-paris3.fr/cours/projet_10_11_05.html
Transparents
Transparents Série 1 (version PDF), "Présentation du cours et du projet, le mini-projet "barrage", ... ou (version HTML) : séances du 13/10/2005, 20/10/2005, 27/10/2005, 03/11/2005, 10/11/2005, 17/11/2005, 24/11/2005.
Transparents Série 2 (version PDF) : "Fichiers et systèmes de fichiers"
Point de départ :
A. Chaque groupe a un fichier ou plusieurs fichiers contenant les URL illustrant les emplois du mot "barrage"
- fichier barrage_hydro.txt
http://www.barrage.com/index.html
http://www.edf.fr/energie_hydro.html
http://www.un_amour_de_barrage.fr/durance.htm- fichier tir_de_barrage.txt
http://www.red_devils.com/on_les_aura.html
http://www.ioc.org/derniers_matchs.html
http://www.disqualifiez_moi.net/competitions/leeds_vs_liverpool.htm- fichier autres_usages.txt
......
B. Chaque groupe a enregistré en local les URL contenues dans ces fichiers, par la commande : wget -i
La figure suivante illustre la suite des traitements réalisés à ce stade :
Problématique du jour : on a environ 50 URL en local, on veut automatiser les tâches suivantes :
Pour un usage du mot "barrage" illustré dans les URL du fichier barrage_hydro.txt ou du fichier tir_de_barrage.txt ou d'un autre, on veut permettre :
- 1) le renvoi aux 50 pages correspondantes, en local ou en global, grâce à des liens hypertexte (du type <a href="http://www.red_devil.com/on_les_aura.html"> match de barrage</a>). Pour cela on va créer automatiquement une page html listant tous ces liens : il s'agit d'une tâche répétitive.
- 2) la transformation des 50 fichiers html (URL) en fichiers au format texte, de façon à pouvoir retrouver les contextes d'utilisation de "barrage" (avec lynx -dump). A nouveau, au lieu de taper 50 fois la même commande, on vous demandra d'automatiser cette tâche.
- 3) la possibilité pour un utilisateur d'interroger tous les fichiers liés à un usage spécifique de "barrage" pour retrouver le contexte immédiat de ce mot, que ce dernier soit écrit en lettres majuscules ou minuscules (avec egrep -i). Il s'agit bien encore d'automatisation.
Pré-requis :
Tâche numéro 1 :
- écriture d'un shell script avec un éditeur de texte (emacs, vi, bloc-notes) pour automatiser la tâche consistant à faire un tableau html contenant toutes les URL illustrant un certain usage du mot "barrage"
shebang #!/bin/bash
commentaires indiqués avec # en début de ligne #ici, commentaire
echo "hello world";
read data; le programme stocke ce que l'utilisateur a rentré dans la variable $data
boucle simple "for [fic] in [liste ou commande entre apostrophes inversées]" { tâche à accomplir}
#!/bin/bash
echo "donne nom de fichier contenant les liens http"; #c'est la liste des pages wgettées
read fic; #le programme connait le fichier de liens sous le nom $fic
echo "donne nom de fichier html où stocker ces liens"; #c'est le tableau de liens à créer
read tablo; #enregistre nom donné par utilisateur dans la variable $tablo
echo "<html><head><title>tableau de liens</title></head><table>" > $tablo; #code de début de tableau
for nom in `cat $fic` #$nom est la variable dans laquelle sera stocké chaque lien
{
echo "<tr><td>$nom</td></tr>" >> $tablo; #création d'un tableau à une colonne et autant de lignes qu'il y a d'URL
}
echo "</table></html>" >> $tablo; #code de fin de tableau
#le fichier dont le nom correspond à la variable tablo est maintenant créé, ouvrez-le
Que faut-il rajouter au code pour que le tableau d'URL permette un accès direct à chacune des URL listées ?
Tâches numéro 2 et 3 :
A vous d'écrire et d'exécuter un programme pour mettre en oeuvre les tâches 2 et 3.