Que sont les logiciels de gestion de versions ?

Les logiciels de gestion de versions (VCS) sont indispensables pour effectuer un suivi des modifications apportées au code source et les gérer. Découvrez ci-dessous les points clés des trois types de logiciel de gestion de versions : le logiciel partagé, le logiciel centralisé et le logiciel en local.

Explications sur les logiciels de gestion de versions

La gestion de versions est le processus systématique de suivi et de gestion des mises à jour du code source et des ressources. Les logiciels de gestion de versions sont indispensables pour des flux de production efficaces, car ils sont considérés comme la source unique de vérité pour les programmeurs, les infographistes et les autres membres de l'équipe, tout en permettant à chacun de contribuer indépendamment à une base de code partagée. Ils agissent également comme un filet de sécurité, permettant « d'annuler » les mises à jour du code si une erreur fatale est introduite pendant le développement.

Des facteurs tels que la taille et la répartition géographique d'une équipe peuvent influencer le choix du logiciel de gestion de versions par les développeurs de jeu. Les développeurs individuels peuvent trouver qu'une solution locale est tout ce dont ils ont besoin pour rester sur la bonne voie, tandis que des équipes plus importantes doivent plutôt rechercher un logiciel de gestion de versions plus robuste et évolutif, qui leur permet de collaborer en fonction des différents fuseaux horaires et zones géographiques.

Pourquoi utiliser des logiciels de gestion de versions ?

Les logiciels de gestion de versions sont un élément central du DevOps, qui permet aux équipes de collaborer et d'itérer rapidement sur le code source d'un projet.

Le fait de travailler avec la gestion de versions permet d'avoir toujours une sauvegarde. Les mises à jour de projets individuelles sont réunies périodiquement dans un groupe unique, appelé « commit », avant d'être fusionnées dans le code source principal. Si une mise à jour provoque une erreur, il est possible de ramener le projet à une version antérieure et d'examiner le commit afin de diagnostiquer le problème.

Grâce à l'accès à un historique complet du projet et à la possibilité d'annuler les erreurs, les logiciels de gestion de versions simplifient le suivi des bugs et facilitent la restauration des fonctionnalités précédemment supprimées.

Logiciels de gestion de versions centralisés

Logiciels de gestion de versions partagés

Les logiciels de gestion de versions vous permettent d'enregistrer, de créer des branches et de fusionner sans vous connecter au serveur principal. Chaque contributeur travaille à partir d'un dépôt cloné stocké dans le cloud. Leur principal avantage est que les collaborateurs peuvent travailler séparément, à grande vitesse, sans se soucier de la lenteur des réseaux ou des VPN. Il est même possible de travailler sur un projet hors ligne, mais une connexion Internet est toujours nécessaire pour intégrer ou extraire des mises à jour.

Les logiciels de gestion de versions peuvent entraîner des temps d'attente conséquents si vous avez besoin de télécharger l'intégralité de l'historique de votre projet, en particulier pour les larges projets avec des historiques de modifications très étendus. Les studios travaillant avec des fichiers binaires volumineux doivent surveiller attentivement l'utilisation du stockage, car ces fichiers peuvent rapidement occuper un espace conséquent.

Les studios en recherche de flexibilité et de la possibilité d'augmenter leur productivité doivent envisager la gestion de versions partagée.

Logiciels de gestion de versions en local

Les logiciels de gestion de versions locaux sont la forme la plus simple de gestion de versions et ils sont généralement utilisés par des développeurs indépendants plutôt que par des équipes. Avec la gestion de versions en local, toutes les données du projet sont stockées sur un seul ordinateur et les modifications apportées aux fichiers du projet sont stockées sous forme de correctifs. Chaque correctif ne contient que les mises à jour intégrées depuis celui qui le précède. Si un problème survient avec une version spécifique de votre projet, vous devez examiner l'ensemble des correctifs pour reconstituer l'aspect des fichiers du projet à un moment précis, afin de diagnostiquer le problème.

Étant donné que les logiciels de gestion de versions sont liés à un seul ordinateur, ils sont par définition beaucoup moins flexibles que leurs équivalents partagés ou centralisés. La collaboration entre coéquipiers est compliquée et si la base de données est compromise, il peut être difficile, voire impossible, de restaurer les informations qui ont été perdues.

