Qu'est-ce qu'un Environnement de Développement Intégré ou IDE?

Un environnement de développement est un ensemble d'outils pour augmenter la productivité des programmeurs qui développent des logiciels. Il comporte un éditeur de texte destiné à la programmation, des fonctions qui permettent, par pression sur un bouton, de démarrer le compilateur ou l'éditeur de liens ainsi qu'un débogueur en ligne, qui permet d'exécuter ligne par ligne le programme en cours de construction. Certains environnements sont dédiés à un langage de programmation en particulier.

Dans un environnement de développement « intégré » (abrégé EDI en français ou IDE en anglais, pour Integrated Development Environment) les outils sont prévus pour être utilisés ensemble (le produit d'un outil peut servir de matière première pour un autre outil). Les outils peuvent être intégrés dès le départ, c'est-à-dire qu'ils sont construits dans le but d'être utilisés ensemble. Il peut aussi s'agir d'un ensemble d'outils développés sans lien entre eux et intégrés a posteriori.

L'objectif d'un environnement de développement est d'augmenter la productivité des programmeurs en automatisant une partie des activités et en simplifiant les opérations. Les environnements de développement visent également à améliorer la qualité de la documentation en rapport avec le logiciel en construction. Certains environnements de développement offrent également la possibilité de créer des prototypes, de planifier les travaux et de gérer des projets.

Depuis 1980, le développement et la maintenance de logiciels sont partiellement automatisés à l'aide d'un lot d'outils — l'environnement de développement. Les outils des environnements de développement sont un sujet d'étude en génie logiciel — le savoir-faire en ingénierie du logiciel.

Fonctionnalités

L'expression environnement de développement est apparue dans les années 1980, pour désigner un ensemble d'outils et de procédés destinés à assister et formaliser le travail de création de logiciels. L'objectif visé était de créer des outils qui assistent les développeurs dans toutes les étapes de la réalisation du logiciel: définition, conception, programmation, test et maintenance. Ces outils tiennent également compte des différents rôles au sein d'une équipe de programmation: programmeur, manager, et responsable qualité.

Les premiers outils couvraient les étapes de programmation et de tests, tandis que sont apparus plus tard des outils couvrant également les étapes de définition et de conception. Cette nouvelle génération d'outils de développement, qui couvrent également les étapes préliminaires à la programmation et orientent le développeur vers les bonnes pratiques de génie logiciel a été appelée Computer Aided Software Engineering (abr. CASE), en français ingénierie logicielle assistée par ordinateur.

Un environnement de développement comporte typiquement les outils nécessaires pour analyser, écrire, et déboguer un programme. Dans les modèles intégrés, les différents outils ont un look and feel identique et peuvent être interconnectés. Par exemple il peut être possible d'ouvrir l'éditeur de texte ou le compilateur à partir du débogueur voire de modifier le code source en cours de débogage directement depuis le débogueur.

Un environnement de développement comporte toujours un éditeur de texte incorporé, avec souvent la possibilité de le substituer par un autre éditeur. L'éditeur comporte typiquement des fonctions de mise en évidence alignées avec le langage de programmation: indentation automatique des blocs de code, marquage des délimiteurs (parenthèses ou accolades), et mise en évidence des mots clés du langage par de la couleur ou des caractères gras.

Un environnement de développement peut également comporter les outils suivants :

  • un outil de création d'interface graphique. Tel outil permet au programmeur de gagner un temps significatif dans la construction de l'interface graphique de son programme. Jusqu'à l'arrivée de la technologie Java, de tels outils ciblaient toujours un système d'exploitation en particulier.
  • un outil pour réaliser automatiquement des tests.
  • des outils d'analyse du code source. Par exemple un générateur de graphique qui permet d'obtenir le diagramme en arbre de l'utilisation d'une fonction du programme.
  • un moteur de recherche qui tient compte du langage de programmation: il permet par exemple de rechercher le nom d'une fonction en évitant les commentaires et les expressions littérales, et en se limitant au cadre d'un module ou d'une classe.
  • des outils destinés à assister aux opérations préliminaires à la programmation, par exemple des outils de modélisation, ou d'analyse des exigences.
  • un outil de contrôle de versions. Un tel outil permet à plusieurs programmeurs de travailler simultanément sur les fichiers de code source du programme.

Les environnements de développement intégré sont parfois issus d'outils qui offrent une seule et unique fonction et que leurs auteurs ont ensuite enrichis et fusionnés avec d'autres outils. Il peut s'agir d'outil de création d'interface graphique ou de manipulation de base de données.

Historique

Beaucoup d'anciens langages n'ont pas eu d'EDI associé, car les développements étaient fait via des organigrammes, des formulaires de codification et des cartes perforées soumises à l'ordinateur. Les EDI sont donc apparus avec les développements « sur console ».

Le premier langage créé — et livré — avec un EDI fut ainsi le Dartmouth BASIC (en) en 1964, premier langage conçu pour être utilisé devant un terminal d'ordinateur. Son EDI était basé sur des commandes saisies « en ligne » : Pour de tels langages, les EDI consistaient en une interface graphique sommaire, assortie à un système de construction (compilation et édition de liens) de programme « par makefile » : les makefiles permettent décrire les options de compilation et d'édition voulues pour la construction du programme. La syntaxe de plus en plus évoluée de ces makefiles a abouti à des pseudo-langages de plus en plus complexes et rébarbatifs, tant leurs possibilités se sont étendues (ils permettent par exemple d'ajouter des structures de contrôles aux instructions de compilations ou d'édition de liens), conduisant à la mise en place de fichiers de configuration pour décrire et persister ces options et automatiser leurs enchaînements.

Les EDI récents sont conçus pour des interfaces plus évoluées : menus, boutons, utilisation combinée clavier/souris, etc. Ils masquent et contrôlent les commandes techniques sous-jacentes depuis des IHM graphiques, évitant ainsi aux programmeurs débutants d'être confrontés à la rugueuse et exigeante syntaxe du makefile.

Environnements de développement intégré

Un environnement de développement intégré est un ensemble d'outils destinés à programmer dans un langage donné, qui sont distribués ensemble. Il permet de manipuler les outils de programmation depuis une interface graphique simplifiée. Il existe au moins autant d'environnements de développement intégré qu'il existe de langages de programmation et les IDE sont souvent dédiés à un langage donné. Un IDE comporte typiquement une interface graphique pour lancer les différents outils, un éditeur pour le code source, un compilateur, un débogueur, ainsi que souvent un outil permettant de construire les interfaces graphiques des programmes. L'éditeur offre les fonctionnalités ordinaires d'un éditeur de texte, le compilateur permet au programmeur de vérifier les erreurs de syntaxe du code source, et le débogueur permet de vérifier les erreurs de logique.

Exemples

Visual Studio et Eclipse sont des environnements de développement populaires.

Eclipse permet notamment d'écrire, de compiler, d'exécuter et de déboguer des applications. Le débogueur permet d'exécuter le programme ligne par ligne et vérifier l'état des variables. Eclipse permet, à partir d'une fenêtre principale Workbench d'accéder à différentes perspectives à partir desquelles le code source du programme peut être consulté et modifié. Il peut être utilisé avec de nombreux langages de programmation, le plus couramment utilisé étant Java. Il comporte des fonctions destinées à assister la création de constructions courantes du langage Java (packages, classes,...) ainsi qu'une fonction pour générer de la documentation.

Visual Studio, commercialisé par Microsoft, permet de créer des programmes, les compiler et les déboguer. Depuis 2002 il est destiné à la création de programmes pour la plateforme Microsoft .NET dans les langages Visual Basic, C#, C++ et F#. Il permet de créer des applications Web. En plus du code source du programme, les pages web, ainsi que les feuilles de style et les documents XML peuvent être modifiés depuis Visual Studio. Il permet également de créer des interfaces graphiques et comporte un outil de contrôle de versions.

RETOUR

  • 2 Utilisateurs l'ont trouvée utile
Cette réponse était-elle pertinente?

Articles connexes

Qu'est-ce qu'un nom de domaine?

Un nom de domaine (NDD en notation abrégée française ou DN pour Domain Name en anglais) est, dans...

Qu'est-ce qu'un médias sociaux?

L’expression « médias sociaux » est de plus en plus utilisée et tend à remplacer le terme de Web...

Qu'est-ce DNS?

Le Domain Name System (ou DNS, système de noms de domaine) est un service permettant de traduire...

Qu'est-ce que le Cloud Computing?

Le cloud computing, ou l’informatique en nuage ou nuagique ou encore l’infonuagique (au...

Quel est le protocole Internet IPv6?

IPv6 (Internet Protocol version 6) est un protocole réseau sans connexion de la couche 3 du...

Powered by WHMCompleteSolution