GitHub
GitHub est une plateforme open source de gestion de versions et de collaboration destinée aux développeurs de logiciels. Livrée en tant que logiciel à la demande (SaaS, Software as a Service), la solution GitHub a été lancée en 2008. Elle repose sur Git, un système de gestion de code open source créé par Linus Torvalds dans le but d'accélérer le développement logiciel.
Git permet de stocker le code source d'un projet et de suivre l'historique complet de toutes les modifications apportées à ce code. Grâce aux outils qu'elle fournit pour gérer les conflits éventuels résultant des changements apportés par plusieurs développeurs, il est possible de collaborer efficacement sur un même projet. GitHub facilite la programmation collaborative en mettant une interface Web à disposition du référentiel de code de Git, ainsi que des outils d'administration favorisant la collaboration.
GitHub permet aux développeurs de modifier, d’adapter et d’améliorer le logiciel gratuitement à partir de référentiels publics, mais facture les interventions pour les référentiels privés, selon trois formules de paiement. Chaque référentiel public ou privé contient tous les fichiers d'un projet, ainsi que l'historique des révisions de chaque fichier. Plusieurs collaborateurs sont susceptibles de travailler dans les référentiels, qu'ils soient publics ou privés.
GitHub fait penser à un site de réseau social sérieux sur lequel se retrouvent les développeurs de logiciels. Ses membres peuvent suivre les activités et évaluer le travail de chacun, recevoir des mises à jour pour des projets spécifiques et communiquer de manière publique ou privée. Dans GitHub, les développeurs ont trois mots importants à retenir : fork, pull request (demande d'extraction) et merge (fusion). Un fork est simplement un référentiel qui a été copié du compte d'un membre vers le compte d'un autre membre. Les forks permettent à un développeur d'apporter des modifications sans affecter le code d'origine. S'il souhaite partager ces modifications, il peut envoyer une demande d'extraction au propriétaire du référentiel d'origine. Si, après examen des modifications, le propriétaire d'origine veut rapatrier les modifications dans le référentiel, il lui suffit d'accepter les modifications et de les fusionner avec le référentiel d'origine.
Du fait de sa convivialité et de l'efficacité de ses outils collaboratifs de contrôle de versions, GitHub a fait des adeptes. Les non-programmeurs commencent à l'utiliser pour travailler sur des projets à base de documents et de multimédia.
Les solutions GitHub
A ses solutions en mode SaaS, GitHub propose également des outils sur site. GitHub Enterprise supporte plusieurs IDE (Environnement de Développement Intégré), des outils d’intégration continue, ainsi qu’une kyrielle d’outils et de services tiers. Cette version offre davantage de possibilités en termes de sécurité et d’audit que la version SaaS.
Les autres solutions et fonctions de GitHub sont :
- GitHub Gist. Cela permet aux utilisateurs de GitHib de partager des bouts de code ainsi que des notes.
- GitHub Flow. Il s’agit d’un outil léger de workflow pour surveiller les mises à jour
- GitHub Pages sont des pages Web statiques qui hébergent le projet et qui affichent directement des informations issues du repository GitHub.
- GitHub Desktop permet d’avoir accès à GitHub depuis des postes de travail Windows ou Mac. Cela évite d’avoir à se rendre sur le site.
- GitHub Student Developer Pack correspond à une offre gratuite à destination des seuls étudiants. Cela comprend des ressources, des outils de programmation, du support et un accès à GitHub.
Vidéo
Cette vidéo, créée par GitHub Training, vous donne un aperçu de Git et de GitHub.