lundi 7 novembre 2011

Séance #2 - applications

Après la séance #2 sur l'introduction à UNIX, nous devions appliquer les éléments appris en cours sous la forme de deux exercices que voici:

A] Écrire un script (dans le dossier PROGRAMMES) permettant de générer dans le répertoire DUMP-TEXT un fichier txt contenant 2 lignes (sur la première, votre nom, sur la seconde, le mot choisi pour votre projet).


Screenshot du script:
Screenshot du fichier txt:
Ce premier exercice ne pose pas de problèmes majeurs puisqu'il est l'application directe du cours avec l'utilisation de la commande echo et de la redirection de flux sortant (">" et ">>") expliqués dans les commentaires du script.
En revanche, ce qui a bien failli nous empêcher de dormir, ce sont... les fautes faites en tapant le chemin (erreur sur le nom d'un répertoire, erreur sur le choix du répertoire destinataire, inattention quant à la casse...) du fichier de sortie. Moralité: 
Si l'être humain tient à sa crinière,
Fût-il ingénieux, sensé, brillant,
Qu'il apprenne que les mécanismes sont plus fiables et constants
A naviguer dans des méandres divagants,
Qu'un esprit capricieux, entêté et fier!
...ou pour éviter l'arrachage frénétique de cheveux, ça vaut le coup d'utiliser la touche TAB qui permet de compléter automatiquement les chemins, bout par bout, à partir de quelques lettres.

B] Écrire un script (dans le dossier PROGRAMMES) permettant de générer dans le répertoire TABLEAUX un fichier html contenant 1 tableau avec 2 lignes (sur la première, votre nom, sur la deuxième, le mot choisi pour votre projet).


Screenshot du script:
Screenshot de la page html:
Il s'agit cette fois non pas de produire un fichier texte, mais une page html, c'est-à-dire une page écrite dans un langage qui a sa propre syntaxe et qu'il faut adapter à bash, notamment en déspécifiant les double quote " " (utilisées pour donner des valeurs aux arguments des balises html) grâce à l'utilisation d'antislash \ antéposés (cf. screenshot du script).
A noter que contrairement à la correction, nous n'avons utilisé qu'une seule fois la commande echo et que nous avons donc regroupé tout le code html en une fois, avec même des sauts de ligne et... ça fonctionne!

Nous avons bien fait attention à encoder notre script en utf-8, à le spécifier dans une balise meta dans l'en-tête du code html, et même vérifier l'encodage avec la commande file puis reconverti le sript en utf-8 avec la commande iconv pour être définitivement sûr de l'encodage, pas moyen d'afficher l'accent circonflexe du mot "rêve"! Faute de trouver une solution, nous avons choisi ici de ne pas utiliser d'accent.

1 commentaire: