iweb visitor

This is an old revision of the document!


Cours théoriques

  • Slides cours 1: PDF
  • Code source cours 1: [ZIP]

Machine virtuelle pour le cours INFOH304

Instructions pour installer la machine virtuelle du cours.

Si vous possédez un ordinateur portable, il est fortement recommandé de suivre ces instructions, et d'emporter votre ordinateur dès le premier cours théorique !

Qu'est-ce qu'une machine virtuelle?

Une machine virtuelle est une simulation (ou plus exactement une émulation) d'un ordinateur par un autre ordinateur. En installant par exemple Linux sur une machine virtuelle émulée par votre ordinateur Windows, vous pourrez alors accéder à un système Linux dans une fenêtre du système Windows. Dans ce cas, la machine virtuelle Linux est appelée "invitée" (guest), et la machine réelle Windows "hôte" (host).

Pourquoi une machine virtuelle?

Une fois installée sur votre ordinateur, vous pourrez utiliser la machine virtuelle:

  • aux cours théoriques: pour directement tester des bouts de code
  • aux travaux pratiques: pour effectuer les exercices sur votre propre ordinateur plutôt que sur les machines de la salle
  • à la maison: pour réviser les exercices et éventuellement préparer votre projet

L'avantage d'une machine virtuelle est que quel que soit le système installé sur votre ordinateur, vous vous retrouverez tous avec la même configuration, ce qui facilite le support technique.

Un désavantage est que cela occupe de l'espace disque et peut ralentir l'ordinateur vu qu'il doit exécuter deux systèmes d'exploitation en même temps. La machine virtuelle a été conçue pour rester légère et donc fonctionnelle sur tout ordinateur qui ne soit pas trop ancien, mais si vous préférez néanmoins vous en passer, vous trouverez des instructions pour installer le compilateur gcc directement sur votre ordinateur en bas de cette page.

Installation de la machine virtuelle

  1. Assurez-vous d'avoir au moins 10Go de libre sur votre disque dur
  2. Téléchargez et installez l'outil de virtualisation VirtualBox, ainsi que le VirtualBox Extension Pack disponible à la même adresse:
    • VirtualBox (Windows/Mac/Linux)
    • Remarque: La machine virtuelle est configurée pour la version 6.0.12, si vous installez une version différente vous devrez réinstaller les "Additions Invité" (voir plus bas) pour profiter de toutes les fonctionnalités
  3. Téléchargez et installez un client Bittorrent, par exemple:
  4. Téléchargez le fichier torrent
  5. Ouvrez ce fichier avec votre client Bittorrent, et attendez la fin du téléchargement
    • en cas de problème avec Bittorrent, voici un lien de téléchargement direct: padi-vm.ova
  6. Double-cliquez sur le fichier téléchargé (nommé "padi-vm.ova") pour l'ouvrir avec VirtualBox
  7. Cliquez sur "Importer" et attendez quelques minutes que l'importation se termine
  8. Dans la fenêtre "Oracle VM VirtualBox", cliquez sur "Démarrer" pour faire démarrer votre nouvelle machine virtuelle (nommée "padi-vm").
  9. Si la machine virtuelle vous demande un mot de passe pour vous connecter, les identifiants sont les suivants:
    • Nom d'utilisateur: student
    • Mot de passe: ulb

Vous pouvez maintenant supprimer le fichier "padi-vm.ova" si vous désirez récupérer 2Go d'espace disque.

Problèmes fréquents

J'obtiens une erreur quand j'essaye d'installer la machine virtuelle ou de la lancer

  • Vérifiez que vous avez bien installé le VirtualBox Extension Pack disponible à la même adresse que le programme lui-même:
    • VirtualBox (Windows/Mac/Linux)
    • Une fois le fichier téléchargé (extension .vbox-extpack), il suffit de double-cliquer dessus pour l'installer dans VirtualBox.
  • Vérifiez qu'il n'y a pas une option "Virtualization" de désactivée dans le BIOS de votre ordinateur. Pour accéder au BIOS:
    •  Redémarrer l'ordinateur et appuyer sur la touche indiquée à l'écran dès qu'il s'allume (souvent F2, F10 ou "suppr")
    • Sous Windows 10, vous pouvez également accéder au BIOS via "Démarrer → Paramètres → Mises à jour et sécurité → Récupération" en cliquant sur le bouton "Redémarrer maintenant" dans la section "Démarrage avancé"
  • Si vous utilisez MacOS (en particulier à partir de la version 10.13 High Sierra) et que vous obtenez un message indiquant "Kernel driver not installed (rc=-1908)"
    • Ouvrez les "Préférences Système" (icône engrenage), puis "Sécurité et confidentialité"
    • Sous l'onglet "Général", il devrait y avoir un message indiquant qu'un logiciel développé par Oracle America, Inc a été bloqué: cliquez sur "Autoriser"
    • Relancez la machine virtuelle depuis VirtualBox
    • Attention: le message en question n'apparaît que pendant 30 minutes après la première apparition de cette erreur. Si le message n'apparaît plus, veuillez redémarrer votre machine et réessayer.

