Raccourci

Un environnement de développement intégré, qu'est-ce que c'est ?

Copier l'URL

Un environnement de développement intégré, ou IDE, est un logiciel de création d'applications, qui rassemble des outils de développement fréquemment utilisés dans une seule interface utilisateur graphique (GUI). Un IDE se compose habituellement des éléments suivants :

  • Éditeur de code source : un éditeur de texte qui aide à la rédaction du code logiciel, avec des fonctions telles que la coloration syntaxique avec repères visuels, la saisie automatique en fonction du langage et la vérification de bogues dans le code pendant la rédaction.
  • Utilitaires d'automatisation de version locale : des utilitaires qui permettent d'automatiser des tâches simples et reproductibles lors de la création d'une version locale du logiciel à destination du développeur lui-même, par exemple la compilation du code source en code binaire, la mise en paquet du code binaire et l'exécution de tests automatisés
  • Débogueur : un programme qui permet de tester d'autres programmes en affichant l'emplacement des bogues dans le code d'origine

Il existe de nombreux cas d'utilisation techniques et métier pour les IDE, ce qui signifie qu'il existe de nombreux IDE propriétaires et Open Source sur le marché. Voici les critères qui permettent généralement de différencier les IDE :

  • Nombre de langages pris en charge : certains IDE sont réservés à un langage et représentent donc le meilleur choix pour un modèle de programmation spécifique. IntelliJ, par exemple, est principalement un IDE Java. D'autres IDE prennent en charge une grande variété de langages. Par exemple, l'IDE Eclipse prend en charge les langages Java, XML, Python, etc.
  • Systèmes d'exploitation pris en charge : le système d'exploitation du développeur limite le choix de l'IDE (sauf s'il s'agit d'un IDE cloud). De même, si l'application est développée pour un système d'exploitation spécifique (tel qu'Android ou iOS), le choix de l'IDE peut être limité.
  • Fonctions d'automatisation : si la plupart des IDE comprennent les trois fonctions clés (édition de texte, automatisation des versions et débogage), de nombreux IDE comprennent également des fonctions supplémentaires telles que le réusinage de code, la recherche de code et les outils d'intégration et de déploiement continus (CI/CD).
  • Effets sur les performances du système : l'empreinte mémoire d'un IDE peut être un élément important à prendre en compte si un développeur souhaite exécuter d'autres applications qui consomment de la mémoire en parallèle.
  • Plug-ins et extensions : certains IDE permettent de personnaliser les workflows pour les adapter aux besoins et aux préférences du développeur. 

IDE de développement mobile

Quasiment tous les secteurs ont été affectés par l'utilisation croissante des applications conçues pour les smartphones et les tablettes. De nombreuses entreprises se sont ainsi tournées vers le développement d'applications mobiles en plus des applications web traditionnelles. Le choix de la plateforme est un des facteurs clés du développement d'applications mobiles. Par exemple, si une nouvelle application doit pouvoir être utilisée sur un appareil iOS, Android, ainsi que sur une page web, il sera sans doute plus judicieux de commencer avec un IDE capable de prendre en charge plusieurs plateformes pour différents systèmes d'exploitation. 

IDE cloud

Les IDE disponibles sous la forme d'un SaaScloud offrent de nombreux avantages par rapport aux environnements de développement locaux. Tout d'abord, avec une offre SaaS, il n'y a pas besoin de télécharger de logiciel ni de configurer des dépendances et environnements locaux. Les développeurs peuvent ainsi contribuer rapidement aux projets. Ce type d'offre permet également de standardiser les environnements des membres de l'équipe, et donc d'éliminer les problèmes récurrents de compatibilité entre les différentes machines. De plus, puisque l'environnement de développement est géré de manière centralisée, aucun code n'est hébergé sur l'ordinateur personnel des développeurs. Les éventuels problèmes de propriété intellectuelle et de sécurité sont ainsi évités. 

L'effet des processus sur les machines locales est également différent. Les processus comme l'exécution de versions et les tests de suites demandent généralement une grande puissance de calcul. Aussi, les développeurs ne peuvent souvent pas utiliser leur poste de travail pendant l'exécution de telles tâches. Un IDE de type SaaS permet de traiter des tâches qui durent longtemps sans monopoliser les ressources de calcul d'une machine locale. De plus, les IDE cloud ne dépendent pas d'une plateforme, ce qui permet de se connecter à différents fournisseurs de cloud.

Événements développeurs

Knative Serverless Deep Dive

Lors de cette session le mardi 14 décembre, nous vous montrerons, entre autres, les principes de base des diagrammes Helm et ocmment installer, mettre à niveau et désinstaller les diagrammes Helm dans Kubernetes. 

DevNation: The Show

Rejoignez la DevNation un jeudi sur deux pour une heure de chat en direct sur tout ce qui concerne Kubernetes, Java et Linux.

Keep reading

Article

L'intégration, qu'est-ce que c'est ?

Vous souhaitez savoir en quoi consiste l'intégration ? Découvrez ce que c'est, comment l'adopter et pourquoi elle est plus efficace avec des solutions Open Source.

Article

Apache Kafka, qu'est-ce que c'est ?

Apache Kafka est une plateforme distribuée de diffusion de données en continu, capable de publier des flux d'enregistrement en temps réel, de les stocker, de les traiter et d'y souscrire.

Article

Une API, qu'est-ce que c'est ?

Une API, ou interface de programmation d'application, est un ensemble de définitions et de protocoles qui facilite la création et l'intégration de logiciels d'applications.

En savoir plus sur l'intégration

Produits

Ensemble complet de technologies d'intégration et de messagerie.

Un ensemble de produits, d'outils et de composants qui facilitent le développement et la maintenance des applications cloud-native.

Un ensemble de produits pour automatiser les décisions et processus métiers de manière intelligente. Comprend Red Hat Decision Manager, Red Hat Process Automation Manager et Red Hat Runtimes.

Services gérés et hébergés de plateforme, d'applications et de données qui rationalisent l'expérience dans le cloud hybride, réduisant ainsi les coûts d'exploitation et la complexité liés à la distribution des applications cloud-native.

Ressources

Livre numérique

Créer une infrastructure agile et renforcer la capacité d'adaptation de l'entreprise

Formations

Cours gratuit

L'intégration agile avec Red Hat : présentation technique