Qu'est-ce qu'un environnement de développement — éditeur, terminal et environnement d'exécution

Cet article fait partie du cours Les bases de l'informatique, qui construit depuis zéro les connaissances informatiques pratiques indispensables pour programmer et faire du vibe coding.
Tu écris dans l'éditeur, tu passes le fichier depuis le terminal, et l'environnement d'exécution le lance. Des schémas montrent ces trois rôles, la façon dont le shell lit la ligne que tu tapes et l'endroit où il cherche le fichier.

Cet article porte sur l'environnement de développement.

Un environnement de développement est le nom collectif de trois logiciels : l'éditeur, le terminal et l'environnement d'exécution.

Réunir ces trois éléments dans un seul écran donne un environnement de développement intégré (IDE, Integrated Development Environment), dont Visual Studio Code, IntelliJ IDEA et Xcode sont des exemples connus.

  • Ce que fait chacun des trois — l'éditeur, le terminal et l'environnement d'exécution
  • Le fait que le nom du terminal change selon l'OS, et comment lire son écran
  • Comment le shell lit la ligne que tu tapes, et quel fichier il cherche
  • Comment l'environnement d'exécution exécute le fichier app.js qu'on lui remet, ligne par ligne depuis le haut

Qu'est-ce qu'un environnement de développement — l'éditeur, le terminal et l'environnement d'exécution

Un environnement de développement (development environment ; combinaison de logiciels servant à écrire du code source et à le faire tourner par des commandes) est un nom collectif pour trois choses, et non un logiciel unique portant ce nom.

L'intérieur de l'ordinateur pendant la construction de l'application de réservation my-app
Ton ordinateur
Environnement de développement (préparé une fois, réutilisé)
Éditeur
  • Tu y tapes le contenu de app.js et tu l'enregistres
  • Un logiciel comme Visual Studio Code
Terminal
  • L'écran où tu tapes une ligne comme node app.js
  • Installé avec l'OS dès le départ
Environnement d'exécution
  • Un logiciel qui porte le nom node ou python
  • Tu l'installes depuis le site officiel
