This document is for an old version of Python that is no longer supported. You should upgrade and read the Python documentation for the current stable release.

# 24.6. IDLE

IDLE est l’environnement de développement et d’apprentissage intégré de Python (Integrated Development and Learning Environment).

IDLE a les fonctionnalités suivantes :

- codé à 100% en pur Python, en utilisant l’outil d’interfaçage graphique `tkinter`

- cross-platform: works mostly the same on Windows, Unix, and Mac OS X

- Console Python (interpréteur interactif) avec coloration du code entré, des sorties et des messages d’erreur

- éditeur de texte multi-fenêtres avec annulations multiples, coloration Python, indentation automatique, aide pour les appels de fonction, autocomplétion, parmi d’autres fonctionnalités

- recherche dans n’importe quelle fenêtre, remplacement dans une fenêtre d’édition et recherche dans des fichiers multiples (grep)

- débogueur avec points d’arrêt persistants, pas-à-pas et visualisation des espaces de nommage locaux et globaux

- configuration, navigateur et d’autres fenêtres de dialogue

## 24.6.1. Menus

IDLE has two main window types, the Shell window and the Editor window. It is possible to have multiple editor windows simultaneously. Output windows, such as used for Edit / Find in Files, are a subtype of edit window. They currently have the same top menu as Editor windows but a different default title and context menu.

IDLE’s menus dynamically change based on which window is currently selected. Each menu documented below indicates which window type it is associated with.

### 24.6.1.1. Menu File (Console et Éditeur)

New File

  Crée une nouvelle fenêtre d’édition.

Open…

  Ouvre un fichier existant avec une fenêtre de dialogue pour l’ouverture.

Recent Files

  Ouvre une liste des fichiers récents. Cliquez sur l’un d’eux pour l’ouvrir.

Open Module…

  Ouvre un module existant (cherche dans sys.path).

Class Browser

  Montre les fonctions, classes et méthodes dans une arborescence pour le fichier en cours d’édition. Dans la console, ouvre d’abord un module.

Path Browser

  Affiche les dossiers de sys.path, les modules, fonctions, classes et méthodes dans une arborescence.

Save

  Enregistre la fenêtre active sous le fichier associé, s’il existe. Les fenêtres qui ont été modifiées depuis leur ouverture ou leur dernier enregistrement ont un * avant et après le titre de la fenêtre. S’il n’y a aucun fichier associé, exécute Save As à la place.

Save As…

  Enregistre la fenêtre active avec une fenêtre de dialogue d’enregistrement. Le fichier enregistré devient le nouveau fichier associé pour cette fenêtre.

Save Copy As…

  Enregistre la fenêtre active sous un fichier différent sans changer le fichier associé.

Print Window

  Imprime la fenêtre active avec l’imprimante par défaut.

Close

  Ferme la fenêtre active (demande à enregistrer si besoin).

Exit

  Ferme toutes les fenêtres et quitte IDLE (demande à enregistrer les fenêtres non sauvegardées).

### 24.6.1.2. Menu Edit (console et éditeur)

Undo

  Annule le dernier changement dans la fenêtre active. Un maximum de 1000 changements peut être annulé.

Redo

  Ré-applique le dernier changement annulé dans la fenêtre active.

Cut

  Copie la sélection dans le presse-papier global ; puis supprime la sélection.

Copy

  Copie la sélection dans le presse-papier global.

Paste

  Insère le contenu du presse-papier global dans la fenêtre active.

Les fonctions du presse-papier sont aussi disponibles dans les menus contextuels.

Select All

  Sélectionne la totalité du contenu de la fenêtre active.

Find…

  Ouvre une fenêtre de recherche avec de nombreuses options

Find Again

  Répète la dernière recherche, s’il y en a une.

Find Selection

  Cherche la chaîne sélectionnée, s’il y en a une.

Find in Files…

  Ouvre une fenêtre de recherche de fichiers. Présente les résultats dans une nouvelle fenêtre d’affichage.

