Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Open Source 101: Système de contrôle de version et Git

source ouverte 1
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Premiers pas avec les écosystèmes open source.

Open Source

Les projets open source sont les types de logiciels dont le code source est accessible au public et gratuit. Ils sont régulièrement entretenus par des personnes qui donnent de leur temps librement pour implémenter de nouvelles fonctionnalités ou corriger des bugs afin que les utilisateurs bénéficient en permanence de l'utilisation du logiciel.

Dans ce tutoriel, nous verrons comment nous pouvons nous lancer dans l'open source - à partir de l'apprentissage de Git et du contrôle de version. Cela signifie que cette pièce est destinée aux débutants, mais les développeurs expérimentés peuvent apprendre quelques choses.

Version Control

Pensez à une artiste dessinant un enfant, alors que son crayon touche la toile, l'œuvre prend forme, mais une seule œuvre sera disponible à la fin. Et si, comme l'artiste le peint, il y avait une nouvelle version produite à chaque étape. Après avoir dessiné la tête de l'enfant, elle sauvegarde ensuite cette version en la mettant sur une sorte de système. Elle continue de dessiner; cela crée une nouvelle version. Elle peut choisir de stocker cette version mise à jour séparément, une copie différente qui est une extension de la version précédente qu'elle a enregistrée, de sorte qu'elle a maintenant deux versions disponibles, la version nouvellement mise à jour aura également ce qu'elle a fait précédemment.

Alors qu'elle travaille sur le dessin, une deuxième artiste vient et demande de l'aider à dessiner la main droite de l'enfant. Il tire la deuxième version et travaille dessus, sans apporter de modifications directes à l'œuvre actuelle du premier artiste. En fin de compte, trois artistes au total ont contribué à la peinture, et il y a 20 versions disponibles, cela inclut la version complète avec la possibilité de revenir à une version précédente et de faire quelque chose d'entièrement nouveau avec.

Ceci est similaire au fonctionnement du contrôle de version. C'est un système qui permet aux développeurs de gérer la contribution aux logiciels en équipe. Dans notre exemple, si nous créons un type spécial de toile qui génère et enregistre les versions des images dessinées, ce système sera une sorte de système de contrôle de version conçu pour aider les artistes à gérer leur contribution à la création artistique.

Ce système de contrôle de version (également appelé VCS) devrait être capable de montrer les différences entre les versions de travail créées et de détecter les scénarios où il y aura des conflits (ou des conflits) entre une ancienne et une nouvelle version. Par exemple, si un artiste travaille sur le bras et d'autres œuvres sur la main, ces deux parties devraient pouvoir s'emboîter parfaitement comme si elles étaient dessinées ensemble. Dans les cas où cela ne se produit pas, la différence doit être détectée et les artistes alertés à ce sujet.

Ce système de contrôle de version gérera le travail géré par;

  • Stockage des versions du même travail ou projet, qui est une collection des changements (historique) du projet (logiciel).
  • Permettre à l'équipe d'être en mesure de communiquer les modifications apportées lorsqu'elle travaille sur sa partie désignée
  • Il peut également servir de sauvegarde du travail effectué.

Git

Git est un système de contrôle de version moderne qui est couramment utilisé pour le développement de logiciels. Il vous offre tous les avantages que vous pouvez obtenir en utilisant un système de contrôle de version, ainsi que d'autres qui permettent de contribuer à l'open source.

En utilisant git, tous les développeurs travaillant sur un système pourront avoir une copie du logiciel sur leur machine locale. Ceci est le résultat de git est un système de contrôle de version distribué.

Si vous n'avez pas encore installé git sur votre machine, vous pouvez suivre les instructions ci-dessous pour le faire.

Installer Git

Pour utiliser git, vous devez l'avoir installé sur votre machine locale. Pour les besoins de ce didacticiel, nous couvrirons son installation sous Linux (Ubuntu), Mac et Windows.

Pour être certain que git n'est pas déjà installé, exécutez cette commande depuis votre terminal.

git --version

Si vous obtenez une erreur indiquant que la commande est introuvable, vous pouvez ensuite procéder à son installation en fonction du système d'exploitation que vous utilisez.

Ubuntu

Dans votre terminal, exécutez les commandes ci-dessous:

sudo apt install git

Mac

Commençons par installer brew - un gestionnaire de paquets qui facilite l'installation et la compilation de paquets.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Windows

Vous pouvez télécharger la version officielle de Git pour Windows à partir de ici.

La prochaine étape consiste à configurer git avec nos détails. Pendant ce temps, nous allons également aller de l'avant pour l'intensifier pour travailler avec notre compte Github, c'est alors le moment idéal pour parler de Github.

