(modifié le 23 octobre 2020 à 19:36)

Comme tout le monde j'utilise Git, principalement avec GitHub. C'est un outil souvent mieux maitrisé par les développeurs que pas les sysadmins, ce qui est problématique puisque c'est le sysadmin qui gère le serveur.

Connaissez-vous par exemple la différence entre Git, GitHub, GitLab ?

J'ai donc contacté Thomas de la chaine YouTube cocadmin et je vous propose mon avis sur la formation "Git pour Sysadmin".

Contenu de la formation

La formation se fait dans le décors de la chaine YouTube, avec une bonne qualité d'image et de son, et un petit tableau derrière, comme en présentiel.

Composée de 9 chapitres pour une durée de 2h30 :

  1. Concepts
  2. Créer un repo
  3. Git Pull
  4. sync with remote
  5. Branches
  6. Merge
  7. Branches remote
  8. Merge conflit
  9. Erreur revert

Les arguments avancés par Thomas sont valables pour moi aussi. J'utilise Git régulièrement, que ce soit à travers des tutos ou pour stocker des choses. Mais je n'ai pas le réflexe d'utiliser Git pour faire de la gestion de configuration... ou même pour du code, PHP par exemple.

En fait j'utilise GitHub pour partager mon code, c'est aussi une sorte de sauvegarde même si ça reste en ligne donc en cas d'usurpation de mes identifiants ça peut clairement disparaître. Contrairement à un serveur Git local, sauvegardé, etc.

Avant d'attaquer la formation je vous conseille d'ailleurs de comprendre les origines de Git, toujours expliqué par Thomas sur YouTube :

A qui s'adresse cette formation ?

La formation s'adresse clairement aux sysadmins, parce que des notions techniques doivent être maitrisées pour suivre la vidéo. Rien de compliqué, mais il faut comprendre de quoi on parle. Il y a beaucoup de termes en anglais, donc si vous n'êtes pas à l'aise avec ça vous risquez de prendre des notes.

Donc sysadmin, ingé système, expert infra, etc, c'est pour vous  !

Comme le souligne Thomas, voici le genre de choses que l'on peut coller et qui marche car on a confiance en celui qui le fournit, mais que l'on ne comprends pas forcément bien :

git init
git add README.md
git commit -m "premier commit"
bit branch -M main
git remote add origin git@github.com:blogmotion/bm-backup-ssh.git
git push -u origin master

On note une URL qui ne commence par par "http" alors que sur les pages d'un dépôt une URL HTTPS :

https://github.com/blogmotion/bm-backup-ssh.git

Du coup, quelle différence avec l'URL ci-dessus ? Voici le genre de questions que vous pouvez vous poser.

Ce que j'ai appris

Grâce à la formation j'ai compris les tenants et aboutissants de Git, la mission est donc remplie.

Notamment le principe et l'importance du "staging area", et pourquoi un commit peut être vu comme un snapshot. Mais aussi du côté des branches j'avais du mal à comprendre les liens entre-elles, la hiérarchie et les possibilités de chemins multiples. La synchronisation entre le dépôt local et distant, la gestion des conflits de commit... et d'une manière plus générale la philosophie du projet Git.

Bien sûr les commandes les plus utiles sont décrites par la pratique, comme la création d'une branche. Vous pourrez refaire facilement la démo dans un labo chez vous.

Si comme moi vous utilisez GitHub Desktop vous comprendrez mieux son fonctionnement et pourrez même tenter de faire la même chose en ligne de commande.

A améliorer

J'essaye ici de lister quelques axes d'amélioration pour Thomas 😉, certaines sont d'ordre personnelles (préférence).

  • Un micro cravate serait appréciable quand Thomas se retourne et que le son diminue un peu.
  • On a quelques hésitations sur le choix des mots ou de l'histoire racontée pour les exemples. On est plus proche d'un ton que l'on retrouve en formation présentielle que d'une formation en ligne. C'est plus une question de goûts qu'autre chose, car c'est vrai qu'une formation trop orientée "universitaire" n'est pas agréable non plus. Donc c'est sûrement un juste milieu. J'opterai pour garder ce ton mais supprimer les hésitations au montage
  • L'installation de git-scm pour VSCode aurait pu mériter quelques explications pour le néophyte qui fera "suivant" sans trop comprendre pourquoi
  • Quelques commandes sont masquées derrière Thomas (13'30 vidéo 3), ainsi que dans le chapitre 7
  • Pas mal de termes pas traduits, comme "branche non mergée" au lieu de "branche non fusionnée"
  • Peut-être que j'aurai mis des commentaires de commit en français, histoire qu'un débutant n’interprète pas les commentaires comme une potentielle commande : "ajout d'orangina" au lieu de "add orangina"
  • Des incrustations numériques plutôt qu'un tableau blanc à l'ancienne serait peut-être plus lisible

Enfin j'aurai aimé que le contenu de la formation soit mis en avant avec un exemple concret à la fin, histoire d'aller au bout des exemples appris 👍

Conclusion et compléments

La formation est efficace et parfaite pour les sysAdmins, pas de bullshit marketing on a bien le contenu auquel on s'attend. Avoir des exemples pour illustrer la théorie permet de s'entrainer facilement avant de se lancer définitivement. Thomas va à l'essentiel.

La durée de 2h30 est plutôt adaptée, pas trop long donc pas de décrochage.

🌟 En complément je vous conseille quelques Cheatsheet (aide mémoire) :

Également pour changer l'éditeur par défaut lors de la saisie de description d'un commit :

git config --global core.editor nano

Et une astuce pour cloner juste la branche principale d'un dépôt git sans tout son historique :

git clone --depth 1 https://github.com/blogmotion/nom-depot

Comme Christophe Casalegno je vous conseille cette mini formation. Surtout si vous êtes autodidacte, vous l'absorberez rapidement. Après c'est comme le reste, il faut pratique derrière pour qu'une formation soit utile à votre quotidien.

▶️ Accéder à la formation : Git pour SysAdmin (60€ ttc)

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter

Tags: ,