Plateforme de Collaboration

GitHub

GitHub est l'endroit où le monde entier construit des logiciels. Découvrez ce que c'est, comment cela fonctionne et comment l'utiliser pour collaborer, héberger du code et propulser votre carrière de développeur.

beginner16 min readUpdated 15 sept. 2026
bash
# Create a new repository on GitHub
# Then clone it to your machine
git clone https://github.com/your-username/my-project.git

# Make changes and push
git add .
git commit -m "Add README"
git push origin main
Créé
2008, par Tom Preston-Werner, Chris Wanstrath et PJ Hyett
Type
Plateforme de collaboration basée sur le cloud
Propriétaire
Microsoft (depuis 2018)
Dépôts
Plus de 330 millions
Développeurs
Plus de 100 millions
Tarification
Offre gratuite disponible, plans payants pour les équipes

Pourquoi c'est important

Pourquoi GitHub est essentiel

Collaboration d'équipe

Les pull requests, la revue de code, les issues et les discussions permettent aux équipes de travailler ensemble sur le code avec transparence et responsabilité.

Automatisation

GitHub Actions automatise les tests, la compilation et le déploiement de votre code. Configurez des pipelines CI/CD avec une configuration YAML.

Sécurité

L'analyse des dépendances intégrée, la détection de secrets et les flux de revue de code vous aident à détecter les vulnérabilités avant qu'elles n'atteignent la production.

Le tableau complet

Les trois piliers de GitHub

GitHub est à la fois une plateforme, un ensemble d'outils et une communauté. Comprendre quelle couche vous utilisez vous aide à en tirer le meilleur parti.

GitHub

La plateforme

Hébergement cloud pour les dépôts Git avec des fonctionnalités de collaboration comme les pull requests, les issues et la revue de code.

Git

L'outil

Le système de contrôle de version distribué qui s'exécute sur votre machine et suit toutes les modifications de vos fichiers.

Communauté

Les personnes

Les mainteneurs open source, les contributeurs et les équipes qui utilisent GitHub pour construire, partager et découvrir des logiciels.

GitHub en un coup d'œil

Ce que la plateforme vous apporte

Dépôts

Dépôts Git hébergés dans le cloud avec suivi des issues, wikis, releases et contrôles d'accès.

Pull Requests

Proposez des modifications, revoyez le code, discutez des alternatives et fusionnez avec une piste d'audit claire.

Issues

Suivez les bugs, demandez des fonctionnalités et gérez les tâches avec des labels, des jalons et des assignations.

Actions

Pipelines CI/CD qui testent, compilent et déploient automatiquement votre code à chaque push.

Codespaces

Environnements de développement cloud qui lancent des instances de votre dépôt prêtes à coder.

Pages

Hébergez des sites web statiques directement depuis votre dépôt — documentation, portfolios et plus encore.

Un bref aperçu

De l'hébergement de code à l'écosystème pour développeurs

  1. 2008

    Lancement de GitHub

    Tom Preston-Werner, Chris Wanstrath et PJ Hyett créent une plateforme qui rend la collaboration avec Git sans effort.

    08
  2. 2010

    Arrivée des pull requests

    Le flux de travail des pull requests transforme la manière dont les équipes revoyent et fusionnent le code, devenant le standard de l'industrie.

    10
  3. 2013

    Annonce de GitHub Actions

    L'automatisation CI/CD est intégrée à la plateforme, éliminant le besoin d'outils externes pour de nombreux flux de travail.

    13
  4. 2018

    Microsoft acquiert GitHub

    GitHub obtient des ressources tout en restant indépendant, accélérant des fonctionnalités comme Codespaces et Copilot.

    18
  5. 2021

    Copilot et Codespaces

    Les suggestions de code propulsées par l'IA et les environnements de développement cloud changent la façon dont les développeurs écrivent le code.

    21
  6. Aujourd'hui

    La plateforme du développeur

    Plus de 100 millions de développeurs, plus de 330 millions de dépôts et le foyer par défaut des logiciels open source.

    Aujourd'hui

Le guide complet

GitHub: Tout ce que vous devez savoir

Qu’est-ce que GitHub ?

GitHub est une plateforme basée sur le cloud permettant d’héberger des dépôts Git et de collaborer avec d’autres développeurs. Il reprend toutes les fonctionnalités de Git en local — suivi des modifications, gestion des branches, fusion de code — et y ajoute une interface web dotée d’outils pour la revue de code, le suivi des tickets (issue tracking), l’automatisation et la gestion de projet.

Considérez Git comme le moteur et GitHub comme le tableau de bord. Git s’exécute sur votre machine pour gérer le versioning. GitHub héberge votre dépôt en ligne, permettant à d’autres de consulter votre code, de suggérer des améliorations, de signaler des bugs et de contribuer à de nouvelles fonctionnalités via un workflow structuré.

