Découvrir GitHub : qu'est-ce que c'est, créer un compte, comprendre l'interface, les dépôts distants, et les fonctionnalités clés pour collaborer.
Connaître les bases de Git (voir les fiches Git 1, 2 et 3). Avoir une connexion Internet.
GitHub est une plateforme de hébergement de dépôts Git en ligne. Elle permet de stocker ses projets, de collaborer avec d'autres développeurs, et d'accéder à des millions de projets open source. La différence fondamentale avec Git :
| Git | GitHub |
|---|---|
| Outil de gestion de versions (local). | Plateforme en ligne pour héberger des dépôts Git. |
| Fonctionne sans Internet (en local). | Nécessite une connexion Internet pour interagir avec les dépôts. |
| Permet de versionner son code sur sa machine. | Permet de partager, collaborer et découvrir des projets. |
| Ligne de commande uniquement (ou interface graphique tierce). | Interface web + intégrations + outils collaboratifs. |
Pour utiliser GitHub, il faut créer un compte gratuit sur https://github.com.
| Étape | Action | Conseil |
|---|---|---|
| Inscription | Remplir email, mot de passe, nom d'utilisateur. | Choisissez un nom d'utilisateur professionnel (ex: prenom.nom). |
| Vérification | Vérifier l'adresse email (lien reçu par mail). | Obligatoire pour créer des dépôts et interagir. |
| Authentification SSH | Générer une clé SSH et l'ajouter à son compte. | Permet de se connecter sans mot de passe à chaque push. |
| Profil | Ajouter une photo, une bio, des liens (LinkedIn, portfolio). | Un profil complet rassure les recruteurs et collaborateurs. |
# Générer une clé SSH ssh-keygen -t ed25519 -C "votre@email.com" # Afficher la clé publique à ajouter sur GitHub cat ~/.ssh/id_ed25519.pub # Tester la connexion ssh -T git@github.com # Réponse attendue : Hi username! You've successfully authenticated.
| Élément | Description |
|---|---|
| Tableau de bord | Page d'accueil : dépôts récents, activité des comptes suivis, notifications. |
| Dépôt (Repository) | Page d'un projet : code, issues, pull requests, actions, wiki. |
| Onglet Code | Affiche les fichiers du dépôt, les branches, les tags, et les releases. |
| Onglet Issues | Suivi des bugs et des fonctionnalités à développer. |
| Onglet Pull Requests | Propositions de modifications en attente de revue et de fusion. |
| Onglet Actions | Automatisation CI/CD (tests, build, déploiement). |
| Onglet Projects | Tableaux Kanban pour la gestion de projet. |
| Onglet Wiki | Documentation du projet (pages Markdown). |
| Onglet Insights | Statistiques : activité, contributeurs, fréquence des commits. |
| Concept | Définition | À retenir |
|---|---|---|
| Remote (dépôt distant) | Une copie du dépôt hébergée sur GitHub (ou autre serveur). | On interagit avec un remote via git push, git pull, git fetch. |
| Fork | Copie d'un dépôt existant (public) dans votre compte GitHub. | Permet de contribuer à un projet sans avoir de droits d'écriture. |
| Clone | Copie locale d'un dépôt distant. | git clone <url> permet de télécharger le projet sur sa machine. |
| Upstream | Nom du dépôt source dans un fork. | Permet de récupérer les mises à jour du projet original. |
| Origin | Nom par défaut du dépôt distant après un clone. | git push origin main envoie les commits vers le dépôt d'origine. |
| Plateforme | Type | Caractéristiques |
|---|---|---|
| GitHub | Hébergé (SaaS) | Très populaire, énorme communauté, outils intégrés (Actions, Projects), gratuit pour open source. |
| GitLab | Hébergé / Auto-hébergé | Intègre CI/CD, registre de conteneurs, plus de fonctionnalités DevOps en version gratuite. |
| Bitbucket | Hébergé / Auto-hébergé | Intégré à Atlassian (Jira, Confluence), populaire en entreprise. |
| Gitea / Gitee | Auto-hébergé | Léger, simple à installer, bonne alternative open source. |
✅ Réponse : Git est un outil local de gestion de versions, GitHub est une plateforme en ligne pour héberger des dépôts
✅ Réponse : Les deux réponses sont correctes
✅ Réponse : Une copie d'un dépôt public dans votre compte GitHub pour contribuer
✅ Réponse : Issues
✅ Réponse : origin