my-app (le dossier de l'application de réservation)
  • app.js — le code source que tu as écrit
  • Les fichiers d'images et de configuration vont ici aussi
  • Pour une autre application, tu crées un autre dossier
L'extérieur, c'est ton ordinateur. Les trois éléments du cadre du haut se préparent une fois puis se réutilisent. En bas, my-app est un dossier que tu crées pour chaque application construite.

Les trois éléments du cadre du haut se réutilisent une fois installés.

La seule chose que tu crées à chaque fois est un dossier comme my-app, dans le cadre du bas.

Un éditeur n'est pas qu'un écran où écrire du texte : il peut afficher la liste des fichiers et le terminal côte à côte sur le même écran.

Quand une procédure parle d'« éditeur de code » ou d'« IDE », tu peux considérer que c'est la même chose.

Ce qu'il y a sur l'écran de l'éditeur
Écran de l'éditeur
À gauche — les fichiers
  • Les fichiers contenus dans my-app y sont listés
  • Un clic sur app.js l'ouvre à droite
Au centre — là où tu tapes le texte
  • Le contenu de app.js apparaît ici
  • Le fichier ne change pas tant que tu n'enregistres pas
En bas — le terminal
  • Tu peux taper node app.js ici
  • La même chose qu'un terminal ouvert à part
Un éditeur destiné à la programmation peut afficher côte à côte, dans un seul écran, la liste des fichiers, la zone d'édition et le terminal.

Les trois logiciels sont reliés et tournent à l'intérieur d'un seul ordinateur.

Le cadre entier est un seul ordinateur, et les trois se partagent les rôles à l'intérieur.

L'éditeur va jusqu'à la création du fichier ; c'est l'environnement d'exécution qui le lance.

Le terminal est le point d'entrée par lequel tu dis à cet environnement d'exécution d'exécuter ce fichier, et le résultat s'affiche dans ce même terminal.

Un environnement de développement est un ensemble de trois logiciels

Un environnement de développement, c'est le nom donné à trois choses réunies : écrire, taper, exécuter.

L'éditeur sert à écrire, le terminal à taper, l'environnement d'exécution à exécuter, et une fois ces trois logiciels installés tu les réutilises pour l'application suivante.

Le terminal — « Terminal » sur Mac, « Invite de commandes » sur Windows

Le terminal (terminal ; logiciel d'écran où tu tapes des commandes en texte et reçois les résultats en texte) est installé avec l'OS dès le départ.

Son nom, en revanche, change selon l'OS.

Le nom du terminal sur chaque OS
==MacWindowsLinuxTerminalInvite decommandesTerminalConsoleDans le dossierApplicationsAussi appeléPowerShellNom variable selonla distribution
La ligne du haut est l'OS, celle du milieu le nom du terminal sur cet OS, celle du bas l'indice pour le trouver. Les trois reliés par un trait double sont la même chose sous des noms différents.

Les noms diffèrent, mais tous se présentent de la même façon.

Tu tapes une ligne dans un écran où il n'y a que du texte, tu appuies sur Entrée, et le résultat apparaît sur la ligne juste en dessous.

Les trois parties de l'écran du terminal
L'écran du terminal
L'invite en début de ligne
  • Des symboles comme $, # ou >
  • Le nom du dossier où tu te trouves apparaît souvent juste avant
La ligne que tu tapes
  • Tu tapes le texte à droite de l'invite
  • Rien ne se passe tant que tu n'appuies pas sur Entrée
Le texte qui revient
  • Les résultats comme les erreurs apparaissent en texte sur les lignes du dessous
  • Une fois l'affichage terminé, l'invite suivante réapparaît
Dans un écran où il n'y a que du texte, tu tapes une ligne à droite de l'invite en début de ligne, tu appuies sur Entrée, et le résultat revient sur la ligne du dessous.

Sur un écran réel, tu tapes une ligne à droite du symbole de début de ligne, comme ci-dessous, et le résultat revient en dessous.

pwd renvoie l'emplacement du dossier où tu te trouves, et ls renvoie ce qu'il contient.

$ pwd
/home/you/my-app

$ ls
app.js  package.json

Le terminal est un écran servant à taper du texte et à afficher des résultats.

Ce qui lit réellement la ligne tapée et décide quel programme lancer, c'est le shell (shell ; programme qui lit la ligne tapée, cherche le programme portant le nom placé au début et le lance) qui tourne à l'intérieur de cet écran.

bash et zsh, que tu croises dans les procédures, sont des noms de shells.

Le shell traite la ligne tapée en deux parties : le début et la suite.

Le début de la ligne et la suite ne vont pas au même endroit
La ligne tapéenode app.jsnode, au débutapp.js, la suiteLe shell chercheet lanceLe programme lancélit et exécutecommandnot foundCannot findmodule
Le shell découpe la ligne en deux. Il cherche un programme d'après le nom placé au début, et remet le nom de fichier qui suit à ce programme. À droite figure le texte qui apparaît quand l'un ou l'autre n'est pas trouvé.

Le shell cherche un programme d'après le node placé au début, et remet le fichier app.js qui suit à ce programme.

Il cherche alors app.js uniquement dans le dossier que le shell a ouvert, ce qu'on appelle le répertoire courant (current directory ; le dossier que le shell a ouvert en ce moment).

Son nom apparaît souvent juste avant l'invite (prompt ; symbole indiquant que la saisie est acceptée) en début de ligne.

Le dossier où se trouve le shell, et la façon dont app.js est cherché
Ton ordinateur
my-app (le dossier que le shell a ouvert)
  • my-app s'affiche en début de ligne dans le terminal
  • app.js est ici, donc node app.js fonctionne
Téléchargements (un autre dossier)
  • Même si app.js est ici, node app.js ne fonctionne pas
  • Après cd my-app, c'est le dossier du cadre du haut qui devient le dossier courant
Le dossier que le shell a ouvert en ce moment est le répertoire courant. Le fichier app.js de node app.js est cherché uniquement dans ce dossier.

Le même node app.js donne un résultat différent selon le dossier où tu te trouves.

app.js est placé dans my-app.

Le dossier où se trouve le shellOù app.js est cherchéRésultat de node app.js
my-appDans my-app → trouvéapp.js s'exécute
TéléchargementsDans Téléchargements → introuvableCannot find module
Après cd my-appDans my-app → trouvéapp.js s'exécute

Si les procédures placent cd avant une commande, c'est pour changer cet endroit de recherche.

Quand tu écris une destination après cd, la ligne suivante s'exécute dans le dossier où tu es arrivé.

$ cd my-app

$ pwd
/home/you/my-app

Ce qui se produit dépend de ce que tu as écrit au début de la ligne tapée.

Ce qui précède est le minimum pour lire les commandes qui apparaissent dans les procédures.

Pour aller plus loin, le cours Linux pour débutants propose des exercices où tu tapes des commandes dans un terminal ouvert dans le navigateur.

Si tu commences par Chemins et déplacement entre répertoires, tu retrouves directement la suite de ce qui est dit ici sur cd.

C'est le shell qui lit la ligne tapée

Ce qui lit la ligne tapée n'est pas l'écran, mais le shell qui tourne à l'intérieur.

Quand ça ne marche pas, distingue les deux cas : command not found signifie que le nom du début n'a pas été trouvé, et Cannot find module que le fichier qui suit n'est pas dans le dossier où tu te trouves.

L'environnement d'exécution — il exécute le contenu de app.js depuis le haut

L'environnement d'exécution auquel le shell remet app.js lit son contenu ligne par ligne depuis le haut et l'exécute dans l'ordre écrit.

Si tu lances les trois lignes suivantes avec node app.js, seules deux lignes s'affichent.

console.log("Bonjour");
const price = 1200;
console.log(price + " yens");

Seules les lignes qui demandent un affichage apparaissent à l'écran.

L'environnement d'exécution ne fait que lire ligne par ligne depuis le haut

Tout ce que fait l'environnement d'exécution, c'est lire app.js ligne par ligne depuis le haut et faire ce qui y est écrit.

Seules les lignes qui demandent un affichage mettent du texte à l'écran, et la seule chose qu'il lit est le fichier app.js que le shell lui a remis.

QUIZ

Vérification des connaissances

Répondez à chaque question une par une.

Question 1Qu'est-ce qui lit la ligne tapée dans le terminal, cherche le programme portant le nom placé au début et le lance ?

Question 2Tu as tapé node app.js mais un message dit que app.js est introuvable. Que vérifies-tu en premier ?

Question 3Quand tu tapes node app.js dans le terminal, qu'est-ce qui exécute le contenu de app.js depuis le haut ?