La machine virtuelle me demande un identifiant et un mot de passe

Utilisez l'identifiant suivant:

  • Identifiant: student
  • Mot de passe: ulb

Installation des "Additions Invité"

La machine virtuelle a été configurée pour la dernière version de VirtualBox disponible au début de l'année académique, soit la version 6.0.12. Si vous installez une version différente (ou mettez à jour VirtualBox suite à la parution d'une nouvelle version), vous perdrez certaines options d'intégration entre la machine hôte et la machine invitée (dossiers partagés, copier-coller de texte et glisser-déposer de fichiers d'une machine à l'autre). Pour les récupérer, suivez les instructions suivantes:

  • Dans la barre d'outils de VirtualBox, cliquez sur "Périphériques" puis "Insérer l'image CD des Additions Invité"
  • Via la fenêtre qui s'ouvre dans la machine virtuelle, autorisez l'exécution automatique en cliquant sur "Valider" puis "Lancer"
  • Entrez le mot de passe "ulb"
  • Attendez la fin de l'installation et redémarrez la machine virtuelle

J'ai pu installer VirtualBox mais la machine virtuelle plante ou ralentit fortement l'ordinateur

Ces symptômes peuvent survenir si votre ordinateur est relativement ancien et donc pas assez puissant pour faire tourner la machine virtuelle en plus du système d'exploitation de la machine hôte.

La machine virtuelle utilise 1Go de RAM. Mac OS et Windows demandent au moins 2Go de RAM pour tourner raisonnablement (voire plus pour les dernières versions), donc globalement votre ordinateur devrait disposer d'au moins 3Go pour faire tourner la machine virtuelle en plus du système d'exploitation de la machine hôte (2Go pourraient suffire mais cela risque de provoquer de forts ralentissements, voire des plantages).

Si vous êtes dans ce cas, une solution est de ne pas utiliser VirtualBox mais plutôt d'installer gcc directement dans votre système d'exploitation hôte. Vous trouverez des instructions à cet effet à la fin de cette page.

Je ne sais pas comment transférer des fichiers vers la machine virtuelle

Il y a différentes options:
  • Le plus simple est d'ouvrir une fenêtre Firefox dans la machine virtuelle pour accéder à l'université virtuelle (des signets ont déjà été créés) et télécharger directement les fichiers dans la machine virtuelle
  • Vous pouvez effectuer un "glisser-déposer" d'un fichier depuis une fenêtre de la machine hôte vers une fenêtre de la machine invitée. Attention: suite à un bug il se peut que les fichiers ne se retrouvent pas à l'endroit où vous les avez déposés mais dans le dossier "/tmp/VirtualBox Dropped Files" (un lien vers ce dossier est présent sur le bureau de la machine virtuelle)
  • Vous pouvez créer un dossier partagé pour accéder directement à un dossier de la machine hôte depuis la machine invitée (voir ci-dessous)

Mon clavier n'est pas bien configuré

Par défaut, la machine est configurée pour un clavier AZERTY belge. Si votre clavier a une agencement différent des touches, vous pouvez le reconfigurer de la manière suivante:

  • Cliquez sur menu en bas à gauche, puis "Paramètres système - Centre de contrôle" (troisième icône du menu à gauche en partant du haut), puis "Clavier" (dans le menu "Matériel"
  • Dans l'onglet "Agencements", cliquez sur le "+", sélectionnez l'agencement correspondant à votre clavier et cliquez sur "Ajouter"
  • En cliquant en bas à droite de l'écran (à côté de l'heure) sur "be", vous pouvez passer d'un agencement à l'autre
  • Si le nouvel agencement est correct, vous pouvez supprimer l'agencement "Belge" pour éviter qu'il ne soit sélectionné
