Aller au contenu

Introduction

Le GitHub Personal Access Token (PAT), ou token d’accĂšs personnel, est une mĂ©thode moderne pour s’authentifier en toute sĂ©curitĂ© sur la plateforme GitHub.

Depuis aoĂ»t 2021, GitHub ne prend plus en charge l’utilisation des mots de passe pour les opĂ©rations Git via HTTPS. Cela signifie que pour toute action nĂ©cessitant auparavant un mot de passe, un token est maintenant requis. Le PAT permet de :

  • accĂ©der en toute sĂ©curitĂ© aux dĂ©pĂŽts ;
  • travailler avec l’API GitHub ;
  • automatiser des processus dans des scripts, CI/CD et autres outils sans risquer de compromettre le compte.

En rĂ©sumĂ© : le PAT est une « clĂ© » qui offre un accĂšs limitĂ©, peut ĂȘtre rĂ©voquĂ©e facilement et peut avoir une date d’expiration.


Pourquoi utiliser un PAT

L’objectif principal d’un PAT est de sĂ©curiser le travail sur GitHub tout en conservant la commoditĂ©.

Fonctions clés :

  1. Sécurité
    Un mot de passe donne un accĂšs complet au compte. S’il est compromis, tout est en danger. Un token peut ĂȘtre limitĂ© par permissions et durĂ©e.
  2. Automatisation
    Les scripts, CI/CD, bots et autres outils peuvent utiliser un PAT au lieu de saisir manuellement un nom d’utilisateur et un mot de passe.
  3. Contrîle d’accùs
    Il est possible de crĂ©er plusieurs tokens avec des permissions diffĂ©rentes pour diffĂ©rentes tĂąches. Si un token fuit, il peut ĂȘtre rĂ©voquĂ© sans affecter les autres.

Types de tokens

GitHub propose deux types de tokens :

  1. Classic (classique)
    • L’accĂšs est dĂ©fini via des scopes (par exemple, repo, workflow).
    • Donne des droits sur tous les dĂ©pĂŽts de l’utilisateur.
    • Simple Ă  utiliser mais moins flexible.
  2. Fine-grained (détaillé)
    • Permet de limiter l’accĂšs Ă  des dĂ©pĂŽts spĂ©cifiques.
    • On peut attribuer des permissions prĂ©cises, par exemple « lecture seule des issues ».
    • Les organisations peuvent exiger l’approbation de ces tokens.

💡 Conseil : utilisez des tokens fine-grained lĂ  oĂč la sĂ©curitĂ© et la limitation de l’accĂšs sont importantes ; les tokens classic pour la compatibilitĂ© avec les outils anciens.


Comment créer un PAT

Étape 1. Aller dans les paramùtres

  1. Ouvrez GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic).

Étape 2. GĂ©nĂ©rer un nouveau token

  1. Cliquez sur Generate new token (classic).
  2. Donnez un nom (Note), par exemple CI-token ou Git-PC.
  3. DĂ©finissez la date d’expiration — 90 jours ou 1 an est recommandĂ©.
  4. SĂ©lectionnez les permissions nĂ©cessaires (Scopes) — minimum pour Git : repo, pour Actions : workflow.
  5. GĂ©nĂ©rez le token et enregistrez-le immĂ©diatement — il ne sera affichĂ© qu’une seule fois.

Utilisation du PAT

1. Git via HTTPS

git clone https://github.com/username/repo.git
# Nom d’utilisateur : votre login GitHub
# Mot de passe : token généré

Pour ne pas entrer le token Ă  chaque fois, il peut ĂȘtre mis en cache :

git config --global credential.helper manager   # Windows/Mac
git config --global credential.helper 'cache --timeout=3600'  # Linux

2. Travailler avec l’API GitHub

$token = Get-Secret -Name GitHubToken  # récupération sécurisée du token
$headers = @{ Authorization = "token $token" }

$repos = Invoke-RestMethod -Uri "https://api.github.com/user/repos" -Headers $headers
$repos | ForEach-Object { $_.name }

Créer un issue :

$body = @{
    title = "Nouvelle tĂąche de test"
    body  = "Description de la tĂąche"
} | ConvertTo-Json

Invoke-RestMethod -Uri "https://api.github.com/repos/username/repo/issues" `
                  -Method Post `
                  -Headers $headers `
                  -Body $body

3. CI/CD et scripts

$token = Get-Secret -Name GitHubToken
git config --global user.name "CI Bot"
git config --global user.email "ci@example.com"

git add .
git commit -m "Mise Ă  jour automatique"
git push "https://$token@github.com/username/repo.git" main

💡 Conseil : utilisez un token sĂ©parĂ© avec les permissions minimales pour CI/CD.


4. IDE et développement local

  • Dans Visual Studio Code et d’autres IDE, vous pouvez utiliser le PAT Ă  la place du mot de passe pour travailler avec des dĂ©pĂŽts privĂ©s et des pull requests.
  • Pour diffĂ©rentes machines ou IDE, crĂ©ez des tokens sĂ©parĂ©s afin de limiter l’impact d’une Ă©ventuelle fuite.

5. Gestion et sécurité

  • Stockez les tokens dans des gestionnaires de mots de passe ou SecretStore.
  • CrĂ©ez des tokens sĂ©parĂ©s pour diffĂ©rentes tĂąches.
  • VĂ©rifiez et rĂ©voquez rĂ©guliĂšrement les tokens inutilisĂ©s.
  • Toujours dĂ©finir une date d’expiration (ne pas utiliser « No expiration »).
  • Planifiez la rotation des tokens pour CI/CD et scripts automatisĂ©s.

6. Alternative : GitHub CLI

gh auth login

Le CLI ouvrira le navigateur, effectuera l’authentification, crĂ©era et sauvegardera le token localement. Cela Ă©vite la gĂ©nĂ©ration manuelle du PAT et simplifie la gestion des clĂ©s.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *