Installation de Chocolatey : Un guide étape par étape

Si vous avez du mal à gérer et à maintenir des logiciels dans votre environnement, vous êtes au bon endroit. Dans cet article, vous allez apprendre comment installer Chocolatey et prendre le contrôle de vos packages logiciels !

Dans cet article, vous apprendrez, de manière pratique, comment installer Chocolatey, gérer des logiciels et avoir une introduction de base sur ce qui fait fonctionner ce produit.

Connexe : Comment créer votre premier package Chocolatey

Prérequis

Ce tutoriel sera une promenade. Si vous prévoyez de suivre, assurez-vous d’avoir les prérequis suivants remplis.

  • Windows 10 – Le tutoriel utilisera Windows 10 1903.
  • Windows PowerShell 5.1 (facultatif) – Bien que cela ne soit pas techniquement requis par Chocolatey, c’est ce que tous les exemples dans cet article utiliseront.

Pour une liste complète de toutes les exigences techniques, consultez la page des exigences de Chocolatey.

Installation de Chocolatey

Lorsque vous commencez avec Chocolatey, votre première tâche consistera à télécharger et installer le client Chocolatey. Techniquement, Chocolatey a également un composant serveur, mais pour cet article, vous vous concentrerez sur l’utilisation du client pour télécharger, installer et mettre à jour des logiciels.

Vous pouvez installer Chocolatey de différentes manières. Dans cet article, vous allez apprendre la méthode la plus courante, en utilisant PowerShell.

Pour une description détaillée de l’installation du client Chocolatey de différentes manières, consultez le guide d’installation de Chocolatey.

Pour installer Chocolatey, l’entreprise fournit un script PowerShell pratique à exécuter sur votre système. Avant d’exécuter le script d’installation, vous devez d’abord l’inspecter avant de le télécharger. Vous pouvez trouver le script ici.

Connexe : Comment exécuter PowerShell en tant qu’administrateur

Avec la console PowerShell ouverte en tant qu’administrateur, téléchargez et exécutez le script en une seule commande.

Le code ci-dessous :

  • Assure que PowerShell peut naviguer le certificat SSL sur le serveur chocolatey.org
  • Télécharge le script depuis https://chocolatey.org/install.ps1
  • Exécute le script une fois téléchargé
  • Ajoute le dossier %ALLUSERSPROFILE%\chocolatey\bin à la variable d’environnement PATH
[System.Net.ServicePointManager]::SecurityProtocol = 3072
Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))"
SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
Downloading and install Chocolatey

Vous pouvez rencontrer une erreur mentionnant une stratégie d’exécution. Si c’est le cas, votre stratégie d’exécution actuelle peut ne pas autoriser l’exécution de scripts. Pour remédier à cela, assurez-vous de relâcher votre stratégie d’exécution en la définissant sur Non restreint ou Signature distante.

Vérification de l’installation

Une fois que le script PowerShell est terminé et que vous êtes de retour à la console PowerShell, vérifiez si vous pouvez exécuter le client Chocolatey appelé choco.exe.

Lorsque vous exécutez choco, vous devriez voir la version installée et des informations d’aide de base comme indiqué ci-dessous.

PS51> choco
Chocolatey v0.10.15
Please run 'choco -?' or 'choco <command> -?' for help menu.~~

Obtenir de l’aide

Une des meilleures choses à propos du client CLI Chocolatey est son système d’aide. Le système d’aide intégré fait un excellent travail de documentation de toutes les fonctionnalités de Chocolatey.

Pour accéder au système d’aide, utilisez l’option -? avec la commande choco comme indiqué ci-dessous.

Vous pouvez voir que le client Chocolatey dispose de différentes commandes pour effectuer de nombreuses fonctions différentes de gestion des logiciels.

PS51> choco -?
This is a listing of all of the different things you can pass to choco.
 
Commands
 
 * list - lists remote or local packages
 * find - searches remote or local packages (alias for search)
 * search - searches remote or local packages (alias for list)
 * info - retrieves package information. Shorthand for choco search pkgname --exact --verbose
 * install - installs packages from various sources
 * pin - suppress upgrades for a package
 * outdated - retrieves packages that are outdated. Similar to upgrade all --noop
 * upgrade - upgrades packages from various sources
 * uninstall - uninstalls a package
 * pack - packages up a nuspec to a compiled nupkg
 * push - pushes a compiled nupkg
 * new - generates files necessary for a chocolatey package from a template
 * sources - view and configure default sources (alias for source)
 * source - view and configure default sources
 * config - Retrieve and configure config file settings
 * feature - view and configure choco features
 * features - view and configure choco features (alias for feature)
 * setapikey - retrieves, saves or deletes an apikey for a particular source (alias for apikey)
 * apikey - retrieves, saves or deletes an apikey for a particular source
 * unpackself - have chocolatey set itself up
 * version - [DEPRECATED] will be removed in v1 - use `choco outdated` or `cup <pkg|all> -whatif` instead
 * update - [DEPRECATED] RESERVED for future use (you are looking for upgrade, these are not the droids you are looking for)
 
 
