Installation d'un environnement de travail pour INF203

Guillaume Huard, 1er janvier 2021

Table des matières

Dans l'UE INF203, nous avons besoin d'un environnement UNIX pour travailler, en particulier :

Ce guide est destiné à vous permettre d'installer tout cela sur votre machine personnelle selon votre système d'exploitation.

1 Vidéos explicatives

En complément des instructions détaillées, les vidéos suivantes montrent le suivi de ces instructions pour certaines configurations :

2 Quelques problèmes possibles lors de l'installation

3 Windows

3.1 Windows 10

Windows 10 supporte l'installation d'un Linux encapsulé dans une machine virtuelle (VM) et VSCode supporte le développement sur cette machine depuis l'application locale :

  • Installer le 'Windows Subsystem for Linux' (WSL) : https://docs.microsoft.com/fr-fr/windows/wsl/install-win10 Vous pouvez choisir la distribution Linux de votre choix. Pour la suite nous vous donnons les instructions pour une Ubuntu, mais vous devriez pouvoir prendre la distribution de votre choix en adaptant les commandes.
  • A l'installation d'Ubuntu vous devrez indiquer un nom d'utilisateur et un mot de passe associé. Cet utilisateur sera votre utilisateur pour la VM Ubuntu.
  • Avec la VM Ubuntu lancée lors de l'installation (vous pouvez aussi la lancer depuis le menu Start), vous obtenez une fenêtre dans laquelle un interpréteur de commandes attend vos commandes. Saisissez les commandes suivantes pour collecter les infos de mises à jour et installer les outils dont nous nous servirons :
    • sudo apt update
    • sudo apt install clang gdb make manpages-dev
      l'outil vous informe sur tous les paquetages qui vont être installés, acceptez.
    • les fichiers que vous manipulerez dans la VM Ubuntu sont stockés dans un système de fichiers séparé de celui de windows :

      • pour accéder au contenu d'un répertoire de votre VM depuis Windows, exécutez explorer.exe .

      dans le répertoire en question, cela va ourir une fenêtre dans Windows vous permettant de manipuler le contenu de ce répertoire.

      • pour accéder aux lecteurs habituels de Windows (C:, D:, etc.) depuis votre VM, rendez vous

      dans le répertoire /mnt, vous y trouverez un répertoire par lecteur.

  • Une solution avec VirtualBox qui demande une machine suffisamment puissante. Vous pourrez profiter d'un système GNU/Linux complet s'exécutant dans une machine virtuelle sur votre Windows. Cela peut s'avérer un peu trop lourd sur une machine très ancienne car une machine virtuelle demande de la mémoire et un processeur raisonnablement rapide :
  • Pour passer votre Ubuntu en français, depuis l'interpréteur de commandes Ubuntu :

    • sudo apt install language-pack-fr manpages-fr manpages-fr-extra manpages-fr-dev
      l'outil vous informe sur tous les paquetages qui vont être installés, acceptez.
    • sudo apt install $(check-language-support)
      idem.
    • sudo update-locale LANG=fr_FR.UTF-8 LANGUAGE=fr_FR

    Puis fermer l'interpréteur et relancez le.

  • Pour installer (s'il n'est pas déjà présent) l'éditeur de texte de votre choix : sudo apt install emacs par exemple.

3.2 Windows <10

Avec les versions de Windows précédant la 10, il est aussi possible de travailler en local.

La solution consiste à utiliser Cygwin, un environnement UNIX presque complet qui s'exécute nativement sur votre Windows. C'est léger, adapté à une machine peu puissante, mais la configuration et la manière de travailler seront un peu différentes par rapport aux autres solutions :

  • Installer Cygwin : https://cygwin.com
    • avec les paquets : clang, gdb, make, man-pages-posix et chere
      • les fichiers que vous manipulerez sous Cygwin sont stockés dans un système de fichiers séparé de celui de windows :
        • vu depuis Windows, Cygwin place ses fichiers ainsi que tout l'environnement UNIX qu'il propose dans C:\cygwin64\... ou C:\cygwin\... selon la version que vous installez (64 bits ou 32). Par la suite, nous utiliserons des chemins pour Cygwin64, adapter ces chemins selon votre installation.
        • vu depuis l'interpréteur de commandes de Cygwin, les lecteurs habituels de Windows (C:, D:, etc.) sont accessibles à partir de /cygdrive/...
      • ajoutez également le cas échéant l'éditeur de texte de votre choix.

4 Linux

GNU/Linux est l'environnement idéal pour travailler l'UE. Dans cette documentation, nous supposons que vous avez installé la distribution Ubuntu ou toute distribution dérivée de la Debian. Si vous êtes débutant, la distribution Ubuntu est généralement considérée comme plus simple à gérer : plus d'interfaces graphiques et moins de commandes textuelles, mais la différence n'est pas énorme.

Commencer par installer les outils que nous utiliserons dans l'UE :

  • sudo apt update
  • sudo apt install clang gdb make

Puis installer (s'il n'est pas déjà présent) l'éditeur de texte de votre choix : sudo apt install emacs par exemple.

5 OSX

OSX est un UNIX et est donc tout aussi adapté qu'un Linux pour travailler l'UE. Commencer par installer les outils de la ligne de commande, au choix :

6 Travailler durant le semestre

L'environnement installé selon votre système vous donne accès à tout ce dont vous avez besoin pour travailler dans l'UE.

6.1 Commandes Unix et programmation en shell

Ouvrez un nouvel interpréteur de commandes dans le système installé (ils sont souvent disponibles dans les menus sous les noms Terminal, xterm, Terminal Emulator, etc.).

Cet interpréteur vous permet de saisir des commandes Unix ou de programmer en shell. Vous pouvez même lancer votre éditeur de texte depuis le

terminal. Attention, l'édition de scripts sous Windows peut générer des caractères de fin de ligne incompatibles avec Unix (CRLF au lieu de LF), le cas échéant il peut y avoir un réglage à faire dans l'éditeur de texte.

6.2 Programmation en C

Dans votre éditeur de texte, vous pouvez éditer vos fichiers source en C. Vous pouvez les compiler et les exécuter en utilisant le terminal, comme nous apprendrons à le faire dans l'UE.

6.2.1 Sous Cygwin

Sous Cygwin, les entrées/sorties du programme (textes lus/écrits par le programme) se font dans une fenêtre séparée qui s'ouvre lors de l'exécution. Ceci est dû à l'absence de lldb dans cet environnement. De plus, cette fenêtre se ferme toute seule à la fin de l'exécution : si votre programme ne fait que des affichages, vous ne les verrez pas. La solution est, au choix, de :

  • mettre systématiquement un point d'arrêt à la fin du programme.
  • terminer le main par un appel à getchar() (par exemple).