Replace…

  Ouvre une fenêtre de recherche et remplacement.

Go to Line

  Déplace le curseur sur la ligne de numéro demandé et rend cette ligne visible.

Show Completions

  Open a scrollable list allowing selection of keywords and attributes. See Completions in the Tips sections below.

Expand Word

  Complète un préfixe que vous avez saisi pour correspondre à un mot complet de la même fenêtre ; recommencez pour obtenir un autre complément.

Show call tip

  After an unclosed parenthesis for a function, open a small window with function parameter hints.

Show surrounding parens

  Surligne les parenthèses encadrantes.

### 24.6.1.3. Menu Format (fenêtre d’édition uniquement)

Indent Region

  Décale les lignes sélectionnées vers la droite d’un niveau d’indentation (4 espaces par défaut).

Dedent Region

  Décale les lignes sélectionnées vers la gauche d’un niveau d’indentation (4 espaces par défaut).

Comment Out Region

  Insère ## devant les lignes sélectionnées.

Uncomment Region

  Enlève les # ou ## au début des lignes sélectionnées.

Tabify Region

  Transforme les blocs d’espaces au début des lignes en tabulations. (Note : Nous recommandons d’utiliser des blocs de 4 espaces pour indenter du code Python.)

Untabify Region

  Transforme toutes les tabulations en le bon nombre d’espaces.

Toggle Tabs

  Ouvre une boîte de dialogue permettant de passer des espaces aux tabulations (et inversement) pour l’indentation.

New Indent Width

  Ouvre une boîte de dialogue pour changer la taille de l’indentation. La valeur par défaut acceptée par la communauté Python est de 4 espaces.

Format Paragraph

  Reformate le paragraphe actif, délimité par des lignes vides, en un bloc de commentaires, ou la chaîne de caractères multi-lignes ou ligne sélectionnée en chaîne de caractères. Toutes les lignes du paragraphe seront formatées à moins de N colonnes, avec N valant 72 par défaut.

Strip trailing whitespace

  Remove any space characters after the last non-space character of a line.

### 24.6.1.4. Menu Run (fenêtre d’édition uniquement)

Console Python

  Ouvre ou active la fenêtre de console Python.

Check Module

  Vérifie la syntaxe du module actuellement ouvert dans la fenêtre d’édition. Si le module n’a pas été enregistré, IDLE va soit demander à enregistrer à l’utilisateur, soit enregistrer automatiquement, selon l’option sélectionnée dans l’onglet General de la fenêtre de configuration d”IDLE. S’il y a une erreur de syntaxe, l’emplacement approximatif est indiqué dans la fenêtre d’édition.

Run Module

  Do Check Module (above). If no error, restart the shell to clean the environment, then execute the module. Output is displayed in the Shell window. Note that output requires use of `print` or `write`. When execution is complete, the Shell retains focus and displays a prompt. At this point, one may interactively explore the result of execution. This is similar to executing a file with `python -i file` at a command line.

### 24.6.1.5. Menu Shell (fenêtre de console uniquement)

View Last Restart

  Fait défiler la fenêtre de console jusqu’au dernier redémarrage de la console.

Restart Shell

  Redémarre la console pour nettoyer l’environnement.

Interrupt Execution

  Arrête un programme en cours d’exécution.

### 24.6.1.6. Menu Debug (fenêtre de console uniquement)

Go to File/Line

  Cherche, sur la ligne active et la ligne en-dessous, un nom de fichier et un numéro de ligne. Le cas échéant, ouvre le fichier s’il n’est pas encore ouvert et montre la ligne. Utilisez ceci pour visualiser les lignes de code source référencées dans un traceback d’exception et les lignes trouvées par Find in Files. Également disponible dans le menu contextuel des fenêtres de console et d’affichage.

Debugger ([dés]activer)

  When activated, code entered in the Shell or run from an Editor will run under the debugger. In the Editor, breakpoints can be set with the context menu. This feature is still incomplete and somewhat experimental.

