[Mis à jour le vendredi 24 juin 2022 à 16h39] GitHub lance Copilot en version finale. L'annonce était très attendue. Présenté comme un outil de pair programming, l'assistant de programmation est conçu pour suggérer en temps réel du code au fur et à mesure du développement d'une application. Bien au-delà de l'auto-complétion de code traditionnelle, il est taillé pour réaliser des suggestions en cohérence avec les conventions de style et le contexte du projet en cours. "GitHub Copilot peut proposer des méthodes complètes, du code passe-partout, des tests unitaires entiers et même des algorithmes complexes", explique Thomas Dohmke, CEO de GitHub (lire le post officiel de cette annonce). Copilot se présente sous la forme d'une extension disponible pour plusieurs environnements de développement, parmi lesquels JetBrains, Visual Studio ou encore Visual Studio Code. Le succès est déjà au rendez-vous. GitHub revendique 1,2 million de développeurs ayant testé la bêta de l'assistant. "Dans les fichiers où il est activé, près de 27% du code est écrit par Copilot. Ce niveau monte à 40% dans le cas de Python. […] Nous nous attendons à ce que cela augmente", indique Thomas Dohmke. Pour autant, le code généré par Copilot n'est pas parfait. "Il est conçu pour générer le meilleur code possible compte tenu du contexte auquel il a accès, mais il ne teste pas le code qu'il suggère, de sorte que le résultat peut ne pas toujours fonctionner, voire même avoir un sens", prévient GitHub sur le site du projet. Copilot est tarifé 10 dollars par mois ou 100 dollars par an et par utilisateur.

GitHub Copilot est présenté comme un assistant intelligent de programmation. Aux côtés de la traduction de commandes vocales en ligne de code, il est conçu pour faire des suggestions d'amélioration en fonction de l'analyse des sources déjà implémentées.

GitHub Copilot s'appuie sur Codex. Cette déclinaison du réseau de neurones orienté traitement automatique du langage GPT-3 est taillée pour traduire des commandes vocales (en anglais) en code source d'application. Il prend en charge une douzaine de langages de programmation. Un bon moyen pour Microsoft d'imprimer un peu plus sa marque sur le segment du développement no code.

GitHub, c’est quoi ?

Lancé en 2008, GitHub est un site web conçu pour fédérer et partager le code source d'un projet de développement d'application mis à œuvre par plusieurs programmeurs. Désormais propriété de Microsoft qui l'a acquis en 2018 pour 7,5 milliards de dollars, il est basé sur l'outil open source de gestion de versions décentralisée Git. Initié par Linus Torvalds, le créateur de Linux, Git orchestre ce qu'on appelle des pull requests qui visent à proposer des modifications dans un code. L'approbation d'un changement revient à le "commiter" en langage Git. Une fois accepté, celui-ci devient alors un "commit". GitHub reprend toutes ces possibilités.

GitHub est un mot valise qui associe le terme Git à Hub qui fait référence à la nature collaborative du service. Pour ajouter cette dimension, GitHub complète Git de fonctionnalités visant à orchestrer le travail d'équipe : pilotage des code review de bout en bout, intégration et livraison continues (CI/CD), gestion de tâches et de projets, wiki, notifications… A l'instar d'un réseau social, il donne la possibilité de s'abonner à un projet ou suivre un membre. Dans la même logique, il intègre la notion de graph pour gérer notamment les dépendances entre dépôts de code.

Le logo de GitHub est une mascotte représentant un chat avec des tentacules de poulpe. Dessinée par le graphiste Simon Oxley, cette figure était initialement vendue sur la base d'images iStock avant que GitHub en négocie les droits exclusifs.

Est-ce que GitHub est gratuit ?

GitHub propose une offre d'entrée de gamme gratuite baptisée Free. Elle autorise un nombre de repositories (publics et privés) et d'utilisateurs illimités. Mais évidemment, elle impose des limitations. 

Parmi ses limitations, GitHub Free ne permet pas de dépasser 2000 minutes (soit environ 33 heures) d'exécution de GitHub Actions par mois, et surtout elle plafonne le stockage de packages à 500 Mb. 

Comment utiliser les GitHub Actions ?

Les GitHub Actions sont taillées pour orchestrer les workflows GitHub. Véritable brique d'intégration et de livraison continues (CI/CD), ils permettent de construire et piloter ces pipelines. En amont, le pipeline est déclenché par un événement : pull request, définition d'une issue, release, évolution dans la gestion de projet… A un événement sera associé des règles d'exécution. Si un code est modifié dans un dossier donné par exemple, on pourra déclencher une action, typiquement un worflow de CI/CD particulier.

GitHub Actions permet d'orchestrer des pipelines de CI/CD. © JDN / Capture

Le pipeline est composé de jobs exécutés par des runners. Il est possible d'en déclencher plusieurs en même temps. Les actions possibles sont très nombreuses :  test, résolution de dépendances, déploiement, mise à jour de version, provisioning d'un nouvel utilisateur… On pourra évidemment développer des actions plus spécifiques. GitHub Actions s'intègre aux principaux clouds publics (AWS, Microsoft Azure ou Google Cloud), et permet de créer des tickets dans Jira ou encore publier des packages via npm. 

GitHub Desktop, qu'est-ce que c'est ?

Disponible en open source (sous licence MIT), GitHub Desktop permet d'accéder à GitHub en passant par un logiciel pour poste de travail. Disponible pour Mac et Windows, GitHub Desktop est une web app basée sur le framework Electron.

