Ça y est, Powershell est arrivé sur Mac et Linux, et en Open Source ! La transition opérée par Microsoft en la matière depuis quelques années ne cessera de me surprendre. Quoiqu’il en soit, c’est une excellente nouvelle.
L’installation de Powershell est assez simple, il suffit de se rendre sur la page des Releases sur GitHub, et de récupérer le package qui va bien (à l’heure actuelle, il s’agit de Powershell v6 en alpha. A vos risques et périls, donc). Les instructions pour l’installer sont très simples, et comme je n’ai pas envie de faire de plagiat un samedi à l’heure de l’apéro, je vous invite à consulter cette page chez Howtogeek.
Une fois que vous l’aurez installé, il faut lancer Powershell depuis une fenêtre de terminal, en tapant la commande… powershell. Ce qui n’est pas bien compliqué.
Vous serez alors dans ce qu’on appelle la matrice console Powershell. Oui, ça ressemble à votre terminal, voire au MS-DOS des années 80-90. Mais vous allez voir que c’est bien mieux, parce qu’on est là pour scripter, pas pour faire n’importe quoi.
Une tradition stupide veut que votre premier programme, quel que soit le langage, soit le fameux Hello world. Personnellement, je n’ai jamais commencé à apprendre un langage en lui demandant d’écrire Hello world, mais peu importe. Commençons par ça. Vous allez voir que sous Powershell, c’est particulièrement simple.
Tapez la commande suivante :
Write-Host Hello world !
…et appuyez sur la touche Entrée. Et là, ô miracle !
Et oui, c’est fait, vous avez fait le Hello World que le monde entier attendait… Bravo !
Bien, en fait, vous n’avez fait qu’entrer une commande (Write-Host) avec un paramètre (Hello world ! en l’occurence). C’est bien, mais peut mieux faire. Powershell étant un langage de script (et plus encore), vous vous doutez bien que vous n’allez pas devoir taper un script entier ligne par ligne dans la console… à moins d’être sacrément idiot, vu qu’une fois ladite console fermée, vous aurez tout perdu ! Le mieux est donc de créer un bon vieux fichier texte, et d’y taper vos commandes.
Pour cela, lancez votre éditeur de texte préféré. Les veinards sous Windows ont bien mieux à leur disposition : Powershell ISE, PowerGUI, Powershell Studio et j’en passe. Si vous les avez (le premier est gratuit et disponible chez Microsoft), utilisez-les, c’est bien plus pratique que Notepad. Sinon, et bien restez avez votre éditeur de texte préféré.
Dans celui-ci, tapez exactement la même commande (je la remets pour les têtes en l’air) :
Write-Host Hello world !
(au passage, vous n’êtes pas obligé de mettre les majuscules pour Write-Host). Enregistrez ensuite le fichier dans un répertoire que vous retrouverez facilement, en lui collant l’extension .ps1, par exemple hello.ps1.
Retournez sur votre console Powershell, et rendez-vous dans le répertoire où vous avez enregistré le script à l’aide de la commande « cd » suivie du chemin, par exemple (sous Windows) :
cd c:\users\dedel
Ensuite, tapez ceci (et validez en appuyant sur Entrée) :
.\hello.ps1
Et ô miracle, une fois de plus, vous verrez apparaître le si fameux Hello world ! Incroyable, non ?
Allez, corsons un peu les choses. Reprenez hello.ps1 dans votre éditeur préféré, et supprimez tout ce qu’il y a dedans. A la place, mettez-ci :
$msg = "Hello world !" $msg
Enregistrez, retournez sur la console, appuyez sur la flèche du haut du clavier, Entrée, et hop ! Encore une fois, Hello world ! apparaît ! Magique !
Sans le savoir (sauf si vous programmez un peu), vous avez créé une variable, nommée $msg, et lui avez affecté la valeur (une chaîne de caractères) « Hello world ! ». A la ligne suivante, vous avez programmé Powershell pour qu’il affiche le contenu de cette variable. Et il l’a fait ! Puissance de l’informatique !
Élevons un peu plus le niveau : cette fois-ci, nous allons vérifier qu’un ordinateur est bons en maths (vous reprenez hello.ps1, vous effacez le contenu etc…).
$a = 2 $b = 3 $c = $a + $b $d = $a * $b Write-Host "La somme de $a et $b fait $c" Write-Host "Le produit de $a et $b fait $d"
Je vous laissez deviner le résultat. Maintenant que vous avez vu la base (de la base) de la programmation en Powershell, vous pouvez commencer à lire le Technet complet, interro surprise au prochain épisode !