Inf6107 – Activité D

Analyse d’un service web : GitHub

GitHub est un service (plateforme collaborative) de gestion et de partage de code source. Il est basé sur la technologie Git (outil de gestion des codes sources utilisé traditionnellement par les développeurs). Son logo représente un petit chat nommé Octocat.

Adresse web : www.github.com

GitHub est une compagnie Américaine fondée en 2007 par Chris Wanstrath, PJ Hyett, Tom Preston-Werner et Scott Chacon. Son siège social est situé à San Francisco. Les tout premiers services en ligne de GitHub ont été offerts en 2008. La compagnie Microsoft a investi considérablement depuis 2012 pour finalement s’en porter acquéreur en 2018.

Le concept est simple, on met en place un projet (angl. repository). On y dépose le code source et l’on spécifie la visibilité de notre projet (privé ou public). On peut alors profiter des nombreuses fonctionnalités de GitHub : partage et contribution au code, compilation, validation par les pairs, discussion et suggestions, etc.)

Le plan d’affaires de GitHub vise deux types de clientèle : les particuliers (majoritairement des projets open-source) et les entreprises.

Son plan gratuit permet la création d’un nombre illimité de projets publics et privés mais offre des services limités de compilation (2 000 minutes) et de stockage (500 Mo) si le projet est privé. Il est important que les projets publics ont beaucoup moins de restrictions que les projets privés.

Les plans payants (Équipe et Entrerprise) offrent des fonctionnalités additionnelles (compilation, revue spécifique par les pairs, documentation etc) et coûtent respectivement 4$ et 21$ par usager/ mois.

GitHub possède quelques compétiteurs, notamment

  • GitLab
  • BitBucket
  • SourceForge
  • Google Cloud Source Repositories

Selon son site octoverse, on estimait en septembre 2020 le nombre d’utilisateur actifs à 56 million. Ces utilisateurs proviennent essentiellement de l’Amérique du nord (34%), de l’Asie (30,7%) et de l’Europe (26.8%). Toutefois les services de GitHub ne sont offerts qu’en anglais.

L’interface de GitHub est très conviviale. On présente de façon très claire le contenu des projets par onglets : code source, requêtes (issues), contributions (pull request), actions, projets, documentations, réglages (security, settings) etc.

Par exemple la vue par code permet de consulter (et même de modifier) sous forme arborescente le contenu et l’historique du code qui est entreposé.

Affichage du code

Comme il s’agit d’une plateforme de collaboration, une attention toute particulière a été portée à la traçabilité de l’information. Il est toujours possible de savoir par qui et quand une action a été apportée et de comparer les éléments modifiés pour en mesurer l’impact. L’intégration avec les différents outils de développement (ex. Visual studio), est une force de GitHub. On peut communiquer directement de son poste de travail avec les services API de GitHub pour obtenir et mettre à jour le code d’un projet.

Pour accéder à un projet, il est possible de rechercher le nom du projet ou de l’auteur ou encore d’inscrire l’adresse web du projet (github.com/nomprojet).

La fonctionnalité de recherche de GitHub est particulièrement efficace. On peut chercher un mot ou une expression en fonction de trois étendues : un projet spécifique, un usager spécifique ou encore dans tous les projets sur GitHub.

Il est également possible de naviguer sous forme exploratoire dans les projets en vogue (trending) ou encore en fonction d’un sujet / langage d’intérêt. GitHub publie en temps réel le palamarès des projets et des développeurs en ayant reçu le plus d’intérêt.

La portion profil utilisateur est assez complète. Il est possible pour un utilisateur de d’inscrire son nom, sa photo, son lieu de résidence, une biographie, le nom et l’URL de son entreprise et son nom d’usager Twitter. En consultant le profil d’un usager, on a accès aux projets de cette personne ainsi qu’à son historique de contribution aux autres projets. Il est possible de « suivre » un développeur GitHub et de recevoir des notifications lorsque celui-ci pose une action. On peut également suivre l’évolution d’un projet en particulier. Finalement, une fonction de reconnaissance par les pairs permet d’accorder une étoile (star) à un projet.

GitHub a mis en place le concept du Marketplace afin d’offrir le maximum d’interopabilité avec d’autres services. Il est possible de créer une organisation à l’intérieur de GitHub afin de regrouper les membres d’une même entreprise.

GitHub offre également une plateforme d’apprentissage destinée aux étudiants et aux professeurs.

Vous pouvez consulter mon profil GitHub (et ma modeste contribution!) par ce lien.

Note : un article présentant le service GitHub datant de juin 2013 aurait été créé par K. Clément dans le cadre de ce cours. Toutefois, au moment de concevoir et publier mon travail, cet artcile n’était plus disponible. Cette fiche n’est en aucun cas inspirée du travail précédent de M. Clément et c’est la raison pour laquelle j’ai tout de même décider de présenter ce service.

Concevoir un site comme celui-ci avec WordPress.com
Commencer