# Création de modèles de workflow pour votre organisation

Découvrez comment créer des modèles de workflow pour aider les membres de votre équipe à ajouter plus facilement de nouveaux workflows.

> \[!NOTE]
> Les exécuteurs hébergés sur GitHub Enterprise Server ne sont pas pris en charge sur GitHub.

## Création de modèles de flux de travail

Cette procédure montre comment créer un modèle de workflow et un fichier de métadonnées. Le fichier de métadonnées décrit la façon dont les modèles de workflow sont présentés aux utilisateurs lors de la création d’un workflow.

1. S’il n’existe pas encore, créez un dépôt public nommé `.github` dans votre organisation.
2. Créez un répertoire nommé `workflow-templates`.
3. Créez votre nouveau fichier de workflow dans le répertoire `workflow-templates`.

   Si vous devez faire référence à la branche par défaut d’un dépôt, vous pouvez utiliser l’espace réservé `$default-branch`. Lorsqu’un workflow est créé, l’espace réservé est automatiquement remplacé par le nom de la branche par défaut du dépôt.

   > \[!NOTE]
   > Les valeurs suivantes dans la clé `runs-on` sont également traitées comme des espaces réservés :
   >
   > *

`ubuntu-latest` est remplacé par `[ self-hosted ]`

> \*
> `windows-latest` est remplacé par `[ self-hosted, windows ]`
> \*
> `macos-latest` est remplacé par `[ self-hosted, macOS ]`

Par exemple, ce fichier nommé `octo-organization-ci.yml` illustre un workflow de base.

```yaml copy
name: Octo Organization CI

on:
  push:
    branches: [ $default-branch ]
  pull_request:
    branches: [ $default-branch ]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v6

      - name: Run a one-line script
        run: echo Hello from Octo Organization
```

1. Créez un fichier de métadonnées dans le répertoire `workflow-templates`. Le fichier de métadonnées doit porter le même nom que le fichier de workflow, mais au lieu de l’extension `.yml`, l’extension `.properties.json` doit lui être ajoutée. Par exemple, ce fichier nommé `octo-organization-ci.properties.json` contient les métadonnées d’un fichier de workflow nommé `octo-organization-ci.yml` :

   ```json copy
   {
       "name": "Octo Organization Workflow",
       "description": "Octo Organization CI workflow template.",
       "iconName": "example-icon",
       "categories": [
           "Go"
       ],
       "filePatterns": [
           "package.json$",
           "^Dockerfile",
           ".*\\.md$"
       ]
   }
   ```

   * `name`

   - **Requis.** Nom du workflow. Celui-ci s’affiche dans la liste des workflows disponibles.

   * `description`

   - **Requis.** Description du workflow. Celui-ci s’affiche dans la liste des workflows disponibles.

   * `iconName`

   - **Facultatif.** Spécifie une icône pour le workflow affiché dans la liste des workflows.
     `iconName` peut être l’un des types suivants :
     * Fichier SVG stocké dans le répertoire `workflow-templates`. Pour référencer un fichier, la valeur doit être le nom du fichier sans son extension. Par exemple, un fichier SVG nommé `example-icon.svg` est référencé comme `example-icon` .
     * Icône de l’ensemble d’[octicons](https://primer.style/octicons/) de GitHub. Pour référencer un octicon, la valeur doit être `octicon <icon name>`. Par exemple : `octicon smiley`.

   * `categories`

   - **Facultatif.** Définit les catégories sous lesquelles le workflow est affiché. Vous pouvez utiliser des noms de catégorie à partir des listes suivantes :
     * Noms de catégorie généraux du dépôt [starter-workflows](https://github.com/actions/starter-workflows/blob/main/README.md#categories).

     * Langages Linguist figurant dans la liste du dépôt [linguist](https://github.com/github-linguist/linguist/blob/main/lib/linguist/languages.yml).

     * Piles techniques prises en charge figurant dans la liste du dépôt [starter-workflows](https://github.com/github-starter-workflows/repo-analysis-partner/blob/main/tech_stacks.yml).

   * `filePatterns`

   - **Facultatif.** Permet d’utiliser le workflow si le dépôt de l’utilisateur a dans son répertoire racine un fichier qui correspond à une expression régulière définie.

2. Pour ajouter un autre modèle de workflow, ajoutez vos fichiers dans le même répertoire `workflow-templates`.

## Étapes suivantes

* Pour obtenir des informations de référence sur les modèles de flux de travail, consultez [Réutilisation des configurations de flux de travail](/fr/enterprise-server@3.22/actions/reference/workflows-and-actions/reusing-workflow-configurations#workflow-templates).