Environnements de développement pour l'informatique

Les salles de TP d'informatique du lycée sont équipées d'ordinateurs fonctionnant sous Linux (Debian). Les logiciels utilisés pour l'enseignement de l'informatique en CPGE sont tous libres et gratuits. Il s'agit de :

  • Pour Python : l'environnement Pyzo avec l'interpréteur de la distribution Miniconda3
  • Pour SQL : SQLiteStudio
  • Pour Caml (concerne l'option informatique de MPSI/MP) : environnement Emacs/Tuareg avec le compilateur OCaml 4.02.2+improved-errors distribué par opam. On peut consulter une brève référence d'utilisation de Emacs.

La présente page explique comment installer ces logiciels et propose aussi des alternatives (travail direct dans un navigateur, autre logiciel possible, etc.).

Plusieurs sites proposent de quoi faire du python directement dans un navigateur. C'est donc très léger à utiliser. Cependant vous ne disposerez pas de console permettant de faire un appel de fonction comme en TP : ces sites permettent seulement d'exécuter un script en entier. Vous devrez donc, à la suite de vos fonctions, écrire un appel exemple et faire imprimer le résultat pour voir quelque chose. Par exemple, si vous écrivez une fonction factorielle, il faudra à la fin écrire par exemple print(factorielle(4)).

  • Pythontutor permet d'exécuter de petits programmes, et aussi de voir le déroulement de leur exécution (utile quand on débute)
  • Repl.it propose une interface plus complète

Pour Pyzo, il suffit de sélectionner la version qui correspond à votre système d'exploitation sur cette page. Pyzo est seulement l'environnement qui permet de taper du code python de façon agréable ; pour exécuter le code il faut un interpréteur.

On peut par exemple utiliser Miniconda et la suite de la page de présentation de Pyzo propose des liens vers les versions les plus récentes de Miniconda3 pour chacun des systèmes d'exploitations les plus répandus.

Une fois Miniconda installé et Pyzo configuré pour l'utiliser (il y a un système d'autodétection dans Pyzo), vous pouvez avoir besoin d'installer des modules Python spécifiques. Cette installation se fait avec miniconda mais normalement, il est possible de la lancer directement depuis pyzo, en saisissant dans la console, par exemple conda install matplotlib scipy numpy.

La page des téléchargements du site officiel de SQliteStudio fournit un lien vers la version la plus récente pour chaque système d'exploitation.

Comme pour Python, des sites existent pour faire du OCaml. On peut citer ces exemples :

  • JDoodle est un peu moins austère
  • CodingGround propose un environnement plus complet mais aussi plus difficile à prendre en main

Comme dans le cas de Python, ces sites exécutent des scripts entiers, donc pour tester vos fonctions vous devez écrire un appel et imprimer. Par exemple, pour tester une fonction factorielle, ajoutez print_int (factorielle 4). Vous allez être confronté à une difficulté : il n'existe pas en standard de fonction pour imprimer une liste, il faut l'écrire. Nous verrons qu'une fonction d'impression de liste d'entiers peut être écrite comme suit

let print_intlist = List.iter (Printf.printf "%i ; ");;

Les site suivant proposent un toplevel analogue à celui qu'on obtient avec Emacs : on peut saisir des phrases terminées par ;; et en obtenir le résultat sans explicitement imprimer. En revanche, écrire des programmes longs de cette façon est un peu pénible.

  • Ocsigen, qui présente aussi des informations relatives à la traduction OCaml vers Javascript, mais c'est sans intérêt pour nous.
  • LearnOCaml, qui propose également des exercices avec autocorrection qui sont assez bien faits et intéressants (mais la plupart ne sont pas vraiment dans l'esprit du programme de CPGE).

Linux (et peut-être MacOS)

Opam est conçu pour fonctionner sous Linux.

Si vous avez une machine sous une version récente de Debian ou Ubuntu, vous pouvez utiliser ce script d'installation : après l'avoir sauvegardé, ouvrez un terminal dans le dossier qui le contient et exécutez bash ./install_ocaml.sh.

Il est possible que cette procédure fonctionne aussi pour MacOS voire Windows 10 à condition d'avoir installé le « sous-système Linux » adéquat ; voir les sites correspondants.

Windows 10

Sous Windows 10, il est possible d'installer un sous-système Linux, ce qui permet ensuite d'utiliser les utilitaires mentionnés ci-dessus. Voir ce guide de Microsoft.

Autres Windows ou MacOS

Si vous n'utilisez pas déjà Linux, c'est l'occasion de vous y mettre. Une distribution agréable pour débuter est XUbuntu, dont on peut télécharger l'image d'installation ici (1,3 Go). Cette image peut servir soit à installer le système sur votre machine physique (en plus du système d'exploitation que vous avez actuellement), soit à mettre en place une machine virtuelle.