Github

Revenons au système de contrôle de version imaginaire que nous voulions construire pour les artistes.

Rappelez-vous comment nous avons dit que git est un type de système de contrôle de version. Alors que le système de contrôle de version aidera les artistes à collaborer ensemble, à un moment donné, ils auront besoin d'un moyen de stocker les différentes œuvres qu'ils ont réalisées. Bien que chaque projet soit géré par un système de contrôle de version, ce sera formidable s'il existe un moyen de conserver (stocker) les travaux terminés. C'est là qu'intervient Github.

Pensez-y comme un classeur qui contiendra les différents projets dans quelque chose que nous pouvons attribuer comme des armoires. Ainsi, le garçon que les artistes dessinaient sera stocké dans une armoire et géré par git. Lorsqu'ils démarrent un autre projet, celui-ci sera stocké dans une armoire différente et également géré par git. Chacun de ces projets sera indépendant de la façon dont git les gère.

Dans le développement de logiciels, nous ne les appelons pas des armoires; nous les appelons référentiels.

Github est un service d'hébergement cloud où ces projets sont stockés. Pour créer un compte GitHub, vous devez vous rendre sur le page d'inscription pour créer un compte.

Nous n'allons pas plonger dans les différents aspects de GitHub dans cet article, créer le compte et confirmer votre adresse e-mail, puis revenir ici lorsque vous aurez terminé.

Configurer Git

Pour commencer à utiliser git, nous devons le configurer avec nos détails. L'un des avantages de l'utilisation de git est qu'en plus de garder une trace des modifications apportées au fil du temps, il suit également qui a effectué la modification.

Pour que cela se produise, il doit être configuré avec vos coordonnées. Pour ce faire, vous devez ouvrir votre terminal.

git config --global color.ui true
git config --global user.name "YOUR NAME"
git config --global user.email "YOUR@EMAIL.com"

Le premier définit la couleur de l'interface utilisateur pour la sortie de git sur true, tandis que les autres définissent le nom et l'adresse e-mail de l'utilisateur, qui est vous. Vous devez donc entrer votre nom et votre adresse e-mail dans les guillemets. Je vous suggère d'utiliser le nom d'utilisateur que vous avez utilisé pour créer votre compte GitHub.

Ensuite, générons une clé SSH.

Les clés SSH sont utilisées pour l'authentification et incluent une paire de clés publiques et privées. Où une clé (la clé publique) est utilisée pour crypter un message et l'autre est utilisée pour décrypter le message. Bien que vous puissiez également vous connecter à votre compte GitHub à l'aide de votre nom d'utilisateur et de votre mot de passe, GitHub authentifie les utilisateurs via l'utilisation de clés SSH.

Pour en générer un, vous devez entrer la commande ci-dessous:

ssh-keygen -t rsa -C "YOUR@EMAIL.com"

N'oubliez pas d'utiliser votre adresse e-mail. Il vous sera demandé un emplacement pour enregistrer la clé; vous pouvez choisir la valeur par défaut en appuyant sur la touche Entrée. Il vous sera également demandé une phrase de passe facultative pour sécuriser la clé, et vous pouvez l'ignorer si vous le souhaitez. À la fin, la clé sera générée.

Ensuite, vous devrez copier la clé générée; vous pouvez obtenir la clé en exécutant cette commande

cat ~/.ssh/id_rsa.pub

Copiez-le et cliquez sur ici, puis cliquez sur le bouton Nouvelle clé SSH, collez la clé que vous avez copiée, saisissez un titre et enregistrez-le. Pour le titre, vous pouvez opter pour la machine que vous utilisez actuellement. Exemple; Macbook Pro.

Pour confirmer que cela a fonctionné, accédez à votre terminal et entrez cette commande,

ssh -T git@github.com

Il devrait donner une réponse comme celle-ci.

Salut kinsomicrote! Vous vous êtes authentifié avec succès, mais GitHub ne fournit pas d'accès shell.

Conclusion

Vous savez maintenant ce qu'est un projet open source et comment le contrôle de version et git s'intègrent dans l'image. N'oubliez pas que git est un type de système de contrôle de version, qui est un système qui permet aux développeurs de contribuer au code d'un projet, le projet peut ensuite être hébergé sur une plate-forme d'hébergement cloud comme GitHub.

Avec cette compréhension, la prochaine étape sera d'apprendre à utiliser git pour gérer votre projet.

Merci à nos commanditaires
Plus de bonnes lectures sur le développement
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder