L’environnement GitHub
GitHub est une plateforme de développement collaboratif massivement utilisée dans le monde logiciel. Elle permet de stocker et de partager du code. Elle est basée sur le système de gestion de version Git.
Cette plateforme est utilisée pour certains exercices du cours (identifiés par 🟩) pour lesquels la connexion à un compte GitHub est nécessaire.
Important
Pour que votre activité GitHub puisse être observable, votre username doit correspondre à vos identifiants ESIEE.
Si votre adresse mail ESIEE est prenom1-prenom2.nom1-nom2@esiee.fr
, vous devez choisir prenom1-prenom2-nom1-nom2
comme username GitHub.
Si vous avez déjà un compte GitHub avec un username différent, vous pouvez changer votre username dans les paramètres de votre compte GitHub.
Pour chaque exercice disponible dans cet environnement, vous devrez être connecté à votre compte GitHub.
Créer son propre repo
Cliquer sur le lien du repo GitHub de l’exercice.
Cliquer sur le bouton :greenbox:`Use this template` et choisir l’option :greenbox:`Create a new repository` crée une copie du repo de l’exercice dans votre propre espace GitHub .
Vous serez redirigé vers une page de création d’un nouveau repo. Il faut alors renseigner le champ Repository name avec le nom de l’exercice (par exemple :whitebox:`04-primes`) puis cliquer sur le bouton :greenbox:`Create repository`.
A cette étape, vous disposez de votre propre repo GitHub 🆁 dont l’URL générique est https://github.com/[YOUR-GITHUB-USERNAME]/[EXERCISE-NAME]
. C’est un référentiel qui contient l’ensemble du code, et des fichiers associés à cet exercice. A l’état initial, il contient uniquement le starter code. A l’état final il contiendra votre travail.
Créer son codespace
Sur la page de ce repo, vous pouvez accéder à l’onglet :greenbox:`Code` puis cliquer sur :greenbox:`Codespaces` et :greenbox:`Create codespace on main` pour créer un environnement de développement dans le cloud.
Un codespace 🅲 est un container Linux hébergé par GitHub. Il fait tourner une instance de Visual Studio Code dans votre navigateur liée au container. Et comme en local sur votre machine, vous disposez d’un éditeur de code, d’un terminal et d’un navigateur de fichiers. C’est dans cet environnement que vous devrez réaliser l’exercice.
Astuce
Les codespaces sont gérés sur la page https://github.com/codespaces. En version gratuite la ressource est limitée. Veillez à stopper les codespaces que vous n’utilisez pas.
Architecture globale
L’architecture globale de l’environnement de travail est la suivante :
un environnement local sur lequel est installé Python, VS Code et Git ;
un repo GitHub 🆁 qui contient le code source de l’exercice ;
un codespace 🅲 qui est un container Linux hébergé par GitHub auquel on accède avec un simple navigateur.

Vous serez amenés à travailler dans les deux ressources 🆁 et 🅲, ainsi que dans l’environnement local.
Faire l’exercice
Pour chaque exercice, dans votre codespace 🅲, il faut lire attentivement la consigne de l’exercice dans le fichier README.md
.
Une fois les résultats satisfaisants, il faut transférer le travail du codespace 🅲 dans le repo 🆁
$ git add . # ajouter tous les fichiers du codespace 🅲 à l'index git
$ git commit -m "message explicatif" # ajouter les modifications à l'historique du projet
$ git push # transférer les modifications sur le repo 🆁
Après cette dernière étape :
le codespace 🅲 et le repo 🆁 sont synchronisés ;
les détails de l’évaluation du travail sont visibles dans l’onglet
Actions
du repo 🆁.
Astuce
Il est pratique d’avoir les deux ressources 🅲 et 🆁 ouvertes simultanément dans un navigateur.
Note
Conformément à l’architecture globale, il est possible de synchroniser votre repo local avec le référentiel distant 🆁. Cependant, cette étape n’est pas obligatoire pour valider votre travail.
Ce qu’il faut retenir
GitHub est une plateforme de développement collaboratif basée sur Git
GitHub peut être utilisé sans système de gestion de version
Le username GitHub doit correspondre aux identifiants ESIEE pour que l’activité soit observable
Il est impossible de changer son username GitHub après création du compte
« Use this template » permet de créer une copie du repo d’exercice dans son propre espace GitHub
Un repo GitHub ne peut contenir que du code source
À l’état initial, le repo contient uniquement le starter code
Le nom du repository doit être différent du nom de l’exercice
Un codespace est un container Linux hébergé par GitHub
Les codespaces ne peuvent pas exécuter Visual Studio Code
En version gratuite, la ressource codespace est limitée
Il est impossible d’arrêter un codespace une fois créé
La commande « git add . » ajoute tous les fichiers du codespace à l’index git
« git commit » transfère directement les modifications sur le repo distant
« git push » synchronise le codespace avec le repo GitHub
L’onglet « Actions » n’affiche aucune information sur l’évaluation du travail
L’environnement local minimal doit contenir Python, VS Code et Git
On peut utiliser indifféremment le codespace ou l’environnement local pour développer du code
Il est possible de travailler simultanément sur l’environnement local et le codespace
L’environnement local ne peut pas accéder au repo distant
Le repo distant GitHub sert de seul référentiel pour le code source
Le codespace et le repo distant sont automatiquement synchronisés
Les modifications doivent être explicitement transférées du codespace vers le repo distant
Le repo distant ne peut être modifié que depuis un codespace
Le codespace permet d’accéder à VS Code via un navigateur web
Chaque codespace est partagé entre tous les utilisateurs du repo
Il est recommandé d’avoir le codespace et le repo distant ouverts simultanément
Les codespaces n’ont pas accès à un terminal
La synchronisation entre environnement local et repo distant est possible
Tous les environnements (local, codespace, repo distant) sont automatiquement synchronisés
Les trois environnements peuvent contenir des versions différentes du code
Il est obligatoire de synchroniser l’environnement local pour valider son travail