Dans le premier cas, l'image doit au choix être gravée sur un DVD ou copiée sur une clé USB bootable (à l'aide du logiciel Rufus pour Windows ou Etcher pur MacOS) de capacité suffisante.

Pour disposer d'une machine virtuelle :

  1. Téléchargez le logiciel VirtualBox depuis le site officiel et installez-le.
  2. Avec VirtualBox, créez une nouvelle machine virtuelle en vous laissant guider par l'assistant :
    1. choisissez un nom évocateur ; sélectionnez le Type de système d'exploitation Linux et la version Ubuntu (64-bit) ;
    2. choisissez une quantité de mémoire vive pour la machine virtuelle d'au moins 2048 Mo, sans toutefois dépasser la moitié de la RAM dont vous disposez sur votre machine physique ;
    3. choisissez de créer un disque dur virtuel pour la machine et dans l'assistant de création du disque dur virtuel, laissez tous les paramètres par défaut.
  3. Démarrez la nouvelle machine virtuelle. VirtualBox demande immédiatement quel disque insérer dans la machine virtuelle pour installer la système d'exploitation : sélectionnez l'image ISO de XUbuntu préalablement téléchargée.
  4. Dans la machine virtuelle, suivez le processus d'installation de XUbuntu ; après avoir mis l'interface en français, les paramètres par défaut proposés conviennent.
  5. La machine virtuelle est désormais prête à être utilisée. Vous pouvez suivre (dans la machine virtuelle) la procédure décrite plus haut.
  • Pour rendre la MV plus agréable, vous pouvez, au niveau de la fenêtre VirtualBox qui affiche votre MV, dans le menu Périphériques, entrée Presse-papier partagé, cocher Bidirectionnel de façon à pouvoir faire des copier-coller de et vers la machine virtuelle.
  • Vous devriez aussi activer les dossiers partagés pour pouvoir faire passer des fichiers entre le disque dur de la MV et le disque dure de votre machine physique. Pour cela :
    1. dans le menu Pérphériques de la fenêtre qui affiche la MV, Lecteurs optique, choisissez Éjecter le disque du lecteur virtuel si ça n'a pas déjà été fait ;
    2. dans le menu Pérphériques, choisissez Insérer l'image CD des Additions invité… ;
    3. un CD apparait dans la machine virtuelle : ouvrez une console dans le dossier correspondant et exécutez sudo ./VBoxLinuxAdditions.run ;
    4. ensuite exécutez dans la console sudo adduser $(whoami) vboxsf ;
    5. éteignez la machine virtuelle ;
    6. dans la Configuration de la machine virtuelle (accès depuis la fenêtre principale de VirtualBox), allez dans la section Dossiers partagés et créez un ou plusieurs partages (cochez Configuration permanente).

Autres environnements pour Caml

Si on n'est pas (encore) sous Linux, on peut utiliser les environnements de Jean Mouric fort pertinemment dénommés WinCaml et MacCaml.

Sous Windows ocaml-top est plus facile à installer (compilateur et environnement de programmation en un).

Pour des gros projets

Si vous écrivez des programmes complexes en OCaml (pour votre TIPE par exemple), vous pourrez avoir envie d'utiliser un environnement de développement plus intégré (quoiqu'Emacs permette aussi cela ; il suffit de compiler son code avec ocamlc) : après avoir installé le compilateur OCaml, on peut utiliser sur n'importe quelle plateforme l'environnement générique Eclipse avec le plugin OcaIde.