Clavier Mac:
  • Certains caractères ne sont pas présents sur un clavier AZERTY Mac, comme les accolades
  • Vous pouvez les taper en combinant la touche "alt-option" de droite avec d'autres touches, par exemple "alt-ç" pour "{" (voir ici pour tous les caractères disponibles)

Divers

Accès aux fichiers de la machine hôte

  1. Dans la fenêtre "Oracle VM VirtualBox", cliquez sur "Configuration", puis "Dossiers partagés"
  2. Cliquez sur l'icône "+" à droite
  3. Dans "Chemin du dossier", choisissez le dossier de la machine hôte que vous voulez partager avec la machine virtuelle
  4. Cochez les options "Montage automatique" et "Configuration permanente"
  5. Cliquez sur "OK", puis encore "OK"

Au prochain démarrage de la machine virtuelle, votre dossier partagé sera disponible au chemin "/media/sf_nom_du_dossier" (un lien apparaîtra sur le bureau de la machine virtuelle). Notez que vous pouvez créer plusieurs dossiers partagés via cette méthode.

Accès aux fichiers de votre compte ULB

Méthode automatique

Cette méthode vous reconnecte automatiquement au serveur de fichiers de l'ULB à chaque démarrage de la machine virtuelle.

  1. Double-cliquez sur le lien "Configuration ULB" sur le bureau de la machine virtuelle
  2. Entrez votre nom d'utilisateur ULB (la partie avant "@ulb.ac.be" de votre adresse email)
  3. Entrez votre mot de passe

Le lien "Dossier ULB" créé sur le bureau vous donne alors accès aux fichiers de votre compte ULB (en pratique, celui-ci correspond au chemin "/media/ULB/votre_login_ulb")

Pour changer de compte ULB (en cas de partage de votre machine virtuelle avec un autre étudiant), il suffit de répéter la procédure avec un autre nom d'utilisateur.

Attention: Pour configurer et utiliser l'accès à votre compte ULB, votre ordinateur doit bien-sûr être connecté à internet.

Méthode manuelle

En cas de modification de la configuration du serveur de fichiers de l'ULB, il se peut que la méthode automatique ne fonctionne plus. Dans ce cas, vous pouvez utiliser la méthode manuelle suivante (il faudra réitérer ces étapes à chaque démarrage de la machine virtuelle).

  1. Cliquez sur Menu → Dossier Personnel → Fichier → Se connecter à un serveur
  2. Remplissez la boite de dialogue avec les informations suivantes, où USERNAME est votre nom d'utilisateur ULB (la partie avant "@ulb.ac.be" de votre adresse email)
    • Serveur: nestor.ulb.ac.be
    • type: SSH
    • Répertoire: /u/USERNAME
    • Nom d'utilisateur: USERNAME
    • Mot de passe: votre mot de passe ULB

Eteindre la machine virtuelle

Pour éteindre la machine virtuelle, vous pouvez soit:

  • Fermer la fenêtre dans laquelle s'affiche la machine virtuelle, puis choisir "Envoyer le signal d'extinction".
  • Cliquer sur Menu (dans la machine virtuelle), puis "Quitter", puis "Eteindre".

Intégration entre la machine hôte et la machine virtuelle

  • Vous pouvez transférer des fichiers de la machine hôte vers la machine virtuelle en faisant un "glisser-déposer" avec la souris d'une fenêtre vers l'autre (comme vous le feriez entre deux fenêtres de la machine hôte). Attention: suite à un bug il se peut que les fichiers transférés depuis la machine hôte vers la machine virtuelle ne se retrouvent pas à l'endroit où vous les avez déposés mais dans le dossier "/tmp/VirtualBox Dropped Files" (un lien vers ce dossier est présent sur le bureau de la machine virtuelle).
  • Vous pouvez aussi "copier-coller" du texte d'une machine à l'autre, les "presse-papiers" étant synchronisés.

