« Mon code est sur ma VM, sauvegardé, c’est suffisant. »
Un dossier sur une VM n’a pas d’historique, pas de traçabilité, et disparaît avec la machine. Le code d’une infrastructure sérieuse vit dans Git, avec un dépôt central (GitHub) accessible et versionné. On met ça en place — depuis une machine dédiée à piloter tout le projet.
On introduit ici la VM mgmt (management) : le poste de pilotage du projet. C’est là que vivent tes codes locaux, que tourne Git, et d’où tu te connecteras aux autres briques (Jenkins, plus tard le cluster Kubernetes, et GitHub) de façon standard. Reste sobre en ressources : une petite VM suffit.
À la fin de ce module, tu sauras…
- Mettre en place une machine de management et y installer Git
- Créer un dépôt local, faire des commits, comprendre l’historique
- Connecter ta machine à GitHub par clé SSH (méthode standard)
- Pousser le code de SORIA Web sur un dépôt distant
01La machine de management
Préparer mgmt et installer Git
Crée une VM mgmt (Debian 13) sur le LAN, avec une IP réservée. Installe Git et configure ton identité :
sudo apt update && sudo apt install -y git
git config --global user.name "Ton Nom"
git config --global user.email "toi@exemple.fr"
git --versionComprends pourquoi une machine dédiée ?
La VM de management centralise le pilotage : code, Git, et bientôt les accès à Jenkins et Kubernetes. Séparer ce rôle est une bonne pratique : on ne pilote pas l’infrastructure depuis un serveur de production, mais depuis un poste dédié et maîtrisé.
02Un dépôt local, des commits
Versionner SORIA Web
Récupère (ou recrée) le code de SORIA Web sur mgmt, puis fais-en un dépôt Git :
mkdir ~/soria-web && cd ~/soria-web
# place ici index.html, Dockerfile, .dockerignore ...
git init
git add .
git commit -m "Première version de SORIA Web"Manipulegit log --oneline
git statusObservea1b2c3d Première version de SORIA Web
nothing to commit, working tree cleanComprends add, commit, historique
git init crée le dépôt ; git add prépare les changements ; git commit les enregistre comme un instantané. L’ensemble forme un historique que tu peux parcourir, comparer, et restaurer. C’est la mémoire de ton projet.
03Se connecter à GitHub par clé SSH
La méthode standard, sans mot de passe
Manipulessh-keygen -t ed25519 -C "mgmt-soria"
cat ~/.ssh/id_ed25519.pubCopie la clé publique affichée, puis dans GitHub : Settings → SSH and GPG keys → New SSH key, colle-la. Vérifie la connexion :
Manipulessh -T git@github.comObserveHi ton-compte! You've successfully authenticated ...mgmt est authentifiée auprès de GitHub par sa clé — plus besoin de mot de passe à
chaque opération.Comprends pourquoi une clé, pas un mot de passe
Une paire de clés SSH (privée sur ta machine, publique sur GitHub) authentifie sans transmettre de secret réutilisable. C’est la méthode standard, sûre et automatisable — la même logique qu’on utilisera pour que Jenkins accède au code plus tard.
04Pousser sur GitHub
Le dépôt distant
Crée un dépôt vide soria-web sur GitHub (sans README), puis relie ton dépôt local et pousse :
git remote add origin git@github.com:ton-compte/soria-web.git
git branch -M main
git push -u origin mainObservegit push synchronise ton
travail avec le dépôt distant : sauvegardé, partageable, traçable.Comprends remote, origin, push
Un remote est un dépôt distant ; origin est son nom par convention. git push envoie tes commits locaux vers ce remote. Le code vit désormais à deux endroits synchronisés — ta machine et GitHub — ce qui prépare le travail d’équipe et l’automatisation.
✓Ce que tu retiens
Le code d’une infrastructure vit dans Git, avec un historique de commits, piloté depuis une machine de management, et centralisé sur GitHub via une clé SSH. Images (Harbor) et code (GitHub) sont maintenant tous deux hébergés proprement — la base indispensable avant d’orchestrer et d’automatiser.
Code et images, sous contrôle
À faire
- Mets en place la VM
mgmtavec Git configuré. - Versionne SORIA Web (au moins 2 commits significatifs).
- Connecte
mgmtà GitHub par clé SSH et pousse le dépôt. - Fais une petite modification, commit, push — vérifie qu’elle apparaît sur GitHub.
- Snapshot de
mgmtnommémgmt-git-ok. - Documente dans BookStack le lien entre code (GitHub), image (Dockerfile) et registre (Harbor).
?Auto-évaluation
1. Que gagne-t-on à mettre le code dans Git plutôt que dans un simple dossier ?
Un historique traçable, la possibilité de comparer/restaurer, et une base pour le travail d’équipe et l’automatisation.
2. Pourquoi utiliser une clé SSH pour GitHub ?
Elle authentifie sans transmettre de secret réutilisable, de façon sûre et automatisable — sans ressaisir un mot de passe.
3. Que fait git push -u origin main ?
Il envoie la branche main vers le remote origin (GitHub) et mémorise le lien pour les prochains push.