Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Environnement de développement — Wikipédia
Environnement de développement — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Integrated Development Environment)
Page d’aide sur l’homonymie

Pour les articles homonymes, voir EDI et IDE.

Capture d'écran de l'IDE Anjuta.

En programmation informatique, un environnement de développement est un ensemble d'outils qui permet d'augmenter la productivité des programmeurs qui développent des logiciels[1]. 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[2].

Certains environnements sont dédiés à un langage de programmation en particulier[3].

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)[1]. 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[4].

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[5]. Certains environnements de développement offrent également la possibilité de créer des prototypes, de planifier les travaux et de gérer des projets[5].

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[5].

Fonctionnalités

[modifier | modifier le code]

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[6]. 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é[7].

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[7].

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[2].

Un environnement de développement comporte toujours un éditeur de texte incorporé, avec souvent la possibilité de le remplacer 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[2].

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

  • Un outil de création d'interface graphique. Un 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[2].
  • Un outil pour réaliser automatiquement des tests[2].
  • 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[2].
  • 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[2].
  • Des outils destinés à assister aux opérations préliminaires à la programmation, par exemple des outils de modélisation, ou d'analyse des exigences[2].
  • 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[2].

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[2].

Historique

[modifier | modifier le code]

Beaucoup d'anciens langages n'ont pas eu d'EDI associé, car les développements étaient faits 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 de 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 rendre persistantes ces options, et automatiser leur enchaînement.

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é

[modifier | modifier le code]
Capture d'écran d'IntelliJ IDEA Community 2021.1.

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[8]. 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[9], ainsi que, souvent, un outil permettant de construire les interfaces graphiques des logiciels[10]. 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 code[9].

Visual Studio[11], Eclipse et IntelliJ IDEA sont des environnements de développement populaires[10]. Il existe également des éditeurs en ligne tels que Cloud9 IDE (en).

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[12]. Eclipse permet, à partir d'une fenêtre principale Workbench (espace de travail) d'accéder à différentes perspectives à partir desquelles le code source du programme peut être consulté et modifié[12]. Il peut être utilisé avec de nombreux langages de programmation, le plus couramment utilisé étant Java[13]. Il comporte des fonctions destinées à assister la création de constructions courantes du langage Java (packages, classes, etc.) ainsi qu'une fonction pour générer de la documentation[13].

Visual Studio, commercialisé par Microsoft, permet de créer des programmes, de les compiler et de 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[14].

Voir aussi

[modifier | modifier le code]

Articles connexes

[modifier | modifier le code]
  • Développement logiciel
  • Computer-aided software engineering
  • Eclipse (logiciel)
  • QtCreator
  • NetBeans
  • IntelliJ IDEA
  • Visual Studio
  • Xcode pour Mac OS X et iOS
  • RTMaps
  • Cloud9 IDE (en) - environnement de développement intégré entièrement en ligne
  • Codeanywhere
  • Notebook (programmation)
  • Replit

Notes et références

