Adaptation des scripts PowerShell¶
1. Objectif du cours¶
Apprendre à modifier un script PowerShell existant pour en faire une calculatrice interactive capable d’additionner, soustraire (puis étendre à multiplication/division). Travailler la lisibilité et la simplicité du code (remplacement d'imbrications if par switch).
2. Notions et définitions essentielles¶
- Script interactif : programme qui demande des données à l'utilisateur via la console et affiche des résultats.
- Variable : emplacement nommé pour stocker une valeur (ex. valeurs de calcul, opérateur).
- Conversion de type : transformation d'une chaîne de caractères en entier pour effectuer des opérations arithmétiques.
- Condition/contrôle de flux : mécanisme permettant d'exécuter des blocs différents suivant la valeur fournie par l'utilisateur (choix d'opération).
- Indentation et lisibilité : organisation du code pour faciliter la compréhension et la maintenance.
3. Fonctionnement et principes¶
Le script affiche un en-tête et des instructions, met le déroulement en pause pour l'utilisateur, récupère deux valeurs et un opérateur, convertit les entrées en nombres entiers puis effectue l'opération choisie. Initialement l'exemple montre seulement l'addition ; on ajoute ensuite la soustraction en introduisant une variable opérateur et une logique conditionnelle. Enfin, on simplifie les imbrications d'if avec un switch pour améliorer la lisibilité. L'approche reste extensible (ajout de * et /).
4. Commandes et manipulations¶
Regroupe les commandes réellement utilisées dans le PDF, avec leur rôle court.
- Affichage et nettoyage
- clear-host : vide la console (nettoyage de l'affichage).
-
Write-Host : affiche du texte dans la console (titres, messages, résultats).
-
Entrée utilisateur et pause
-
Read-Host : attend que l'utilisateur saisisse une donnée (utilisé pour pauses et pour récupérer valeurs/opérateur).
-
Conversion et calcul
-
[int] : convertit une chaîne en entier pour permettre des opérations arithmétiques.
-
Contrôle de flux
- if / else : condition simple pour exécuter des blocs selon une valeur (utilisé initialement pour + et -).
-
switch (avec default) : alternative recommandée au if imbriqué pour sélectionner l'opération; plus lisible pour plusieurs cas.
-
Exécution
-
.\monscript.ps1 (notation du PDF) : manière de lancer un script PowerShell depuis le dossier courant.
-
Variables
- Assignation simple ($valeur1 = "", $valeur2 = "", $operateur = "") : préparation des emplacements de stockage.
5. Sécurité et bonnes pratiques¶
- Lancer PowerShell en tant qu'administrateur est conseillé (mentionné dans le cours).
- Utiliser PowerShell ISE pour éditer et tester les scripts (recommandation).
- Favoriser la simplicité et la logique dans la construction du script : éviter les imbrications complexes quand un switch convient.
- Soigner l'indentation pour améliorer la lisibilité et la maintenance.
6. Points essentiels à retenir pour le TSSR¶
- Organiser le script en phase : affichage, pause, saisie, conversion, calcul, affichage du résultat.
- Toujours convertir les saisies en nombre avant calculs pour éviter des erreurs de type.
- Prévoir une variable dédiée pour l'opérateur et une logique de sélection d'opération.
- Préférer switch pour plusieurs cas afin d'éviter les if imbriqués et rendre le code lisible.
- Tester le comportement pour un opérateur invalide et afficher un message d'erreur explicite.
- Le même résultat peut être obtenu par plusieurs constructions (if vs switch) ; choisissez la plus lisible.
- Étendre la calculatrice (multiplication/division) requiert d'ajouter des cas supplémentaires dans la structure de contrôle.
- Toujours vérifier que vous êtes dans le bon dossier avant d'exécuter un script depuis la console.
7. Tableau récapitulatif¶
| Élément | Usage principal | Quand le préférer |
|---|---|---|
| Nettoyage console | Préparer affichage clair | Au début du script |
| Affichage vs saisie | Respectivement informer et récupérer l'utilisateur | Messages statiques = affichage ; données = saisie |
| Conversion en entier | Rendre possible le calcul arithmétique | Toujours après une saisie numérique |
| if (simple) | Deux cas ou logique simple | Cas isolés ou tests ponctuels |
| switch | Plusieurs choix distincts | Plusieurs opérations ou nombreux cas |
8. Vérifications pratiques¶
- La console affiche l'en-tête et les instructions au lancement (vérifier texte d'accueil).
- Le script se met en pause avant les saisies (la console attend une entrée).
- Après saisies, le résultat arithmétique s'affiche correctement (vérifier valeur numérique attendue).
- Pour un opérateur non géré, le message "opérateur incorrect:" apparaît.
- À la fin, le script se remet en pause (attente d'Entrée) avant fermeture.
9. Flashcards Anki¶
clear-host :: Vide la console pour nettoyer l'affichage.
Write-Host :: Affiche du texte dans la console (titres/messages/résultats).
Read-Host :: Met le script en pause et récupère une saisie utilisateur.
[int] :: Convertit une chaîne en entier pour permettre des calculs arithmétiques.
Variable $operateur :: Permet de stocker le choix d'opération (+ ou - puis * /).
Remplacer if imbriqués par switch :: Rend le script plus lisible et évite l'imbrication.
Lancer un script depuis le dossier courant :: On utilise la syntaxe .\monscript.ps1 (si on est dans le bon dossier).
Conseil d'exécution :: Il est conseillé de lancer PowerShell en tant qu'administrateur.
Bonne pratique d'édition :: Utiliser PowerShell ISE pour écrire et tester le script.
Extension calculatrice :: Ajouter des cas pour * et / dans la structure switch pour multiplier/diviser.