Stack Viewer

  Montre l’état de la pile au moment de la dernière erreur dans une arborescence, avec accès aux variables locales et globales.

Auto-open Stack Viewer

  Active ou désactive l’ouverture automatique de l’afficheur de pile après une erreur non gérée.

### 24.6.1.7. Menu Options (console et éditeur)

Configure IDLE

  Open a configuration dialog and change preferences for the following: fonts, indentation, keybindings, text color themes, startup windows and size, additional help sources, and extensions (see below). On OS X, open the configuration dialog by selecting Preferences in the application menu. To use a new built-in color theme (IDLE Dark) with older IDLEs, save it as a new custom theme.

  Non-default user settings are saved in a .idlerc directory in the user’s home directory. Problems caused by bad user configuration files are solved by editing or deleting one or more of the files in .idlerc.

Code Context (toggle)(Editor Window only)

  Open a pane at the top of the edit window which shows the block context of the code which has scrolled above the top of the window.

### 24.6.1.8. Menu Windows (console et éditeur)

Zoom Height

  Toggles the window between normal size and maximum height. The initial size defaults to 40 lines by 80 chars unless changed on the General tab of the Configure IDLE dialog.

The rest of this menu lists the names of all open windows; select one to bring it to the foreground (deiconifying it if necessary).

### 24.6.1.9. Menu Help (console et éditeur)

About IDLE

  Affiche la version, les copyrights, la licence, les crédits, entre autres.

IDLE Help

  Display a help file for IDLE detailing the menu options, basic editing and navigation, and other tips.

Python Docs

  Accède à la documentation Python locale, si installée, ou ouvre docs.python.org dans un navigateur pour afficher la documentation Python la plus récente.

Turtle Demo

  Run the turtledemo module with example python code and turtle drawings.

Additional help sources may be added here with the Configure IDLE dialog under the General tab.

### 24.6.1.10. Menus Contextuels

Open a context menu by right-clicking in a window (Control-click on OS X). Context menus have the standard clipboard functions also on the Edit menu.

Cut

  Copie la sélection dans le presse-papier global ; puis supprime la sélection.

Copy

  Copie la sélection dans le presse-papier global.

Paste

  Insère le contenu du presse-papier global dans la fenêtre active.

Les fenêtres d’édition ont aussi des fonctions de points d’arrêt. Les lignes avec un point d’arrêt activé sont marquées. Les points d’arrêt n’ont d’effet que lorsque l’exécution se déroule sous débogueur. Les points d’arrêt pour un fichier sont enregistrés dans le dossier .idlerc de l’utilisateur.

Set Breakpoint

  Place un point d’arrêt sur la ligne active.

Clear Breakpoint

  Enlève le point d’arrêt sur cette ligne.

Shell and Output windows have the following.

Go to file/line

  Même effet que dans le menu Debug.

## 24.6.2. Édition et navigation

In this section, “C” refers to the `Control` key on Windows and Unix and the `Command` key on Mac OSX.

- `Retour arrière` supprime à gauche ; `Suppr` supprime à droite

- `C-Retour arrière` supprime le mot à gauche ; `C-Suppr` supprime le mot à droite

- Utilisez les touches flèche et `Page Haut` / `Page Bas` pour vous déplacer

- `C-Flèche Gauche` et `C-Flèche Droite` déplacent de mot en mot

- `Début`/`Fin` vont au début / à la fin de la ligne

- `C-Début` / `C-Fin` vont au début / à la fin du fichier

- Quelques raccourcis Emacs utiles sont hérités de Tcl/Tk :

  > - `C-a` début de ligne

  > - `C-e` fin de ligne

  > - `C-k` supprime la ligne (mais ne la met pas dans le presse-papier)

  > - `C-l` centre la fenêtre autour du point d’insertion

  > - `C-b` go backward one character without deleting (usually you can also use the cursor key for this)

  > - `C-f` avance d’un caractère sans le supprimer (habituellement vous pouvez également utiliser les touches flèches pour faire cela)

  > - `C-p` remonte d’une ligne (habituellement vous pouvez également utiliser les touches flèches pour faire cela)

  > - `C-d` supprime le caractère suivant