Utilisation avancée

  • Dans la machine virtuelle, le dossier ULB correspond au chemin "/media/ULB", et le dossiers partagés de la machine hôte au chemin "/media/sf_nom_du_dossier".
  • Le nom d'utilisateur de la machine virtuelle est "student" et le mot de passe "ulb". Cet utilisateur a les droits administrateurs et peut donc utiliser la commande sudo. Ne l'utilisez que si vous savez ce que vous faites!

Alternative: installer gcc directement sur votre ordinateur

Dans certains cas, vous pourriez préférer travailler directement sur votre système plutôt que passer par une machine virtuelle. Cela pourrait être le cas si vous n'avez pas suffisamment d'espace disque, si votre machine est trop peu puissante pour émuler la machine virtuelle sans ralentissement (cela ne devrait arriver que pour des machines assez anciennes), ou tout simplement si vous ne voyez pas l'intérêt de passer par une machine virtuelle.

Notez néanmoins que vu la complexité à gérer un parc d'installations hétérogène, nous ne fournirons du support technique que pour la solution conseillée utilisant la machine virtuelle. Si vous désirez tout de même vous en passer, voici quelques liens pour installer le compilateur gcc, qui est le strict minimum pour pouvoir suivre le cours (la version installée sur la machine virtuelle est gcc 4.9.2, mais toute version relativement récente devrait faire l'affaire).

Windows 10

Les dernières versions de Windows 10 permettent d'installer directement un sous-système Linux Ubuntu dans Windows, et c'est sans doute la solution la plus simple pour obtenir un environnement similaire à la machine virtuelle Linux.

Voici les étapes à suivre

  • Vérifiez que votre Windows 10 est à jour
    • Menu Windows -> Paramètres (icône "Engrenage") -> Système -> Information Système
  • Si la version est antérieure à 1607 (juillet 2016), mettez votre système à jour
    • Menu Windows -> Paramètres (icône "Engrenage") -> Mise à jour et sécurité -> Rechercher des mises à jour
  • Installer le sous-système Windows pour Linux
    • Menu Windows -> Paramètres (icône "Engrenage") -> Mise à jour et sécurité -> Pour les développeurs -> Cochez "Mode développeur"
    • Barre de recherche (icône "Loupe") -> Recherchez "Panneau de configuration" -> Programmes -> Programmes et fonctionnalités -> Activer ou désactiver des fonctionnalités de Windows -> Sous-système Windows pour Linux (bêta)
    • Redémarrez votre ordinateur
    • Barre de recherche (icône "Loupe") -> Recherchez "bash" -> Tapez "o"
  • Lancez "Bash on Ubuntu on Windows" et installez les paquets nécessaires
    • Barre de recherche (icône "Loupe") -> Recherchez "Bash on Ubuntu on Windows"
    • Tapez les commandes suivantes dans le terminal:
      apt-get update
      apt-get upgrade
      apt-get install build-essential openjdk-8-jdk gnuplot-x11 freeglut3 freeglut3-dev libxmlrpc-c* libboost-dev
      echo "export DISPLAY=:0.0" >> ~/.bashrc
  • Certaines séances nécessitent un serveur X pour afficher des fenêtre graphiques. Une solution est d'installer Xming

A partir de maintenant, vous pouvez utiliser gcc directement dans ce terminal. Notez que votre dossier personnel Windows se trouve au chemin suivant: /mnt/c/Users/"Votre nom d'utilisateur Windows"

Pour éditer vos fichiers de code, vous pouvez installer Geany, le même programme qui est fourni avec la machine virtuelle: Geany for Windows

Veuillez néanmoins noter que la version Windows n'inclut pas de terminal, vous devez donc toujours passer par "Bash on Ubuntu on Windows" pour compiler et exécuter votre programme.

Autres versions de Windows

Les solutions suivantes permettent d'installer gcc sur toute version de Windows:
  • MinGW
  • Cygwin (installer le paquet "gcc" dans la catégorie "devel")

Mac OS

Pour éditer vos fichiers de code, vous pouvez installer Geany, le même programme qui est fourni avec la machine virtuelle: Geany for Mac OS

Linux

  • Toutes les distributions proposent des paquets contenant gcc.
  • Pour les dérivés de Ubuntu, vous pouvez installer les paquets suivants:
    • build-essential openjdk-7-jdk gnuplot-x11 freeglut3 freeglut3-dev libxmlrpc-c* libboost-dev