Shells

🐚 Shells sous Windows : de la caverne au terminal

Dans le royaume de l’informatique, le shell est ce précieux intermédiaire entre vous, humble utilisateur, et le système d’exploitation, tout-puissant mais incapable de comprendre autre chose que des 0 et des 1. Et sous Windows ? Le parcours est, disons… tumultueux.

👴 L’époque du DOS : le shell de Cro-Magnon

Avant Windows, il y avait MS-DOS. Une interface en ligne de commande rudimentaire :

C:\> dir
C:\> copy monfichier.txt A:\

Pas de complétion, pas de couleurs, juste vous, votre clavier, et le vide existentiel du prompt clignotant. Le shell DOS gérait tout, mais il était aussi agréable à utiliser qu’un grille-pain sans pain.

📟 CMD : le zombie des années 90

cmd.exe, hérité du DOS, est toujours là. Il vit, tapi dans l’ombre, prêt à répondre à vos ipconfig et ping.

C:\> ipconfig
C:\> ping google.com
C:\> del /f /s /q C:\windows\system32

(Ne tapez pas la dernière commande, sauf si vous avez un penchant pour l’autodestruction ☠️)

CMD est limité : pas de vraies structures conditionnelles, pas de pipelines puissants, et les scripts batch ressemblent plus à des incantations qu’à du code lisible.

🪟 Le shell graphique : clicodrome suprême

Windows a longtemps considéré que la ligne de commande était bonne pour les barbares. L’interface graphique était la norme, le shell visuel par excellence : l’explorateur de fichiers, les icônes, les menus. Pratique, certes, mais parfois frustrant pour des tâches complexes ou répétitives.

🧙 PowerShell : le magicien bleu

Avec PowerShell, Microsoft a enfin créé un shell digne de ce nom : orienté objets, extensible, scriptable. Le terminal bleu sait parler .NET, gérer des structures complexes, et faire des choses inavouables avec des pipelines.

# Lister les processus
Get-Process

# Arrêter un processus par nom
Stop-Process -Name notepad

# Lister les fichiers dans un répertoire
Get-ChildItem C:\Users\

# Trouver les fichiers .log contenant "erreur"
Select-String -Path *.log -Pattern "erreur"

Contrairement à bash ou CMD, les objets circulent dans les pipelines, pas des chaînes de texte. C’est comme passer du morse au Wi-Fi.

⚖️ CMD vs PowerShell : le match

Critère CMD PowerShell
Année de naissance 1987 (hérité du DOS) 2006
Pipeline Texte brut uniquement Objets .NET ✨
Programmation Batch, très limité Scripts puissants, gestion des erreurs, modules
Interopérabilité Limitée à Windows Disponible aussi sur Linux & Mac
Charisme 🤖 🧙

🔚 Conclusion

CMD est un reliquat historique. Comme un dinosaure en costume, il a son charme, mais il est temps de le laisser prendre sa retraite méritée.

PowerShell, bien qu’un peu verbeux, est puissant, polyvalent et adapté aux défis modernes. Si vous êtes administrateur système et que vous ne l’avez pas encore adopté, il est peut-être temps de sortir de votre grotte 🦴 et de prendre votre bâton de PowerShell 🪄.

🖋️ Écrit depuis un terminal… avec amour et quelques scripts auto-destructeurs.