[modifier | modifier le code]
  1. ↑ a et b (en) Donald G. Firesmith et B. Henderson-Sellers, The OPEN Process Framework: An Introduction, Pearson Education - 2002 (ISBN 9780201675108).
  2. ↑ a b c d e f g h i et j (en) Mark Hamilton,Software Development: Building Reliable Systems,Prentice Hall Professional - 1999, (ISBN 9780130812469)
  3. ↑ (en) Adrian Kingsley-Hughes et Kathie Kingsley-Hughes, Beginning Programming, John Wiley & Sons - 2005 (ISBN 9780764597480).
  4. ↑ (en) Bernhard Westfechtel, Models and Tools for Managing Development Processes, Numéro 1646, Springer - 1999 (ISBN 9783540667568).
  5. ↑ a b et c (en) Manfred Nagl,Building Tightly Integrated Software Development Environments: The IPSEN Approach,Springer - 1996, (ISBN 9783540619857)
  6. ↑ Cf. entre autres Rodnay Zaks, Programming the Z80, Sybex, 1981 (réimpr. 3e édition), 620 p..
  7. ↑ a et b (en) Albert Endres et Herbert Weber, Software Development Environments and Case Technology: European Symposium, Königswinter, June 17-19, 1991,Springer - 1991, (ISBN 9783540541943)
  8. ↑ (en) Ralph M. Stair - George Walter Reynolds,Principios de sistemas de información: un enfoque administrativo,Cengage Learning - 2009, (ISBN 9780324665284)
  9. ↑ a et b (en) Alan Thorn,Game Engine Design and Implementation,Jones & Bartlett Learning, 2011, (ISBN 9780763784515)
  10. ↑ a et b (en) William von Hagen,Ubuntu Linux Bible: Featuring Ubuntu 10.04 LTS,John Wiley & Sons - 2010, (ISBN 9780470881804)
  11. ↑ (en) Stephen G. Kochan,Programming in C,Sams Publishing - 2004, (ISBN 9780672331411)
  12. ↑ a et b (en) Rober McGovern,Eclipse in action: a guide for Java developers,Manning Publications Co. - 2003, (ISBN 9781930110960)
  13. ↑ a et b (en) Steve Holzner,Eclipse,O'Reilly Media, Inc. - 2009, (ISBN 9780596552626)
  14. ↑ (en) Andrew Moore,Visual Studio 2010 All-in-One For Dummies,John Wiley & Sons - 2010, (ISBN 9780470885581)
v · m
Éléments de programmation informatique
Bibliothèque logicielle
  • Bibliothèque standard
  • Espace de noms
  • Framework
  • Gabarit
  • Interface
  • Interface de programmation (API)
Vocabulaire
  • Algorithme
  • Expression
  • Indentation
  • Instruction
  • Ligne de code
  • Opérateur
  • Pseudo-code
  • Ramasse-miettes
Fonctions
  • Dispatch multiple
  • Factorisation
  • Fonction imbriquée
  • Fonction de rappel
  • Fonction d'ordre supérieur
  • Fonction récursive
  • Généricité
  • Opérande
  • Paramètre
  • Polymorphisme
  • Procédure
  • Signature de type
  • Surcharge
Objet
  • Classe
  • Constructeur
  • Destructeur
  • Encapsulation
  • Héritage
  • Héritage multiple
  • Instance
  • Méthode
Événementiel Inversion de contrôle
Code source
Structures de données
  • Arbre
  • Enregistrement
  • Ensemble
  • File
  • Liste
  • Liste chaînée
  • Pile
  • Sémaphore
  • Tableau
  • Tas
  • Type abstrait
  • Vecteur
Déclarations
  • Affectation
  • Convention de nommage
  • Pointeur
  • Portée
  • Référence
  • Tableau associatif
  • Type énuméré
  • Type récursif
  • Typage statique
  • Variable
  • Variable globale
  • Variable locale
Structures de contrôle
  • Case
  • Eval
  • For
  • Goto
  • Switch
  • While
Fonctions usuelles
  • Concaténation
  • Incrémentation
  • malloc
  • printf
Outil de développement
  • Environnement de développement
  • Générateur de documentation
  • Gestion de versions
  • Modèle
  • Patch
  • Spécification
Folklore
  • Hello world
  • Principe KISS
  • Langage de programmation exotique
Catégories :
  • Programmation informatique
  • Développement logiciel
v · m
Domaines de l'informatique
Remarque : cette liste s'inspire du système de classification informatique de l'ACM édité en 2012
Matériel
  • Circuit imprimé
  • Périphérique
  • Circuit intégré
  • Intégration à très grande échelle
  • Circuit logique programmable
  • Informatique durable
  • Conception assistée par ordinateur pour l'électronique
Appareil et organisation
d'un système
  • Architecture matérielle
  • Architecture de processeur
  • Machine à calculer
  • Mécanographie
  • Calculateur analogique
  • Calculatrice
  • Calculateur quantique
  • Ordinateur
  • Système embarqué
  • Système temps réel
  • Sûreté de fonctionnement
Réseau
  • Architecture de réseau
  • Protocole de communication
  • Équipement d'interconnexion de réseau informatique
  • Planificateur de réseau (en)
  • Rendement du réseau (en)
  • Service réseau
Organisation du logiciel
  • Interprète
  • Middleware
  • Machine virtuelle
  • Système d'exploitation
  • Qualité logicielle
