0%
Tutoriel 5 sur 10
50% terminé

Introduction à GitHub

Découvrez GitHub, créez votre compte, et apprenez à utiliser cette plateforme pour héberger vos projets.

Introduction à GitHub

GitHub est la plateforme de développement collaboratif la plus populaire au monde. Construite autour de Git, elle offre des outils puissants pour héberger, partager et collaborer sur des projets de code. Ce tutoriel vous guidera dans vos premiers pas sur GitHub.

Qu’est-ce que GitHub ?

GitHub est une plateforme web qui utilise Git pour le contrôle de version et ajoute des fonctionnalités collaboratives :

  • Hébergement de dépôts : Stockage cloud de vos projets Git
  • Interface web : Gestion visuelle de vos dépôts
  • Collaboration : Outils pour travailler en équipe
  • Intégration continue : GitHub Actions pour l’automatisation
  • Gestion de projets : Issues, milestones, projets
  • Documentation : Wiki, README, GitHub Pages

GitHub vs Git

AspectGitGitHub
TypeOutil de contrôle de versionPlateforme web
InstallationLocal sur votre machineService cloud
InterfaceLigne de commandeInterface web + CLI
CollaborationBasiqueAvancée (PR, Issues, etc.)
HébergementLocalCloud
CoûtGratuitGratuit + plans payants

Création d’un compte GitHub

Étapes d’inscription

  1. Visitez GitHub.com
  2. Cliquez sur “Sign up”
  3. Remplissez le formulaire :
    • Username (nom d’utilisateur unique)
    • Email
    • Mot de passe
  4. Vérifiez votre email
  5. Choisissez votre plan (Free pour commencer)

Configuration du profil

# Éléments importants du profil
- Photo de profil professionnelle
- Bio descriptive
- Localisation
- Site web/portfolio
- Liens vers réseaux sociaux

Interface GitHub

Page d’accueil

  • Dashboard : Activité de vos dépôts et organisations
  • Repositories : Liste de vos dépôts
  • Notifications : Activité sur vos projets
  • Explore : Découvrir de nouveaux projets

Page de dépôt

username/repository-name
├── Code (fichiers et dossiers)
├── Issues (problèmes et demandes)
├── Pull requests (propositions de modifications)
├── Actions (CI/CD)
├── Projects (gestion de projet)
├── Wiki (documentation)
├── Security (sécurité)
├── Insights (statistiques)
└── Settings (paramètres)

Création de votre premier dépôt

Méthode 1 : Créer sur GitHub puis cloner

# 1. Créer le dépôt sur GitHub.com
# 2. Cloner localement
git clone https://github.com/username/mon-projet.git
cd mon-projet

# 3. Ajouter du contenu
echo "# Mon Premier Projet" > README.md
git add README.md
git commit -m "Initial commit"
git push origin main

Méthode 2 : Créer localement puis pousser

# 1. Créer le projet localement
mkdir mon-projet
cd mon-projet
git init
echo "# Mon Premier Projet" > README.md
git add README.md
git commit -m "Initial commit"

# 2. Ajouter le remote GitHub
git remote add origin https://github.com/username/mon-projet.git
git branch -M main
git push -u origin main

Commandes Git avec GitHub

Configuration des remotes

# Voir les remotes configurés
git remote -v

# Ajouter un remote
git remote add origin https://github.com/username/repo.git

# Modifier l'URL d'un remote
git remote set-url origin https://github.com/username/nouveau-repo.git

# Supprimer un remote
git remote remove origin

Push et Pull

# Pousser vers GitHub
git push origin main

# Pousser une nouvelle branche
git push -u origin feature/nouvelle-fonctionnalite

# Récupérer les modifications
git pull origin main

# Récupérer sans fusionner
git fetch origin

Types de dépôts

Dépôts publics

  • Visibles par tous
  • Gratuits sur GitHub
  • Idéaux pour l’open source
  • Contribuent à votre profil

Dépôts privés

  • Visibles seulement par vous et vos collaborateurs
  • Gratuits avec limitations
  • Parfaits pour les projets commerciaux
  • Contrôle d’accès granulaire

Fichiers spéciaux GitHub

README.md

Le fichier README est affiché sur la page d’accueil du dépôt :

# Nom du Projet

Description courte du projet.

## Installation

```bash
npm install

Utilisation

npm start

Contribution

Les contributions sont les bienvenues ! Voir CONTRIBUTING.md.

Licence

Ce projet est sous licence MIT - voir LICENSE pour plus de détails.


### .gitignore

GitHub propose des templates .gitignore pour différents langages :

```bash
# Node.js
node_modules/
npm-debug.log*
.env

# Python
__pycache__/
*.pyc
.venv/

# Java
*.class
target/

LICENSE

Choisir une licence appropriée :

  • MIT : Très permissive
  • Apache 2.0 : Permissive avec protection des brevets
  • GPL v3 : Copyleft fort
  • BSD : Permissive simple

GitHub CLI

L’outil en ligne de commande officiel de GitHub :

Installation

# Windows (avec Chocolatey)
choco install gh

# macOS (avec Homebrew)
brew install gh

# Linux (Ubuntu/Debian)
sudo apt install gh

Authentification

# Se connecter à GitHub
gh auth login

# Vérifier l'authentification
gh auth status

Commandes utiles

# Créer un dépôt
gh repo create mon-projet --public

# Cloner un dépôt
gh repo clone username/repository

# Voir les issues
gh issue list

# Créer une issue
gh issue create --title "Bug trouvé" --body "Description du bug"

