Github GitHub Copilot assistant

Github : tout savoir sur la plateforme d’hébergement de code

Github est un site web qui fournit un service aux développeurs pour stocker et gérer leur code. Il apporte aussi un suivi, ainsi qu'un contrôle des modifications qui lui sont apportées. Aujourd'hui, il représente l'un des moyens les plus populaires pour héberger des projets open source et partager du contenu. Récupération d'un code source sur le site web, le transférer sur une machine locale ou encore développer votre propre application Android, nombreux sont les projets pris en charge par le site. Github présente plusieurs fonctionnalités qui pourraient intéresser plus d'un.

Cet article vous donne un aperçu de ce qu'est réellement Github, mais montre aussi comment s'en servir. À la fin de ce tutoriel, vous serez en mesure de créer votre propre dépôt, local et à distance, et transférer des fichiers d'un dépôt local à un dépôt public. De plus, nous vous montrerons également comment créer plusieurs branches au sein d'un même dépôt, afin de contribuer à un quelconque projet hébergé sur Github.

Qu'est-ce que Github exactement ?

Comme cité précédemment, Github héberge et partage des projets, et permet de contribuer aux projets des autres. Le site prend aussi en charge tous les langages de programmation et tous types de fichiers. Il peut s'agir d'images, de vidéos, de feuilles de calcul, voire de fichiers texte. Même si la tendance laisse à penser que Github se spécialise dans le développement de logiciels, la plateforme accueille aussi des projets qui ne contiennent pas forcément un code. Par exemple, utilise le site pour stocker toute sa documentation sur Azure.

D'autre part, le mot d'ordre du site web est « collaboration ». Il met en charge des développeurs à collaborer sur un projet, qu'il s'agisse de travailler en groupe ou avec d'autres membres. Sinon, ils peuvent tout aussi bien collaborer avec des personnes qui désirent travailler sur un projet en particulier et qui veulent aider. La plateforme reste ouverte à toutes suggestions et tout le monde peut soulever des problèmes. Certains parviennent à fournir de nouvelles idées sur le fonctionnement du site ou contribuent au code du projet d'une tierce personne. Github, en hébergeant votre projet, met à votre disposition toute une nouvelle équipe de contributeurs.

En encourageant ce type de collaboration, Github tisse des liens étroits entre membres de la communauté open source. Non seulement cette méthode permet le développement des logiciels d'une façon efficiente, mais en plus, elle laisse le libre accès au code source de chaque projet. Ainsi, chaque contributeur peut corriger les bugs ou y ajouter de nouvelles fonctionnalités. Parfois, les projets dérivent sur une base pour des produits commerciaux et techniques de distribution.

Différencier Git et Github

Les deux termes sont souvent utilisés l'un à côté de l'autre, et parfois même confondus, bien que différents. En effet, Git désigne un outil de contrôle de version distribué qui peut fonctionner aussi bien sur ordinateur. Il s'utilise pour gérer l'historique des sources de votre projet. Concernant Github, il s'agit de la plateforme en nuage construite autour de l'outil Git. Autrement, Git s'utilise pour se connecter à Github, pour effectuer des tâches comme pousser ou extraire un code.

À noter que les services d'hébergement du cloud, tels que Github, s'utilisent avec Git, tandis que Git peut fonctionner sans Github. Il n'est pas nécessaire de créer un compte pour pouvoir effectuer un contrôle de version et travailler en collaboration.

Github : tutoriel d'utilisation

Il existe plusieurs façons d'interagir avec Github, dont certaines méthodes ne requièrent aucune commande Git. En premier lieu, il faut procéder à l'installation de Git et à l'émission de commandes à partir du terminal de votre ordinateur (invite de commande pour les utilisateurs de Windows). Sinon, vous pouvez vous rendre directement sur le site « GitHub.com » et naviguer dans les différents menus jusqu'à trouver l'onglet « ». Enfin, il est possible d'utiliser l'application GitHub Desktop pour plus de faciliter.

Une fois installé, vous pouvez commencer par vous créer un compte Github et installer l'outil de contrôle de version Git. Pour se faire, ouvrez votre navigateur Web, sur le site de Github, sélectionnez « Sign up ». Des instructions vous seront données pour la suite de la création de votre compte.

Configuration du système de contrôle de version

Toujours sur le site web de Github, téléchargez la dernière version disponible pour votre système d'exploitation. Une commande précise vous est donnée et que vous deviez copier dans la fenêtre de terminal, en veillant à remplacer « Name » par votre nom d'utilisateur et « user@example » par votre mail. Appuyer sur la touche « Entrée » permet de valider cette action.

Comprendre les projets Github

Chaque projet est stocké dans son propre dépôt, lui-même divisé en plusieurs fichiers et dossiers. Bien que certains fichiers doivent être incorporés dans chaque projet, il convient à l'utilisateur de structurer l'ensemble selon son envie.

Les fichiers README.md et LICENSE.md

