Introduction
GitHub Actions est un système d’automatisation des workflows intégré à GitHub. Il réagit aux événements du dépôt, comme les push, les pull requests ou les déclenchements manuels, puis exécute automatiquement les tâches définies.
Cette automatisation peut effectuer de nombreuses tâches DevOps, comme tester du code, générer des artefacts et déployer des applications. La liste d’instructions s’appelle un workflow.
À un niveau supérieur, un workflow est une définition de pipeline. Il transforme les événements du dépôt en une automatisation reproductible, afin qu’une même séquence ne dépende pas de la mémoire d’une personne à chaque exécution.
Dans ce lab, vous allez rédiger le tout premier manuel d’instructions (workflow) de ce robot. Vous découvrirez les quatre composants de base de chaque workflow :
- Déclencheurs : quand le robot doit-il se réveiller ? (par exemple, lorsque vous poussez du code).
- Tâches : quelle tâche principale le robot doit-il effectuer ?
- Runners : quel ordinateur le robot doit-il utiliser pour travailler ?
- Étapes : quelles commandes précises le robot doit-il exécuter ?
À la fin de ce lab, vous disposerez d’un pipeline fonctionnel qui affichera automatiquement un message d’accueil chaque fois que vous mettrez votre code à jour.
Prérequis
GitHub Actions est important, car la distribution moderne des logiciels repose sur une automatisation reproductible plutôt que sur des clics manuels et le souvenir des étapes à suivre.
Créer un dépôt
Pour commencer à utiliser GitHub Actions, vous avez d’abord besoin d’un projet sur GitHub. Nous allons créer un dépôt vierge pour ce module. Ce dépôt sera utilisé dans plusieurs labs : respectez donc attentivement la convention de nommage.
Ouvrez votre navigateur web et connectez-vous à GitHub. Cliquez sur l’icône + située en haut à droite de n’importe quelle page GitHub, puis sélectionnez New repository.
Dans le champ « Repository name », saisissez github-actions-basics. Choisissez Public afin que le dépôt soit gratuit et facile à utiliser. Cochez la case Add a README file pour initialiser le dépôt avec un fichier. Cliquez enfin sur le bouton Create repository.

