Versioning : En quoi ça consiste ? Comment s’en servir ?

-
3
 m de lecture
-

Lors du développement d’un projet informatique, il est nécessaire d’utiliser un outil de versioning. Cet outil vous permet d’historiser les changements, de collaborer efficacement et d'assurer le maintien d’un code fonctionnel.

Qu'est-ce que le versioning ?

Le versioning est l’enregistrement de chaque modification apportée à un ou plusieurs fichiers. Il joue un rôle crucial dans la gestion des projets, en particulier dans les domaines du développement logiciel et du design numérique. Ce processus permet aux équipes de travailler de manière plus coordonnée, en offrant la possibilité de revenir à des versions antérieures d’un fichier en cas d’erreur ou de décision de changer de direction. En outre, le versioning facilite la collaboration en permettant à plusieurs utilisateurs de modifier différents aspects d’un projet sans risque de conflit ou de perte de données importantes.

À quoi sert de "versioner" son code ?

Le principe du versioning apporte de nombreux avantages. Tout d’abord, la compréhension de l’évolution du code suivant les défis relevés ou simplement suivant l’objectif à atteindre est facilitée grâce à la possibilité d’ajouter un commentaire associé à chaque modification.

Le versioning ne s’arrête pas à l’historisation de fichiers, cela fluidifie la collaboration entre développeurs en leur offrant la possibilité de travailler sur leurs versions personnelles en parallèle. Cette fonctionnalité des outils de versioning assure l’isolement du développement de nouvelles fonctionnalités ou de réparation de bug afin d’éviter la pollution la dernière version fonctionnelle du code. Et enfin, le versioning ajoute la capacité à retourner en arrière si les dernières modifications ne conviennent pas.

Les outils

Plusieurs outils vous permettent de gérer les versions de vos fichiers, les principaux sont SVN, CVS et GitHub. Nous détaillerons les fonctionnalités de ce dernier qui est communément utilisé.

GitHub

Introduction

GitHub est un outil open-source qui est utilisé pour sauvegarder et traquer les changements apportés vos codes et fichiers. Mais ce n’est pas tout, il est beaucoup utilisé par les équipes de développeurs grâce à ces fonctionnalités de collaboration. Après la création de votre compte sur GitHub, vous avez la possibilité de créer des répertoires, publics ou privés, afin d’y stocker vos fichiers.

Historisation des changements

Une fois GitHub installé sur votre ordinateur, vous pouvez initialiser un dossier connecté à GitHub. Ce dossier et les fichiers qu’il contient alimentent le répertoire préalablement créé sur GitHub. Vous pouvez ajouter, modifier ou supprimer des fichiers du répertoire en question. Les modifications ne sont pas enregistrées à chaque action, c’est vous qui déclenchez manuellement l’enregistrement des changements. À chaque enregistrement, une nouvelle version du dossier est créée qui vous permettra d’historiser vos modifications et servira de checkpoint afin de revenir en arrière si nécessaire.

Les branches

Pour assurer la stabilité du code, il est essentiel de ne pas polluer la dernière version fonctionnelle du code. Pour cela, GitHub a introduit le principe de <<branches>>. Lors de la création de votre répertoire, une branche est initialement présente, il s’agit de la branche <<main>> ou <<master>>. Le développement d’une nouvelle fonctionnalité peut prendre un certain temps, et après la finalisation de celle-ci, il faut la tester. Vous pouvez créer une branche à partir de la branche main (ou master) qui sera une copie parfaite de la branche main. Cela vous permet d’isoler votre développement du code fonctionnel. Voici, un schéma pour vous aider à comprendre :

Les branches ont 2 principales fonctions :

  • assurer la stabilité du code lors d’une phase de développement que ce soit l’ajout d’une fonctionnalité ou la réparation d’un bug ;
  • permettre la collaboration de plusieurs développeurs au sein du même projet.

Conclusion

Le versioning a pour objectif de garder une trace de chaque modification apportée à un code afin d’améliorer l’application qui en dépend sans perturber cette dernière. Il s’agit d’une pratique qui s’inscrit dans les principes DevOps dont le but est le développement rapide et efficace d’applications et de fonctionnalités. Ces principes DevOps sont de plus en plus courants dans les métiers de la Data. Si vous êtes curieux de ce riche univers, je vous invite à suivre ce lien pour découvrir nos formations.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?