Si vous naviguez dans la plupart des dépôts, vous trouverez quasiment toujours l'un de ces deux fichiers. README.md contient des informations sur le projet, dont la méthode de construction. LICENSE.md divulgue les informations sur la licence du projet, dont les souhaits du développeur.

Création d'un dépôt dans Github

On distingue deux types de dépôts pour héberger un projet sur Github : local et distant. Ils présentent essentiellement un dossier qui contient tous les fichiers que vous souhaitez pousser vers Github.

La création d'un dépôt distant se fait comme suit :

Sur le site GitHub.com, une barre d'outils affiche l'icône « + », suivi de « New Repository ». Il s'agit tout simplement du dépôt distant que vous allez effectuer. Renommez-le et fournissez une description du projet. De là, vous pouvez décider si ce dernier sera public ou privé. À partir de ce moment, vous avez la possibilité de générer automatiquement un fichier README.md en cochant la case « Initialize this repository ». Entrez ensuite les informations que vous souhaitez soumettre à la description.

Concernant la création d'un dépôt local, les commandes Git sont nécessaires. Depuis votre ordinateur, créer un dossier sur votre bureau. Lancez l'invite de commande et pointez-le vers le référentiel que vous venez de créer. Tapez ensuite « cd » suivi du chemin d'accès complet vers votre référentiel local. À ce stade, votre dossier est un dépôt initial pouvant communiquer avec votre dépôt distant. Toutefois, il est nécessaire de spécifier l'URL de votre dépôt distant, suivi du suffixe .git. Une fois la commande confirmée, vous pouvez la valider en appuyant sur la touche « Entrée ».

Téléchargement d'un fichier vers un dépôt Github

github

Une fois les dépôts distants et locaux connectés entre eux, il vous sera possible d'utiliser cette connexion pour envoyer des fichiers vers les serveurs Github. Pour se faire, il est possible d'utiliser n'importe quel fichier, mais le plus commun reste le fichier texte README.md. À la fin du téléchargement, votre fichier sera accessible au public sur GitHub.com, assurez-vous donc qu'il ne contienne pas d'informations personnelles.

Le fichier en question se glisse et se dépose dans le dépôt local, c'est-à-dire dans le dossier créé précédent à cet effet. Ensuite, vous pouvez choisir les éléments à ajouter à la zone de transit de Git en préparant un « commit ». Tapez « git add », suivi du nom et de l'extension de chaque élément à ajouter à la zone. Vous pouvez enfin valider vos modifications en appuyant sur la touche « Entrée ».

Branches et fusion

Le branchement, concept fondamental de Github, permet de maintenir en simultané plusieurs versions d'un même projet. Il est utilisé pour expérimenter de nouvelles fonctionnalités avant de passer au travail de la branche principale.

En outre, vous trouverez des branches dites « dev » et « beta » qui contiennent du code, sans pour autant être considérées comme étant « stables ». Toutefois, elles pourront, à un moment donné, être intégrées à la branche maîtresse au fil du temps.

En publiant sur le code expérimental de Github, vous aurez accès à tous les avis et commentaires des utilisateurs et développeurs travaillant sur le projet. De plus, aucun code sur lequel vous travaillez ou avez travaillé n'est perdu.

Les branches s'utilisent également pour développer des versions d'un projet spécifique à un client donné. Il peut s'agir d'un groupe d'utilisateurs ou même d'un système d'exploitation précis. Enfin, vous pouvez ajouter une branche à votre dépôt en appuyant sur le bouton « Branch : Master ». 

Les avantages de GitHub

Utiliser GitHub présente plusieurs avantages majeurs. Tout d'abord, cette plateforme facilite la gestion de projet. Les développeurs et managers de projets peuvent collaborer, mettre à jour les travaux et suivre les changements apportés pour gagner en transparence et respecter les délais.

Les packages permettent par ailleurs d'accroître la sécurité, puisqu'ils peuvent être partagés de façon privée, au sein d'une équipe, ou directement avec la communauté open-source. Il est possible de télécharger les packages à partir de GitHub pour les utiliser ou les réutiliser.

Un autre point fort de GitHub concerne la gestion d'équipe. Tous les membres d'une équipe peuvent rester organisés et synchronisés. Différents outils de modération sont fournis pour permettre à tous de rester focalisés.

Les  » pull requests  » aident à développer et à proposer du nouveau code, et à le passer en revue. Les membres de l'équipe peuvent débattre les implémentations et les propositions avant de changer le code source.

Grâce à divers outils permettant d'identifier et d'analyser les vulnérabilités dans le code, ce dernier est aussi mieux sécurisé. Tout au long de la chaîne logistique du logiciel, le code est protégé. Enfin, le fait que le code et la documentation soient hébergés à la même place est très pratique.

Les inconvénients de Github 

Bien qu'il s'agisse d'un outil bénéfique pour l'élaboration de sites web et la création de beaux blogs, Github présente également plusieurs inconvénients.

Sécurité

