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
À quoi sert un IDE ?
Au fil du processus d’écriture, de création et de test du logiciel, les développeurs utilisent une large variété d’outils. Les éditeurs de textes, bibliothèques de code, logiciels de détection de bugs, compilateurs et autres plateformes de tests comptent parmi les outils les plus couramment employés.
Ainsi, les développeurs n’ont plus besoin de passer des heures à apprendre à utiliser ces outils séparément. C’est particulièrement utile pour les débutants, qui peuvent apprendre les différents outils et pratiques d’une équipe en usant d’un IDE.
D’autres fonctionnalités des IDE aident les développeurs à simplifier leur workflow. Les problèmes sont identifiés en temps réel, et les soucis de syntaxe sont mis en lumière visuellement.
Quelles sont les fonctionnalités des IDE ?
IDE populaires
Dans l’écosystème Microsoft (.NET, C#, VB.Net, C++/CX), l’IDE attitré est Visual Studio. A noter que l’outil ne se limite pas à ces langages puisque dans sa version 2015 l’outil supporte le HTML et JavaScript, ou encore Python (via des extensions). Il permet de développer jusqu’à des applications iOS et Android (en fait il ne s’agit pas de développer en Objective-C ou en Java mais bien dans les langages supportés par VS puis de les exporter en les convertissant dans ces langages cibles). Team Foundation Server est un outil connexe à VS qui permet de collaborer sur un code, de le partager entre équipes et d’assurer le suivi des travaux.
Dans l’écosystème Java, l’EDI le plus populaire est Eclipse (de la fondation Apache). On citera également NetBeans (de Sun racheté par Oracle) ou encore la solution propriétaire d’Oracle, JDeveloper. Là encore, ces EDI ne se limitent pas au seul Java mais sont particulièrement adaptés à ce langage. IntelliJ IDEA est également une alternative populaire qui est à la base de l’outil de développement mobile officiel de Google, Android Studio.
Dans les IDE destinés au développement web l’IDE historique est DreamWeaver de Adobe. Mais la plupart des IDE supportent aujourd’hui le HTML/CSS/JavaScript. Et des outils comme Eclipse et NetBeans sont aussi adaotés pour le PHP.
IDE Cloud
La mode du Cloud touche également les environnements de développement puisque plusieurs éditeurs de code en ligne (en SaaS) sont apparus. Parmi eux, celui de Mozilla (Thimble, pour HTML/CSS/JS) ou Cloud9 (qui supporte 40 langages dont PHP, Ruby, Python, JavaScript, Go) font figure de pionniers. Mais la tendance reste à confirmer et leurs usages semblent rester anecdotiques.
Il existe évidemment bien d’autres EDI, et leur liste ne cesse d’évoluer en fonction des nouvelles technologies mais les « têtes d’affiches » (Eclipse, Visual Studio, Xcode) résistent bien au temps.
Types d’IDE fréquemment utilisés
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.
Cet Article est utile ? Votez