Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

GitKraken , un Git pour tous

Par Franck LANDUYT Publié le 20/10/2017 à 14:46:33 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Introduction

Dans cet article on va s'intéresser à un logiciel qui va vous faciliter la vie qui est GitKraken, il est important aujourd'hui dans la création de projet d'intégrer une politique de management de projet, c'est pourquoi il existe différente solution qui permettent d'avoir un gestionnaire de version de projet performant sécurisé et simple d'utilisation. Grace à cet article je vais vous détailler comment rajouter un gestionnaire de version sur vos projets. On va pour cela rappeler décrire rapidement ce qu'est un logiciel de gestions de version, on va pour cela présenter Git, utiliser un serveur d'hébergement de projet (BitBucket ici), comment utiliser GitKraken pour rendre la solution Git accessible à tous et ainsi permettent d'avoir un suivi de son projet que l'on soit une équipe ou bien pour un projet personnel.

Les logiciels de gestions de versions

Qui n'a jamais rencontré en cours du développement d'un projet en équipe un soucis de comptabilité de son code comme par exemple que l'on a fait une mauvaise manipulation sur le projet (suppression d'un fichier ou modification du code) et que notre projet du coup ne fonctionne plus, il suffit que l'on est enregistré et oublier ce que l'on a fait pour tout perdre son projet et devoir perdre du temps pour revenir comme avant, c'est là qu'intervient un gestionnaire de version, en effet il permet de voir ce qui a été ajouté, modifier supprimer par qui et quand et surtout il permet si le logiciel est bien utilisé de revenir en arriéré en ainsi pour revenir avant une erreur

Les logiciels de gestion de versions sont fortement utilisés dans le milieu du développement. Ils permettent de suivre l'évolution des fichier source et garde toutes les anciennes versions de ce projet, cependant l'avantage de ces logiciels c'est que ce ne sont pas de simples logiciels de backup, car en effet, ils permettent de retenir toutes les différentes modifications par fichier qui les a faits et ce quel implique. Un autre aspect positif de ses logiciels que l'on peut travailler à plusieurs sur le même ficher sans gêner un autre membre de l'équipe au moment de la sauvegarde, en effet le logiciel va fusionner les deux versions (sachant qu'il y a toujours la possibilité de revenir en arrière).

Il existe deux types principaux de logiciels de gestion de versions : les logiciels centralisés et les logiciels distribués.

Les logiciels centralisés qui comprend un serveur qui conserve toutes les versions des fichiers, les développeurs s'y connectent pour prendre récupéré la dernière version des fichiers qui ont été modifiés et savoir qui les à modifier et ils y envoient leurs modifications .

Les logiciels distribués n'ont généralement pas de serveur, chaque utilisateur possède l'historique de l'évolution du projet, les transmissions de ficher se font directement entre les ordinateurs comme le peer to peer .

Enfin il existe une dernière version qui est le mixte des deux qui est le plus souvent utilisé, en effet on rajoute un serveur au mode distribué qui sert de point de rencontre entre les membres de l'équipe. Le serveur connaît l'historique des modifications et permet l'échange d'informations entre les développeurs, qui eux possèdent également l'historique des modifications.

C'est dans ce mode que fonctionne Git .

Git

Pour cet article on, va utiliser le logiciel Git, vous n'aurez pas besoin de l'installer, car il est fourni automatiquement avec GitKraken.Git est un logiciel libre (gratuit) crée par Linus Torvalds qui est l'auteur du noyau Linux en 2005 ; on est en actuellement à la version 2.14.2. En 2016, il s'agit du logiciel de gestion de versions le plus populaire qui est utilisé par plus de douze millions de personnes. Les principaux concurrents de Git son SVN et Mercurial, les avantages de Git par rapport à ses concurrents est qu'il est très rapide, on peut facilement travailler en branche (versions parallèles d'un même projet). Une de ses particularités c'est l'existence de sites web qui utilise git comme le célèbre GitHub. C'est une sorte de réseau social pour les développeurs : vous pouvez regarder tous les projets évoluer et décider de participer à l'un d'entre eux si cela vous intéresse. Vous pouvez aussi y créer votre propre projet : c'est gratuit pour les projets open source. Les principaux défauts de Git est qu il est assez complexe à utiliser, il faut du temps pour s'adapter pour le comprendre et l'utiliser (commun à tous les autres logiciels) et qu'il est prévu pour Linux, il n'y a pas d'interface graphique et que l'on est obligé de passer par la console. Il est donc réservé aux développeurs aguerris et ayant une certaine expérience avec Linux. Il y a donc de nombreux outils qui on était créé pour simplifier l'utilisation de Git. On peut citer les plus connu comme GitKraken , SmartGit , gitg , git-cola , ungit , GitEye , GtAhead , giggle ou encore CodeReview .

