La gestion de versions porte bien son nom : elle permet aux équipes de développement d'identifier la version principale d'un projet ou d'un référentiel de données, tout en bénéficiant du suivi et de l'horodatage des différentes versions existantes.
Les systèmes de gestion des versions sont parfaits pour suivre et maintenir des codes bases complets en s'affranchissant des étapes copier, coller, zipper et envoyer par e-mail que la plupart des concepteurs de circuits imprimés connaissent bien.
Ces systèmes facilitent également le clonage des projets et la création d'un historique des révisions à partir d'un référentiel de code.
Si vous êtes concepteur de matériel, comment pouvez-vous tirer parti des systèmes de gestion de versions pour votre projet ? Les systèmes externes imposent une étape supplémentaire dans votre flux de travail, puisque les fichiers doivent être extraits, modifiés et les révisions validées dans la gestion de version.
Les utilisateurs d'Altium Designer peuvent profiter des fonctionnalités de synchronisation d'Altium 365 pour les aider à refléter leur système de gestion de version sur une plateforme cloud gérée.
Les utilisateurs peuvent également migrer leur référentiel SVN ou Git externe vers le système de contrôle de version d'Altium 365.
Après avoir discuté de ce sujet avec plusieurs concepteurs, j'ai constaté que les grandes entreprises disposent de moyens intéressants pour cataloguer et organiser leurs projets, leurs documents associés aux circuits imprimés, leurs schémas, leurs bibliothèques et toutes les informations nécessaires aux projets de conception de PCB.
Les deux méthodes les plus courantes pour organiser les données de conception sont probablement par projet ou par type de fichier et numéro de pièce/projet. Dans tous les cas, lorsqu'aucun système de gestion de versions n'est mis en place, une équipe conserve généralement quelque part un grand nombre de projets dans un dossier.
Dans certains cas, il peut s'avérer judicieux de placer vos projets hardware et de PCB dans un système de gestion de versions :
Les systèmes de gestion de versions permettent de simplifier toutes ces tâches et l'équipe de conception de PCB doit simplement choisir le système à utiliser. Les utilisateurs d'Altium Designer peuvent se servir du référentiel Git intégré dans Altium 365.
Le système de gestion de versions interne d'Altium 365 est intéressant parce qu'il permet de synchroniser et d'ouvrir directement dans Altium Designer tous les projets concernés par la gestion de versions. Aucun processus manuel de vérification des fichiers n'est nécessaire, et la synchronisation des révisions de projet s'effectue dans Altium 365 en quelques clics. De plus, chaque élément d'un projet de circuit imprimé peut être synchronisé et migré dans Altium 365.
Cependant, il est parfois important de conserver un système de gestion de versions externe. Les projets de conception de circuits imprimés peuvent être très complexes et aller bien au-delà de la carte du circuit imprimé, impliquant de la mécanique, de nombreux documents, du code pour les logiciels/micrologiciels embarqués et d'autres éléments essentiels qui ne sont pas encore des objets gérés dans Altium 365.
Une entreprise peut aussi traiter des données privilégiées pour une conception sans être autorisée à les stocker sur un serveur qu'elle ne contrôle pas directement. Dans ce cas, il est logique de ne synchroniser que les données du projet de circuit imprimé concerné, et de conserver les autres dans le référentiel externe.
Si vous avez déjà utilisé Altium Designer avec un système de gestion de versions, vous avez peut-être remarqué la présence d'un dossier «.git» masqué dans les dossiers de votre projet. Ce dossier permet d'indiquer à Altium Designer qu'un système de gestion de versions est actif pour ce projet.
Dès que ce dossier .git est reconnu dans un dossier de projet, Altium Designer passe en mode Simple Sync et se prépare à se synchroniser avec Altium 365
Il existe plusieurs options de synchronisation avec la gestion de versions localement.
Créez le fichier .git en local à l'aide des entrées de ligne de commande Git Bash suivantes à partir de votre dossier de projet :
Utilisez TortoiseGit ou un autre outil pour créer le dossier local .git.
Utilisez la commande «Make Available Online» (rendre disponible en ligne) dans le panneau "Projets".
À l'ouverture du projet dans Altium Designer, la présence du fichier .git déclenchera Simple Sync. Vous pouvez ensuite utiliser les commandes Push et Commit standard pour référencer le projet dans la gestion de versions formel d'Altium 365.
L'utilisation d'outils de gestion de versions externes permet de créer les référentiels localement par lots. Ils peuvent être synchronisés à nouveau dans l'espace de travail d'Altium 365 si nécessaire.
Lorsqu'un projet géré est ouvert dans Altium Designer, les fichiers sont extraits de la gestion de versions interne ou externe de la même manière.
Cette solution est particulièrement adaptée aux entreprises qui disposent d'importants volumes de données dans une gestion de versions externe, car elles peuvent garantir la synchronisation de leurs projets Altium avec leur système de gestion de versions principal.
Toutefois, plusieurs possibilités s'offrent à vous si vous souhaitez migrer entièrement vers le système de gestion de versions d'Altium 365.
Le moyen le plus simple de désactiver la gestion de versions pour le projet est de supprimer le fichier .git dans votre dossier de projet. Malheureusement, cette méthode supprime également tout l'historique des révisions, et ne constitue donc pas la solution la plus propre pour extraire un projet de votre système de gestion de versions externe.
Une fois que vous avez extrait le projet de votre système externe, vous pouvez immédiatement l'ajouter au système de gestion de versions interne d'Altium 365 avec les options énumérées précédemment.
La meilleure option est probablement d'utiliser le Project Packager :
Le Project Packager créera un aperçu de votre projet, sans données de gestion de versions. Il supprimera également tous les liens vers le projet s'il était auparavant disponible dans votre espace de travail.
Vous pouvez maintenant supprimer le projet de l'ancien référentiel ou même abandonner le référentiel. Ce référentiel peut aussi être conservé pour d'autres utilisations pertinentes pour votre projet, mais qui n'impliquent pas de tâches dans Altium Designer.
Enfin, si vous êtes plus aventureux et que vous souhaitez une synchronisation complète avec les systèmes de gestion de versions, vous devrez créer un script qui effectue la mise en miroir.
Ari Mahpour a pris le temps de rédiger d'excellents articles sur la création d'un workflow basé sur Git pour les utilisateurs d'Altium Designer :
De plus, tout ce qui précède a été discuté dans le cadre de Git, mais vous pouvez créer des référentiels SVN gérés avec la gestion de versions. Lisez ce guide disponible (en anglais) dans la documentation pour en savoir plus.
Grâce à la plateforme Altium 365™, les fabricants et les concepteurs de circuits imprimés peuvent désormais très facilement partager les données des projets et collaborer.
Les équipes de conception de circuits imprimés peuvent utiliser les fonctionnalités de gestion des versions pour gérer les données de conception et tout s'intègre aux outils de conception de classe mondiale d'Altium Designer®.
Altium 365 vous permet de partager les données de vos projets avec d'autres concepteurs, fabricants et clients dans un environnement sécurisé.
Tout cela n'est qu'un aperçu des possibilités offertes par Altium Designer sur Altium 365. Vous pouvez consulter la page produit pour obtenir une description plus détaillée des fonctionnalités ou visionner l'un des webinaires à la demande.