iweb visitor

Cours théoriques

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

Machine virtuelle pour le cours INFOH304

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.

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, version 5.0.16
  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

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

Utilisez l'identifiant suivant:

  • Identifiant: student
  • Mot de passe: ulb

Je n'arrive pas à installer la version recommandée de VirtualBox

Si vous avez des problèmes avec la version 5.0.16 de VirtualBox, vous pouvez essayer d'installer la dernière version: Télécharger VirtualBox.

Attention, 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 au moins partiellement, 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

Le glisser-déposer de fichier pose problème avec les versions récentes de VirtualBox: les fichiers ne se retrouvent pas dans le dossier où ils ont été déposés, mais dans le dossier /tmp/VirtualBox\ Dropped\ Files/. Si vous voulez néanmoins utiliser cette fonction une solution est de créer un raccourci vers ce dossier sur le bureau.

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: comme indiqué ci-dessus cette fonction n'est pas bien supportée dans les dernières version de VirtualBox)
  • 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 "Centre de contrôle" (en-dessous de "Système"), puis "Clavier" (dans le menu "Hardware"
  • Dans l'onglet "Agencements", cliquez sur "Ajouter", 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. Dans "Nom du dossier", tapez "share"
  5. Cochez l'option "Configuration permanente" (ne cochez pas "Montage automatique")
  6. Cliquez sur "OK", puis encore "OK"

Le lien "Dossier Partagé" sur le bureau de la machine virtuelle vous donne alors accès au dossier de la machine hôte.

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.

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).
  • 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 "/mnt/ULB", et le dossier partagé de la machine hôte au chemin "/mnt/share".
  • 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ènes, 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