"Guide complet 2025 des outils CLI de Microsoft Windows : installez, gérez et sécurisez vos paquets avec winget, Chocolatey, Scoop et PowerShell.
Comparatif 2025 — Les Outils CLI de Microsoft Windows
Bonnes pratiques, et analogies Linux (apt, dnf, pacman, zypper).
Les Actions de : install / upgrade / downgrade / pin
Fonctionnement des : Dépôts et de leurs sécurités
A tester : dans un environnement sûr : scripts PowerShell
🧭 Pourquoi des gestionnaires de paquets sous Windows ?
Sous Linux, l'utilisation de gestionnaires de paquets comme apt, dnf, zypper ou pacman est devenue un réflexe pour installer, mettre à jour et gérer vos logiciels. Sur Windows, le plaisir de lancer des exécutables (.exe, .msi) via un simple clique soulageait les utilisateurs.
Aujourd'hui, SafeITExperts lève le voile : Windows possède lui aussi des outils en ligne de commande : winget, Chocolatey et Scoop. Découvrons-les ensemble.
Sous Linux, les gestionnaires de paquets sont centraux :
| Distribution | Outil | Exemples de commandes |
|---|---|---|
| Debian / Ubuntu | apt | apt update, apt install, apt upgrade, apt remove |
| Fedora / RHEL | dnf | dnf install, dnf upgrade, dnf downgrade |
| Arch | pacman | pacman -S, pacman -Syu, pacman -Rns |
| openSUSE | zypper | zypper refresh, zypper install, zypper update |
Windows comble l'écart avec winget (officiel), Chocolatey (vétéran DevOps) et Scoop (minimaliste, sans admin). 🎯
💻 Accéder au shell : PowerShell, CMD & Terminal
Quel shell utiliser ?
- PowerShell (recommandé) : shell moderne avec un langage de scripting puissant.
- CMD : ancien interpréteur de commandes (fonctionne, mais moins confortable).
- Windows Terminal : l'application qui peut héberger PowerShell, CMD, WSL/Bash, etc.
- PowerShell 7 (Core : version multiplateforme (parallèle à PowerShell 5.x "Windows PowerShell").
Comment ouvrir PowerShell
- Via le menu Démarrer : tapez "PowerShell", puis "Exécuter en tant qu'administrateur" pour une session élevée.
- Raccourci : Win + X → "Terminal Windows (Admin)" ou "Windows PowerShell (Admin)".
- Exécuter : Win + R → powershell → Entrée (non-élevé).
Droits administrateur, mot de passe et UAC
Sous Windows, on ne tape pas sudo. Les actions système déclenchent l'UAC (User Account Control) :
- Si votre session a des droits admin, vous verrez une boîte de dialogue à valider
- Si votre session est standard, on vous demandera des identifiants admin
winget/choco peuvent nécessiter une session élevée pour des installations "machine-wide". Scoop fonctionne par défaut sans admin (dans le profil utilisateur), mais peut aussi installer en global avec admin.
Pour installer Chocolatey ou Scoop via script, PowerShell peut exiger une politique d'exécution plus permissive :
# Vérifier & assouplir pour l'utilisateur courant Get-ExecutionPolicy Set-ExecutionPolicy -Scope CurrentUser RemoteSigned🐧 WSL — environnement Linux complet sous Windows
Vue d'ensemble
Windows Subsystem for Linux (WSL) a été créé par Microsoft et introduit en 2016 pour rapprocher Windows et Linux dans un même environnement. WSL permet d'exécuter une distribution GNU/Linux complète (Ubuntu, Debian, Fedora, openSUSE, Kali…) directement sous Windows, sans nécessiter de machine virtuelle lourde ni de dual-boot.
- Concept : noyau Linux réel embarqué dans une VM Hyper-V légère
- Accès natif aux commandes et paquets Linux (bash, apt, yum, pacman…)
- Interopérabilité transparente fichiers Windows ↔ Linux (/mnt/c)
- Distributions : disponibles via Microsoft Store ou CLI WSL (Ubuntu, Debian, Fedora…)
- Sécurité :
- Noyau Linux fourni et mis à jour par Microsoft
- Isolation Hyper-V légère
- Droits admin uniquement pour l'installation initiale
⚙️ Installation de WSL
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart wsl --set-default-version 2 wsl --install -d Ubuntu wsl --list --online wsl --list --verbose🛠️ Installation alternative via gestionnaires
# Avec winget winget install --id Microsoft.WSL -e --source winget wsl --install # Avec Chocolatey choco install wsl -y wsl --install # Avec Scoop (après installation de Scoop) scoop install sudo sudo dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart sudo dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart wsl --install🗣️ Installation vocale via Copilot
# Ouvrez Windows Terminal, activez Copilot (Win + C), et dites : « Installe et configure WSL 2 avec Ubuntu » # Copilot exécutera les commandes nécessaires🔧 Gestion des distributions
wsl --list --verbose wsl --set-version <distro> 2 wsl --terminate <distro>🔎 Intégration & interopérabilité
ls /mnt/c/Users cmd.exe /c dir C:wsl uname -r📦 Gestion des paquets Linux
sudo apt update && sudo apt upgrade sudo apt install <paquet> sudo apt install <paquet>=<version>✅ WSL offre un vrai shell Linux intégré à Windows, compatible Docker/Kubernetes, idéal pour le développement web, la data science et les scripts bash.
🪟 winget — Windows Package Manager (Microsoft) officiel
Vue d'ensemble
winget est le gestionnaire de paquets officiel de Windows (Windows Package Manager), introduit par Microsoft. Il permet d'installer, mettre à jour, configurer et désinstaller des logiciels directement depuis la ligne de commande, un peu comme apt sous Linux ou brew sur macOS.
- Origine : Microsoft (intégré à Windows 11, disponible sur Windows 10 via "App Installer")
- Dépôts (sources) :
- winget : dépôt communautaire maintenu par Microsoft (manifestes sur GitHub)
- msstore : Microsoft Store (apps packagées et signées via le Store)
- Sources privées possibles (entreprise)
- Sécurité : manifestes YAML revus (automatique + humain), SHA256 des installeurs, téléchargements depuis les sources éditeurs
🔎 Rechercher & afficher
winget --version winget search vscode winget search --id Microsoft.VisualStudioCode -e winget show Microsoft.VisualStudioCode📦 Installer
winget install --id Microsoft.VisualStudioCode -e winget install --id Microsoft.VisualStudioCode -e --version 1.80.0 winget install --id Microsoft.VisualStudioCode --scope user winget install --id Microsoft.VisualStudioCode --silent winget install --id Microsoft.VisualStudioCode --override "/VERYSILENT /NORESTART" winget install --id 9NBLGGH4NNS1 --source msstore⬆️ Mises à jour
winget upgrade winget upgrade winget upgrade --all winget upgrade --include-unknown 🧹 Lister / désinstaller / exporter
winget list winget uninstall --id Microsoft.VisualStudioCode -e winget export -o apps.json --include-versions winget import -i apps.json📌 Pin (verrouillage), sources & configuration
winget pin add --id Microsoft.VisualStudioCode --version 1.80.* winget pin list winget pin remove --id Microsoft.VisualStudioCode winget source list winget source update winget source reset winget settings winget features🍫 Chocolatey — le vétéran DevOps/Entreprise
Vue d'ensemble
Chocolatey est l'un des plus anciens gestionnaires de paquets Windows (2011). Il est inspiré de apt-get, orienté automation/DevOps, et très utilisé dans les environnements d'entreprise.
- Origine : 2011, communauté + offre entreprise (C4B)
- Dépôt public : community.chocolatey.org/packages (NuGet)
- Dépôts privés : fortement utilisés en entreprise (Artifactory, Nexus, UNC share, etc.)
- Sécurité :
- Paquets soumis par la communauté
- Vérification humaine et automatique avant publication
- Certains scripts exécutent des téléchargements depuis des sources externes (moins strict que winget)
- Version Chocolatey for Business propose des dépôts privés + vérification renforcée
⚙️ Installation de Chocolatey
Set-ExecutionPolicy Bypass -Scope Process -Force [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 iex ((New-Object Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) choco --version🔎 Rechercher, lister, obsolètes
choco search vscode choco list --localonly choco outdated📦 Installer / upgrade / désinstaller
choco install vscode -y choco install vscode --version=1.80.0 -y choco install nodejs-lts --pre -y choco upgrade vscode -y choco upgrade all -y choco uninstall vscode -y⬇️ Downgrade & Pin
choco install vscode --version=1.79.0 -y choco pin add -n=vscode -v=1.79.0 choco pin list choco pin remove -n=vscode✅ Avantage : supporte downgrade (retour en arrière possible si la version est disponible).
🧩 Sources, config, features, maintenance
choco source list choco source add -n=myfeed -s "https://mon.nexus/nuget/choco" choco source disable -n=chocolatey choco config get cacheLocation choco config set cacheLocation "D:\ChocoCache" choco feature list choco feature enable -n=allowGlobalConfirmation choco clean -y choco upgrade all --noop🗂️ Scoop — minimaliste, sans admin par défaut
Vue d'ensemble
Scoop a été créé par Luke Sampson en 2013. Il adopte une philosophie minimaliste, proche de l'expérience brew sur macOS. Tout est installé dans le dossier utilisateur sans nécessiter de droits administrateur.
- Concept : installe des apps dans le profil utilisateur (pas d'UAC, pas d'admin)
- Dépôts : des buckets (dépôts Git) :
- Dépôt principal : main
- Buckets additionnels : extras, versions, nerd-fonts, Games, etc.
- L'utilisateur peut ajouter ses propres buckets (dépôts personnalisés)
- Sécurité :
- Buckets sur GitHub, contributions ouvertes
- Vérification SHA256 pour s'assurer que les binaires n'ont pas été modifiés
- Plus communautaire que winget, dépend fortement de la rigueur des mainteneurs
⚙️ Installation de Scoop
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser iwr -useb get.scoop.sh | iex scoop --version🪣 Buckets
scoop bucket list scoop bucket known scoop bucket add extras scoop bucket add versions scoop bucket rm extras🔎 Rechercher & info
scoop search vscode scoop info vscode scoop list📦 Installer / versions / global
scoop install vscode scoop install vscode@1.80.0 scoop install -g 7zip⬆️ Mise à jour / statut
scoop update scoop update vscode scoop update * scoop status🔁 Changer/figer version & maintenance
scoop reset vscode@1.79.0 scoop hold vscode scoop unhold vscode scoop cleanup vscode scoop cleanup * scoop checkup scoop cache show scoop cache rm * scoop which codescoop install aria2 scoop config aria2-enabled true🤖 Copilot — Assistant IA pour PowerShell et outils CLI
Vue d'ensemble
Windows Copilot, intégré à Windows 11, révolutionne l'utilisation des outils CLI en agissant comme un assistant vocal et textuel intelligent. Il traduit vos requêtes en langage naturel en commandes PowerShell précises pour interagir avec winget, Chocolatey et Scoop.
- Activation : Bouton Copilot dans la barre des tâches ou Win+C
- Fonctionnalités clés : Traduction vocale, génération de scripts, diagnostic d'erreurs
- Sécurité : Confirmation avant exécution (sauf mode silencieux), historique des commandes
🎙️ Commandes vocales avec Copilot
# Installer Docker avec Winget en mode silencieux "Copilot, installe Docker avec winget sans confirmation" → winget install Docker.DockerDesktop --silent # Migrer mes applications de Chocolatey vers Winget "Copilot, migre mes apps Chocolatey vers winget" → Script de migration automatique # Diagnostiquer une erreur d'installation "Copilot, pourquoi l'installation de Node.js a échoué ?" → Analyse des logs et suggestions de correctifs⚡ Automatisation avancée
Copilot génère des scripts combinant plusieurs outils :
# Installation groupée multi-outils "Copilot, installe Git, Python et VS Code avec l'outil optimal" → winget install Git.Git Python.Python Microsoft.VisualStudioCode # Nettoyage cross-tools "Copilot, nettoie les paquets inutilisés sur tous les gestionnaires" → scoop cleanup * & choco remove --all-versions & winget uninstall --orphaned # Script personnalisé "Copilot, crée un script qui installe Java, clone mon repo et lance le build" → Génération d'un script PowerShell complet🔧 Intégration avec les outils Windows
| Outil | Ce que Copilot peut faire |
|---|---|
| Winget | Installations silencieuses, gestion des versions, export/import de configurations |
| Chocolatey | Migration entre versions, création de paquets, gestion de dépôts privés |
| Scoop | Gestion des buckets, installations sans admin, multi-versions |
| WSL | Traduction des commandes Linux (apt → winget, etc.) |
| Terminal | Configuration automatique de profils et onglets dédiés |
💡 Cas pratiques innovants
# Comparer les performances d'installation "Copilot, quel outil est le plus rapide pour installer 20 apps ?" → Benchmark winget vs choco vs scoop # Sécuriser une installation "Copilot, vérifie si ce script Scoop est sûr avant exécution" → Analyse des risques potentiels # Gestion de dépendances complexes "Copilot, installe Node.js avec npm et configure le PATH" → Installation + configuration environnementale📊 Comparaison rapide
| Critère | winget | Chocolatey | Scoop |
|---|---|---|---|
| Origine | Microsoft (officiel) | Communauté + offre entreprise | Communauté |
| Dépôts | winget + msstore + privés | community + privés (NuGet) | buckets Git (main, extras, …) + privés |
| Sécurité | Manifeste + SHA256, Store signé | Revue + checksums (scripts) | SHA256, dépend des buckets |
| Droits admin | Souvent requis (machine-wide) | Recommandé (global) | Non par défaut (user), -g pour global |
| Downgrade | Via --version si dispo | Oui (--version) | Oui (@version / reset) |
| Idéal pour | Utilisateurs Windows & intégration Store | Entreprise, CI/CD, DevOps | Devs & power-users, sandbox utilisateur |
🔒 Dépôts & sécurité : comment ces outils se comparent-ils à Linux ?
| Aspect | Linux (apt/dnf/pacman/zypper) | winget | Chocolatey | Scoop |
|---|---|---|---|---|
| Origine des paquets | Dépôts officiels de la distro (builds signés) | Installeurs éditeurs référencés via manifestes ; aussi Microsoft Store | Paquets communautaires (scripts) + entreprises (dépôts privés) | Buckets communautaires (Git) + buckets privés |
| Vérification | Signatures GPG/RPM ; chaînes de confiance | Hash SHA256 dans manifestes ; validations CI ; apps Store signées | Revue + checksums recommandés ; scripts peuvent appeler des URLs externes | SHA256 dans manifestes ; dépend du mainteneur du bucket |
| Sandbox/Intégration | Forte intégration au système de paquets | Utilise les installeurs Windows natifs (MSI/EXE/MSIX) | Scripts d'install (PowerShell/MSI/EXE) | Archives/zip et shim ; isolé dans le profil user |
| Downgrade | Souvent supporté nativement | Possible si versions disponibles (pas une commande dédiée) | Oui, simple via --version | Oui, via @version/reset |
| Droits admin | sudo avec mot de passe | Souvent requis pour machine-wide (UAC) | Élevé recommandé pour globale | Non par défaut ; -g = admin |
À retenir
- Linux : paquets intégrés, signés, reproductibles dans des dépôts gérés par la distro.
- Windows : ces gestionnaires orchestrent des installeurs éditeurs. La chaîne de confiance repose sur les manifestes, checksums et la provenance des binaires (site officiel, Store).
- En entreprise : préférez dépôts privés (winget private source, Chocolatey feed, buckets privés Scoop) et un processus de validation.
📚 Cookbook — tâches courantes (avec analogies Linux)
| Tâche | Linux | winget | choco | scoop |
|---|---|---|---|---|
| MAJ index | apt update / zypper refresh | winget source update | — | scoop update |
| Voir MAJ | apt list --upgradable | winget upgrade | choco outdated | scoop status |
| Tout mettre à jour | apt upgrade / pacman -Syu | winget upgrade --all | choco upgrade all -y | scoop update * |
| Lister installés | dpkg -l, dnf list installed | winget list | choco list --localonly | scoop list |
| Installer | apt install pkg | winget install --id <ID> -e | choco install pkg -y | scoop install app |
| Version précise | apt install pkg=ver | --version si dispo | --version | @version |
| Downgrade | dnf downgrade | selon versions | oui | oui |
| Désinstaller | apt remove | winget uninstall | choco uninstall | scoop uninstall |
| Verrouiller | apt-mark hold | winget pin add | choco pin add | scoop hold |
| Environnement Linux | Natif | wsl --install puis gestion via apt/dnf | ||
🛡️ Sécurité & bonnes pratiques
- Sources fiables : Microsoft Store pour winget quand possible, URL éditeur officiel.
- Checksums : indispensables côté Chocolatey ; manifestes avec SHA256 pour winget et Scoop.
- Moindre privilège : scope utilisateur (--scope user / Scoop par défaut).
- Dépôts privés en entreprise + pipeline de validation (mirror interne).
- Export / backup de votre stack (winget export ; Scoop list ; Choco via scripts).
- WSL : maintenir le noyau à jour via Windows Update.
🎯 Scénarios pratiques
1) PC personnel, simple et sûr
- winget par défaut (intégré, source msstore fiable)
- Utilisez --id et -e (exact) pour éviter les collisions de nom
- Exportez votre sélection :
winget export -o apps.json --include-versions
2) Poste dev (flexible, sans admin)
- Scoop pour les outils CLI, versions multiples et nettoyage facile
- WSL pour l'environnement Linux complet
- Activez aria2 pour accélérer les téléchargements :
scoop install aria2 scoop config aria2-enabled true
3) Entreprise / CI/CD
- Chocolatey + dépôt privé (NuGet, Nexus, Artifactory)
- Exiger checksums, désactiver le dépôt public, pipelines de création/revue internes
- Simulation avant déploiement :
choco upgrade all --noop
❓ Foire aux questions (FAQ)
Faut-il un mot de passe pour utiliser ces commandes ?
Pas en ligne de commande. Si une action requiert des droits admin, Windows affiche une invite UAC : vous validez (session admin) ou vous entrez des identifiants admin si vous êtes en compte standard.
Puis-je tout faire depuis CMD ?
Oui pour winget et choco. Scoop cible surtout PowerShell. Le Windows Terminal est le plus confortable.
Est-ce aussi "sécurisé" que Linux ?
Le modèle est différent. Linux compile et signe des paquets au sein de dépôts officiels. Sous Windows, ces outils orchestrent des installeurs éditeurs ; la sécurité repose sur les manifestes, hashes, signatures éditeurs (Store) et vos politiques (dépôts privés en entreprise).
Peut-on utiliser plusieurs gestionnaires sur la même machine ?
Oui, c'est possible et parfois recommandé. Par exemple : winget pour les applications principales, Scoop pour les outils dev sans droits admin. Évitez juste d'installer le même logiciel via plusieurs gestionnaires.
Comment vérifier l'intégrité d'un paquet avant installation ?
- Winget : utilise des hash SHA256 dans les manifestes officiels
- Chocolatey : vérifiez que le paquet a des checksums valides (évitez --allow-empty-checksums)
- Scoop : les manifestes incluent des hash SHA256 pour chaque fichier téléchargé
Quelle est la meilleure solution pour automatiser des déploiements ?
Chocolatey est le plus adapté aux environnements d'entreprise avec ses dépôts privés, fonctions d'approbation et intégration avec SCCM/Intune. Winget devient aussi une option solide avec ses fonctionnalités d'export/import.
WSL remplace-t-il les gestionnaires de paquets Windows ?
Non, WSL est complémentaire. Il permet d'exécuter des environnements Linux complets (avec apt, dnf, etc.) tandis que winget/choco/scoop gèrent les applications Windows. Vous pouvez utiliser les deux conjointement.
🎯 Conclusion
- winget : choix par défaut, intégré et fiable (surtout avec la source msstore)
- Chocolatey : très riche pour l'automatisation et l'entreprise (downgrade, pin, dépôts privés)
- Scoop : léger et flexible, parfait sans droits admin, multi-versions, nettoyage facile
- Copilot : assistant IA révolutionnaire pour automatiser vos workflows CLI
- WSL : solution incontournable pour exécuter un environnement Linux complet sous Windows
Pour un utilisateur Windows "classique", partez sur winget.
Pour un parc machines et du DevOps, Chocolatey brille.
Pour des devs/power-users, Scoop et WSL sont indispensables.
Pour tous, Copilot transforme votre expérience CLI.
/image%2F7127247%2F20250826%2Fob_b6b74b_powershell.png)