Maintenant que votre projet existe dans le cloud (GitHub), vous devez en récupérer une copie dans cet environnement de lab pour pouvoir travailler dessus. Cette opération s’appelle le clonage.
Dans le terminal ci-dessous, utilisez la commande git clone. Vous devez remplacer your-username par votre véritable nom d’utilisateur GitHub.
cd ~/project
git clone https://github.com/your-username/github-actions-basics.git
Une fois le clonage terminé, vous verrez apparaître un nouveau dossier nommé github-actions-basics. Entrez dans ce répertoire pour commencer à travailler.
cd ~/project/github-actions-basics
GitHub Actions applique une règle stricte concernant l’emplacement de ses instructions. Il recherche uniquement un dossier caché spécifique nommé .github, contenant un sous-dossier nommé workflows. Si vous placez vos fichiers de workflow ailleurs, l’assistant robot les ignorera tout simplement.
Créez cette structure de répertoires obligatoire. L’option -p indique à la commande de créer en une seule fois les répertoires parent et enfant s’ils n’existent pas.
mkdir -p .github/workflows
Créez ensuite un fichier vide nommé main.yml dans ce nouveau dossier. C’est dans ce fichier que nous écrirons nos instructions.
touch .github/workflows/main.yml
Vous pouvez vérifier que la configuration est correcte en listant récursivement les fichiers. Vous devez voir le dossier .github, qui contient workflows, lequel contient à son tour main.yml.
ls -R .github
Définir le déclencheur
Les fichiers de workflow sont écrits en YAML. Il s’agit d’un format texte simple qui utilise l’indentation (des espaces) pour organiser les informations, comme dans un plan structuré.
Chaque workflow a besoin d’un nom et d’un déclencheur. Le déclencheur indique au robot quand commencer à travailler. Sans déclencheur, votre workflow ne s’exécuterait jamais. Nous voulons que notre robot se réveille chaque fois que nous poussons du nouveau code vers le dépôt.
Ce modèle piloté par les événements est l’une des idées principales des systèmes CI/CD. Les pipelines réagissent aux changements du cycle de vie logiciel au lieu d’attendre qu’une personne exécute manuellement des scripts.
Ouvrez le fichier main.yml vide avec l’éditeur de texte nano.
nano .github/workflows/main.yml
Saisissez le contenu suivant dans le fichier.
name: First Workflow
on: push
Le mot-clé name donne à votre workflow un nom qui apparaît sur GitHub. La ligne on: push est la commande essentielle. Elle signifie : « Lorsqu’un événement push se produit, exécuter ceci. »
Appuyez sur Ctrl+X, puis sur Y, et enfin sur Enter pour enregistrer vos modifications et quitter l’éditeur.
Définir la tâche et le runner
Maintenant que le robot sait quand se réveiller, nous devons lui indiquer où travailler. Cela consiste à définir une tâche et un runner.
Une tâche regroupe plusieurs opérations. Vous pouvez avoir plusieurs tâches, comme « Tester le code » et « Déployer l’application », mais pour le moment nous n’en utiliserons qu’une seule.
Un runner est le serveur que GitHub fournit pour exécuter votre tâche. Imaginez qu’il s’agit de l’ordinateur devant lequel votre assistant robot travaille. Nous utiliserons ubuntu-latest, ce qui signifie que GitHub nous fournira un ordinateur vierge exécutant la dernière version d’Ubuntu Linux.
Ce runner vierge est important, car les tâches d’un workflow doivent être reproductibles. Chaque exécution démarre dans un environnement propre au lieu de dépendre de restes provenant d’une configuration manuelle précédente.
Ouvrez à nouveau le fichier main.yml.
nano .github/workflows/main.yml
Ajoutez les lignes suivantes à la fin du fichier. Faites très attention à l’indentation. En YAML, elle est essentielle. Le mot first-job doit être indenté de deux espaces et runs-on de quatre espaces.
jobs:
first-job:
runs-on: ubuntu-latest
Votre fichier complet doit maintenant ressembler au bloc ci-dessous. Vérifiez que la structure correspond exactement.
name: First Workflow
on: push
jobs:
first-job:
runs-on: ubuntu-latest
Enregistrez le fichier et quittez l’éditeur (Ctrl+X, Y, Enter).
Ajouter des étapes et effectuer un push
Nous avons le « quand » (on: push) et le « où » (ubuntu-latest). Passons maintenant à la partie la plus importante : le « quoi ». Cette partie est définie dans la section Steps.
Les étapes correspondent aux commandes que le robot va réellement exécuter. Pour ce premier lab, nous allons simplement lui demander de dire bonjour. Nous utiliserons le mot-clé run pour exécuter une commande Linux standard.
Ouvrez main.yml une dernière fois.
nano .github/workflows/main.yml
Ajoutez la section steps sous first-job. Vérifiez que steps: est aligné verticalement avec runs-on:.
steps:
- name: Print greeting
run: echo "Hello World from LabEx"
Le trait d’union - indique un élément de liste. Nous listons ici les étapes de la tâche.
Votre fichier final doit correspondre exactement à ceci :
name: First Workflow
on: push
jobs:
first-job:
runs-on: ubuntu-latest
steps:
- name: Print greeting
run: echo "Hello World from LabEx"
Enregistrez le fichier et quittez l’éditeur.
Maintenant que notre manuel d’instructions est terminé, nous devons l’envoyer sur GitHub. Le robot ne consulte que le code présent sur GitHub, et non celui qui se trouve sur votre ordinateur local.
Exécutez les commandes Git standard pour enregistrer et envoyer vos modifications.
git add .
git commit -m "Add my first workflow"
git push
Le système vous demandera votre nom d’utilisateur et votre mot de passe GitHub.
Important : si vous voyez une erreur indiquant que l’authentification par mot de passe n’est plus prise en charge, vous devez utiliser un Personal Access Token (PAT) à la place du mot de passe de votre compte. Vous pouvez en générer un dans GitHub, via Settings -> Developer settings -> Personal access tokens. Sélectionnez « Tokens (classic) », générez un nouveau token avec l’étendue repo, puis collez ce token dans le terminal lorsque votre mot de passe vous sera demandé.

Une fois le push effectué, revenez à votre navigateur. Accédez à la page de votre dépôt et repérez l’onglet Actions en haut de la page.
Vous devez voir une entrée de workflow nommée « First Workflow ». Elle peut afficher un cercle jaune en rotation (exécution en cours) ou une coche verte (réussite). Cliquez dessus. Dans la page qui s’ouvre, cliquez sur first-job pour afficher les détails. Vous pouvez développer l’étape « Print greeting » afin de voir votre message « Hello World from LabEx » apparaître dans les journaux !

Résumé
Félicitations ! Vous avez créé et exécuté votre premier workflow GitHub Actions avec succès.
Dans ce lab, vous avez découvert les quatre piliers d’un fichier de workflow :
- Déclencheur (
on) : indique à l’action quand démarrer. - Tâche : regroupe plusieurs opérations.
- Runner (
runs-on) : définit l’environnement du serveur. - Étape : définit la commande à exécuter.
Vous disposez maintenant d’un « assistant robot » actif qui surveille votre dépôt. Dans les prochains labs, nous lui apprendrons à effectuer des tâches plus utiles, comme tester automatiquement votre code !