Please run chocolatey with `choco command -help` for specific help on
 each command.

Si vous êtes bloqué et que vous ne savez pas comment effectuer une action spécifique, consultez le système d’aide !

Recherche de packages

Une fois que vous avez installé et lancé le client Chocolatey, il est temps de voir quels types de packages sont disponibles pour l’installation. Le client dispose de trois commandes qui vous permettent de le faire, appelées list, search et find. Ces commandes scrutent un référentiel Chocolatey à la recherche de packages disponibles ou répertorient les packages sur votre machine.

Ci-dessous, vous trouverez le détail et des exemples trouvés dans le système d’aide.

PS51> choco list --help

List/Search Command
 
Chocolatey will perform a search for a package local or remote.
 
* choco list - lists remote or local packages
* choco search - searches remote or local packages (alias for list)
* choco find - searches remote or local packages (alias for search)
 
Usage:
 
choco search <filter> [<options/switches>]
choco list <filter> [<options/switches>]
clist <filter> [<options/switches>]
 
Popular Switch --localonly or -lo
Usage of -lo:
 
choco <search,list,find> --localonly

À titre d’exemple, voici comment énumérer tous les packages (list) installés sur un ordinateur local (-lo).

PS51> choco list -lo
Chocolatey v0.10.15
chocolatey 0.10.15
chocolatey-core.extension 1.3.3
GoogleChrome 77.0.3865.90
3 packages installed.

Inspection des packages Chocolatey avant de les télécharger

Avant de télécharger un package, vous devez toujours comprendre ce que ce package fait réellement. Heureusement, vous avez la commande info. Cette commande permet de trouver des détails sur les packages situés dans un référentiel Chocolatey.

Avec choco info, vous pouvez trouver des attributs de package tels que l’auteur du package, le nombre de téléchargements, la somme de contrôle, la source et bien plus encore.

Jetez un coup d’œil à vos options d’exécution de la commande choco info ci-dessous.

PS51> choco info --help

Info Command
 
Chocolatey will perform a search for a package local or remote and provide
detailed information about that package. This is a synonym for
`choco search <pkgname> --exact --detailed`.
 
* choco info pkgname - retrieves package information.
* Shorthand for choco search pkgname --exact --verbose
* Shorthand for choco search pkgname --exact --detailed
 
 
Usage:
 
choco info [<options/switches>]

Par exemple, supposons que vous ayez besoin d’installer Google Chrome et que vous ayez remarqué un package disponible appelé googlechrome. Exécutez la commande choco info googlechrome et remarquez quel type d’informations vous pouvez trouver.

PS51> choco info googlechrome
Chocolatey v0.10.15
GoogleChrome 77.0.3865.90 [Approved] Downloads cached for licensed users
Title: Google Chrome | Published: 9/18/2019
Package approved as a trusted package on Sep 18 2019 20:15:10.
Package testing status: Passing on Sep 18 2019 18:45:17.
Number of Downloads: 19851699 | Downloads for this version: 262131
Package url
Chocolatey Package Source: <https://github.com/chocolatey-community/chocolatey-coreteampackages/tree/master/automatic/googlechrome>
Package Checksum: 'v7bDDUTo21k31xqUW+1amzaEWjeOqsEgS3txYNRgRaO3Q7ZnkzYz4S69AxTFn4r0HUB5Wi7NHXZBag/OaJTPKA==' (SHA512)
Tags: google chrome web internet browser admin
Software Site: <https://www.google.com/chrome/browser/>
Software License: <https://www.google.it/intl/en/chrome/browser/privacy/eula_text.html>
Description: Chrome is a fast, simple, and secure web browser, built for the modern web.

Installation de packages

Assez d’informations sur les packages. Il est temps d’installer réellement des logiciels ! Pour ce faire, utilisez la commande choco install.

La commande choco install est puissante et essentielle. S’il y a une commande que vous devez retenir et maîtriser, c’est celle-ci.

La commande choco install installe un package ou une liste de packages que vous fournissez une fois que vous savez ce dont vous avez besoin.

Exécutez la commande choco install --help pour voir quelles sont vos options.

