Salut ! Alors, tu veux en savoir plus sur les boucles en PowerShell ? Pas de souci, je vais t’expliquer ça avec des exemples plus marrants et concrets. On va s’imaginer qu’on gère une pizzeria, ça te va ?
Boucle For : Le compteur de pizzas
La boucle For, c’est comme si tu comptais les pizzas qui sortent du four. Tu sais combien t’en as à faire, donc c’est parfait pour ça.
$pizzas = @("Margherita", "Pepperoni", "Quatre fromages", "Végétarienne")
for ($i = 0; $i -lt $pizzas.Count; $i++) {
Write-Host "Pizza n°$($i+1) : $($pizzas[$i]) est prête !"
}
Ici, on numérote chaque pizza qui sort. C’est pratique quand tu sais exactement combien de trucs tu dois faire.
Boucle ForEach : Le service à table
ForEach, c’est comme si tu faisais le tour des tables pour servir les clients.
$commandes = @(
@{Table = 1; Plat = "Pasta"},
@{Table = 2; Plat = "Pizza"},
@{Table = 3; Plat = "Salade"}
)
foreach ($commande in $commandes) {
Write-Host "Servir $($commande.Plat) à la table $($commande.Table)"
}
C’est plus simple à lire et à comprendre. Tu passes par chaque commande sans te prendre la tête.
L’opérateur de plage : La préparation des ingrédients
L’opérateur de plage (..), c’est comme quand tu prépares tes ingrédients à l’avance.
# Préparer 10 boules de pâte
1..10 | ForEach-Object { Write-Host "Boule de pâte n°$_ préparée" }
# Les 5 dernières commandes de la journée
$commandes = @("Pizza", "Pâtes", "Salade", "Tiramisu", "Café", "Pizza", "Pizza")
$commandes[-5..-1] | ForEach-Object { Write-Host "À préparer : $_" }
Super pratique pour faire des séries ou prendre une partie d’une liste !
ForEach-Object : La chaîne de production
ForEach-Object, c’est comme ta chaîne de production. Chaque étape se fait l’une après l’autre.
$ingredients = @("Tomate", "Mozzarella", "Basilic")
$ingredients | ForEach-Object -Begin {
Write-Host "Début de la préparation de la Margherita"
} -Process {
Write-Host "Ajout de $_ sur la pizza"
} -End {
Write-Host "La Margherita est prête !"
}
C’est top pour traiter des trucs en série, surtout quand t’as beaucoup de données.
Boucle While : Attendre que le four soit chaud
While, c’est comme quand tu attends que ton four soit à la bonne température.
$temperature = 20
while ($temperature -lt 200) {
Write-Host "Le four chauffe, température actuelle : $temperature°C"
$temperature += (Get-Random -Minimum 10 -Maximum 30)
Start-Sleep -Seconds 1
}
Write-Host "Le four est chaud, on peut enfourner !"
Ça tourne jusqu’à ce que la condition soit remplie. Pratique quand tu sais pas combien de temps ça va prendre.
Boucle Do-Until : Vérifier la cuisson
Do-Until, c’est comme quand tu vérifies si ta pizza est bien cuite.
do {
$cuisson = Get-Random -Minimum 1 -Maximum 10
Write-Host "Vérification de la cuisson... Niveau : $cuisson/10"
Start-Sleep -Seconds 1
} until ($cuisson -ge 8)
Write-Host "La pizza est parfaitement cuite !"
Ça fait au moins un tour avant de vérifier, ce qui est cool quand tu veux être sûr de faire quelque chose au moins une fois.
Bonus : Gestion des commandes en parallèle
Imagine que t’as plusieurs cuisiniers qui bossent en même temps :
$commandes = @("Pizza", "Pâtes", "Salade", "Pizza", "Tiramisu")
$commandes | ForEach-Object -Parallel {
$plat = $_
$tempsCuisson = Get-Random -Minimum 2 -Maximum 10
Write-Host "Préparation de $plat commence..."
Start-Sleep -Seconds $tempsCuisson
Write-Host "$plat est prêt !"
} -ThrottleLimit 3
Ça simule plusieurs cuisiniers qui bossent en même temps, mais pas plus de 3 à la fois pour pas se marcher dessus en cuisine !
Conclusion
Voilà, on a fait le tour des boucles en PowerShell ! C’est comme si t’avais appris à gérer ta pizzeria de A à Z. Avec ces outils, tu peux maintenant automatiser plein de tâches répétitives, que ce soit pour compter tes pizzas, gérer tes commandes ou organiser ton équipe.
Les boucles, c’est super puissant en PowerShell. Ça te permet de traiter des tonnes de données sans te prendre la tête. Que tu aies besoin de faire un truc un nombre précis de fois (For), de passer en revue une liste (ForEach), de répéter quelque chose jusqu’à ce qu’une condition soit remplie (While et Do-Until), ou même de faire plusieurs choses en même temps (ForEach-Object -Parallel), t’as l’outil qu’il faut.
L’important, c’est de choisir la bonne boucle pour le bon boulot. C’est comme choisir le bon ustensile en cuisine : parfois t’as besoin d’un couteau, parfois d’une spatule. Avec de la pratique, tu sauras exactement quelle boucle utiliser et quand.
N’hésite pas à expérimenter et à combiner ces techniques. Plus tu les utiliseras, plus tu deviendras à l’aise avec PowerShell. Et qui sait, peut-être que bientôt, tu créeras des scripts super complexes aussi facilement que tu fais une pizza !
Liens internes
Liens externes
- Documentation officielle Microsoft sur les boucles PowerShell
- PowerShell Gallery – Exemples de scripts utilisant des boucles
Allez, à toi de jouer maintenant ! Amuse-toi bien avec PowerShell, et n’oublie pas : la pratique, c’est la clé pour devenir un vrai pro !