{"meta":{"title":"Création d'une action CLI tierce","intro":"Découvrez comment créer une action permettant de configurer une interface de ligne de commande sur des exécuteurs GitHub Actions.","product":"GitHub Actions","breadcrumbs":[{"href":"/fr/actions","title":"GitHub Actions"},{"href":"/fr/actions/how-tos","title":"Guides pratiques"},{"href":"/fr/actions/how-tos/create-and-publish-actions","title":"Créer et publier des actions"},{"href":"/fr/actions/how-tos/create-and-publish-actions/create-a-cli-action","title":"Créer une action CLI"}],"documentType":"article"},"body":"# Création d'une action CLI tierce\n\nDécouvrez comment créer une action permettant de configurer une interface de ligne de commande sur des exécuteurs GitHub Actions.\n\n## Introduction\n\nVous pouvez écrire une action pour permettre aux utilisateurs d’accéder à vos serveurs via un environnement CLI configuré sur GitHub Actions les exécuteurs.\n\nVotre action doit :\n\n* Permettre aux utilisateurs de spécifier facilement la version de l’interface CLI à installer\n* Prendre en charge plusieurs systèmes d’exploitation\n* S’exécuter de manière efficace pour réduire le temps d’exécution et les coûts associés\n* Utilisation conjointe de runners hébergés par GitHub et auto-hébergés\n* Tirer parti des outils de la communauté lorsque cela est possible\n\nCet article explique comment écrire une action qui récupère une version spécifique de votre interface CLI, l’installe, l’ajoute au chemin et (facultativement) la met en cache. Ce type d’action (une action qui configure un outil) est souvent nommé `setup-$TOOL`.\n\n## Prérequis\n\nVous devez savoir comment écrire une action personnalisée. Pour plus d’informations, consultez « [Gestion des actions personnalisées](/fr/actions/how-tos/create-and-publish-actions/manage-custom-actions) ».\n\n## Exemple\n\nLe script suivant montre comment obtenir une version spécifiée par l’utilisateur comme entrée, télécharger et extraire la version spécifique de votre interface CLI, puis ajouter l’interface CLI au chemin.\n\nGitHub fournit [`actions/toolkit`](https://github.com/actions/toolkit), qui est un ensemble de packages qui vous aide à créer des actions. Cet exemple utilise les packages [`actions/core`](https://github.com/actions/toolkit/tree/main/packages/core) et [`actions/tool-cache`](https://github.com/actions/toolkit/tree/main/packages/tool-cache).\n\n```javascript copy\nconst core = require('@actions/core');\nconst tc = require('@actions/tool-cache');\n\nasync function setup() {\n  // Get version of tool to be installed\n  const version = core.getInput('version');\n\n  // Download the specific version of the tool, e.g. as a tarball\n  const pathToTarball = await tc.downloadTool(getDownloadURL());\n\n  // Extract the tarball onto the runner\n  const pathToCLI = await tc.extractTar(pathToTarball);\n\n  // Expose the tool by adding it to the PATH\n  core.addPath(pathToCLI)\n}\n\nmodule.exports = setup\n```\n\nPour utiliser ce script, remplacez `getDownloadURL` par une fonction qui télécharge votre interface CLI. Vous devez également créer un fichier de métadonnées d’action (`action.yml`) qui accepte une entrée `version` et qui exécute ce script. Pour plus d’informations sur la création d’une action, consultez « [Création d’une action JavaScript](/fr/actions/tutorials/create-actions/create-a-javascript-action) ».\n\n## Pour aller plus loin\n\nCe modèle est utilisé dans plusieurs actions. Pour obtenir d’autres exemples, consultez :\n\n* [`ruby/setup-ruby`](https://github.com/ruby/setup-ruby)\n* [`google-github-actions/setup-gcloud`](https://github.com/google-github-actions/setup-gcloud)\n* [`hashicorp/setup-terraform`](https://github.com/hashicorp/setup-terraform)"}