PS51> choco install --help
 Install Command
 Installs a package or a list of packages
 Usage:
 choco install  [ ] []
     cinst  [ ] []
 Examples:
 choco install sysinternals
 choco install notepadplusplus googlechrome atom 7zip
 choco install notepadplusplus --force --force-dependencies
 choco install notepadplusplus googlechrome atom 7zip -dvfy
 choco install git -y --params="'/GitAndUnixToolsOnPath /NoAutoCrlf'"
 choco install git -y --params="'/GitAndUnixToolsOnPath /NoAutoCrlf'" --install-arguments="'/DIR=C:\git'"
     # Les paramètres sont des paramètres de package, transmis au package
     # Les arguments d'installation sont des arguments d'installation, ajoutés aux silentArgs
     # dans le package pour l'installateur lui-même
 choco install nodejs.install --version 0.10.35
 choco install git -s "'https://somewhere/out/there'"
 choco install git -s "'https://somewhere/protected'" -u user -p pass

Mise à jour des packages Chocolatey

Une fois qu’un package est installé, vous voudrez sans aucun doute le maintenir à jour. C’est une fonctionnalité puissante de Chocolatey.

Une fois que vous avez installé certains packages, vous constaterez rapidement que Chocolatey ne met pas automatiquement à jour les packages en arrière-plan. Le client Chocolatey ne s’exécute pas en tant que service.

Pour mettre à jour les packages Chocolatey installés, vous devez invoquer manuellement la commande choco chaque fois que vous avez besoin de mettre à niveau. Pour ce faire, exécutez la commande choco upgrade avec le package que vous souhaitez mettre à jour.

La commande upgrade installera le package s’il n’existe pas sur le système.

Ci-dessous, vous trouverez le détail et des exemples trouvés dans le système d’aide.

PS51> choco upgrade --help
 Upgrade Command
 Upgrades a package or a list of packages. Some may prefer to use cup
  as a shortcut for choco upgrade. If you do not have a package
 installed, upgrade will install it.
 Usage:
 choco upgrade  [ ] []
 cup  [ ] []
 Examples:
 choco upgrade chocolatey
 choco upgrade notepadplusplus googlechrome atom 7zip
 choco upgrade notepadplusplus googlechrome atom 7zip -dvfy
 choco upgrade git -y --params="'/GitAndUnixToolsOnPath /NoAutoCrlf'"
 choco upgrade git -y --params="'/GitAndUnixToolsOnPath /NoAutoCrlf'" --install-args="'/DIR=C:\git'"
 Params are package parameters, passed to the package
 Install args are installer arguments, appended to the silentArgs
 in the package for the installer itself
 choco upgrade nodejs.install --version 0.10.35
 choco upgrade git -s "'https://somewhere/out/there'"
 choco upgrade git -s "'https://somewhere/protected'" -u user -p pass
 choco upgrade all
 choco upgrade all --except="'skype,conemu'"

Vous pouvez mettre à jour tous les packages vers la dernière version en exécutant la commande choco upgrade all.

Recherche de packages obsolètes locaux

Et si vous voulez vérifier s’il y a une nouvelle version de votre package avant d’exécuter aveuglément la commande choco upgrade? Vous pouvez utiliser la commande outdated. La commande outdated analyse vos packages installés et vérifie les mises à jour potentielles dans votre référentiel de packages désigné.

Consultez ci-dessous ce qui est possible avec choco outdated --help.

PS51> choco outdated --help

Outdated Command
 
Returns a list of outdated packages.
 
* outdated - retrieves packages that are outdated. Similar to upgrade all --noop
 
Usage:
 
choco outdated [<options/switches>]
 
Examples:
 
choco outdated
choco outdated -s <https://somewhere/out/there>
choco outdated -s "'<https://somewhere/protected>'" -u user -p pass

Par exemple, si vous souhaitez trouver tous les packages installés localement qui ne sont pas à jour, vous pouvez le faire en utilisant choco outdated.

PS51> choco outdated
Chocolatey v0.10.15
Outdated Packages
Output is package name | current version | available version | pinned?
 
 
Chocolatey has determined 0 package(s) are outdated.

Suppression des mises à jour de packages.

Il est recommandé de maintenir à jour les logiciels, mais que faire si vous avez des packages où vous devez explicitement empêcher cela ? Pourquoi voudriez-vous faire cela ?

Une raison de supprimer les mises à jour serait d’éviter la redondance des mises à jour. Par exemple, peut-être recherchiez-vous simplement à automatiser l’installation initiale d’un package. Vous ne voulez pas maintenir l’ensemble du cycle de vie logiciel du package.

Peut-être devez-vous effectuer des exclusions lors de la mise à jour forcée de tous les packages de Chocolatey. Dans ce cas, vous pouvez épingler les packages.

Lorsque vous exécutez différentes commandes Chocolatey, vous verrez un attribut épinglé. Par exemple, lors de l’exécution de la commande outdated, vous pouvez clairement voir cet attribut comme indiqué ci-dessous.