Avec plus de 100 millions de développeurs et 330 millions de dépôts, GitHub est l’endroit où le monde entier construit des logiciels. Les projets open source, les startups, les entreprises et les développeurs indépendants l’utilisent tous comme plateforme de collaboration principale. Si vous apprenez à coder, posséder un profil GitHub est aussi important que d’avoir un portfolio.

Pourquoi GitHub est essentiel

Le contrôle de version sur votre machine est utile, mais la collaboration nécessite un espace partagé. GitHub offre cet espace avec des fonctionnalités qui rendent le travail d’équipe structuré et transparent :

  • Hébergement centralisé — votre code réside dans le cloud, accessible de partout, avec une sauvegarde qui ne sera jamais perdue.
  • Pull requests — proposez des modifications, examinez le code ligne par ligne et fusionnez uniquement lorsque tout le monde est d’accord.
  • Issues et tableaux de projet — suivez les bugs, gérez les fonctionnalités et organisez le travail avec des labels, des jalons et des tableaux kanban.
  • Automatisation CI/CD — GitHub Actions exécute les tests, build et déploie votre code automatiquement à chaque push.
  • Communauté — découvrez des projets open source, contribuez-y et forgez votre réputation de développeur.
  • Sécurité — l’analyse des dépendances, la détection de secrets et les workflows de revue de code permettent de détecter les vulnérabilités rapidement.

GitHub n’est pas seulement un service d’hébergement de code. C’est une plateforme de développement qui couvre l’ensemble du cycle de vie du logiciel, de l’idée au déploiement.

Configuration de GitHub

Création d’un compte

Rendez-vous sur github.com et inscrivez-vous avec votre adresse e-mail. Choisissez le forfait gratuit — il inclut tout ce dont vous avez besoin pour commencer.

Configuration de Git

Après avoir créé votre compte, configurez Git pour qu’il fonctionne avec GitHub :

# Set your identity
git config --global user.name "Your Name"
git config --global user.email "[email protected]"

# Set the default branch name
git config --global init.defaultBranch main

Connexion via SSH

Les clés SSH vous permettent de vous authentifier sans avoir à saisir votre mot de passe à chaque fois :

# Generate a new SSH key
ssh-keygen -t ed25519 -C "[email protected]"

# Start the SSH agent
eval "$(ssh-agent -s)"

# Add your key to the agent
ssh-add ~/.ssh/id_ed25519

# Copy the public key to add to GitHub
cat ~/.ssh/id_ed25519.pub

Allez dans GitHub Settings > SSH and GPG keys > New SSH key, collez votre clé publique et enregistrez. Vous pouvez désormais cloner, pusher et puller en utilisant des URLs SSH.

Fonctionnalités principales de GitHub

Repositories

Un repository est un projet sur GitHub. Il contient votre code, vos fichiers de configuration, votre documentation et l’historique complet de Git. Chaque repository dispose de :

  • Un onglet code pour parcourir les fichiers
  • Un onglet issues pour le suivi du travail
  • Un onglet pull requests pour la revue de code
  • Un wiki pour la documentation
  • Un onglet settings pour le contrôle d’accès

Créez un nouveau repository depuis la page d’accueil de GitHub ou via la CLI :

# Create a new repo on GitHub, then clone it
gh repo create my-project --public --clone

Issues

Les issues sont le moyen de suivre l’avancement du travail. Utilisez-les pour les rapports de bugs, les demandes de fonctionnalités, les tâches et les discussions :

# Create an issue from the command line
gh issue create --title "Fix login bug" --body "Users cannot log in with empty email"

Chaque issue peut comporter :

  • Des labels — pour catégoriser par type (bug, amélioration, documentation)
  • Des assignees — pour définir qui est responsable
  • Des milestones — pour regrouper les issues par version ou par sprint
  • Des pull requests liées — pour indiquer quelles PR ferment l’issue

Pull requests

Les pull requests sont le cœur de la collaboration sur GitHub. Elles vous permettent de proposer des modifications, de passer le code en revue et de fusionner lorsque tout est prêt :

# Create a branch, make changes, push, then open a PR
git checkout -b fix-login-bug
# make changes
git add .
git commit -m "Fix null check in login handler"
git push origin fix-login-bug
gh pr create --title "Fix login bug" --body "Adds null check for empty email"

Les pull requests incluent des outils de revue de code, des vérifications automatisées, des fils de discussion et des contrôles de fusion. C’est la méthode standard pour intégrer du code dans une base de code partagée.

GitHub Actions

Actions permet d’automatiser votre workflow de développement. Rédigez des fichiers YAML qui définissent ce qui se passe lors de certains événements :

# .github/workflows/ci.yml
name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npm ci
      - run: npm test

Les utilisations courantes incluent l’exécution de tests à chaque push, le déploiement en production lors d’un merge vers main et la construction d’images Docker lors d’une release.

GitHub Pages