C'est pour ce là que l'on va utiliser un logiciel qui permet de simplifier l'utilisation de Git qui est GitKraken et comme serveur de stockage on va utiliser Bitbucket.

Bitbucket

Bitbucket est un service web qui permet d'héberger gratuitement ses projets. Il est la propriété de Atlas Sian et fut fondé en 2008. Il est compatible avec les logiciels de gestion de versions Git et Mercurial.

On va donc commencer par creer un compte sur BitBucket (https://bitbucket.org/account/signup/)

Il suffit de se créer un compte si vous n'en avez pas .

On va ensuite créer un nouveau repository pour pouvoir heberger nos fichiers .

Dans la création du repository, pensez à cocher la case qu'il est privé, car sinon tout le monde pourra voir votre repository, ensuite dérouler le menu des paramètre avancés et sélectionner dans quel langage votre projet va être ce qui permet d'avoir un suivi du projet plus détaillé et d'adapter à ce langage.

Pour cet article je vais utiliser le langage Python pour vous montrer l'utilisation de GitKraken

Dès que votre repository est créé, il vous suffit d'appuyer sur le bouton Create a README puis d'appuyer sur le bouton commit . On va maitenant parler du gitignore. Quand on écrit un programme, certains fichiers sont générés automatiquement à chaque compilation, et ils ne devraient pas être pris en compte par git, car ils encombrent le repository et ne servent à rien. C’est pour ça que le fichier .gitignore existe ! C’est simplement un fichier texte qui contient des chemins relatifs vers des fichiers et des répertoires qui doivent être ignorés par git lors d’un ajout de fichier ou du suivi du code source par le logiciel des gestion de version . Vous pouvez sélectionner le .gitignore facilement à la création du projet comme pour le README. On ne mettra pas de .gitignore ici car il en a pas besoin pour du python, mais pour du C++ il faut le mettre.

Cette partie sur Bitbucket est terminée nous allons donc passer sur le plus important qui est l'utilisation de GitKraken.

Présentation de GitKraken

GitKraken est un logiciel créé par Axosoft en 2014 il est donc très récent et sa version 1.0 (non béta) est disponible que depuis mai 2016. C'est un logiciel qui permet de grandement simplifier l'utilisation des logiciels de gestions de version en particulier Git. Pour cet article je ne vais montrer qu'avec un seul utilisateur, pour pouvoir utiliser en groupe il suffit d'être amis dans Bitbucket ou bien d'avoir créé un team et créer un projet dans ce team. Les avantages de GitKraken sont nombreux, il y a une interface simple d'utilisation et plaisant à utiliser, la possibilité de gérer plusieurs serveurs de stockage, une parfaite comptabilité sur Windows, Mac et Linux , la gestion de plusieurs profil et il est gratuit pour la version de base, cependant un de ses défaut est que l'on est vite limité par la version gratuite si on veut par exemple héberger son projet sur son propre serveur et on ne peut avoir qu'un seul profil sur cette version. Sur la version payante on peut aussi gère directement les conflits sans GitKraken. On va maintenant faire un tableau des diffrentes versions de GitKraken.

Table 1. Tableaux des version de GitKraken

Version Gratuite Version Pro
Version Entreprise
Gratuit 49 $ par utilisateur par an 39 $ si plus de 10 utilisateurs 29 $ si plus de 100 utilisateurs
99 $ par utilisateur par an 79 $ si plus de 10 utilisateurs 69 $ si plus de 100 utilisateurs
Version de base + Gestion des conflits de code dans l'application + Gestion de plusieurs utilisateurs + Rajout du Github d'entrprise + Support courriel + Protegé par un pare-feu + Installation sur vos serveur + Gestion en local + Suivi informatique complet


Ce logiciel est disponible à l'adresse suivante : https://www.gitkraken.com/. Une fois que vous avez suivi le cheminement de l'installation ouvrez le et vous devrez arriver sur cet écran .

Il vous suffit de créer un compte si vous n'en avais pas un sur GitHub .

Voici donc la fenêtre principale de notre GitKraken , on va commencé en reliant notre compte GitKraken avec notre compte Bitbucket pour cela rien de plus simple il suffit de cliquer sur le dossier en haut à gauche .

Ensuite, il suffit de sélectionner l'onglet Init , puis Bitbucket et de cliquer sur connexion a Bitbucket.

Une fois dans le menu parametres, on va sur BitBucket et on clique encore sur connexion a Bitbucket.

Pour la prochaine étape, il suffit de faire tout ce qui est demandé c'est-à-dire de vous connecter à votre compte Bitbucket d'accepter de lier votre compte Gitkraken avec celui de BitBucket.

Une fois que vous avez la confirmation à l'écran que vos deux comptes sont bien reliés vous retournez à l'écran d'accueil, cliquez sur le dossier en haut à gauche puis sur Clone et Bitbucket. Vous devrez avoir l'écran suivant.

Dans ce menu vous pouvez sélectionner à quel endroit vous voulez mettre le dossier de votre projet, il faut ensuite choisir le projet que nous avons créé par avant sur Bitbucket. Il suffit après, de cliquer sur bouton Clone the repo !

Le projet est maintenant disponible sur votre PC, c'est exactement les mêmes étapes à faire quand par exemple on se connecte sur le projet de quelque, sachant que sur Bitbucket on peut choisir d'attribuer qu'un rôle de Read only et GitKraken le prend en compte. Maintenant que vous avez la page avec cet écran je vais vous présenter les différentes fonctionnalités de GitKraken.

On va commencer par la partie bleue de GitKraken. Dans cette partie, il y a la barre de recherche (ou ctrl + Alt + f) qui permet s'il y a de nombreuses branches de rechercher une étape en particulier. On peut voir aussi combien de personnes travaille sur le projet, le nombre de branches, étapes.

Ensuite, on va passer à la zone rouge de l'interface, cette zone permet de savoir quand on sélectionne une étape de voir qui la commit, son nom, sa description, les fichiers qui on était ajouté, modifier, supprimer.

La partie centrale en vert est le schéma complet de notre projet avec les différentes étapes, on peut voir qui les a faites, quand, s’il y a des branches (pas ici) ....

Enfin la dernière partie en marron est celle qui contient les boutons d'action de GitKraken, il y a bien sûr les boutons annuler et refaire, le bouton suivant et le bouton Pull, il permet de récupère le projet par rapport à la version sur le serveur après vous avec un mené déroule sur ce bouton qui permet de choisir de quelle formes de pull on veut. Enduite on a le bouton Push qui permet après avoir commit d'envoyer nos modifications sur le serveur et ainsi en faire bénéficier l'équipe. Le bouton suivant et le bouton Branch qui permet de carrer une version parle de son projet et ainsi pouvoir faire des motivations plus importantes et travaille sur une version différente du projet sans impacter la branche principale. Les deux derniers boutons permettent le remisage de sa branche .

Voilà donc pour l'interface de GitKraken, on va maintenant modifier le repository en ajouter du Python pour vous montrer comment fonctionne GitKraken

Utilisation de GitKraken

Pour cet article je vais utiliser un fichier Python qui permet de compter le taille d'un texte :

def fonction():
    stringtest = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor.
    Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat.
    Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor.
    Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales.
    Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. 
    Maecenas adipiscing ante non diam sodales hendrerit."


    stringtest2 = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus iaculis ipsum vel porta maximus. Cras aliquam elit eget quam facilisis, semper grvida libero venenatis.
    Aenean lacus odio, aliquet sed efficitur a, fringilla in turpis. Quisque mi nunc, hendrerit vitae lorem eget, aliquet dictum tellus. Donec sit amet arcu sapien. 
    Aenean iaculis scelerisque velit, ut commodo elit pharetra non. Duis tincidunt justo a vestibulum bibendum. Ut varius lorem et turpis aliquet, sit amet blandit nibh efficitur.
    Praesent consectetur a massa sit amet tincidunt. Sed faucibus blandit mi, sed finibus felis consectetur eu. Nulla fringilla rutrum luctus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    Proin sed mauris quis orci efficitur fringilla. Integer feugiat dui quis magna posuere, id pellentesque urna euismod."

    print(stringtest, "\n" , stringtest2)

    # fonction compteur
def fonction1(stringtest3):
    inta = 0
    intb = 0
    while inta != len(stringtest3):
        inta += 1
    print ("le nombre de lettres = ",inta )

# on lance les fonctions
stringtest3 = "Nunc molestie, leo in porttitor egestas, augue erat feugiat nisl, quis dapibus eros leo eleifend lorem.
			Fusce imperdiet id odio vel semper. Aliquam varius elementum magna, non facilisis ipsum molestie nec. 
			Nunc eget justo rutrum, posuere orci at, aliquam tortor. Suspendisse at sem eu turpis ultrices eleifend. Praesent nec fermentum nunc. 
			In hendrerit tortor eu dui venenatis faucibus. Etiam efficitur tellus eu velit porttitor, et ultricies dolor pellentesque. 
			Integer consequat sit amet mauris tristique efficitur. Duis pulvinar turpis non urna posuere, non rhoncus dolor feugiat. 
			Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed placerat eget tellus et faucibus.
			Nulla gravida lacus lorem. In at lacus tempus lacus tincidunt semper. Nulla sollicitudin venenatis convallis."
fonction1(stringtest3)

Il faut ajouter ce .py au dossier que Gitkraken a generé à la phase de Clonage de notre repository.

On va maintenant retourner GitKraken voir ce qu’il c’est passer après l'ajout de ce fichier Python.

Sur GitKraken on peut voir qu'il y a du changement, Dans la partie verte il y a une étape en haut qui c'est rajouté, il vous suffit de cliquer dessus pour avoir que la partie rouge de GitKraken ressemble à la même que la mienne, dans cette partie on peut voir que mon .Py a bien était rajouté, en bas faut n'aurai plus qu'a nommé votre étape et je vous conseille de toujours mètre un rapide descriptif de vos changements en dessus ce qui permettra de vous souvenir de ce qui a été fait et si jamais faut rajouter une personne dans votre projet, il pourra ainsi facilement suivre l'évolution du projet. Une fois que vous avez tout vérifié, il vous suffit d'appuyer sur le bouton Stage all Change. Puis sur Commit en bas.

Une fois que le Commit a été effectué, on remarque qu'il notre projet en local est bien au niveau de l'étape que l'on vient de faire, en dessous on peut où en est le repository BitBucket, pour mettre à jour notre repository il suffit d'appuyer sur le bouton Push pour l'envoyer sur le serveur.

Voila la synchronisation a donc été effectué et donc toute les modifications envoyées sur le serveur .

On va maintenant voir ce qu'il se passe quand on modifie les lignes de code de notre Python. Pour cela on va commencer en modifiant notre fichier Python.

# fonction compteur
def fonction1(stringtest):
    inty = 0
    into = 0
    while inty != len(stringtest):
        inty += 1
        into += 50
    print ("le nombre de lettres = ",inty , "b = ",  into)

# on lance les fonctions
stringtest2 = "Nunc molestie, leo in porttitor egestas, augue erat feugiat nisl, quis dapibus eros leo eleifend lorem.
 Fusce imperdiet id odio vel semper. Aliquam varius elementum magna, non facilisis ipsum molestie nec.
 Nunc eget justo rutrum, posuere orci at, aliquam tortor. Suspendisse at sem eu turpis ultrices eleifend.
 Praesent nec fermentum nunc. In hendrerit tortor eu dui venenatis faucibus. 
Etiam efficitur tellus eu velit porttitor, et ultricies dolor pellentesque. 
Integer consequat sit amet mauris tristique efficitur. Duis pulvinar turpis non urna posuere, non rhoncus dolor feugiat.
 Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed placerat eget tellus et faucibus.
 Nulla gravida lacus lorem. In at lacus tempus lacus tincidunt semper. Nulla sollicitudin venenatis convallis."
stringtest = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. 
Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam.
 Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat.
 Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. 
Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales.
 Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh.
 Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit."
text = stringtest + stringtest2
fonction1(text)

Maintenant allon voir ce qu il c'est passsé du coté de GitKraken.

Pour voir quelle modification on était apporté au fichier et suffit de cliquer sur l'étape au milieu puis sur le fichier à droite (orange pour les modifier, rouge supprimer et vert ajouter). Ensuite, vous devez avoir l'écran suivant qui apparait.

Sur cette page on peut donc voir le code qui a donc été modifier ou supprimer dans le fichier est en rouge, le code en vert est le code qui a été ajouté et celui en gris est celui qui n'a pas été modifié. Ensuite, il vous suffit de faire comme précédemment donc de rentrer un nom, une description, Stage all Changes , Commit puis Push pour le serveur .

Après vous avoir montré comment mettre à jour le serveur Bitbucket quand vous apportez des modifications au projet, on va donc voir comment utiliser GitKraken pour récupérer le projet par exemple quand on a loupé des étapes donc pour mettre à jour son repository sur son PC.

Comme vous pouvez le voir si la capture d'écran ci-dessus, notre repository en local n'est pas au même niveau que le projet sur notre serveur BitBucket , pour cela il vous suffit d'appuyer sur le bouton Pull en haut pour mettre à jour votre projet, cependant il arrive quelquefois que ça ne fonctionne pas surtout en équipe, pour cela il vous suffit de faire un clic droit, Reset master to This commit ensuite, je vous conseille de choisir Hard si vous voulez forcer la mise à jour (attention si vous avez fait des modifications non sauvegardé ça va les supprimer sinon Soft ou Mixed si vous voulez créer une branche et que vous êtes sûr qu'il n'y aura pas de soucis de compatibilité.

Maintenant votre projet sur votre pc devra être au même niveau que celui qui se trouve sur le serveur BitBucket.

Nous avons fait le tour des différentes fonctionnalités essentiels de GitKraken, cependant il en existe d'autre mais qu'ils ne sont malheureusement pas disponibles dans la version gratuite de GitKraken et que pour cet article j'ai utilisé un serveur pour sauvegarder le projet alors que vous pouvez faire que ce soit votre PC qui héberge le projet, cependant ceci n'est disponible que pour une seule personne, car sur la version gratuite on peut gérer que par un seul compte.

Conclusion

Comme on a pu le voit dans cet article, l'utilisation d'un logiciel de gestion de version est très importante dans la création de votre entreprise, en effet il permet d'avoir un suivi régulier de votre projet et ainsi facilité l'intégration d'une personne en plus dans votre équipe par exemple. Pour cela nous avons donc étudié le logiciel git, cependant nous avons pu voir qu'il est assez compliqué d'utilisation, c'est pourquoi nous avons donc décidé d'utiliser un logiciel qui permet d'avoir une interface graphique de git qui est GitKraken. Nous avons utilisé avec ce logiciel un service web qui permet d'héberger les fichiers de son projet. Il a donc été décidé d'utiliser BitBucket ensuite, on a ensuite effectué un tutoriel pour pourvoir utiliser GitKraken avec Bitbucket puis la présentation des principales fonctionnalités de GitKraken. Pour finir il est recommandable que vous appliquez un logiciel de gestion de version sur tous les projets que vous serez amené à utiliser qu'il soit personnel, scolaire ou professionnel .

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels