TP3

Vous ferez attention à bien tester vos scripts à chaque question.

Entrées et sorties

Hello ;)

Pour commencer nous allons créer un simple script poli, qui nous dira bonjour.
  1. Créez un script Shell affichant "Hello World".
  2. Modifiez ce script afin qu'il affiche son premier argument à la place de "World".
  3. Stockez le premier paramètre dans une variable avant de l'utiliser.
  4. Si son premier argument est vide, alors il devra afficher "[?]".

Lire une ligne

Maintenant, nous souhaitons que le script puisse lire son entrée standard. Pour cela, nous allons utiliser une bibliothèque Shell afin d'éviter tous les pièges de .
  1. Clonez le dépôt suivant : .
  2. Créez une variable d'environnement dont la valeur est le chemin du fichier .
  3. Au début de votre script ajoutez :
  4. Modifiez votre script afin que, si son premier argument est vide, le nom soit lu à partir de l'entrée standard.
  5. Testez votre script en lui fournissant un nom via son entrée standard, par le biais de .

Poser une question

Nous allons maintenant créer un script qui pose une question à l'utilisateur.
  1. Créez un script , lisant son entrée standard avec son premier argument comme prompt ().
  2. Affichez la réponse dans sa sortie standard.
  3. Faites en sorte que repose la question tant que la réponse est vide.
  4. Testez votre script en redirigeant sa sortie standard sur l'entrée standard de
  5. Testez votre script en redirigeant sa sortie d'erreur vers
  6. Comment expliquez vous que le nom soit transmis sur l'entrée standard de , mais pas le prompt ?

Structures de données et fonctions

Formulaire

  1. Créez un nouveau script .
  2. Créez un nouveau tableau associatif global .
  3. Testez le en lui affectant quelques propriétés et en l'affichant via .
  4. Créez une fonction , utilisant , et stockant le résultat dans .

Validation et formatage

  1. Créez une fonction échouant si son argument n'est ni "H" ni "F".
  2. Modifiez afin qu'il prenne en 3ème paramètre une fonction de validation. Il reposera la question tant que la valeur obtenue est invalide.
  3. Créez une fonction qui écrit "Homme" si le sexe est "H", et "Femme" si le sexe est "F" (utilisez ).
  4. D'après , quel code de sortie devrait-il retourner en cas d'entrée invalide ?
  5. Modifiez afin qu'il prenne en 4ème paramètre une fonction de formatage, afin de formater la valeur avant stockage.

Appeler du Python

  1. En Shell, exécutez le code python .
  2. Créez des fonctions et qui effectueront l'opération en Python (n'utilisez pas ).
  3. Modifiez afin qu'il demande le nom (à uppercase) et le prénom (à capitalize), les valeurs seront toujours valides.
  4. Que se passe-t-il si je donne un nom valant , pourquoi ?
  5. Utilisez afin d'échapper l'entrée.
  6. Mieux, utilisez l'entrée standard pour passer la valeur. Pour cela vous stockerez le code Python dans une variable grâce à , avant d'exécuter le code Python.

Transférer des données

Écrire du JSON

Nous allons désormais transformer notre tableau associatif en JSON afin de pouvoir le stocker et le transférer.
  1. Dans , ajoutez :
  2. Créez un tableau indexé , contenant , et .
  3. Passez l'ensemble des éléments de ce tableau à .
  4. Parcourez les clefs du tableau associatif .
  5. Pour chaque élément de , ajoutez une entrée à .

Lire du JSON

  1. Renseignez des informations utilisateurs puis stockez le résultat dans un fichier.
  2. Créez un script utilisant sur son entrée standard.
  3. Affichez les données lues via , puis testez en lui fournissant le fichier sur son entrée standard.
  4. Modifiez le script afin qu'il affiche le nom et prénom sur une ligne.
  5. Utilisez et afin de dire bonjour à l'utilisateur stocké dans le fichier