News

Découvrez le développement à distance avec Space

Read this post in other languages:

Découvrez le développement à distance avec JetBrains Space

Vous avez peut-être déjà entendu parler de cette nouveauté : des solutions de développement à distance pour les IDE JetBrains.

L’idée principale 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 nous avons décidé de séparer le frontend et le backend de l’IDE. Le seul logiciel installé sur votre machine locale est un client qui permet d’affiche l’interface utilisateur de l’IDE 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 nous pensons être les plus à même d’offrir la meilleure prise en charge possible pour les backends distants de nos IDE. C’est pourquoi nous proposons 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 IDE 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.

Lisez ce qui suit pour en savoir plus sur les environnements de développement de Space et sur la manière de les utiliser.

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. Lisez cet article pour en savoir plus sur son fonctionnement.

Space cloud dev environments

Pourquoi choisir Space pour le développement à distance ?

Nous avons créé Space, notre 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 IDE JetBrains et commencer à coder en quelques secondes.

IntelliJ IDEA Ultimate et Fleet, l’IDE 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 IDE JetBrains le feront aussi bientôt.

Lisez cet article de blog pour en savoir plus sur les solutions de développement à distance de JetBrains.

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. En savoir plus sur les plans tarifaires des environnements de développement et les types de machines virtuelles disponibles.

Assurez 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.

Active Space dev environment
  • 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’IDE et a tout préparé pour vous. Vous pouvez donc démarrer votre journée en beauté et commencer à travailler dans un IDE 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. Lisez cet article pour apprendre comment préparer un environnement de développement.

Space dev environment warmup snapshot

  • 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 IDE, regarder votre code, l’exécuter et le déboguer (actuellement disponible uniquement avec Fleet).

Sharing a Space dev environment
  • 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.

Space dev environment hibernation
  • Prise en charge des IDE JetBrains

Deux options sont déjà disponibles :

  • 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 IDE basés sur IntelliJ est en cours, alors restez à l’écoute des mises à jour.
  • JetBrains Fleet (disponible en accès anticipé) : l’IDE nouvelle génération par JetBrains. Développé à partir de zéro, Fleet utilise le moteur de traitement du code d’IntelliJ, avec une architecture d’IDE distribuée et un nouveau concept d’interface utilisateur. Les workflows à distance et collaboratifs occupent une place de premier ordre dans Fleet.
JetBrains Fleet
  • Adaptabilité

Pour optimiser vos coûts, nous proposons 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’IDE

En plus d’IntelliJ IDEA Ultimate et Fleet, nous prévoyons également la prise en charge de PyCharm, GoLand, WebStorm, CLion et d’autres IDE 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

Il vous suffit d’installer JetBrains Fleet ou JetBrains Gateway sur votre machine et d’avoir un projet hébergé dans Space. Suivez ces instructions détaillées pour :

Start developing remotely with Space and JetBrains IDEs

Si vous rencontrez des problèmes avec les environnements de développement de Space, veuillez contacter notre équipe d’assistance en soumettant une demande sur notre site web.

Que pensez-vous des environnements de développement de Space ? Donnez votre avis et laissez vos commentaires ci-dessous.

Auteur de l’article original en anglais :

Delphine Massenhove

Valerie Andrianova

image description

Discover more