# Voir les pull requests
gh pr list

# Créer une pull request
gh pr create --title "Nouvelle fonctionnalité" --body "Description"

Gestion des accès

Collaborateurs

# Ajouter un collaborateur (via l'interface web)
Settings > Manage access > Invite a collaborator

Équipes et organisations

  • Organisations : Regrouper plusieurs dépôts
  • Équipes : Gérer les permissions par groupe
  • Rôles : Owner, Member, Outside collaborator

Sécurité sur GitHub

Authentification à deux facteurs (2FA)

  1. Settings > Password and authentication
  2. Enable two-factor authentication
  3. Utiliser une app (Google Authenticator, Authy)
  4. Sauvegarder les codes de récupération

Clés SSH

Configuration pour éviter de taper le mot de passe :

# Générer une clé SSH
ssh-keygen -t ed25519 -C "votre.email@example.com"

# Ajouter la clé à l'agent SSH
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

# Copier la clé publique
cat ~/.ssh/id_ed25519.pub

# Ajouter sur GitHub : Settings > SSH and GPG keys

Personal Access Tokens

Pour l’authentification via HTTPS :

# Générer un token : Settings > Developer settings > Personal access tokens
# Utiliser le token comme mot de passe
git clone https://github.com/username/repo.git
# Username: votre-username
# Password: votre-token

GitHub Pages

Héberger des sites web statiques gratuitement :

Activation

  1. Settings > Pages
  2. Choisir la source (branche main, docs/, etc.)
  3. Votre site sera disponible à : https://username.github.io/repository

Exemple de site simple

<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
    <title>Mon Site GitHub Pages</title>
</head>
<body>
    <h1>Bienvenue sur mon site !</h1>
    <p>Hébergé gratuitement sur GitHub Pages.</p>
</body>
</html>

Exercices pratiques

Exercice 1 : Premier dépôt

# 1. Créer un dépôt sur GitHub.com nommé "hello-github"
# 2. Cloner localement
git clone https://github.com/VOTRE-USERNAME/hello-github.git
cd hello-github

# 3. Créer un README
echo "# Hello GitHub" > README.md
echo "Mon premier projet sur GitHub !" >> README.md

# 4. Ajouter et pousser
git add README.md
git commit -m "Add README"
git push origin main

Exercice 2 : Projet avec structure

# 1. Créer la structure
mkdir src docs tests
echo "console.log('Hello World!');" > src/app.js
echo "# Documentation" > docs/README.md
echo "// Tests à venir" > tests/app.test.js

# 2. Créer un .gitignore
echo "node_modules/" > .gitignore
echo "*.log" >> .gitignore

# 3. Ajouter tout et pousser
git add .
git commit -m "Initial project structure"
git push origin main

Exercice 3 : GitHub Pages

# 1. Créer un site simple
echo "<!DOCTYPE html>
<html>
<head><title>Mon Site</title></head>
<body><h1>Hello GitHub Pages!</h1></body>
</html>" > index.html

# 2. Pousser
git add index.html
git commit -m "Add GitHub Pages site"
git push origin main

# 3. Activer GitHub Pages dans Settings
# 4. Visiter https://VOTRE-USERNAME.github.io/VOTRE-REPO

Découverte de projets

Recherche avancée

# Syntaxe de recherche GitHub
language:javascript stars:>1000
user:microsoft language:typescript
org:facebook created:>2020-01-01
  • Explore > Trending : Projets populaires
  • Filtrer par langage et période
  • Découvrir de nouvelles technologies

Topics et tags

  • Organiser les dépôts par sujet
  • Faciliter la découverte
  • Exemples : web-development, machine-learning, api

Bonnes pratiques

README efficace

  1. Titre clair et description
  2. Instructions d’installation
  3. Exemples d’utilisation
  4. Contribution guidelines
  5. Licence et contact

Commits et messages

# Messages clairs et descriptifs
git commit -m "feat: add user authentication"
git commit -m "fix: resolve login bug on mobile"
git commit -m "docs: update API documentation"

Organisation des dépôts

  • Un dépôt par projet
  • Noms descriptifs
  • Tags pour les versions
  • Branches organisées

Intégrations populaires

Services tiers

  • Travis CI : Intégration continue
  • Codecov : Couverture de code
  • Dependabot : Mise à jour des dépendances
  • Slack/Discord : Notifications

GitHub Apps

  • GitHub Desktop : Interface graphique
  • VS Code : Extension GitHub
  • Mobile apps : GitHub pour iOS/Android

Dépannage courant

Problèmes d’authentification

# Vérifier la configuration
git config --list | grep user

# Tester la connexion SSH
ssh -T git@github.com

# Réinitialiser les credentials
git config --global --unset user.name
git config --global --unset user.email

Erreurs de push

# Erreur : Updates were rejected
git pull origin main
git push origin main

# Forcer le push (ATTENTION)
git push --force-with-lease origin main

Ressources supplémentaires

Documentation officielle

Communauté

Conclusion

GitHub transforme Git en une plateforme collaborative puissante. Maîtriser GitHub vous ouvre les portes de la collaboration moderne et de l’open source. C’est un outil essentiel pour tout développeur.

Dans le prochain tutoriel, nous approfondirons la collaboration sur GitHub avec les pull requests, issues et autres outils collaboratifs.


Temps de lecture estimé : 20 minutes
Niveau : Débutant
Étape précédente : Branches et fusion
Prochaine étape : Collaboration avec GitHub