Environnement de développement intégré

Restez toujours informé : suivez-nous sur Google (☆)

Introduction

Un environnement de développement intégré (EDI ou IDE en anglais pour Integrated Development Environment) est un programme regroupant un ensemble d'outils pour le développement de logiciels.

En règle générale, un EDI regroupe un éditeur de texte, un compilateur, des outils automatiques de fabrication, et souvent un débogueur.

Bien que des EDI pour plusieurs langages existent, bien souvent (surtout dans les produits commerciaux) un EDI est dédié à un seul langage de programmation.

On peut également trouver dans un EDI un système de gestion de versions et différents outils pour faciliter la création de l'interface graphique (GUI en anglais pour Graphical User Interface).

Historique

Un EDI est seulement concevable quand le développement est fait assis devant une sorte de console d'ordinateur. Donc beaucoup de « vieux » langages n'en ont pas eu, car le développement était fait avec des organigrammes, des formulaires de codification et des cartes perforées soumises à l'ordinateur. Le premier langage qui a été créé avec un EDI fut le Dartmouth BASIC en 1964, le premier langage conçu pour être utilisé devant un terminal d'ordinateur. Cet EDI était basé sur des commandes, contrairement aux EDI modernes qu'on utilise par menus.

Dans le cas des langages qui avaient vu le jour avec le vieux système de développement sur cartes perforées, les EDI avaient été conçus comme une interface graphique au système de construction de programme par makefile, aussi les fichiers de configuration furent ajoutés. Les makefiles décrivent les options pour la construction du programme, on peut considérer leur syntaxe comme un langage à part entière tant les possibilités de ces outils sont grandes (ils permettent par exemple d'ajouter des structures de contrôles aux instructions de compilations ou d'édition de liens). Les EDI contrôlent maintenant ces outils, depuis des fenêtres graphiques, évitant ainsi aux programmeurs débutants d'être en plus confronté à la rugueuse et exigeante syntaxe du Makefile.

Fonctionnalités

Voici une liste non exhaustive des outils qui composent le plus souvent les EDI :

  • un éditeur de texte : les EDI s'articulent souvent autour d'un éditeur de texte, qui intègre lui-même de nombreuses fonctionnalités pour assister le développeur, telles que la coloration syntaxique, la complétion automatique ou l'indentation automatique.
  • un compilateur (dans le cas des langages compilés) : certains EDI intègrent leur propre compilateur, tandis que d'autres se contentent de servir d'interface pour l'utilisation d'un compilateur externe, tel que GCC ou javac.
  • un interprète (dans le cas des langages interprétés).
  • un débogueur.

Mais selon les langages et les systèmes, on peut aussi trouver de nombreux autres outils :

Par ailleurs, certains EDI proposent une autre approche de la programmation : la programmation visuelle (de l'anglais Visual programming). Les programmes y sont écrits en assemblant des éléments graphiques.

EDI connus

EDI généralistes

Certains EDI sont conçus pour supporter plusieurs technologies ou sont sont livrés avec une API qui permet à deux développeurs tiers d'écrire des modules pour étendre les fonctionnalités initiales.

  • Eclipse est originellement un environnement dédié à Java, ses extensions permettent de développer avec un très grand nombre de langages et technologies (C++, Qt, modélisation UML, PHP, ...)
  • NetBeans, développé par Sun Microsystems a suivi le même chemin, le paquetage officiel inclut en plus des technologies Java (Java SE, Java EE, Java FX,...) le support de C++, Ruby et PHP
  • Microsoft Visual Studio supportait à l'origine C++ et Visual Basic, puis est devenu l'environnement de référence de la plateforme .Net, il est également modulaire. Une version gratuite allegée denommée "Visual Studio Express" existe aussi.
  • Kdevelop, environnement de développement du projet KDE, et initialement dédié à C++ et Qt, peut maintenant gérer Java, Pascal, PHP, Perl, Python, Ruby et d'autres technologies

EDI spécialisés

Chez Embarcadero (CodeGear), on a des EDI pour le langage Object Pascal avec Delphi mais aussi pour le langage C avec C Builder.

MORFIK propose Morfik WebOS AppsBuilder qui permet de créer des applications soit destinées au Web, soit destinées aux PC, ceci dans un langage, au choix, C#, Java, Basic ou Pascal.

PC Soft propose pour sa part WinDev pour créer des applications destinées au PC, WebDev pour créer des applications Internet et WinDev Mobile pour créer des applications pour Pocket PC et SmartPhone. Ces EDI partagent le même code source et les mêmes concepts.

4 Dimension constitue une plateforme de développement et de génération de solutions applicatives, et propose un langage de programmation de haut niveau. Ses fonctionnalités dépassent la simple gestion de données : génération d'applications, environnement mono-poste et client-serveur, développement et déployement multi-plateforme (Mac OS et Windows), Serveur Web, intégration des Web Services, de XML, ouverture vers Oracle, SQL, interaction avec les applications Ajax, Web 2.0.

La suite bureautique OpenOffice.org dispose également d'un EDI permettant la création de scripts dans différents langages (BASIC, Python, BeanShell ou encore JavaScript), pour manipuler les composants du logiciel à travers l'interface de programmation (API) fournie.

Sous l'environnement Linux, beaucoup de programmeurs utilisent encore le système des makefiles et leurs dérivés. Ces outils en ligne de commande sont considérés par beaucoup comme un EDI, pensés avec un style différent d'interface. Similairement, des programmeurs utilisent Emacs qui intègre beaucoup d'outils standards de construction de programme.

Un peu à part, Veler Software propose le logiciel SoftwareZator qui est un EDI ayant la particularité de créer des logiciels pour Windows sans programmer. L'éditeur de code traditionnel est remplacé par un éditeur d'actions à remplir dans les fonctions créées par l'utilisateur basé sur le Glisser déposer. Ce logiciel serait, selon son éditeur, le premier proposant ce fonctionnement.

Pour le langage Java, il existe plusieurs EDI qui lui sont spécialement dédiés :

  • JBuilder (de Borland)
  • JCreator

Dans le monde du logiciel libre et des EDI non dédiés, on trouve également :

  • Geany qui est un IDE à la fois léger et rapide qui a été créé dans le but d'être le plus indépendant possible des environnements graphiques tels ques GNOME ou KDE. Il supporte également plusieurs types de fichiers : C, Java, Python, PHP, HTML, Perl, etc.
  • Autre IDE, Code::Blocks, cette fois-ci pour le C et le C++. Il est également construit autour d'une architecture de plug-ins et permet également de programmer en langage D.
  • BlueJ : Cet IDE multi-plateforme a été pensé dès le début dans un but pédagogique. Développé à l'Université de Kent, cet EDI pour le langage Java est conçu pour les débutants en programmation qui commencent avec Java.
  • DrScheme : alors qu'une majorité des EDI est destinée à un usage professionnel, DrScheme est à l'origine développé dans un but pédagogique. Développé à l'Université Rice, cet EDI pour le langage Scheme permet entre autres de ne travailler que sur un sous-ensemble du langage, pour permettre aux étudiants de le découvrir progressivement. Il offre de plus des messages d'erreur plus compréhensibles pour les débutants.

Parmi les EDI proposant une programmation visuelle, on peut citer SCADE (basé sur la langage Lustre), SCS (pour le langage Scol)…