GitHub ne propose pas de dépôts privés. Pour la propriété intellectuelle de grande valeur, cela revient à mettre tout le processus entre les mains de GitHub. En outre, tous ceux qui disposent d'un identifiant peuvent se connecter à GitHub. Cette situation entraîne des risques de failles de sécurité. Par ailleurs, comme de nombreux sites, GitHub est constamment visé par les pirates. À cet effet, cette solution se révèle plus efficace que les autres, mais elle est encore loin de répondre à toutes les attentes.Certains clients/employeurs n'autorisent le code que sur leur propre Git interne sécurisé, par principe.

Prix

La tarification est un autre inconvénient potentiel de GitHub. Certaines des fonctionnalités et des dépôts en ligne sont enfermés derrière un mur payant SaaS. Certaines des fonctionnalités et des dépôts en ligne se trouvent enfermés derrière un portail SaaS payant. Pour une équipe nombreuse, le prix peut vite grimper. 

Ceux qui disposent déjà d'une équipe informatique dédiée et de leurs propres serveurs internes ont souvent intérêt à utiliser leur propre système Git interne en raison des coûts. Cependant, la plupart des utilisateurs ne trouvent pas les coûts scandaleux.

Les concurrents de GitHub

Il existe un large panel de plateformes similaires à GitHub pour le dépôt de code. Chacune présente ses avantages et ses inconvénients.

Les principaux concurrents de GitHub sont Bitbucket, Cloud Source Repositories, Phabricator, GitLab, Gogs, Gitea, SourceForge, Allura, Launchpad et AWS CodeCommit.

GitHub permet maintenant le téléchargement de vidéos

Depuis le mois de mai 2021, GitHub permet désormais aux utilisateurs de télécharger (upload) des vidéos sur sa plateforme. Cette fonctionnalité été déjà en beta test depuis le mois de décembre 2020, mais elle est maintenant accessible à tous les utilisateurs.

L'objectif ? permettre aux développeurs de collaborer encore plus facilement, et notamment d'accroître leur productivité sur les workflows logiciels les plus complexes.

Tous les utilisateurs peuvent désormais  » uploader  » des fichiers vidéos aux formats .mp4 ou .mov, sur la version web, iOS ou Android de GitHub. Ces vidéos peuvent être incorporées à des pull requests ou à des discussions et bien plus encore.

Selon l'annonce publiée par GitHub pour cette nouvelle fonctionnalité, le beta test a démontré que les uploads de vidéos augmentent fortement l'efficacité des développeurs et des  » reviewers  » de multiples manières.

Le fait de pouvoir signaler des bugs à l'aide d'une vidéo permet aux développeurs de fournir et de recevoir des informations plus facilement, et donc de réduire les allers retours et le temps passé sur des tâches fastidieuses comme de reproduire un bug à partir d'un texte.

En effet, une vidéo permet aux développeurs d'identifier plus rapidement un problème sur un morceau de logiciel. Elle dévoile davantage le contexte, et permet aux reviewers de partager leurs retours.

De même, les développeurs peuvent présenter de nouvelles fonctionnalités ou prototypes de façon plus détaillée. Au sein d'une équipe plus large, la vidéo permet aussi de mieux exprimer des suggestions entre collaborateurs.

Sur GitHub pour iOS et Android, les uploads de vidéo permettront aux développeurs mobiles de partager un bug en images directement depuis leurs appareils mobiles. C'est donc une fonctionnalité extrêmement pratique.

Selon GitHub, cette nouveauté constitue une première étape pour ajouter la vidéo dans le développement logiciel sur sa plateforme. D'autres cas d'usage sont déjà en cours d'exploration, comme les annotations dans le code sous forme de vidéo à l'aide d'outils comme Loom et Vimeo.

GitHub : un programmeur de paires d'IA

GitHub Copilot se présente sous la forme d'un nouveau programmeur de paires d'IA qui aide à écrire un meilleur code. Il tire parti du contexte du code sur lequel le programmeur travaille, en suggérant des lignes ou des fonctions entières. Il aide également à découvrir rapidement d'autres alternatives pour résoudre des problèmes, écrire des tests et explorer de nouvelles API. En effet, il ne nécessite pas une recherche fastidieuse sur Internet pour trouver des réponses. Au fur et à mesure que le texte est écrit, il s'adapte à cette façon de coder pour accélérer l'exécution des tâches.

GitHub Copilot a été développé en collaboration avec . En plus, cette solution est alimentée par OpenAI Codex, un nouveau système d'IA créé par OpenAI. D'ailleurs, OpenAI Codex a une compréhension profonde de la façon dont les utilisateurs utilisent le code. En outre, il est bien meilleur pour générer du code que GPT-3, en partie. Cela s'explique par le fait qu'il a été formé sur un ensemble de données qui comprend une concentration beaucoup plus élevée de code source public. GitHub Copilot fonctionne avec un large éventail de frameworks et de langages. Cependant, cet aperçu technique fonctionne particulièrement bien pour Python, JavaScript, TypeScript, Ruby et Go.

Source : androidauthority.com

Newsletter

Envie de ne louper aucun de nos articles ? Abonnez vous pour recevoir chaque semaine les meilleurs actualités avant tout le monde.

Cliquez pour commenter