Hébergez des sites web statiques directement depuis votre repository :

# Enable Pages in your repo settings, then push to the gh-pages branch
git checkout -b gh-pages
git push origin gh-pages

Pages est idéal pour les sites de documentation, les portfolios, les blogs et les landing pages. Il supporte les domaines personnalisés, HTTPS et les générateurs de sites statiques comme Jekyll et Astro.

Travailler en équipe

Forker des dépôts

Le fork crée votre propre copie du dépôt d’un autre utilisateur. Vous pouvez ainsi effectuer des modifications sans affecter l’original :

# Fork a repo using the GitHub CLI
gh repo fork owner/repo --clone

# Or fork and add a remote
git remote add fork https://github.com/your-username/repo.git

Le fork est la méthode standard pour contribuer à l’open source. Vous forkez le dépôt, apportez des modifications dans votre fork, puis ouvrez une pull request vers le dépôt original.

Revue de code

Les outils de revue de code de GitHub vous permettent de commenter des lignes spécifiques, de suggérer des modifications et de demander des corrections :

  • Commentaires en ligne — pour discuter de lignes de code précises
  • Suggestions de modifications — pour proposer des corrections que les auteurs peuvent accepter en un clic
  • Approbations de revue — pour approuver, demander des changements ou commenter l’ensemble de la PR
  • Code owners — pour assigner automatiquement des relecteurs en fonction des fichiers modifiés

Protection des branches

Protégez les branches importantes contre les modifications accidentelles ou non autorisées :

  • Exiger des revues de pull request avant la fusion
  • Exiger la réussite des status checks (la CI doit être au vert)
  • Exiger un historique linéaire (pas de merge commits)
  • Restreindre les personnes autorisées à pusher sur la branche
  • Exiger des commits signés

Gestion de projet

GitHub Projects propose des tableaux kanban, des tables et des roadmaps pour gérer le travail :

  • Créer des colonnes telles que “À faire”, “En cours” et “Terminé”
  • Lier des issues et des pull requests à des cartes
  • Automatiser le déplacement des cartes en fonction d’événements
  • Suivre la progression grâce aux insights et aux graphiques

Bonnes pratiques

  • Rédigez des fichiers README descriptifs — expliquez l’objectif de votre projet, comment l’installer et comment y contribuer.
  • Utilisez des modèles d’issues — standardisez les rapports de bugs et les demandes de fonctionnalités.
  • Activez la protection des branches — exigez des revues de code et la validation de la CI avant toute fusion.
  • Rédigez des descriptions de PR pertinentes — expliquez ce qui a changé, pourquoi, et comment tester les modifications.
  • Utilisez GitHub Actions — automatisez les tests et le déploiement au lieu de les effectuer manuellement.
  • Gardez vos dépôts ciblés — un projet par repo, évitez les monolithes de code sans lien entre eux.
  • Taguez vos releases — utilisez le versionnage sémantique et GitHub Releases pour marquer les versions stables.
  • Contribuez à l’open source — forkez, corrigez et soumettez des pull requests pour acquérir de l’expérience et de la notoriété.

Erreurs courantes

  • Pousser des données sensibles, comme des clés API ou des mots de passe, vers un dépôt public.
  • Ne pas rédiger de README, laissant les visiteurs perplexes quant à l’utilité du projet.
  • Créer des pull requests sans description ni contexte pour les relecteurs.
  • Ignorer les issues et les laisser s’accumuler sans triage.
  • Ne pas utiliser la protection des branches, permettant ainsi des push directs sur main.
  • Committer node_modules, .env ou d’autres fichiers qui devraient figurer dans le .gitignore.
  • Utiliser GitHub comme service de sauvegarde sans avoir compris le fonctionnement de Git en local au préalable.

Quelle est la suite ?

Vous comprenez désormais les fonctionnalités principales de GitHub : les repositories, les issues, les pull requests et les Actions. La prochaine étape logique est de vous pencher sur Git pour maîtriser le système de contrôle de version sous-jacent, notamment le branching, le merging et le rebasing. Choisissez un projet, contribuez-y et laissez la pratique faire ses preuves.

Noms de dépôts

Utilisez des noms descriptifs en kebab-case qui indiquent ce que fait le projet.

Préférer
react-data-grid
task-api-server
design-system-tokens
Éviter
my-project
stuff
final-v2-actual

Titres d'issues

Écrivez des titres qui décrivent le problème, et non la tentative de solution.

Préférer
Login form crashes on empty email input
Add pagination to user list endpoint
Dark mode toggle not persisting across sessions
Éviter
Bug
Fix this
Help please

FAQ

Foire aux questions

Keep learning

Related topics from the roadmap.

$ commencer à apprendre

Prêt à apprendre GitHub ?

Notre tutoriel interactif vous guide à travers GitHub pas à pas — avec des quiz et du vrai code que vous pouvez exécuter dans le navigateur.