Théorie et outil (en)
de programmation
  • Paradigme de programmation
  • Langage de programmation
  • Compilateur
  • Langage dédié
  • Langage de modélisation
  • Cadriciel
  • Environnement de développement
  • Gestion de configuration logicielle
  • Bibliothèque logicielle
  • Dépôt
Développement de logiciel
  • Software development process
  • Analyse des exigences
  • Conception de logiciel
  • Assemblage de logiciel (en)
  • Déploiement de logiciel (en)
  • Maintenance du logiciel
  • Équipe de programmation (en)
  • Open source
Théorie du calcul
  • Modèle de calcul
  • Langage formel
  • Théorie des automates
  • Théorie de la complexité
  • Logique (en)
  • Sémantique
Algorithmique
  • Algorithme
  • Conception d'algorithme
  • Analyse de la complexité des algorithmes
  • Algorithme évolutionniste
  • Algorithme probabiliste
  • Géométrie algorithmique
  • Génération procédurale
Mathématiques
de l'informatique
  • Mathématiques discrètes
  • Probabilité
  • Statistique
  • Logiciel mathématique (en)
  • Théorie de l'information
  • Analyse
  • Analyse numérique
Système d'information
  • Base de données
  • Mémoire (informatique)
  • Progiciel
  • Logiciel social
  • Système d'information géographique
  • Système d'aide à la décision
  • Supervision
  • Base de données multimédia
  • Exploration de données
  • Bibliothèque numérique
  • Plateforme
  • Marketing électronique
  • World Wide Web
  • Recherche d'information
Sécurité
  • Cryptographie
  • Méthode formelle
  • Service de sécurité (en)
  • Système de détection d'intrusion
  • Sécurité matérielle (en)
  • Sécurité du réseau
  • Sécurité de l'information
  • Sécurité de l'application (en)
Interactions humain-machine
  • Design numérique
  • Informatique sociale (en)
  • Informatique ubiquitaire
  • Visualisation (en)
  • Accessibilité numérique
Concurrence (en)
  • Programmation concurrente
  • Parallélisme
  • Calcul distribué
  • Multithreading
  • Multiprocesseur
Intelligence artificielle
  • Traitement automatique des langues
  • Représentation des connaissances
  • Vision par ordinateur
  • Planification
  • Optimisation
  • Philosophie de l'intelligence artificielle
  • Intelligence artificielle distribuée
Apprentissage automatique
  • Apprentissage supervisé
  • Apprentissage non supervisé
  • Apprentissage par renforcement
  • Apprentissage multi-tâches (en)
  • Validation croisée
Infographie
  • Animation par ordinateur
  • Animation 2D numérique
  • Animation 3D
  • Rendu photoréaliste
  • Retouche d'image
  • Processeur graphique
  • Réalité mixte
  • Réalité virtuelle
  • Compression d'image
  • Conception paramétrique
Audio informatique
  • Générateur de son programmable
  • Processeur de signal numérique
  • Synthétiseur analogique
  • échantillonnage
  • Séquenceur musical
  • Tracker (musique)
  • Musique assistée par ordinateur
Informatique appliquée
  • Commerce en ligne
  • Logiciel d'entreprise
  • Mathématiques computationnelles
  • Physique numérique
  • Chimie numérique
  • Biologie numérique
  • Sciences sociales numérique (en)
  • Ingénierie numérique
  • Informatique médicale
  • Art numérique
  • Édition électronique
  • Cyberguerre
  • Vote électronique
  • Jeu vidéo
  • Traitement de texte
  • Recherche opérationnelle
  • Technologies éducatives
  • Gestion électronique des documents
  • icône décorative Portail de la programmation informatique
  • icône décorative Portail des logiciels
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Environnement_de_développement&oldid=231287313 ».
Catégories :
  • Environnement de développement intégré
  • Outil de développement logiciel
Catégories cachées :
  • Article contenant un appel à traduction en anglais
  • Page utilisant Lien pour un article existant
  • Portail:Programmation informatique/Articles liés
  • Portail:Informatique/Articles liés
  • Portail:Logiciel/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id