BUT Réseau et Télécoms - 1ère année
Durée estimée : 2 heures
À la fin de ce TP, vous serez capable de :
- Comprendre les concepts fondamentaux du contrôle de version avec Git
- Créer et configurer un compte GitHub
- Utiliser Git en ligne de commande pour gérer votre code
- Publier votre site web HTML/CSS sur GitHub Pages
- Collaborer efficacement avec d'autres développeurs
mindmap
root((GitHub Pages))
Préparation
Compte GitHub
Installation Git
Clé SSH
Configuration
Projet Local
Initialisation Git
Fichiers du site
README.md
.gitignore
Dépôt GitHub
Création repository
Connexion SSH
Push du code
Gestion versions
Déploiement
GitHub Pages
GitHub Actions
Automatisation
Site en ligne
Maintenance
Workflow quotidien
Commits réguliers
Mises à jour
Collaboration
Imaginez que vous travaillez sur un projet de développement web. Vous apportez des modifications, ajoutez de nouvelles fonctionnalités, puis réalisez que votre dernière modification a tout cassé. Sans contrôle de version, vous devriez tout refaire manuellement ou espérer avoir fait une sauvegarde récente.
Le contrôle de version (ou source control) est un système qui enregistre les modifications apportées à vos fichiers au fil du temps. C'est comme une machine à remonter le temps pour votre code.
- Historique complet : Chaque modification est enregistrée avec qui l'a faite, quand et pourquoi
- Retour en arrière : Vous pouvez revenir à n'importe quelle version précédente
- Collaboration : Plusieurs personnes peuvent travailler simultanément sur le même projet
- Branches : Vous pouvez expérimenter sans risquer de casser le code principal
- Sauvegarde : Votre code est stocké sur des serveurs distants (comme GitHub)
- Git : C'est le logiciel de contrôle de version que vous installez sur votre ordinateur
- GitHub : C'est une plateforme en ligne qui héberge vos projets Git et facilite la collaboration
Analogie : Git est comme Word (le logiciel), GitHub est comme OneDrive (le stockage en ligne).
Avant de commencer, lisez attentivement cette section !
Si vous utilisez un navigateur avec la traduction automatique activée (Chrome, Edge, etc.), désactivez-la immédiatement pour les sites de développement comme GitHub, Stack Overflow, documentation technique, etc. Et en général, si vous utilisez plus l'anglais au quotidien vous progresserez plus vite.
Le développement informatique se fait en anglais. Les mots-clés, fonctions et commandes sont en anglais. Si votre navigateur traduit automatiquement :
# Code original (qui fonctionne)
print("Hello")
read("file.txt")
# Code traduit par le navigateur (qui NE fonctionne PAS)
imprime("Bonjour")
lit("fichier.txt")❌ Résultat : Votre code ne fonctionnera jamais !
Sur Chrome/Edge :
- Paramètres → Langues
- Décochez "Me proposer de traduire les pages..."
- Ou cliquez sur l'icône de traduction dans la barre d'adresse et sélectionnez "Ne jamais traduire ce site"
Conseil pro : Apprenez le vocabulaire technique en anglais dès maintenant. C'est un investissement qui vous servira toute votre carrière !
Avant de commencer, assurez-vous d'avoir :
- ✅ Un site web HTML/CSS fonctionnel (celui créé lors du TP précédent)
- ✅ Visual Studio Code installé
- ✅ Une adresse email valide
- Rendez-vous sur github.com
- Cliquez sur Sign up (S'inscrire)
- Remplissez le formulaire :
- Email : Utilisez votre email universitaire ou personnel
- Password : Choisissez un mot de passe fort (minimum 15 caractères ou 8 avec des chiffres et minuscules)
- Username : Choisissez un nom d'utilisateur professionnel (il sera visible publiquement)
- ✅ Bon :
jean-dupont,jdupont-dev,jeandupont - ❌ Évitez :
xX_dark_coder_Xx,kikoolol123
- ✅ Bon :
- Vérifiez votre email et cliquez sur le lien de confirmation
- Connectez-vous à GitHub
- Vous pouvez sauter les questions optionnelles sur vos centres d'intérêt
🎉 Félicitations ! Vous avez maintenant un compte GitHub.
Git est l'outil en ligne de commande qui permet de gérer vos versions de code localement.
- Téléchargez Git depuis git-scm.com
- Lancez l'installateur
- Configuration importante lors de l'installation :
- ✅ Cochez "Git Bash Here" (permet d'ouvrir un terminal Git depuis n'importe quel dossier)
- ✅ Sélectionnez "Use Git from Git Bash only" ou "Git from the command line and also from 3rd-party software"
- ✅ NE PAS installer Git Credential Manager (décochez cette option)
- ✅ Line ending conversion : "Checkout as-is, commit Unix-style line endings" (conversion automatique CRLF → LF)
- ✅ Nom de la branche initiale : Sélectionnez "Override the default branch name for new repositories" et tapez
main
- Cliquez sur Next jusqu'à Install, puis Finish
- Ouvrez le Terminal (Applications > Utilitaires > Terminal)
- Tapez la commande :
xcode-select --install
- Cliquez sur Install dans la fenêtre qui s'ouvre
- Acceptez la licence et attendez la fin du téléchargement
- Ouvrez Git Bash (clic droit sur le bureau ou dans un dossier → "Git Bash Here")
- Ouvrez le Terminal
- Tapez la commande :
git --version
- Vous devriez voir quelque chose comme :
git version 2.43.0
✅ Si vous voyez un numéro de version, Git est correctement installé !
En 2020, la communauté du développement a commencé à adopter "main" comme nouveau standard pour plusieurs raisons :
- Neutralité du langage : "main" (principale) est descriptif sans connotation historique problématique
- Clarté sémantique : Le terme "main" décrit mieux sa fonction (branche principale)
- Adoption industrielle : GitHub, GitLab, et Bitbucket ont tous adopté "main" par défaut
- Alignement des pratiques : Uniformise les conventions dans l'industrie
- Anciens projets : Peuvent toujours utiliser "master" (aucune obligation de changer)
- Nouveaux projets : Recommandé d'utiliser "main"
- Commandes Git : Fonctionnent de la même manière, seul le nom change
💡 Bon à savoir : Si vous travaillez sur un ancien projet utilisant "master", toutes les commandes restent identiques, il suffit de remplacer main par master dans les commandes.
Git a besoin de savoir qui vous êtes pour associer vos modifications à votre identité. Cette configuration est obligatoire.
Dans votre terminal (Git Bash sur Windows ou Terminal sur macOS), tapez :
git config --global user.name "Votre Nom"
git config --global user.email "votre.email@exemple.com"Remplacez :
"Votre Nom"par votre nom complet (ex:"Jean Dupont")"votre.email@exemple.com"par l'email utilisé pour GitHub
Exemple :
git config --global user.name "Jean Dupont"
git config --global user.email "jean.dupont@exemple.com"git config --global --listVous devriez voir :
user.name=Jean Dupont
user.email=jean.dupont@exemple.com
💡 Vérifiez une dernière fois :
git statusVous devriez voir tous vos fichiers en vert, prêts à être commités.
SSH est un protocole sécurisé qui permet de s'authentifier sur GitHub sans avoir à taper son mot de passe à chaque fois.
Une clé SSH fonctionne comme une paire de clés physiques :
- 🔑 Clé privée (
id_ed25519) : Reste sur votre ordinateur, ne doit JAMAIS être partagée - 🔓 Clé publique (
id_ed25519.pub) : Peut être partagée, vous la donnez à GitHub
C'est comme une serrure (GitHub) et une clé (votre ordinateur). Seule votre clé peut ouvrir cette serrure.
Pourquoi ed25519 ?
- Cela signifie que nous utilisons l'algorithme de chiffrement Ed25519, qui est plus sécurisé et plus rapide que les anciens algorithmes comme RSA. Il utilise des clés plus courtes tout en offrant une sécurité élevée. Les mathématiques derrière Ed25519 sont basées sur des courbes elliptiques, ce qui le rend efficace pour les opérations cryptographiques.
Dans votre terminal, tapez :
ssh-keygen -t ed25519 -C "votre.email@exemple.com"Remplacez votre.email@exemple.com par votre email GitHub.
Vous verrez :
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/user/.ssh/id_ed25519):
- Appuyez sur Entrée (pour accepter l'emplacement par défaut)
- Quand on vous demande un mot de passe (passphrase) :
Appuyez sur Entrée (pas de mot de passe pour simplifier)
Enter passphrase (empty for no passphrase): - Confirmez en appuyant à nouveau sur Entrée
Vous verrez un message de confirmation avec un "randomart" (dessin ASCII).
✅ Votre paire de clés SSH est créée !
Les fichiers sont dans le dossier ~/.ssh/ :
~/.ssh/id_ed25519: votre clé privée (🔒 SECRÈTE)~/.ssh/id_ed25519.pub: votre clé publique (📢 partageable)
Dans votre terminal, tapez :
cat ~/.ssh/id_ed25519.pubVous verrez quelque chose comme :
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGzT... votre.email@exemple.com
Sélectionnez TOUT le texte affiché (de ssh-ed25519 jusqu'à votre email) et copiez-le :
- Windows (Git Bash) : Sélectionnez avec la souris, puis clic droit → Copy
- macOS : Sélectionnez avec la souris, puis ⌘+C
- Linux : Sélectionnez avec la souris, puis Ctrl+Shift+C
ssh-ed25519 au début et votre email à la fin.
- Allez sur github.com et connectez-vous
- Cliquez sur votre photo de profil (en haut à droite)
- Sélectionnez Settings (Paramètres)
- Dans le menu de gauche, cliquez sur SSH and GPG keys
- Cliquez sur le bouton vert New SSH key
- Remplissez le formulaire :
- Title : Donnez un nom descriptif, par exemple :
PC personnelouMac IUT - Key : Collez votre clé publique copiée précédemment
- Title : Donnez un nom descriptif, par exemple :
- Cliquez sur Add SSH key
- GitHub peut vous demander votre mot de passe pour confirmer
✅ Votre clé SSH est maintenant ajoutée à GitHub !
Avant d'aller plus loin, vérifions que la connexion entre votre ordinateur et GitHub fonctionne.
Dans votre terminal, tapez :
ssh -T git@github.comLa première fois, vous verrez un message comme :
The authenticity of host 'github.com (140.82.121.4)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Tapez yes et appuyez sur Entrée.
Vous devriez ensuite voir :
Hi VotreUsername! You've successfully authenticated, but GitHub does not provide shell access.
✅ Parfait ! La connexion SSH fonctionne.
❌ Si vous avez une erreur :
- Vérifiez que vous avez bien copié toute la clé publique
- Vérifiez que la clé est bien ajoutée dans les paramètres GitHub
- Recommencez depuis l'étape 3 si nécessaire
Avant de créer votre premier dépôt, comprenons les concepts de base.
Un dépôt (ou repository, souvent abrégé repo) est un dossier qui contient :
- 📁 Vos fichiers de projet (HTML, CSS, images, etc.)
- 📜 L'historique complet de toutes les modifications
- ⚙️ Des fichiers de configuration Git (dans le dossier caché
.git/)
Quand vous créez un dépôt sur GitHub, vous choisissez sa visibilité :
-
🌍 Public : Tout le monde peut voir votre code (mais seuls vous et vos collaborateurs peuvent le modifier)
- ✅ Idéal pour des projets open source, portfolios, partage de connaissances
- ✅ Gratuit sans limitation
-
🔒 Private : Seuls vous et les personnes que vous invitez peuvent voir le code
- ✅ Idéal pour des projets professionnels, clients, code sensible
- ✅ Gratuit sur GitHub (limité avant, maintenant illimité, mais les actions CI/CD sont limitées)
Le README.md est la "page d'accueil" de votre dépôt. C'est la première chose que les visiteurs voient.
Il est écrit en Markdown, un langage de mise en forme simple :
# Mon Portfolio
Ceci est mon site web personnel créé en BUT Informatique.
## Technologies utilisées
- HTML5
- CSS3
- GitHub Pages
## Auteur
Jean Dupont - Étudiant en BUT InformatiqueLe .md signifie Markdown.
Voici les commandes que nous allons utiliser aujourd'hui :
| Commande | Description |
|---|---|
git init |
Initialise un nouveau dépôt Git dans le dossier actuel |
git add <fichier> |
Prépare un fichier pour être enregistré (staging) |
git add . |
Prépare TOUS les fichiers modifiés |
git commit -m "message" |
Enregistre les modifications avec un message descriptif |
git push |
Envoie vos commits locaux vers GitHub |
git status |
Affiche l'état actuel de votre dépôt |
git log |
Affiche l'historique des commits |
Voici le cycle de travail avec Git :
flowchart TD
A[Modifier vos fichiers] --> B[git add .]
B --> C[git commit -m 'Description']
C --> D[git push]
D --> E[Modifications en ligne sur GitHub! 🎉]
E --> F{Nouvelles modifications?}
F -->|Oui| A
F -->|Non| G[Fin]
style A fill:#e1f5ff
style B fill:#fff4e1
style C fill:#ffe1f5
style D fill:#e1ffe1
style E fill:#ffd700
style G fill:#ddd
💡 Analogie :
git add= Mettre des colis dans un chariotgit commit= Emballer le chariot avec une étiquettegit push= Envoyer le colis à la poste (GitHub)
- Allez sur github.com
- Cliquez sur le + en haut à droite, puis New repository
- Remplissez le formulaire :
- Repository name :
mon-portfolio - Description :
Mon site web personnel - BUT Informatique(optionnel mais recommandé) - Public : ✅ Cochez (pour que GitHub Pages fonctionne gratuitement)
- Initialize this repository with : ❌ Ne cochez RIEN (ni README, ni .gitignore, ni license)
- Repository name :
- Cliquez sur Create repository
✅ Votre dépôt est créé !
GitHub vous montre maintenant une page avec des instructions. Ne fermez pas cette page, nous allons utiliser ces commandes.
Vous devriez voir une section "…or create a new repository on the command line" avec des commandes comme :
echo "# mon-portfolio" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:VotreUsername/mon-portfolio.git
git push -u origin main💡 Gardez cette page ouverte, nous allons utiliser ces commandes.
- Ouvrez Visual Studio Code
- Ouvrez le dossier contenant votre site web (Fichier → Ouvrir le dossier...)
- Ouvrez un terminal intégré dans VS Code :
- Menu : Terminal → Nouveau terminal
- Ou raccourci :
Ctrl + ù(Windows) /⌘ + ù(Mac)
Sur Windows, assurez-vous d'utiliser Git Bash :
- Si le terminal affiche
PS(PowerShell), cliquez sur la flèche vers le bas à côté du + et sélectionnez Git Bash
Dans le terminal VS Code, tapez :
git initVous verrez : Initialized empty Git repository in ...
✅ Git est maintenant actif dans ce dossier !
Retournez sur la page GitHub de votre dépôt vide. Copiez la ligne qui ressemble à :
git remote add origin git@github.com:VotreUsername/mon-portfolio.gitgit@github.com: et pas par https://. C'est l'URL SSH qui utilise votre clé.
Collez cette commande dans votre terminal VS Code et appuyez sur Entrée.
git branch -M mainCela renomme votre branche par défaut en main (c'est la convention moderne sur GitHub).
✅ Votre dépôt local est maintenant lié à GitHub !
Le Markdown est un langage de mise en forme ultra-simple. Voici les bases :
# Titre de niveau 1 (le plus grand)
## Titre de niveau 2
### Titre de niveau 3
**texte en gras**
*texte en italique*
- Liste à puces
- Deuxième élément
- Troisième élément
1. Liste numérotée
2. Deuxième élément
3. Troisième élément
[Lien cliquable](https://www.exemple.com)

`code inline`
Code sur plusieurs lignes
Dans VS Code :
- Créez un nouveau fichier : Fichier → Nouveau fichier
- Sauvegardez-le avec le nom :
README.md(attention aux majuscules !) - Écrivez votre contenu. Exemple :
# Mon Portfolio
Bienvenue sur mon site web personnel !
## À propos
Je suis étudiant en première année de BUT Informatique.
Ce site présente mes projets et mes compétences en développement web.
## Technologies utilisées
- HTML5
- CSS3
- GitHub Pages
## Auteur
**Votre Nom**
Étudiant en BUT Informatique - Promotion 2024- Sauvegardez le fichier (
Ctrl + Sou⌘ + S)
Dans le terminal VS Code, tapez les commandes suivantes une par une :
git add README.mdCette commande prépare le fichier README.md pour être enregistré.
git commit -m "Ajout du fichier README"Cette commande enregistre le fichier avec un message descriptif.
git push -u origin mainCette commande envoie votre commit sur GitHub.
La première fois, vous verrez beaucoup de texte défiler. À la fin, vous devriez voir :
To github.com:VotreUsername/mon-portfolio.git
* [new branch] main -> main
✅ Votre README est maintenant en ligne !
- Retournez sur la page de votre dépôt sur GitHub (rechargez la page)
- Vous devriez voir votre fichier
README.mdaffiché avec la mise en forme Markdown !
Maintenant, modifions le README pour comprendre le cycle complet.
-
Dans VS Code, modifiez votre
README.md, par exemple ajoutez une section :## Contact - Email : votre.email@exemple.com - GitHub : [@VotreUsername](https://github.com/VotreUsername)
-
Sauvegardez (
Ctrl + Sou⌘ + S) -
Dans le terminal, tapez :
git add README.md git commit -m "Ajout de la section Contact" git push -
Retournez sur GitHub et rechargez la page : vos modifications sont en ligne !
💡 Vous avez compris le workflow Git ! C'est toujours : add → commit → push
Avant de publier votre site, nous allons préparer tous les fichiers nécessaires.
Créons d'abord un fichier .gitignore pour éviter d'envoyer des fichiers inutiles.
Le fichier .gitignore liste les fichiers et dossiers que Git doit ignorer. C'est essentiel pour :
- ❌ Ne pas envoyer des fichiers temporaires
- ❌ Ne pas envoyer des fichiers système (
.DS_Storesur Mac,Thumbs.dbsur Windows) - ❌ Ne pas envoyer des fichiers de configuration locaux
- ❌ Ne pas envoyer des gros fichiers inutiles
- Dans VS Code, créez un fichier
.gitignoreà la racine - Ajoutez ce contenu :
# Fichiers système
.DS_Store
Thumbs.db
Desktop.ini
# Fichiers VS Code (optionnel)
.vscode/
# Fichiers temporaires
*.tmp
*.log
*~
# Node modules (si vous utilisez npm plus tard)
node_modules/
# Fichiers de sauvegarde
*.bak
*.swp
- Sauvegardez
✅ Git ignorera maintenant ces fichiers automatiquement !
Assurez-vous d'avoir :
- Un fichier
index.htmlà la racine de votre projet (c'est la page d'accueil) - Vos fichiers CSS (par exemple
style.cssou dans un dossiercss/) - Vos images (dans un dossier
images/par exemple)
index.html pour que GitHub Pages l'affiche par défaut.
Vérifions ce qui sera envoyé sur GitHub :
git statusVous devriez voir :
- ✅ Vos fichiers HTML, CSS
- ✅ Vos images
- ✅ README.md
- ✅ .gitignore
Vous ne devriez PAS voir :
- ❌ Fichiers système (.DS_Store, etc.)
- ❌ Fichiers de configuration éditeur
Si vous voyez des fichiers indésirables, ajoutez-les dans .gitignore !
✅ Vos fichiers sont prêts à être publiés !
Maintenant que vos fichiers sont prêts, envoyons-les sur GitHub !
Dans le terminal VS Code, tapez :
git add .Le point . signifie "tous les fichiers" (sauf ceux dans .gitignore).
Pour être sûr :
git status💡 Vérifiez une dernière fois :
Vous devriez voir tous vos fichiers en vert, prêts à être commités.
git commit -m "Ajout du site web complet"git push✅ Votre site est maintenant sur GitHub !
Retournez sur la page de votre dépôt GitHub et rechargez : vous devriez voir tous vos fichiers.
Maintenant que votre site est sur GitHub, activons GitHub Pages pour le rendre accessible en ligne.
GitHub Pages est un service gratuit qui transforme votre dépôt en site web public. C'est parfait pour :
- 📝 Sites personnels et portfolios
- 📚 Documentation de projets
- 🎨 Sites vitrines
- 🎓 Projets étudiants
- Sur GitHub, allez sur votre dépôt
mon-portfolio - Cliquez sur Settings (Paramètres) en haut
- Dans le menu de gauche, cliquez sur Pages
- Dans la section Source :
- Branch : Sélectionnez
main - Folder : Laissez
/ (root)
- Branch : Sélectionnez
- Cliquez sur Save
Vous verrez un message : "Your site is ready to be published at https://VotreUsername.github.io/mon-portfolio/"
⏳ Attendez 1-2 minutes, puis rafraîchissez la page. Le message deviendra : "Your site is live at ..."
✅ GitHub Pages est activé !
Cliquez sur le lien ou allez sur https://VotreUsername.github.io/mon-portfolio/
🎉 Votre site est en ligne ! Vous devriez voir votre page index.html s'afficher.
💡 Note : Si vous voyez une erreur 404 ou le README au lieu de votre site :
- Vérifiez que votre fichier s'appelle bien
index.html(pasindex.htmou autre) - Vérifiez qu'il est bien à la racine du dépôt
- Attendez encore 1-2 minutes, GitHub peut mettre un peu de temps
Pour l'instant, votre site est en ligne, mais si vous le modifiez et poussez les changements, la mise à jour peut prendre du temps. Automatisons ce processus !
Les GitHub Actions sont des automatisations qui s'exécutent sur GitHub. Une GitHub Action est un robot automatique qui exécute des tâches pour vous. Par exemple :
- ✅ Tester votre code automatiquement
- ✅ Déployer votre site web
- ✅ Envoyer des notifications
- ✅ Compiler votre code
Notre action va :
- Détecter quand vous poussez du code sur la branche
main - Prendre tous vos fichiers
- Les envoyer automatiquement sur GitHub Pages
- Votre site est mis à jour en 1-2 minutes ! 🎉
Dans VS Code :
- Créez un nouveau dossier
.githubà la racine de votre projet- Important : le nom commence par un point
.
- Important : le nom commence par un point
- Dans ce dossier
.github, créez un sous-dossierworkflows
Votre arborescence doit ressembler à :
mon-portfolio/
├── .github/
│ └── workflows/
├── .gitignore
├── README.md
├── index.html
├── style.css
└── ...
- Dans le dossier
.github/workflows/, créez un nouveau fichier nommédeploy.yml - Copiez-collez ce contenu :
name: Deploy to GitHub Pages
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
environment: github-pages
permissions:
contents: read
pages: write
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v4
with:
path: .
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4- Sauvegardez le fichier
- name : Le nom de l'action ("Deploy to GitHub Pages")
- on: push: branches: - main : L'action se déclenche quand vous poussez sur
main - jobs : Les tâches à exécuter
- runs-on: ubuntu-latest : L'action s'exécute sur un serveur Linux de GitHub
- steps : Les étapes de déploiement (récupération du code, configuration, upload, déploiement)
path :
Dans la section Upload artifact, il y a path: .
path: .signifie : "Prends TOUT à la racine du dépôt"- Si votre site était dans un sous-dossier
site/, vous mettriezpath: site
Pour ce TP, laissez path: . car votre site est à la racine.
Dans le terminal :
git add .github/
git commit -m "Ajout de la GitHub Action pour le déploiement automatique"
git push- Allez sur votre dépôt GitHub
- Cliquez sur l'onglet Actions (en haut)
- Vous devriez voir votre workflow "Deploy to GitHub Pages" en cours d'exécution (point orange 🟠)
- Cliquez dessus pour voir les détails en temps réel
⏳ Attendez que la coche soit verte (environ 30 secondes à 2 minutes)
✅ Parfait ! Votre déploiement automatique est actif !
Pour vérifier que tout fonctionne :
- Modifiez votre
index.htmllocalement (changez un titre, ajoutez du texte, etc.) - Sauvegardez
- Poussez les modifications :
git add index.html git commit -m "Test de déploiement automatique" git push - Allez dans l'onglet Actions sur GitHub : une nouvelle exécution démarre automatiquement ! 🚀
- Attendez qu'elle se termine (coche verte ✅)
- Rafraîchissez votre site : vos modifications sont en ligne !
🎉 Félicitations ! Votre pipeline de déploiement automatique fonctionne !
- git push ↓
- GitHub Action déploie automatiquement (1-2 min) ↓
- Votre site est mis à jour ! 🎉
### 14.2 Étapes simples
1. **Modifiez** vos fichiers localement dans VS Code
2. **Sauvegardez** vos modifications (`Ctrl + S` ou `⌘ + S`)
3. Dans le terminal :
```bash
git add .
git commit -m "Description de vos modifications"
git push
- Vérifiez sur GitHub (optionnel) : Allez dans l'onglet Actions pour voir le déploiement en cours
- Attendez 1-2 minutes : GitHub Actions déploie automatiquement
- Rafraîchissez votre site : les modifications sont en ligne !
💡 Astuce : Vous n'êtes pas obligé d'attendre que le déploiement se termine. Vous pouvez continuer à travailler et pousser d'autres modifications. Chaque push déclenche un nouveau déploiement.
Un bon message de commit explique ce que vous avez fait et pourquoi.
✅ Bons messages :
"Ajout de la section À propos""Correction du bug d'affichage du menu""Amélioration du responsive sur mobile""Ajout de la page projets avec 3 projets"
❌ Mauvais messages :
"Update""fix""ça marche""asdfghjkl"
💡 Astuce : Écrivez votre message comme si vous complétiez la phrase : "Ce commit va..."
# Voir l'état actuel (fichiers modifiés, à commiter, etc.)
git status
# Ajouter un fichier spécifique
git add nom-du-fichier.html
# Ajouter tous les fichiers modifiés
git add .
# Commiter avec un message
git commit -m "Votre message"
# Envoyer sur GitHub
git push
# Voir l'historique des commits
git log
# Voir l'historique condensé (une ligne par commit)
git log --oneline
# Voir les différences avant de commiter
git diff# Annuler les modifications d'un fichier (avant git add)
git checkout -- nom-du-fichier.html
# Retirer un fichier de la staging area (après git add mais avant commit)
git reset nom-du-fichier.html
# Voir les fichiers ignorés par .gitignore
git status --ignoredVérifiez que vous avez bien accompli toutes les étapes :
- ✅ Compte GitHub créé (Étape 1)
- ✅ Git installé et configuré avec user.name et user.email (Étapes 2 et 2.5)
- ✅ Clé SSH créée et ajoutée à GitHub (Étapes 3 et 4)
- ✅ Connexion SSH testée et fonctionnelle (Étape 5)
- ✅ Dépôt
mon-portfoliocréé sur GitHub (Étape 7) - ✅ Dépôt local initialisé et lié à GitHub (Étape 8)
- ✅ README.md créé et poussé (Étape 9)
- ✅ Fichier .gitignore créé (Étape 10)
- ✅ Site complet poussé sur GitHub (Étape 11)
- ✅ GitHub Pages activé (Étape 12)
- ✅ Site accessible en ligne à
https://VotreUsername.github.io/mon-portfolio/(Étape 12) - ✅ GitHub Action créée et fonctionnelle (Étape 13)
- ✅ Déploiement automatique testé et opérationnel (Étape 13)
🎉 Si tout est coché : BRAVO, vous maîtrisez les bases de Git, GitHub Pages et GitHub Actions !
Cause : Votre clé SSH n'est pas correctement configurée.
Solution :
- Vérifiez que la clé est bien ajoutée sur GitHub (Settings → SSH and GPG keys)
- Retestez la connexion :
ssh -T git@github.com - Si ça ne fonctionne pas, recommencez l'étape 3 (création de clé SSH)
Cause : Vous n'êtes pas dans un dossier Git ou vous n'avez pas fait git init.
Solution :
# Vérifier que vous êtes dans le bon dossier
pwd # affiche le dossier actuel
# Si besoin, aller dans le bon dossier
cd chemin/vers/votre/projet
# Initialiser Git si pas encore fait
git initCause : Git n'a pas votre configuration user.name et user.email.
Solution :
git config --global user.name "Votre Nom"
git config --global user.email "votre.email@exemple.com"Cause : Votre fichier principal ne s'appelle pas index.html ou il n'est pas à la racine.
Solution :
- Renommez votre fichier principal en
index.html - Placez-le à la racine du dépôt
- Commitez et poussez
Cause : Plusieurs possibilités (syntaxe YAML incorrecte, permissions manquantes, etc.)
Solution :
- Allez dans l'onglet Actions sur GitHub
- Cliquez sur le workflow qui a échoué
- Lisez les logs d'erreur
- Vérifiez que votre fichier
deploy.ymlest identique à celui du TP - Vérifiez que GitHub Pages est bien activé dans Settings → Pages
Cause : Différence de fin de ligne entre Windows et Unix (c'est normal !).
Solution : C'est juste un avertissement, pas une erreur. Git gère ça automatiquement grâce à la configuration faite lors de l'installation. Vous pouvez ignorer ce message.
Une fois à l'aise avec les bases, vous pourrez apprendre :
-
Les branches : Travailler sur plusieurs versions en parallèle
git branch nouvelle-fonctionnalite git checkout nouvelle-fonctionnalite
-
Les pull requests : Proposer des modifications et les faire réviser
-
Les conflits : Gérer quand deux personnes modifient le même fichier
-
Git clone : Télécharger un projet existant
git clone git@github.com:username/projet.git
-
Les tags : Marquer des versions spécifiques
git tag v1.0.0
- Documentation Git officielle : git-scm.com/doc
- GitHub Guides : guides.github.com
- Formation Git interactive : learngitbranching.js.org
- Aide-mémoire Git : training.github.com/downloads/fr/github-git-cheat-sheet
- Pro Git Book (gratuit) : git-scm.com/book/fr/v2
Pour pratiquer, essayez de :
- Créer un second dépôt pour un autre projet
- Collaborer avec un camarade sur un dépôt commun
- Contribuer à un projet open source
- Créer un blog avec Jekyll et GitHub Pages
- Automatiser d'autres tâches avec GitHub Actions
- Commitez souvent : Mieux vaut 10 petits commits qu'un énorme commit
- Messages clairs : Vos futurs collaborateurs (et votre futur vous) vous remercieront
- Testez avant de pousser : Vérifiez que votre code fonctionne localement
- 🔒 Ne commitez JAMAIS : mots de passe, clés API, tokens, informations personnelles
- 🔒 Votre clé privée SSH (
id_ed25519) ne doit JAMAIS être partagée ou uploadée - 🔒 Si vous commitez accidentellement un secret, changez-le immédiatement (le simple fait de le supprimer du dépôt ne suffit pas car il reste dans l'historique)
Git et GitHub ne sont pas que des outils techniques, c'est aussi une culture :
- 💬 Communication : Expliquez vos choix dans les messages de commit
- 🤝 Collaboration : Partagez votre code, aidez les autres, contribuez
- 📖 Documentation : Un bon README vaut mieux que 1000 commentaires
- 🎨 Open Source : Contribuer à des projets libres enrichit toute la communauté
À la fin de ce TP, vous devriez être capable de :
- ✅ Expliquer ce qu'est le contrôle de version et pourquoi c'est essentiel
- ✅ Utiliser Git en ligne de commande pour gérer vos projets
- ✅ Créer et gérer des dépôts sur GitHub
- ✅ Comprendre le workflow add → commit → push
- ✅ Publier un site web statique avec GitHub Pages
- ✅ Configurer une GitHub Action pour le déploiement automatique
- ✅ Utiliser .gitignore pour exclure des fichiers
- ✅ Écrire des messages de commit clairs et utiles
Félicitations ! Vous venez de franchir une étape majeure dans votre parcours de développeur.
Git et GitHub sont utilisés par des millions de développeurs dans le monde entier, des étudiants aux ingénieurs des GAFAM. Maîtriser ces outils vous ouvre les portes de la collaboration moderne et du développement professionnel.
Ce n'est que le début ! Git a encore beaucoup à vous offrir : branches, merges, pull requests, forks, rebase, et bien plus. Mais vous avez maintenant les fondations solides pour construire là-dessus.
"Code is like humor. When you have to explain it, it's bad."
— Cory House
Mais contrairement au code, l'historique Git doit toujours être explicite ! 😉
Bon développement et bonne continuation ! 🚀
┌──────────────────────────────────────────────────────┐
│ COMMANDES GIT ESSENTIELLES │
├──────────────────────────────────────────────────────┤
│ CONFIGURATION │
│ git config --global user.name "Nom" │
│ git config --global user.email "email@exemple.com" │
│ │
│ INITIALISATION │
│ git init Créer un dépôt │
│ git clone <url> Cloner un dépôt │
│ │
│ MODIFICATIONS │
│ git status Voir l'état │
│ git add <fichier> Ajouter un fichier │
│ git add . Ajouter tous les fichiers│
│ git commit -m "message" Commiter │
│ git push Pousser sur GitHub │
│ │
│ INFORMATION │
│ git log Historique complet │
│ git log --oneline Historique condensé │
│ git diff Voir les différences │
│ │
│ ANNULATION │
│ git checkout -- <fichier> Annuler modifications │
│ git reset <fichier> Retirer du staging │
└──────────────────────────────────────────────────────┘
# Titre 1
## Titre 2
### Titre 3
**Gras**
*Italique*
***Gras et italique***
- Liste
- À puces
1. Liste
2. Numérotée
[Lien](https://exemple.com)

`code inline`
Bloc de code
> Citation
---
Ligne horizontale
mon-portfolio/
├── .github/
│ └── workflows/
│ └── deploy.yml
├── .gitignore
├── README.md
├── index.html
├── css/
│ └── style.css
├── js/
│ └── script.js
├── images/
│ ├── photo.jpg
│ └── logo.png
└── pages/
├── about.html
└── contact.html
-
Git Documentation - git-scm.com/doc
- Documentation complète de Git, tutoriels et références des commandes
-
GitHub Docs - docs.github.com
- Documentation officielle de GitHub, guides et API
-
GitHub Pages Documentation - docs.github.com/pages
- Guide complet pour publier des sites avec GitHub Pages
-
GitHub Actions Documentation - docs.github.com/actions
- Documentation sur l'automatisation avec GitHub Actions
-
Pro Git Book par Scott Chacon et Ben Straub - git-scm.com/book
- Livre complet sur Git, disponible gratuitement en ligne en français
-
GitHub Skills - skills.github.com
- Cours interactifs gratuits proposés par GitHub
-
Learn Git Branching - learngitbranching.js.org
- Tutoriel interactif pour apprendre Git de manière ludique
-
Atlassian Git Tutorials - atlassian.com/git/tutorials
- Tutoriels détaillés sur Git par l'équipe Atlassian (Bitbucket)
-
Git Cheat Sheet par GitHub - training.github.com/downloads/
- Aide-mémoire des commandes Git essentielles
-
Markdown Guide - markdownguide.org
- Guide complet de la syntaxe Markdown
-
Understanding the GitHub Flow - guides.github.com/introduction/flow
- Comprendre le workflow collaboratif sur GitHub
-
Git - the simple guide par Roger Dudler - rogerdudler.github.io/git-guide
- Guide simple de Git en français
-
SSH Protocol - ssh.com/academy/ssh
- Documentation sur le protocole SSH
-
Visual Studio Code Git Integration - code.visualstudio.com/docs/sourcecontrol/overview
- Documentation sur l'intégration Git dans VS Code
-
GitLens Extension - gitlens.amod.io
- Extension VS Code pour visualiser l'historique Git
-
GitHub Security Best Practices - docs.github.com/security
- Guide des bonnes pratiques de sécurité sur GitHub
-
Removing sensitive data from a repository - docs.github.com/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository
- Guide pour supprimer des données sensibles d'un dépôt
-
Stack Overflow - Git Questions - stackoverflow.com/questions/tagged/git
- Forum de questions/réponses sur Git
-
GitHub Community Forum - github.community
- Forum communautaire GitHub
-
Git mailing list - git.vger.kernel.org
- Liste de diffusion officielle de Git
Auteur : Ronan LE MEILLAT - SCTG Development
Audience : Étudiant en BUT R&T
Version du document : 2.0
Dernière mise à jour : Janvier 2026
Licence : CC BY-SA 4.0