GitHub Desktop permet de gérer la co-édition d'un code source à plusieurs, vérifier les branches d'un repository, notamment leurs pull requests et le statut de ces derniers, ou encore déplacer des modifications sur une nouvelle branche sir celles-ci ne sont pas prêtes à être validées. 

Capture d'écran de l'application GitHub Desktop. © JDN / Capture

Que recouvre GitHub CLI ?

GitHub est équipé d'un outil de gestion en ligne de commande. Baptisé GitHub CLI, il permet d'exécuter un workflow GitHub, du pilotage des bugs jusqu'au déploiement. Au programme : gestion du clonage de dépôts de source, des bugs, création de pull request, synchronisation des modifications approuvées en local, et gestion de release.

GitHub CLI est disponible à la fois pour Windows, Mac et Linux. Ces différentes éditions de GitHub CLI sont disponibles en téléchargement sur GitHub :

Qu'est-ce que GitHub Copilot ?

GitHub Copilot est présenté comme un assistant intelligent de programmation. Aux côtés de la traduction de commandes vocales en ligne de code, il est conçu pour faire des suggestions d'amélioration en fonction de l'analyse des sources déjà implémentées.

GitHub Copilot s'appuie sur Codex. Cette déclinaison du réseau de neurones orienté traitement automatique du langage GPT-3 est taillée pour traduire des commandes vocales (en anglais) en code source d'application. Il prend en charge une douzaine de langages de programmation. Un bon moyen pour Microsoft d'imprimer un peu plus sa marque sur le segment du développement no code.

Quel est le prix des versions payantes de GitHub ?

Aux côtés de son offre gratuite (GitHub Free), GitHub propose plusieurs solutions payantes. Baptisée GitHub Team (ex-GitHub Pro), la première est tarifée 4 dollars par utilisateur et par mois et permet de bénéficier de 2 Go de stockage et 3 000 minutes (soit 50 heures) d'exécution de GitHub Actions par mois.

La deuxième offre payante de GitHub, appelée GitHub Enterprise, affiche un prix de 21 dollars par utilisateur et par mois. Elle étend le stockage à 50 Go et permet de passer à 50 000 minutes mensuelles d'exécution d'actions, soit 833 heures. Elle intègre en outre des possibilités d'intégration supplémentaires (via  GitHub Connect), ainsi que le support de LDAP et SAML pour gérer les accès. Dernière offre payante, GitHub One promet en plus une sécurité et une performance renforcées et un support 24 heures sur 24 et 7 jours sur 7.

GitHub Pages est-il gratuit ?

GitHub Pages permet d'héberger un site web statique sur GitHub. Prenant en charge HTML, CSS et JavaScript, ce service est associé à un dépôt de code. Il est possible de publier une page web pour la branche maitre du repository (nom-du-repository.github.io), puis des pages supplémentaires par projet (nom-du-repository.github.io/projet).

GitHub Pages est gratuit. Il supporte les pages 404, et prend également en charge les noms de domaine. Enfin, il compatible avec le générateur de sites web statiques Jekyll.

GitHub Student Pack : comment en bénéficier ?

Via GitHub Student Pack, GitHub offre aux étudiants la possibilité de bénéficier de GitHub Team gratuitement. Tarifée 4 dollars par utilisateur et par mois, l'offre GitHub Team (ex-GitHub Pro) donne accès à 2 Go de stockage et 50 heures d'exécution de GitHub Actions par mois.

Pour bénéficier de GitHub Student Pack, il suffit d'être étudiant, âgé de 13 ans ou plus. Pour accéder à cette offre, il faut se rendre sur Education.github.com/pack, puis cliquer sur "En bénéficier". Ensuite, il convient de renseigner une adresse e-mail et de charger un document prouvant son statut d'étudiant (attestation, carte d'étudiant…).

Qu'est-ce que GitHub Gist ?

GitHub Gist est une fonctionnalité de GitHub taillée pour partager des snippets (ou bouts de code), des notes, des listes de choses à faire, etc. Les gists peuvent être partagés publiquement ou de manière privée au sein d'une organisation ou d'une équipe. Dans GitHub, ils prennent la forme de dépôts, ce qui permet de les cloner sous forme de forks.

La marketplace de GitHub

La marketplace de GitHub compte pas moins de 7 000 intégrations, dont 350 applications et 6 560 actions de briques tierces permettant de construire les pipelines d'intégration et de livraison continues (CI/CD).

Sont notamment présents dans la place de marché de GitHub des outils de gestion de projet (Jira par exemple), des solutions de gestion de la qualité du code (Ansible Lint, Codecov, TestQuality), des applications de CI/CD (CloudBees) ou encore des briques de monitoring (Datadog)

La place de marché de GitHub contient 7000 intégrations © JDN / Capture

L'API de GitHub

Voici trois liens pour disposer de la documentation sur l'API de GitHub :

GitHub vs GitLab

De prime abord, les deux plateformes semblent similaires dans les services proposés. L’une comme l’autre possèdent une interface intuitive. Néanmoins, GitLab permet de ne pas être tributaire d’un service tiers, tandis que GitHub présente des fonctionnalités collaboratives plus avancées, car il est assimilé à un réseau social. En prenant en compte les contraintes de vos projets, le choix dépend de vos besoins en matière de communication.

Tutoriels : quelques liens

Voici des liens pour mieux maîtriser les subtilités de GitHub :

Le JDN propose également des tutoriels sur le sujet : 


Source link