Généralement, il est préférable de commencer avec la gestion de versions en local, mais dès que vous commencez à évoluer (même en passant d'une seule personne à une équipe de deux), continuez plutôt à travailler sur votre projet de manière partagée ou centralisée.

Logiciels de gestion de versions partagés

Logiciels de gestion de versions centralisés

Les logiciels de gestion de versions centralisés utilisent un flux de production de validation et de lancement pour se connecter au serveur principal. Toute modification ou mise à jour du code source est automatiquement stockée dans le dépôt en tant que nouvelle version. Les logiciels de gestion de versions centralisés proposent des fonctionnalités de création de branches et de fusion performantes qui ne nécessitent aucun clonage du dépôt sur plusieurs machines. À cet égard, ce système est potentiellement plus sûr.

Les logiciels de gestion de versions centralisés nécessitent une connexion réseau. Étant donné que les équipes sont liées à une seule version du projet stockée sur un serveur, les interruptions de service peuvent entraîner des ralentissements conséquents. Un autre inconvénient de la gestion de versions centralisée est qu'elle n'est pas très flexible. Plus vous avez de développeurs qui contribuent à votre projet, moins il y a de possibilités d'effectuer des modifications dans un environnement stable, ce qui peut entraîner des problèmes tels que des conflits de fusion.

Si vous êtes intéressé par les logiciels de gestion de versions faciles à configurer et à utiliser, vous pouvez envisager de travailler avec un flux de production centralisé.

Logiciels de gestion de versions en local

Les logiciels de gestion de versions locaux sont la forme la plus simple de gestion de versions et ils sont généralement utilisés par des développeurs indépendants plutôt que par des équipes. Avec la gestion de versions en local, toutes les données du projet sont stockées sur un seul ordinateur et les modifications apportées aux fichiers du projet sont stockées sous forme de correctifs. Chaque correctif ne contient que les mises à jour intégrées depuis celui qui le précède. Si un problème survient avec une version spécifique de votre projet, vous devez examiner l'ensemble des correctifs pour reconstituer l'aspect des fichiers du projet à un moment précis, afin de diagnostiquer le problème.

Étant donné que les logiciels de gestion de versions sont liés à un seul ordinateur, ils sont par définition beaucoup moins flexibles que leurs équivalents partagés ou centralisés. La collaboration entre coéquipiers est compliquée et si la base de données est compromise, il peut être difficile, voire impossible, de restaurer les informations qui ont été perdues.

Généralement, il est préférable de commencer avec la gestion de versions en local, mais dès que vous commencez à évoluer (même en passant d'une seule personne à une équipe de deux), continuez plutôt à travailler sur votre projet de manière partagée ou centralisée.

Benefits of version control

Modification Tracking

Easily track modifications and merge across the project

File Comparison

Enables file comparison and identifies the differences between files

Troubleshooting

Easy troubleshooting due to the full archive of changes recorded within the VCS

Central Repository

The central repository allows seamless collaboration without impacting individual performance or code changes

File Sharing

Free up space and time by seamlessly sharing files with developers and stakeholders without having to constantly save copies of code adjustments

Distributed Development

Distributed development allows developers to work anywhere at their convenience

Version Control e-Book

Should you work centralized or distributed? Each has its advantages and disadvantages – learn which approach to version control will work best for your team in this free e-book.

Lectures similaires

Découvrez des ressources supplémentaires pour en savoir plus sur les logiciels de gestion de versions et les autres outils et processus DevOps.

Comparaison entre Agile et DevOps

Agile et DevOps ont les mêmes objectifs, à savoir apporter une valeur ajoutée au client grâce à des plannings de publication réguliers, mais ces méthodologies diffèrent légèrement dans leur approche. Découvrez comment elles peuvent fonctionner ensemble.

Principes DevOps

Tous les studios de jeux veulent accélérer la production tout en réduisant les contraintes, et DevOps est le meilleur moyen d'y parvenir. Commencez par apprendre les principes clés d'une méthodologie DevOps.

Les avantages de DevOps

La mise en œuvre des pratiques DevOps peut rationaliser votre pipeline de développement et faire le bonheur de votre équipe et de vos utilisateurs. Découvrez comment DevOps peut vous aider.

Gestion de versions pour le développement de jeux

Travaillez de manière distribuée et centralisée grâce au logiciel Unity de gestion des versions. Gérez de gros fichiers binaires grâce à des flux de production basés sur le classement et les modifications. Stockez le code source et les ressources, et effectuez le suivi des modifications avec un logiciel de gestion de versions sécurisé, conçu pour n'importe quel moteur.

Ce site utilise des cookies dans le but de vous offrir la meilleure expérience possible. Consultez notre politique de cookies pour en savoir plus.

Compris