Scénario 1 - Utiliser git
pour un travail individuel#
Pour toute cette première activité, vous jouerez le rôle d’une developpeuse ou d’un développeur qui code un projet dans son coin.
Vous utiliserez git
dans le but de garder trace des différentes versions de votre travail et le service en ligne GitHub vous servira pour stocker des sauvegardes.
À noter
git
permet de gérer les versions de vos fichiers, quel que soit le langage considéré.
Dans cette partie, le code à sauvegarder sera du code Python, mais les commandes git
utilisées seront les mêmes que pour du code R, HTML, etc.
Gestion d’un projet Python local avec git
#
Résumé du scénario
Vous allez initialiser un nouveau projet git
et créer des points de sauvegarde au fur et à mesure que vous avancerez dans votre projet.
Créez un dossier
tutoriel_git
dans lequel vous stockerez tous vos travaux de cette journée.Dans ce repertoire, créez un sous-dossier vide nommé
projet_python
et ouvrez le dossierprojet_python
avec VS Code.
Configuration de git pour la première utilisation
Il est nécessaire avant de commencer de réaliser quelques configurations par défaut, au minimum spécifier ses identifiants. Pour cela, lancez un terminal dans VS Code (Menu « Terminal » → « Nouveau terminal ») et entrez les commandes suivantes :
git config --global user.name "Your Name"
git config --global user.email you@example.com
Rajouter la commande :
git config --global pull.rebase false
qui permet de dire que par défaut chaque opération de pull tente de faire aussi un merge en même temps (si besoin).
En utilisant le terminal de VS Code, initialisez un nouveau dépôt
git
(git init
) dans le dossier courant.Créez dans ce dossier un fichier
astronautes.py
qui utilise le modulerequests
pour effectuer une requête HTTP GET à l’URL http://api.open-notify.org/astros.json et afficher la liste des astronautes actuellement dans l’espace
Votre code Python devrait ressembler à…
import requests
contenu = requests.get("http://api.open-notify.org/astros.json")
for personne in contenu.json()["people"]:
print(personne)
Une fois votre fichier testé et validé, vous allez créer un premier point de sauvegarde. Pour cela :
Vérifiez l’état actuel de votre dépôt
git
(git status
) et assurez vous que le fichierastronautes.py
est bien listé dans la section « Modifications qui ne seront pas validées ».Ajoutez ce fichier à la liste des fichiers suivis par
git
(git add
).Affichez de nouveau l’état du dépôt
git
. Qu’est-ce qui a changé ?Créez un commit dont le message sera « Liste des astronautes dans l’espace ».
Vérifiez maintenant que le fichier
astronautes.py
n’apparaît plus du tout lorsque vous affichez l’état du dépôtgit
.Regardez l’historique
git
(git log
) : quelles informations sont stockées à chaque commit ?
Finalement, ce qui vous intéresse, c’est plus précisément la liste des astronautes actuellement à bord de la station spatiale internationale.
Modifiez votre code Python pour n’afficher que les astronautes pour lesquels l’attribut
craft
vaut"ISS"
.Créez un nouveau commit avec un message adapté pour cette modification.
Ajoutez une commande dans votre script Python pour afficher le contenu de la variable
contenu
, et exécutez votre fichier pour vous assurer qu’il fonctionne comme attendu.Finalement, vous vous rendez compte que cette dernière modification n’a pas sa place dans votre dépôt. Utilisez
git
pour revenir en arrière au dernier commit (git restore
), c’est-à-dire avant la modification en question.
Vous souhaitez maintenant vous prémunir d’une défaillance de votre machine et donc stocker une sauvegarde de votre dépôt git
en ligne.
Pour cela, vous allez utiliser le service en ligne GitHub.
Créez un nouveau dépôt (repository) sur votre compte GitHub dont le nom sera
projet_python
.Sur votre machine, ajoutez ce dépôt GitHub distant (
git remote add
) en le nommantorigin
(nom communément utilisé pour un dépôt distant stockant la version de « référence » d’un projetgit
).Envoyez vos travaux locaux vers le dépôt distant (
git push
). Si vous avez des soucis avec l’authentification, consultez votre enseignant.Rajoutez, en commentaire, vos nom et prénom dans votre fichier Python, et validez cette modification par un commit.
Vérifiez l’état actuel de votre dépôt
git
: que remarquez-vous ?Vérifiez maintenant l’état du dépôt sur GitHub : votre dernier commit y est-il visible ? Pourquoi ?
Synchronisez les versions locale et distante de votre projet.
Vérifiez que tous vos commits locaux sont maintenant visibles sur GitHub.
Travail à partir d’un projet Python hébergé sur GitHub#
Résumé du scénario
Vous allez cette fois-ci partir d’un projet hébergé sur GitHub, en créer une copie locale et le modifier à votre guise.
Cloner un dépôt GitHub via l’interface graphique de VS Code
Avant de débuter cette partie, fermez le projet précédent dans VS Code (menu « Fichier » → « Fermer le dossier »).
Ensuite, clonez le projet rtavenar/wikipedia_scrapping dans votre dossier tutoriel_git
.
Pour cela :
Ouvrez la palette de commandes avec la combinaison de touches Ctrl + Maj + P.
À l’invite de la palette de commandes, entrez « Git clone », puis appuyez sur Entrée.
Quand vous êtes invité à fournir l’URL du dépôt, sélectionnez « Cloner depuis GitHub », puis appuyez sur Entrée.
Si vous êtes invité à vous connecter à GitHub, effectuez le processus de connexion.
Entrez
rtavenar/wikipedia_scrapping
dans le champ URL du dépôt.Sélectionnez le dossier local
tutoriel_git
pour cloner le projet à l’intérieur de ce dossier.Quand vous recevez la notification vous demandant si vous voulez ouvrir le dépôt cloné, sélectionnez « Ouvrir ».
De manière générale, pour cette partie, vous êtes libre de continuer à utiliser le terminal pour entrer vos commandes git
ou d’utiliser l’interface graphique de VS Code qui contient un onglet « Contrôle de code source » repérable par l’icône
Exécutez ce fichier
wikipedia.py
.Remarquez le fichier
info_energie.pick
qui a été créé par l’exécution du programme. Est-il utile d’en garder trace dans votre dépôtgit
à votre avis ? Si non, faites en sorte que ses modifications ne soient pas suivies pargit
.Créez un commit pour valider cette modification.
Tentez d’envoyer vos changements locaux vers le dépôt
origin
. Que remarquez vous ?Créez un nouveau dépôt (repository) sur GitHub et envoyez votre dépôt local vers ce dépôt. Vérifiez que le fichier
info_energie.pick
n’a pas été envoyé.Modifiez le fichier
wikipedia.py
pour qu’il contienne vos noms et prénoms en commentaires en début de fichier, puis effectuez un commit pour enregistrer cette modification. Ce dernier commit est-il visible sur GitHub ?Poussez tous les commits récents vers votre dépôt GitHub.
Ajoutez quelques commentaires inutiles dans le code, sans créer de commit pour autant.
Finalement, ces commentaires ne vous satisfont pas : utilisez
git
pour restaurer le fichierwikipedia.py
dans la version dans laquelle il était au dernier commit enregistré .Avec du recul, vous vous dites que l’ajout de vos noms dans le fichier
wikipedia.py
n’est pas vraiment nécessaire lui non plus : utilisezgit
pour revenir au commit précédant l’ajout de ces commentaires et poussez ces modifications vers le dépôtorigin
(git revert
).Constatez l’effet de ces modification sur l’historique des commits du dépôt GitHub (cet historique est accessible en cliquant sur le nombre de commits dans l’interface GitHub de votre dépôt).