JetBrains introduit également la prise en charge de la gestion du développement à distance dans JetBrains Space, sa solution tout-en-un pour les équipes et les projets de développement logiciel, afin de permettre la gestion automatisée des environnements de développement à distance sous forme de machines virtuelles dans le cloud. Space maintient votre code à jour et vos dépendances prêtes, compilées et indexées ; afin que vous puissiez vous connecter et commencer à travailler en quelques secondes.
Développement à distance pour les EDI JetBrains
Le développement à distance par JetBrains
Le développement à distance permet de vous connecter à un serveur existant via une connexion SSH. L’EDI est installé en tant que service de backend, où il charge les projets sans afficher d’interface utilisateur. Un client léger s’exécute localement, se connecte à ce backend d’EDI et fournit une interface utilisateur complète et fonctionnelle ; comme si l’EDI s’exécutait localement, bien que tout le traitement soit effectué sur le serveur distant.
L’ensemble de ce processus est géré par JetBrains Gateway, une nouvelle application autonome et compacte qui vous fournit tout ce dont vous avez besoin pour démarrer avec le développement à distance. Gateway est également fourni en tant que plugin avec un certain nombre d’EDI JetBrains.
Le Client JetBrains fonctionne localement et fournit l’interface utilisateur pour le backend de l’EDI. Il est basé sur la plateforme IntelliJ et se comporte comme un EDI complet basé sur IntelliJ : il dispose des mêmes outils d’édition, de saisie semi-automatique du code, de navigation, d’inspection et de refactorisation qu’un EDI local, mais tous les fichiers sont hébergés à distance et l’ensemble du traitement du langage est effectué sur le serveur distant.
Le développement à distance est un excellent moyen d’utiliser de puissants serveurs basés sur le cloud, de créer des environnements de développement reproductibles et propres, et d’éviter les désagréments de la perte d’un PC portable contenant un code source important.
EDI pris en charge et licences
Le développement à distance est inclus dans le cadre d’un abonnement payant existant. Il est intégré à la plateforme IntelliJ sur laquelle reposent les EDI de JetBrains. JetBrains Gateway est intégré à IntelliJ IDEA Ultimate, PyCharm Professional, GoLand, PhpStorm et RubyMine. Vous pouvez également l’utiliser via l’application autonome JetBrains Gateway avec CLion, DataSpell et WebStorm. Il est prévu d'ajouter la prise en charge d’un plus grand nombre d’EDI dans les prochaines versions.
Vous pouvez télécharger la version 2021.3 de votre EDI préféré basé sur IntelliJ (quand elle sera disponible) ou essayer l’application autonome JetBrains Gateway pour commencer à développer à distance.
Les environnements de développement dans le cloud de JetBrains Space
L'idée principale derrière les solutions de développement à distance pour les EDI JetBrains est de vous aider à dépasser les limites des machines locales ou des ordinateurs portables lents et de vous permettre de travailler plus efficacement, de gagner du temps et de contribuer davantage aux projets. C’est dans ce but que JetBrains a décidé de séparer le frontend et le backend de l’EDI. Le seul logiciel installé sur votre machine locale est un client qui permet d’afficher l’interface utilisateur de l’EDI et de communiquer avec un backend distant.
Le backend distant se charge de toutes les opérations gourmandes en ressources avec le code source, comme la création d’index et d’arborescente syntaxique, saisie semi-automatique du code, refactorisation, etc.
Que pouvez-vous utiliser comme backend distant ? Il existe plusieurs possibilités, mais en toute logique, JetBrains semble être le plus à même d’offrir la meilleure prise en charge possible pour les backends distants de ses EDI. C’est pourquoi l'entreprise propose maintenant des environnements de développement cloud dans JetBrains Space.
Avec les environnements de développement de Space, vous pouvez créer un processus de développement à distance qui vous permettra :
- d’accélérer l’intégration des nouveaux membres de votre équipe grâce à des environnements standardisés ;
- de disposer d’un EDI prêt à l’emploi en quelques secondes grâce aux instantanés prédéfinis ;
- de centraliser la gestion de vos environnements de développement ;
- d’économiser des ressources grâce à la mise en veille automatique des environnements de développement ;
- de travailler sur plusieurs tâches simultanément ;
- de collaborer sur le code avec les membres de votre équipe.
Qu’est-ce qu’un environnement de développement ?
Un environnement de développement est une machine virtuelle dédiée avec un conteneur Docker qui a accès au code source du projet et fournit des composants de backend à votre éditeur de code local. Le conteneur est hébergé par le même moteur qui celui qui est utilisé dans Space Automation.
Pourquoi choisir Space pour le développement à distance ?
JetBrains a créé Space, sa solution de travail collaboratif tout-en-un pour les équipes de développement et projets logiciels, pour vous permettre de prendre en charge l’ensemble du cycle de développement, de l’hébergement des dépôts Git à la publication des paquets, en passant par l’automatisation des pipelines de CI/CD. Pour vous aider à gérer vos workflows de développement logiciel à distance, Space vous permet désormais de gérer automatiquement les environnements de développement à distance en tant que machines virtuelles dans le cloud.
Un pipeline de développement à distance complet élaboré par JetBrains
Avec Space, vous pouvez configurer, lancer, reproduire et gérer des environnements de développement, vous connecter à votre EDI JetBrains et commencer à coder en quelques secondes. IntelliJ IDEA Ultimate et Fleet, l’EDI nouvelle génération par JetBrains, prennent déjà en charge le développement à distance avec les environnements de développement Space. PyCharm, GoLand, WebStorm, CLion et d’autres EDI JetBrains le feront aussi bientôt.
Une solution économique
Space vous aide à optimiser les coûts de fonctionnement de vos environnements de développement à distance en fournissant des machines virtuelles adaptées à la taille et la complexité de vos projets et en mettant automatiquement en veilles les environnements inactifs après 30 minutes.
Assurer la sécurité de votre code
Toutes les machines virtuelles exécutant des espaces de travail pour coder sont isolées les unes des autres et une machine virtuelle ne peut pas exécuter plus d’un environnement. Les réseaux virtuels des environnements de développement sont également isolés. Vous pouvez traiter votre environnement de développement comme une branche Git éphémère et éviter les perturbations liées à la maintenance d’un environnement de développement local permanent. L’environnement de développement peut être simplement supprimé lorsque vous avez terminé.
Un système d’authentification et d’autorisations flexible
Avec la configuration flexible des autorisations en fonction de chaque projet, il vous suffit d’indiquer les personnes autorisées à utiliser et à gérer les espaces de codage pour votre projet.
Que peut-on déjà trouver dans les environnements de développement de Space ?
Environnements reproductibles préconfigurés
Les environnements de développement fonctionnant dans des conteneurs Docker, vous pouvez installer tous les outils et bibliothèques nécessaires à votre projet à l’aide d’un Dockerfile. Si aucun fichier ./.fleet/Dockerfile n’est présent dans votre projet, Space utilisera l’image de conteneur par défaut. Cela permet de s’assurer que les environnements de développement sont harmonisés au sein de l’équipe et de simplifier l’expérience d’intégration des nouveaux développeurs. Ils peuvent commencer à développer presque immédiatement car ils n’ont pas à préparer leur machine locale pour le projet.
Préparation de vos environnements de développement
Space permet au backend d’être pleinement opérationnel en clonant le référentiel Git, en créant les index du projet et en résolvant les dépendances à votre place. Vous aurez l’impression que quelqu’un est venu au bureau une heure avant vous, a allumé votre ordinateur, a ouvert le projet dans l’EDI et a tout préparé pour vous. Vous pouvez donc démarrer votre journée en beauté et commencer à travailler dans un EDI prêt à 100 %. La préparation est effectuée avec l’aide de Space Automation. Ajoutez un job de préparation au fichier .space.kts du projet, placez-y les scripts de préparation requis et exécutez-le. Vous pouvez même le configurer pour qu’il s’exécute quotidiennement.
Partager un environnement de développement
Vous pouvez envoyer un lien vers l’environnement de développement à vos collègues afin qu’ils puissent l’ouvrir dans leur EDI, regarder votre code, l’exécuter et le déboguer (actuellement disponible uniquement avec Fleet).
Veille des environnements de développement
Si un environnement de développement n’est pas utilisé pendant plus de 30 minutes, il est automatiquement mis en veille. Le conteneur est arrêté et la machine virtuelle correspondante est libérée. Toutes les modifications non sauvegardées sont enregistrées dans le stockage de l’environnement de développement. Dès que vous êtes prêt à travailler à nouveau, l’environnement peut être restauré avec exactement le même stockage. La mise en veille de l’environnement de développement permet d’éviter les coûts pour des ressources inutilisées.
Prise en charge des EDI JetBrains
Deux options sont déjà disponibles. L'une d'entre elles est IntelliJ IDEA avec JetBrains Gateway (peut être installé via la Toolbox App). IntelliJ IDEA est installé localement et se connecte à un environnement de développement en utilisant le lanceur JetBrains Gateway. Dans la version initiale, seul IntelliJ IDEA est pris en charge par les environnements de développement de Space. La prise en charge d’autres EDI basés sur IntelliJ est en cours, alors restez à l’écoute des mises à jour.
La seconde option est JetBrains Fleet (disponible en accès anticipé), l'EDI nouvelle génération de JetBrains. Développé à partir de zéro, Fleet utilise le moteur de traitement du code d’IntelliJ, avec une architecture d’EDI distribuée et un nouveau concept d’interface utilisateur. Les workflows à distance et collaboratifs occupent une place de premier ordre dans Fleet.
Adaptabilité
Pour optimiser vos coûts, JetBrains propose trois types d’instance en fonction de la taille de votre projet : Regular (4 cœurs CPU, 8 Go de RAM), Large (8 cœurs CPU, 16 Go de RAM) ou Extra Large (16 cœurs CPU, 32 Go de RAM).
Qu’est-ce qui est prévu par la suite ?
Prise en charge d’un plus grand nombre d’EDI
En plus d’IntelliJ IDEA Ultimate et Fleet, JetBrains prévoit également la prise en charge de PyCharm, GoLand, WebStorm, CLion et d’autres EDI JetBrains basés sur IntelliJ.
Partage d’environnement de développement pour les développeurs d’applications web
Supposons que vous développiez une application web et que vous vouliez qu’un membre de votre équipe teste vos dernières modifications. Normalement, si vous développez une application sur votre machine locale, vous devez effectuer un commit et un push des modifications, et préparer un environnement de pré-production dans votre réseau local. Avec les environnements de développement, il vous suffit de créer et d’exécuter l’application. Vous pouvez ensuite créer un lien partageable, et toute personne ayant ce lien peut accéder à l’application web sans authentification.
Prise en charge de plusieurs référentiels Git
Actuellement, un environnement de développement ne peut travailler qu’avec un seul référentiel de projet.
Autres fonctionnalités
- Options de partage avancées avec prise en charge de différents flux d’invitation et d’une liste de collaborateurs/ invités.
- Provisionnement de secrets d’utilisateur pour les environnements de développement.
- Prise en charge du format Devfile pour décrire l’espace de travail de l’environnement de développement.
- Prise en charge de plusieurs référentiels Git.
- Gestion des ressources de l’environnement de développement au niveau de l’organisation et des projets, avec prise en charge des quotas de ressources.
- Environnements de développement sur site.
- Audit de sécurité et autres fonctionnalités.
Comment commencer à développer avec des environnements de développement cloud
Pour commencer à développer avec des environnements de développement cloud, il est nécessaire d’installer JetBrains Fleet ou JetBrains Gateway sur votre machine et d’avoir un projet hébergé dans Space.
Installer JetBrains Fleet ou JetBrains Gateway pour commencer à faire du développement à distance