Lab Git et Gitea : apprendre clone, commit et push sur un serveur Git à soi

Ce lab donne à chaque élève son propre Gitea, un petit serveur Git auto-hébergé avec une interface web semblable à celle de GitHub, qui contient un dépôt de deux commits. Depuis le terminal à côté, l’élève clone le dépôt, crée un fichier, l’indexe, le valide par un commit et le pousse, puis retrouve son commit dans l’interface web.

Il n’y a aucun compte GitHub à créer et rien à installer, ce qui le rend adapté à une première leçon sur la gestion de versions.

Ce que les élèves apprennent

La boucle de la gestion de versions : git config, git clone, git status, git add, git commit, git log et git push, et ce que chacun montre. Ils retrouvent leur commit en haut de l’historique dans une interface web, modifient un fichier dans le navigateur et le récupèrent. Les leçons suivantes naturelles sont une branche et une pull request, un conflit provoqué en modifiant la même ligne dans le navigateur et dans le terminal, et l’annulation avec git revert.

Le lancer dans votre navigateur

Le compte Gitea est student avec le mot de passe student, et le dépôt est student/hello-git.

  1. Ouvrir la page Conteneur. Ouvrez « Créer » dans la barre et choisissez « Lancer un conteneur ». Tout le monde peut ouvrir la page, et le lab Git et le lab SQL se lancent sans compte. Tous les autres labs demandent un compte gratuit : créez-en un, connectez-vous, puis appuyez sur « Démarrer ».
  2. Trouver le lab. La carte « Laboratoires d’exemple » liste tous les exemples. Trouvez Git avec Gitea.
  3. Appuyer sur Démarrer. « Démarrer » le lance tel quel, en un clic. « Modifier le fichier d’abord » ouvre le fichier compose pour que vous puissiez le changer avant de démarrer.
  4. L’ouvrir. Sur la page du lab, sous « Dans votre navigateur », appuyez sur Gitea et regardez hello-git. Dans le terminal, git clone http://gitea:3000/student/hello-git.git : le terminal joint Gitea par le nom de son service. Le README détaille chaque étape.

Le code sur GitHub

Un fichier compose ; Gitea s’exécute sous un compte ordinaire et n’a besoin d’aucune autorisation supplémentaire. Il s’exécute aussi sur votre propre machine. Faites-en un fork pour changer le dépôt de départ.

Une leçon de base sur ce lab

Git Basics et Git Basics 2 sont des leçons qui se font dans ce lab, chaque étape étant expliquée et accompagnée d’un bouton Exécuter qui tape une commande dans le terminal de l’élève. Dans Git Basics, elles créent un dépôt, un dossier, un fichier et un premier commit, et le poussent. Dans Git Basics 2, elles travaillent sur une branche, la poussent, la fusionnent avec une pull request dans Gitea et récupèrent la fusion.

Un compte personnel gratuit les reçoit dans le module Basics, qui se trouve sur l’« Accueil », chaque établissement peut les copier depuis le dossier Basics de la Bibliothèque, et un nouvel établissement les a dans un module appelé Basics (Sample). Elles sont volontairement petites : elles montrent à un enseignant ce qu’est une leçon qui se fait dans un lab, et le lab fait le reste. Copiez-en une dans un module à vous pour la modifier.

En faire un travail

Demandez aux élèves de pousser un commit qui fait ce que vous indiquez, et de rendre l’historique.

  1. Créer le lab. Dans votre module, ajoutez une tâche et choisissez la carte « Lab de conteneurs », puis « Dans un dépôt GitHub ». Indiquez https://github.com/mitsurutech/lab-git-gitea avec la branche main. Le fichier compose par défaut est compose.yaml. Faites d’abord un fork du dépôt si vous voulez le modifier.
  2. Publier et l’essayer. « Publier » fige le commit qui vous a été montré : un changement ultérieur dans le dépôt ne modifie donc pas un lab que vous avez déjà proposé. Démarrez d’abord votre propre copie.
  3. Le distribuer. Attribuez-le comme n’importe quelle tâche, avec une échéance si vous le souhaitez, et indiquez dans la tâche ce qu’il faut faire et ce qu’il faut rendre.
  4. Noter ce qui est rendu. Ouvrez la copie d’un élève et le travail rendu, notez-le et renvoyez-le avec un motif s’il demande un complément.

Questions fréquentes

Les élèves ont-ils besoin d’un compte GitHub ?
Non. Le lab de chaque élève démarre son propre Gitea : ils poussent donc vers un serveur Git qui appartient à leur copie du lab et n’existe nulle part ailleurs.
Le travail est-il conservé d’une session à l’autre ?
Oui. Gitea garde ses dépôts et sa base dans un volume nommé que la plateforme enregistre : ce qu’un élève a poussé est donc là la fois suivante.
Quelles commandes Git les élèves pratiquent-ils dans le lab Gitea ?
La boucle de tous les jours : git config, git clone, git status, git add, git commit, git log et git push, et ce que chacune montre. Ils retrouvent ensuite leur commit en haut de l’historique dans l’interface web de Gitea, connectés comme student avec le mot de passe student.