Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

Warning: Undefined array key 1 in /datas/vol2/w4a139721/var/www/pro.yannsalmon.fr/htdocs/lib/plugins/unformattedcode/syntax.php on line 69

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)

Si vous avez une machine sous une version récente de Debian ou Ubuntu, vous pouvez installer les paquets ocaml, emacs et tuareg-mode. Vous aurez alors la version de OCaml proposée par votre distribution.

Au lycée nous utilisons une version plus ancienne mais pour laquelle il existe un patch qui donne des messages d'erreur plus agréables. Elle est disponible à l'aide du système Opam : le compilateur porte le nom 4.02.2+improved-errors.

Pour l'installer, il faut d'abord installer Opam (depuis la distribution) puis utiliser les commandes de Opam pour installer cette version du compilateur. On peut alternativement 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.

Environnements simples sous Windows ou MacOS

Il existe quelques environnement de travail rudimentaires mais qui sont faciles à installer sous Windows ou MacOS.

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).

Installer Linux

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. 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 et si possible 4096 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 ;
    4. une fois la machine créée, allez dans sa Configuration, section Affichage, et pour Contrôleur graphique, choisissez VBoxSVGA ou, à défaut, VBoxVGA ; évitez VMSVGA qui, contrairement au message d'avertissement qu'affichera VirtualBox, n'est pas le meilleur choix dans notre situation (on rapporte des difficultés à régler la résolution d'écran de la machine virtuelle) ;
    5. pour accélérer le fonctionnement de la machine virtuelle, vous pouvez aller dans sa Configuration, section Stockage et, après avoir sélectionné le Contrôleur SATA, cocher Utiliser le cache E/S de l'hôte ; cependant évitez de le faire si votre machine physique est susceptible de s'éteindre brusquement (alimentation électrique défectueuse, etc.).
  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, mais pas très agréable à utiliser parce que les communications entre la machine virtuelle et la machine hôte ne sont pas aisées.
  6. Pour rendre la MV plus agréable, on peut installer dedans un logiciel fourni par VirtualBox qui facilitera la communication. Pour cela
    1. démarrez la MV et ouvrez y votre session utilisateur ;
    2. la fenêtre de VirtualBox qui affiche votre MV a une barre de menus : dans le menu Pérphériques, choisissez Insérer l'image CD des Additions invité… (si cela échoue parce qu'un disque se trouve déjà dans le lecteur de CD de la machine virtuelle, allez dans le sous-menu Lecteurs optique et choisissez Éjecter le disque du lecteur virtuel si ça n'a pas déjà été fait) ;
    3. un CD apparait dans la machine virtuelle (sur le bureau) : ouvrez une console (également appelée Terminal ou Ligne de commande) dans le dossier correspondant et exécutez sudo ./VBoxLinuxAdditions.run (vous devrez taper votre mot de passe de connexion ; rien ne s'affiche quand vous tapez et c'est normal) ;
    4. ensuite exécutez dans la console sudo adduser $(whoami) vboxsf ;
    5. dans le menu Périphériques, entrée Presse-papier partagé, cochez Bidirectionnel de façon à pouvoir faire des copier-coller de et vers la machine virtuelle.
    6. éteignez la machine virtuelle ;
    7. si vous souhaitez en outre pouvoir transférer des fichiers de et vers la MV, dans la Configuration de la machine virtuelle, allez dans la section Dossiers partagés et créez un ou plusieurs partages (cochez Configuration permanente).

Vous pouvez installer OCaml dans la machine virtuelle en y suivant la procédure décrite plus haut.

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.