Les raccourcis clavier standards (comme `C-c` pour copier et `C-v` pour coller) peuvent fonctionner. Les raccourcis clavier sont sélectionnés dans la fenêtre de configuration d”IDLE.

### 24.6.2.1. Indentation automatique

After a block-opening statement, the next line is indented by 4 spaces (in the Python Shell window by one tab). After certain keywords (break, return etc.) the next line is dedented. In leading indentation, `Backspace` deletes up to 4 spaces if they are there. `Tab` inserts spaces (in the Python Shell window one tab), number depends on Indent width. Currently, tabs are restricted to four spaces due to Tcl/Tk limitations.

See also the indent/dedent region commands in the edit menu.

### 24.6.2.2. Complétions

Les complétions sont fournies pour les fonctions, classes et attributs de classes incluses par défaut et celles définies par l’utilisateur. Les complétions sont aussi fournies pour les noms de fichiers.

La fenêtre d’auto-complétion (ACW, AutoCompleteWindow) s’ouvre après un délai prédéfini (deux secondes par défaut) après qu’un « . »** ou (dans une chaîne) un os.sep est saisi. Si, après un de ces caractères (éventuellement suivi d’autres caractères), une tabulation est saisie, l”ACW s’ouvre immédiatement si une complétion compatible est trouvée.

S’il n’y a qu’une seule complétion possible pour le caractère saisi, un `Tab` fournit cette complétion sans ouvrir l”ACW.

“Show Completions” will force open a completions window, by default the `C-space` will open a completions window. In an empty string, this will contain the files in the current directory. On a blank line, it will contain the built-in and user-defined functions and classes in the current namespaces, plus any modules imported. If some characters have been entered, the ACW will attempt to be more specific.

Si une chaîne de caractère est saisie, la sélection de l”ACW va à l’entrée la plus proche de ces caractères. Saisir un `Tab` saisit la plus longue correspondance non ambiguë dans la console ou l’éditeur. Deux `Tab` à la suite fournissent la sélection de l”ACW, de la même manière que la touche « Entrée » ou un double-clic. Les touches flèches, Page Haut/Bas, la sélection à la souris et la molette de la souris fonctionnent tous sur l”ACW.

Les attributs « cachés » peuvent être atteints en saisissant le début d’un nom caché après un « . », e.g. »**_ ». Ceci permet l’accès aux modules utilisant `__all__` ou aux attributs privés des classes.

Les complétions et la fonctionnalité « *Expand Word »* peuvent vous faire économiser beaucoup de temps !

Les complétions sont actuellement limitées à ce qui est présent dans les espaces de nommage. Les noms dans une fenêtre d’édition qui ne viennent pas de `__main__` et `sys.modules` ne sont pas trouvés. Exécutez votre module avec vos importations pour corriger cette situation. Notez qu”IDLE lui-même place quelques modules dans sys.modules, qui peuvent être donc accédés par défaut, comme le module re.

Si vous n’aimez pas que l”ACW s’affiche spontanément, vous pouvez simplement augmenter le délai ou désactiver l’extension.

### 24.6.2.3. Info-bulles

A calltip is shown when one types `(` after the name of an accessible function. A name expression may include dots and subscripts. A calltip remains until it is clicked, the cursor is moved out of the argument area, or `)` is typed. When the cursor is in the argument part of a definition, the menu or shortcut display a calltip.

Une info-bulle contient la signature de la fonction et la première ligne de la docstring. Pour les fonctions incluses par défaut sans signature accessible, l’info-bulle contient toutes les lignes jusqu’à la cinquième ligne ou la première ligne vide. Ces détails sont sujets à changement.

