Guide Git & SSPCloud
Configurer son environnement et contribuer étape par étape
Ce guide couvre deux choses : configurer Git sur SSPCloud pour ne jamais ressaisir vos identifiants, et les commandes Git essentielles pour contribuer à un projet open source via le modèle fork → PR.
1. Accès SSPCloud et token GitHub
SSPCloud (le datalab INSEE basé sur Onyxia) met à disposition des environnements de développement prêts à l’emploi dans le navigateur — VSCode, Jupyter, RStudio — sans rien installer en local. Git y est déjà disponible.
Étape 1 — Créer un Personal Access Token (PAT) sur GitHub
Un PAT remplace votre mot de passe GitHub pour les opérations Git en ligne de commande.
- Sur GitHub, allez dans Settings → Developer settings → Personal access tokens → Tokens (classic)
- Cliquez Generate new token (classic)
- Donnez-lui un nom (ex.
sspcloud-sprint), une expiration (90 jours suffisent) - Cochez la portée
repo(accès complet à vos dépôts) - Cliquez Generate token et copiez le token — il ne sera affiché qu’une seule fois
Copiez le token immédiatement. Vous ne pourrez plus le voir après avoir quitté la page.
Étape 2 — Enregistrer le token dans SSPCloud
- Sur datalab.sspcloud.fr, cliquez sur votre avatar en haut à droite → Mon compte
- Allez dans l’onglet Services externes
- Renseignez :
- Identifiant Git : votre nom d’utilisateur GitHub
- Token Git : le PAT que vous venez de copier
- Nom affiché dans les commits : votre prénom et nom
- E-mail Git : l’e-mail associé à votre compte GitHub
Étape 3 — Lancer un service avec Git configuré
- Sur SSPCloud, ouvrez le catalogue et lancez VSCode (ou Jupyter / RStudio)
- Dans les options de lancement, l’onglet Git propose de pré-configurer Git avec vos identifiants enregistrés — activez-le
- Entrez l’URL de votre fork pour le cloner automatiquement au démarrage
Résultat : vous pouvez cloner, committer et pousser vers votre fork sans jamais ressaisir vos identifiants dans le terminal.
2. Commandes Git essentielles
Voici le cycle complet d’une contribution, du fork à la PR mergée.
Les projets open source disposent en général d’un document de bonnes pratiques pour les contributions (souvent un fichier CONTRIBUTING.md à la racine du dépôt), il est important d’en suivre les recommandations.
Fork et clone
Commencez par forker le projet sur GitHub (bouton “Fork” en haut à droite de la page du dépôt), puis clonez votre fork :
# Cloner son fork (remplacer <moi> et <projet>)
git clone https://github.com/<moi>/<projet>.git
cd <projet>
# Déclarer le dépôt d'origine comme "upstream"
git remote add upstream https://github.com/<orga>/<projet>.git
# Vérifier : origin = votre fork, upstream = projet officiel
git remote -vCréer une branche de travail
Ne travaillez jamais directement sur main. Une branche par contribution :
# Mettre à jour son main local avant de brancher
git switch main
git fetch upstream
git rebase upstream/main
# Créer une branche (nom descriptif)
git switch -c docs/corrige-coquille-readme
# ou : git switch -c fix/bug-parsing-csvTravailler et committer
# Voir l'état des fichiers modifiés
git status
# Ajouter les modifications de façon sélective (recommandé)
git add -p
# Ou ajouter un fichier spécifique
git add chemin/vers/fichier.py
# Créer un commit avec un message clair
git commit -m "DOC: corrige une coquille dans le README"
# Conventions de message fréquentes :
# DOC: / DOCS: → documentation
# BUG: / FIX: → correction de bug
# ENH: / FEAT: → nouvelle fonctionnalité
# TST: / TEST: → tests
# STY: → style / formatagePousser et ouvrir la Pull Request
# Pousser la branche sur son fork
git push -u origin docs/corrige-coquille-readmeGitHub affiche alors un bandeau “Compare & pull request”. Remplissez :
- Un titre clair et court
- Une description : quoi et pourquoi
- Le lien vers l’issue :
Closes #1234
Mettre à jour son fork (rebase)
Le projet avance pendant que vous travaillez. Avant (et pendant) la review, synchronisez votre branche :
git fetch upstream
git switch docs/corrige-coquille-readme
git rebase upstream/main
# En cas de conflit : éditez les fichiers, puis
git add <fichiers-résolus>
git rebase --continueAprès un rebase, le push normal est refusé — utilisez :
# Force-push sécurisé (refuse d'écraser des commits non vus)
git push --force-with-leaseCommandes de diagnostic utiles
# Historique compact
git log --oneline -10
# Voir les différences non commitées
git diff
# Voir les différences entre votre branche et upstream/main
git diff upstream/main...HEAD
# Annuler le dernier commit (en gardant les modifications)
git reset HEAD~1
# Voir à quoi ressemble un fichier à un commit précédent
git show HEAD~2:chemin/vers/fichier.py3. Aide-mémoire rapide
| Situation | Commande |
|---|---|
| Voir l’état du dépôt | git status |
| Mettre à jour depuis upstream | git fetch upstream && git rebase upstream/main |
| Nouvelle branche | git switch -c nom-branche |
| Committer tout | git add -A && git commit -m "message" |
| Pousser (première fois) | git push -u origin nom-branche |
| Force-push après rebase | git push --force-with-lease |
| Annuler modifications locales | git restore fichier.py |
| Voir les remotes | git remote -v |
4. Ressources officielles
| Ressource | Description |
|---|---|
| Pro Git (fr) | Référence complète de Git, en français, gratuite |
| GitHub Docs — Fork a repo | Guide officiel GitHub pour forker |
| GitHub Docs — Créer un PAT | Créer un Personal Access Token |
| GitHub Docs — Pull requests | Tout sur les Pull Requests |
| Documentation SSPCloud | Utiliser le datalab INSEE |
| Oh Shit, Git!? (fr) | Dépannage Git en langage courant |
| Learn Git Branching | Tutoriel interactif sur les branches (recommandé débutants) |
Bloqué ? Les animateurs du sprint sont là pour ça — levez la main, c’est fait pour.