PS51> choco outdated
Chocolatey v0.10.15
Outdated Packages
Output is package name | current version | available version | pinned?

Vous trouverez ci-dessous le détail et les exemples trouvés dans le système d’aide

PS51> choco pin --help

Pin Command
 
Pin a package to suppress upgrades.
 
This is especially helpful when running `choco upgrade` for all
 packages, as it will automatically skip those packages. Another
 alternative is `choco upgrade --except="pkg1,pk2"`.
 
Usage
 
	choco pin [list]|add|remove [<options/switches>]
 
Examples
 
	choco pin
	choco pin list
	choco pin add -n=git
	choco pin add -n=git --version 1.2.3
	choco pin remove --name git
* pin - suppress upgrades for a package

Désinstallation des packages Chocolatey

Enfin, peut-être avez-vous décidé de ne plus avoir besoin d’un logiciel installé. Au lieu d’aller manuellement dans le Panneau de configuration, de trouver le logiciel et de le supprimer de cette manière, utilisez la commande choco uninstall pour vous en débarrasser rapidement.

La commande choco uninstall supprime un ou plusieurs packages logiciels en une seule fois.

Remarquez comment utiliser la commande choco uninstall via le contenu d’aide ci-dessous.

PS51> choco uninstall --help

Uninstall Command
 
Uninstalls a package or a list of packages.
 
Usage:
 
choco uninstall <pkg | all> [pkg2 pkgN] [options/switches]
cuninst <pkg | all> [pkg2 pkgN] [options/switches]
 
NOTE: `all` is a special package keyword that will allow you to
uninstall all packages.
 
Examples:
 
choco uninstall git
choco uninstall notepadplusplus googlechrome atom 7zip
choco uninstall notepadplusplus googlechrome atom 7zip -dv
choco uninstall ruby --version 1.8.7.37402
choco uninstall nodejs.install --all-versions

Jouer la sécurité avant de faire des modifications (choco whatif)

L’automatisation de la gestion des logiciels peut être une tâche destructrice si elle n’est pas correctement effectuée. Au lieu d’apporter de nombreux changements en une seule fois, il serait plus judicieux de d’abord effectuer un test pour voir ce qui se serait passé. Heureusement, le client Chocolatey dispose de quelques paramètres pour cela.

Le commutateur WhatIf

Chaque commande choco dispose d’un commutateur appelé --whatif avec des alias --noop et --what-if. Si ces commutateurs sont utilisés avec une commande choco, Chocolatey n’effectuera pas réellement l’action, mais vous informera de ce qui se serait passé.

Vous pouvez voir ci-dessous un exemple qui tente de désinstaller tous les packages du système local, mais en utilisant le commutateur whatif pour empêcher toute action réelle.

PS51> choco uninstall all -whatif

Chocolatey v0.10.15
_ Chocolatey:ChocolateyUninstallCommand - Noop Mode _
Would have uninstalled chocolatey v0.10.15.
Would have uninstalled GoogleChrome v77.0.3865.90.
Would have uninstalled chocolatey-core.extension v1.3.3.

Confirmation des actions

Lorsque vous exécutez la commande choco install pour installer un package, vous êtes généralement invité à confirmer si vous souhaitez que le processus d’installation se poursuive. Choco demande également une confirmation pour les packages supplémentaires appelés en tant que dépendance de votre package initial.

Vous pouvez voir ci-dessous un exemple de la façon dont Chocolatey vous demande d’abord d’installer Firefox avant d’effectuer réellement l’action.

PS51> choco install firefox
Chocolatey v0.10.15
Installing the following packages:
firefox
By installing you accept licenses for the packages.
Progress: Downloading Firefox 69.0.1... 100%
 
Firefox v69.0.1 [Approved]
firefox package files install completed. Performing other installation steps.
The package Firefox wants to run 'chocolateyInstall.ps1'.
Note: If you don't run this script, the installation will fail.
Note: To confirm automatically next time, use '-y' or consider:
choco feature enable -n allowGlobalConfirmation
Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint):

Le processus de confirmation est une sécurité, mais il peut vous ralentir. Si vous souhaitez que le processus se poursuive sans interruption, ajoutez un commutateur -y, --yes ou --confirm à la fin de votre commande.

L’utilisation du commutateur -y fonctionne bien lors de l’exécution de commandes non surveillées, telles que dans une tâche planifiée.

Étapes suivantes

Maintenant que vous savez comment installer Chocolatey et l’utiliser de manière générale, que faites-vous ensuite ? Essayez maintenant de trouver un logiciel courant que vous devez généralement installer et mettre à jour encore et encore.

Essayez de créer un script pour gérer ce logiciel avec Chocolatey afin de vous familiariser avec ce pratique gestionnaire de paquets Windows !

Source:
https://adamtheautomator.com/install-chocolatey/