L’ensemble des fonctions accessibles dépend des modules qui ont été importés dans le processus utilisateur, y compris ceux importés par IDLE lui-même et quelles définitions ont été exécutées, le tout depuis le dernier redémarrage.

Par exemple, redémarrez la console et saisissez `itertools.count(`. Une info-bulle s’affiche parce que IDLE importe itertools dans le processus utilisateur pour son propre usage (ceci pourrait changer). Saisissez `turtle.write(` et rien ne s’affiche. IDLE n’importe pas turtle. Le menu ou le raccourci ne font rien non plus. Saisir `import *turtle` puis `turtle.write(` fonctionnera.

Dans l’éditeur, les commandes d’importation n’ont pas d’effet jusqu’à ce que le fichier soit exécuté. Vous pouvez exécuter un fichier après avoir écrit les commandes d’importation au début, ou immédiatement exécuter un fichier existant avant de l’éditer.

### 24.6.2.4. Fenêtre de console Python

- `C-c` interrompt l’exécution de la commande

- `C-d` envoie fin-de-fichier (EOF) ; cela ferme la fenêtre s’il est saisi à une invite `>>>`

- `Alt-/` (Compléter le mot) est également utile pour réduire la quantité de texte saisie

  Historique des commandes

  - `Alt-p` retrieves previous command matching what you have typed. On OS X use `C-p`.

  - `Alt-n` retrieves next. On OS X use `C-n`.

  - `Entrée` sur une des commandes précédentes récupère cette commande

### 24.6.2.5. Coloration du texte

IDLE affiche par défaut le texte en noir sur blanc mais colore le texte qui possède une signification spéciale. Pour la console, ceci concerne les sorties de la console et de l’utilisateur ainsi que les erreurs de l’utilisateur. Pour le code Python, dans l’invite de commande de la console ou sur un éditeur, ce sont les mots-clefs, noms de fonctions et de classes incluses par défaut, les noms suivant `class` et `def`, les chaînes de caractères et les commentaires. Pour n’importe quelle fenêtre de texte, ce sont le curseur (si présent), le texte trouvé (s’il y en a) et le texte sélectionné.

La coloration du texte est faite en arrière-plan, donc du texte non coloré est parfois visible. Pour changer les couleurs, utilisez l’onglet Highlighting de la fenêtre de configuration d”IDLE. Le marquage des points d’arrêt du débogueur dans l’éditeur et du texte dans les dialogues n’est pas configurable.

## 24.6.3. Démarrage et exécution du code

Quand il est démarré avec l’option `-s`, IDLE exécutera le fichier référencé par la variable d’environnement `IDLE*STARTUP` ou `PYTHONSTARTUP`. IDLE cherche d’abord `IDLESTARTUP` ; si `IDLESTARTUP` est présent, le fichier référencé est exécuté. Si `IDLESTARTUP` n’est pas présent, alors IDLE cherche `PYTHONSTARTUP`. Les fichiers référencés par ces variables d’environnement sont de bons endroits pour stocker des fonctions qui sont utilisées fréquemment depuis la console d”IDLE ou pour exécuter des commandes d’importation des modules communs.

De plus, `Tk` charge lui aussi un fichier de démarrage s’il est présent. Notez que le fichier de Tk est chargé sans condition. Ce fichier additionnel est `.Idle.py` et est recherché dans le dossier personnel de l’utilisateur. Les commandes dans ce fichier sont exécutées dans l’espace de nommage de Tk, donc ce fichier n’est pas utile pour importer des fonctions à utiliser depuis la console Python d”IDLE.

### 24.6.3.1. Utilisation de la ligne de commande

    idle.py [-c command] [-d] [-e] [-h] [-i] [-r file] [-s] [-t title] [-] [arg] ...

    -c command  run command in the shell window
    -d          enable debugger and open shell window
    -e          open editor window
    -h          print help message with legal combinations and exit
    -i          open shell window
    -r file     run file in shell window
    -s          run $IDLESTARTUP or $PYTHONSTARTUP first, in shell window
    -t title    set title of shell window
    -           run stdin in shell (- must be last option before args)

