{"meta":{"title":"Utilisation de tâches dans un flux de travail","intro":"Utilisez des workflows pour exécuter plusieurs travaux.","product":"GitHub Actions","breadcrumbs":[{"href":"/fr/actions","title":"GitHub Actions"},{"href":"/fr/actions/how-tos","title":"Guides pratiques"},{"href":"/fr/actions/how-tos/write-workflows","title":"Écrire des workflows"},{"href":"/fr/actions/how-tos/write-workflows/choose-what-workflows-do","title":"Choisir ce que font les workflows"},{"href":"/fr/actions/how-tos/write-workflows/choose-what-workflows-do/use-jobs","title":"Utiliser des jobs"}],"documentType":"article"},"body":"# Utilisation de tâches dans un flux de travail\n\nUtilisez des workflows pour exécuter plusieurs travaux.\n\n## Prérequis\n\nPour implémenter des travaux dans vos flux de travail, vous devez comprendre ce que sont les travaux. Consultez [Présentation des GitHub Actions](/fr/actions/get-started/understand-github-actions#jobs).\n\n## Définition d’un ID pour une tâche\n\nUtilisez `jobs.<job_id>` pour attribuer un identificateur unique à votre travail. La clé `job_id` est une chaîne et sa valeur est une carte des données de configuration du travail. Vous devez remplacer `<job_id>` par une chaîne propre à l’objet `jobs`. `<job_id>` doit commencer par une lettre ou par `_`, et contenir uniquement des caractères alphanumériques, des `-` ou des `_`.\n\n### Exemple : Création de travaux\n\nDans cet exemple, deux travaux ont été créés, et leurs valeurs `job_id` sont `my_first_job` et `my_second_job`.\n\n```yaml\njobs:\n  my_first_job:\n    name: My first job\n  my_second_job:\n    name: My second job\n```\n\n## Définir un nom pour une tâche\n\nUtilisez `jobs.<job_id>.name` pour définir un nom pour le travail, qui s’affiche sur l’interface utilisateur GitHub.\n\n## Définition des travaux prérequis\n\nUtilisez `jobs.<job_id>.needs` pour identifier les travaux à accomplir avant l’exécution de ce travail. Il peut s’agir d’une chaîne ou d’un tableau de chaînes. Si une tâche échoue ou est ignorée, toutes les tâches qui en dépendent sont ignorées, à moins que ces tâches n’utilisent une expression conditionnelle qui permet à la tâche de se poursuivre. Si une exécution contient une série de tâches qui dépendent les unes des autres, un échec ou le fait qu’une tâche soit ignorée affecte toutes les tâches de la chaîne de dépendance à partir du point d’échec ou d’omission. Si vous souhaitez qu’un travail s’exécute même si un travail dont il dépend n’a pas réussi, utilisez l’expression conditionnelle `always()` dans `jobs.<job_id>.if`.\n\n### Exemple : Exigence de réussite de travaux dépendants\n\n```yaml\njobs:\n  job1:\n  job2:\n    needs: job1\n  job3:\n    needs: [job1, job2]\n```\n\nDans cet exemple, `job1` doit être correctement accompli avant que `job2` commence, et `job3` attend que `job1` et `job2` soient accomplis.\n\nLes travaux dans cet exemple s’exécutent séquentiellement :\n\n1. `job1`\n2. `job2`\n3. `job3`\n\n### Exemple : Non-exigence de réussite de travaux dépendants\n\n```yaml\njobs:\n  job1:\n  job2:\n    needs: job1\n  job3:\n    if: ${{ always() }}\n    needs: [job1, job2]\n```\n\nDans cet exemple, `job3` utilise l’expression conditionnelle `always()` afin de toujours s’exécuter après que `job1` et `job2` ont été effectués avec ou sans succès. Pour plus d’informations, consultez « [Évaluer des expressions dans les workflows et les actions.](/fr/actions/reference/workflows-and-actions/expressions#status-check-functions) ».\n\n## Utilisation d’une matrice pour exécuter des travaux avec différentes variables\n\nPour exécuter automatiquement un travail avec différentes combinaisons de variables, telles que des systèmes d’exploitation ou des versions de langage, définissez une stratégie de `matrix` dans votre flux de travail.\n\nPour plus d’informations, consultez « [Exécution de variantes de tâches dans un workflow](/fr/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations) »."}