Miaou tout le monde ! Je me présente : GitHub pour vous servir ! Avec mes 100 millions d'utilisateurs, mes 413 millions de contributions open source et mon chiffre d'affaire annuel récurrent d'un milliard de dollars, je suis devenu une référence pour le versioning ! Mais laisse-moi te conter mon histoire peu commune à bord de l'octocat mobile !
Mes origines
Nous sommes le 10 avril 2008, et je viens au monde. C'est un moment émouvant. Mes parents Tom Preston-Werner, Chris Wanstrath et Phillip Jeffrey Hyett sont si fiers de me voir naître ! Simon Oxley, celui qui créera ma mascotte Octocat, est également présent.
Mon nom est composé de "Git" qui est un système de contrôle de version, et de "Hub" qui pourrait refléter une plateforme centrale. L'idée est de faire de moi une sorte de pivot central des projets, la place où les développeurs peuvent se rencontrer autour du code pour collaborer. Je suis destiné à devenir une sorte de réseau social pour partager des projets.
En effet, cela reflète les raisons de ma naissance. Mes créateurs sont de fervents défenseurs du monde open source et après leurs expériences en tant que développeurs, ils souhaitaient mettre en place un outil permettant de communiquer efficacement autour des projets.
Ma mascotte ? Octocat ! Je l'adore ! Mi-chat, mi-pieuvre, l'objectif était initialement de personnaliser la page d'erreur 404 de GitHub. Simon Oxley, le créateur du logo de twitter l'a dessiné sur la demande de mes concepteurs. Dans Git, on appelle "octopus merge" la combinaison de 3 branches ou plus. C'est de là que vient la mascotte. Amuse-toi à en créer une par toi-même ici.

Quelques-uns de mes talents innés
Le flux GitHub
J'ai en moi une mécanique bien huilée représentée par mon flux. Qu'est-ce donc ? Un workflow léger permettant d'encourager une certaine collaboration afin d'améliorer la livraison de code. En voici les règles :
- Tout ce qui est présent sur la branche "main" est déployable
- Pour commencer un travail, il faut créer une nouvelle branche dont le nom permet d'identifier son objectif
- Soumettre les travaux régulièrement sur cette branche en locale et les envoyer sur la branche distante
- Lorsque les travaux sont terminés, ou lorsque des avis sont nécessaires, créer une "pull-request". Celle-ci permettra aux relecteurs de faire leurs retours sur les travaux de la branche
- Une fois que quelqu'un a validé les travaux, la branche peut être fusionnée sur la branche "main"
- Une fois que les travaux sont sur la branche "main", il convient de déployer au plus vite
Le suivi des projets ou des personnes
Je te permets de suivre les projets ou les personnes qui t'intéressent pour que tu les retrouves dans ton espace dédié ! Tu peux même recevoir des notifications si tu en as envie !
La documentation
Bien entendu, qui dit "collaboration" dit "documentation". Avec moi, tu peux remplir la page wiki de ton projet ! Cela permet ainsi à d'autres personnes de savoir comment contribuer ou comment utiliser ton projet.
La gestion de tickets
J'offre une gestion de tickets. Pas besoin d'un gestionnaire de tickets tierce, le mien est entièrement intégré à mon système. La gestion des tickets te permet de suivre les demandes en cours, de les prioriser, de savoir quels sont les tickets qui sont les plus populaires, etc.
L'intégration continue
Une de mes meilleures compétences est l'intégration et le déploiement continu via "GitHub Actions". En effet, cet outil te permettra de construire des chaine CI/CD efficaces. Un exemple de telle chaine pourrait être sur une fusion dans la branche main :
- Valider que le code est bien formaté
- Compiler le projet
- Lancer les tests
- Enregistrer l'image dans un catalogue d'images
- Lancer le déploiement
Quelques dates clés de ma vie
- Avril 2008 : ma naissance
- 2018 : Microsoft me déclare sa flamme pour 7,5 milliards de dollars
- 29 octobre 2021 : Je deviens artificiellement intelligent grâce à GitHub Copilot
L'aventure continue…
Désormais, j'ose espérer que toi et moi ne sommes plus complètement étrangers. Tu t'en doutes, ma love story avec les développeurs perdure, elle n'a d'ailleurs jamais été aussi forte !
Quelques sources
https://kinsta.com/fr/blog/statistiques-github/
https://canvasbusinessmodel.com/fr/blogs/brief-history/github-brief-history?srsltid=AfmBOopBH8ggJCuDnbY2FeqRxqSgsc5WLI3NKmMHxVGlMTneW7cyDB84
https://cameronmcefee.com/work/the-octocat/
https://medium.com/takima/github-flow-et-release-5592bc3c7c9c