S’il y a des arguments :

- Si `-`, `-c` ou `-r` sont utilisés, tous les arguments sont placés dans `sys.argv[1:...]` et `sys.argv[0]` est assigné à “”`, `'-c'`, ou `'-r'`. Aucune fenêtre d’édition n’est ouverte, même si c’est le comportement par défaut fixé dans la fenêtre d’options.

- Sinon, les arguments sont des fichiers ouverts pour édition et `sys.argv` reflète les arguments passés à IDLE lui-même.

### 24.6.3.2. IDLE-console differences

As much as possible, the result of executing Python code with IDLE is the same as executing the same code in a console window. However, the different interface and operation occasionally affect visible results. For instance, `sys.modules` starts with more entries.

IDLE also replaces `sys.stdin`, `sys.stdout`, and `sys.stderr` with objects that get input from and send output to the Shell window. When this window has the focus, it controls the keyboard and screen. This is normally transparent, but functions that directly access the keyboard and screen will not work. If `sys` is reset with `reload(sys)`, IDLE’s changes are lost and things like `input`, `raw_input`, and `print` will not work correctly.

With IDLE’s Shell, one enters, edits, and recalls complete statements. Some consoles only work with a single physical line at a time. IDLE uses `exec` to run each statement. As a result, `'__builtins__'` is always defined for each statement.

### 24.6.3.3. Exécution sans sous-processus

Par défaut IDLE exécute le code de l’utilisateur dans un sous-processus séparé via un connecteur sur l’interface de la boucle locale. Cette connexion n’est pas visible de l’extérieur et rien n’est envoyé ou reçu d’Internet. Si un pare-feu s’en plaint quand même, vous pouvez l’ignorer.

If the attempt to make the socket connection fails, Idle will notify you. Such failures are sometimes transient, but if persistent, the problem may be either a firewall blocking the connection or misconfiguration of a particular system. Until the problem is fixed, one can run Idle with the -n command line switch.

Si IDLE est démarré avec l’option -n de la ligne de commande, il s’exécute dans un seul processus et ne crée pas de sous-processus pour exécuter le serveur RPC d’exécution de Python. Ceci peut être utile si Python ne peut pas créer de sous-processus ou de connecteur RPC sur votre plateforme. Cependant, dans ce mode, le code de l’utilisateur n’est pas isolé de IDLE lui-même. De plus, l’environnement n’est pas réinitialisé quand Run/Run Module (F5) est sélectionné. Si votre code a été modifié, vous devez reload*() les modules affectés et ré-importer tous les éléments spécifiques (e.g. *from foo import baz) pour que les changements prennent effet. Pour toutes ces raisons, il est préférable d’exécuter IDLE avec le sous-processus par défaut si c’est possible.

Obsolète depuis la version 3.4.

## 24.6.4. Aide et préférences

### 24.6.4.1. Additional help sources

IDLE includes a help menu entry called « Python Docs » that will open the extensive sources of help, including tutorials, available at docs.python.org. Selected URLs can be added or removed from the help menu at any time using the Configure IDLE dialog. See the IDLE help option in the help menu of IDLE for more information.

### 24.6.4.2. Modifier les préférences

The font preferences, highlighting, keys, and general preferences can be changed via Configure IDLE on the Option menu. Keys can be user defined; IDLE ships with four built-in key sets. In addition, a user can create a custom key set in the Configure IDLE dialog under the keys tab.

### 24.6.4.3. Extensions

IDLE contains an extension facility. Preferences for extensions can be changed with Configure Extensions. See the beginning of config-extensions.def in the idlelib directory for further information. The default extensions are currently:

- FormatParagraph

- AutoExpand

- ZoomHeight

- ScriptBinding

- CallTips

- ParenMatch

- AutoComplete

- CodeContext

- RstripExtension