Site WWW de Laurent Bloch
Slogan du site

ISSN 2271-3905
Cliquez ici si vous voulez visiter mon autre site, orienté vers des sujets moins techniques.

Pour recevoir (au plus une fois par semaine) les nouveautés de ce site, indiquez ici votre adresse électronique :

Créer une machine virtuelle Ubuntu sous Windows et y installer Bigloo
Pré-requis pour le cours d’initiation à la programmation
Article mis en ligne le 24 octobre 2014
dernière modification le 1er juin 2021

par Laurent Bloch

À partir de la section sur la mise à jour du système, ce tutoriel vaut également si l’on utilise Ubuntu comme service Windows (WSL), désormais très commode.

Pour les cours d’informatique que je donne au Cnam, je renonce à dire aux étudiants qu’ils peuvent, pour leurs travaux personnels, utiliser l’environnement de leur choix, parce que cela ne marche pas. Pour apprendre à programmer, il faut un système d’exploitation destiné à cet usage, en l’occurrence Unix. Alors pour ceux qui ont Windows ou MacOS et des raisons de ne pas y renoncer, je leur demande d’installer une machine virtuelle VirtualBox et Ubuntu, ainsi ils pourront travailler normalement. C’est gratuit, et ce petit texte pourra peut-être servir à d’autres.

Au début de ce cours il faut procéder à l’installation des outils nécessaires à vos travaux personnels : VirtualBox, Ubuntu, Emacs, Bigloo. En effet sans cela vous ne pouvez pas travailler sérieusement, et ainsi vous aurez tous le même environnement.

Les consignes qui suivent s’adressent surtout aux utilisateurs de Windows. Ceux qui ont installé Ubuntu peuvent passer directement à l’installation de Bigloo (Emacs et rlwrap sont distribués sous forme de paquets .deb standard). Pour les Macintosh la procédure est assez semblable à celle pour Windows.

Un article de fond sur les machines virtuelles :
Introduction aux machines virtuelles.
Et aussi : mon manuel de système à télécharger au format PDF :
Splendeurs et servitudes des Systèmes d’exploitation
Histoire, fonctionnement, enjeux

Installation d’une machine virtuelle Ubuntu sous Windows

Il faut que vous sachiez si votre ordinateur est un modèle 32 ou 64 bits, et quelle version de système il utilise. Si vous ne savez pas, et si c’est Windows, vous trouverez la réponse ici.

Il faut aussi que vous téléchargiez, pour le bon modèle d’ordinateur et pour la bonne version de système (Windows si vous utilisez Windows, OS X si c’est Macintosh), par exemple sur une clé USB, ou sur votre disque dur, ou, mieux, sur les deux :

 VirtualBox

À télécharger également, l’image ISO de la version d’Ubuntu que vous installerez sur la machine virtuelle que vous aurez créée : c’est ici (attention, par défaut c’est la version 64 bits, si vous êtes en 32 bits il faut cliquer sur « Plus d’options ... »).

Configuration de la machine virtuelle

Puis télécharger depuis le site l’archive Bigloo que vous installerez sous Ubuntu sur la machine virtuelle :

ftp://ftp-sop.inria.fr/indes/fp/Big...

Pour installer confortablement Bigloo sous Windows :

 installer dans Windows VirtualBox (attention, il faut savoir si on a une machine 32 ou 64 bits, et sélectionner la bonne version en conséquence) ;
 créer dans VirtualBox une machine virtuelle Linux Ubuntu (vide au départ) ; attention : sur certains systèmes le menu proposera une machine virtuelle 32 bits bien que la machine soit 64 bits, il faut alors consulter cette page et agir en conséquence ;
 télécharger (sous Windows) une image ISO Ubuntu (32 ou 64 bits selon le modèle d’ordinateur) depuis http://ubuntu-fr.org/telechargement ;
 lancer la machine virtuelle créée tout à l’heure, en sélectionnant l’image ISO Ubuntu comme CD virtuel dans le menu VirtualBox ;
 attention, ne pas oublier de sélectionner la langue "Français" (si vous avez un clavier français) ;
 dans les menus de configuration de VirtualBox, aller dans "Réseau", sélectionner le mode "Pont" et "Autoriser les VM" ;
 et là normalement, après quelques dizaines de minutes, vous avez une machine virtuelle Ubuntu prête à marcher.

Profiter du plein écran avec VirtualBox

Pour avoir une machine virtuelle utilisable confortablement il vaut mieux ajouter les extensions qui permettent l’affichage en plein écran et certaines accélérations. Pour ce faire vous pouvez vous inspirer de cette page, qui n’est pas tout à fait à jour, en fait il suffit de cliquer sur le bouton proposé pour l’installation des extensions, mais les explications sont claires. Pour que cela marche il faut être connecté au réseau pendant toutes les opérations.

Pour disposer de plusieurs bureaux virtuels, il faut installer gnome-panel (sudo apt-get install gnome-panel) et le lancer, ce qui permet de configurer le nombre voulu de bureaux virtuels, ce qui est très pratique.

Mettre à jour la machine (virtuelle ou réelle), installer Emacs et Bigloo

 Commencer par ouvrir une fenêtre Terminal et :

  1. $ sudo apt-get update ; sudo apt-get dist-upgrade
  2. $ sudo apt-get install gcc make patch emacs binutils diffutils libtool automake
  3. $ sudo apt-get install flex bison libssl-dev rlwrap autoconf autogen libunistring2 libgmp10 libgmp3-dev

Télécharger

En effet pour que l’installation de Bigloo configure Emacs il faut avoir installé Emacs avant Bigloo.

 dans une fenêtre terminal :

  1. $ cd
  2. $ mkdir -p Programmation/Bigloo
  3. $ cd Programmation/Bigloo
  4. $ wget ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo-latest.tar.gz
  5. $ tar xvzf bigloo-latest.tar.gz
  6. $ cd bigloo-latest

Télécharger

Ce qui signifie :

 cd vous place dans votre répertoire d’accueil ;
 mkdir -p Programmation/Bigloo crée un dossier Programmation et un sous-dossier Bigloo ;
 cd Programmation/Bigloo nous place dans le dossier Bigloo ;
 wget ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo-latest.tar.gz télécharge le fichier d’archive compressée bigloo-latest.tar.gz ;
 tar xvzf bigloo-latest.tar.gz extrait les fichiers de l’archive (option x), affiche le contenu (option v), décompresse le contenu (option z), et l’option f indique que ce qui suit est le nom du fichier d’archive.

Il faut donc que les noms de fichiers soient les mêmes à chaque ligne, ne pas oublier de le modifier en cas de nouvelle version.

Lire README et INSTALL !

  1. $ ./configure
  2. $ make
  3. $ sudo make install
  4. $ make compile-bee
  5. $ sudo make install-bee

Télécharger

Voilà, cela devrait marcher ! N’oubliez pas de mettre régulièrement votre système à jour ainsi :

  1. $ sudo apt-get update ; sudo apt-get dist-upgrade

Script d’installation de Bigloo, par Chabname Ghassemi

Chabname Ghassemi, une étudiante du cours qui s’y connaît bien en programmation shell, a écrit pour ses collègues (mais cela peut servir à tout le monde) un excellent script d’installation qui effectue, d’un souffle, toutes les opérations énumérées ci-dessus. Il peut fonctionner aussi bien sur une machine virtuelle sous Ubuntu que sur une machine Ubuntu réelle ou sur les services WSL de Windows. Il fonctionne aussi pour Debian 10.

L’auteur écrit :

« Comment l’utiliser :

  • Télécharger le fichier joint : bigloo-install.sh
  • Ouvrir un terminal
  • Le rendre exécutable avec la commande : chmod +x /*chemin_du_script*/bigloo-install.sh
    • exemple : chmod +x Téléchargements/bigloo-install.sh
  • Exécuter le script avec la commande sudo
    • exemple : sudo Téléchargements/bigloo-install.sh

Le script vous indiquera les étapes en cours et terminées.
S’il n’y a pas eu d’erreurs, vous pouvez utiliser Emacs et Bigloo.
En cas d’erreur, le script vous l’indiquera, avec le chemin du fichier
de logs à consulter pour plus de détails.

Enjoy. »

Le voici :

  1. #!/bin/bash
  2.  
  3. ###
  4. # Install Emacs & Bigloo on Linux Ubuntu branch
  5. # Authors: Anon & Chabname GHASSEMI
  6. # License: MIT
  7. # Source: http://laurentbloch.net/MySpip3/Creer-une-machine-virtuelle-Ubuntu-sous-Windows-et-y-installer-Bigloo
  8. ##
  9.  
  10. LOG="/tmp/bigloo-install.log"
  11. WORKING_DIR="$HOME/bigloo-install"
  12.  
  13. if [[ ! -f "$LOG" ]]
  14. then
  15.   touch "$LOG"
  16. else
  17.   true > "$LOG"
  18. fi
  19.  
  20. echo "1/ Preparing your system."
  21.  
  22. echo -n " - Updating apt cache... "
  23. if ! apt-get -q update &>> "$LOG"
  24. then
  25.   echo "fail"
  26.   echo "Error with updating apt cache."
  27.   echo "See errors in : $LOG"
  28.   exit 1
  29. else
  30.   echo "ok"
  31. fi
  32.  
  33. echo -n " - Upgrading your system... "
  34. if ! apt-get dist-upgrade -qy &>> "$LOG"
  35. then
  36.   echo "fail"
  37.   echo "Error with upgrading system"
  38.   echo "See errors in : $LOG"
  39.   exit 1
  40. else
  41.   echo "ok"
  42. fi
  43.  
  44. echo -n " - Installing Emacs & required packages... "
  45. if ! apt-get install -y gcc make patch emacs binutils diffutils libtool automake wget \
  46. flex bison libssl-dev rlwrap autoconf autogen libunistring2 libgmp10 libgmp3-dev &>> "$LOG"
  47. then
  48.   echo "fail"
  49.   echo "Error with installing packages."
  50.   echo "See errors in : $LOG"
  51.   exit 1
  52. else
  53.   echo "ok"
  54. fi
  55.  
  56. echo "2/ Downloading & installing Bigloo."
  57.  
  58. if [[ ! -d "$WORKING_DIR" ]]
  59. then
  60.   mkdir -p "$WORKING_DIR"
  61.   cd "$WORKING_DIR"
  62. else
  63.   cd "$WORKING_DIR"
  64. fi
  65.  
  66. echo -n " - Downloading Bigloo... "
  67. if wget -q ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo-latest.tar.gz
  68. then
  69.   echo "ok"
  70. else
  71.   echo "fail"
  72.   exit 1
  73. fi
  74.  
  75. echo -n " - Installing Bigloo... "
  76. if ! tar xvzf bigloo-latest.tar.gz &>> "$LOG"
  77. then
  78.   echo "fail"
  79.   echo "Uncompressing bigloo-latest.tar.gz failed"
  80.   echo "See errors in : $LOG"
  81.   exit 1
  82. else
  83.   cd bigloo-latest
  84.  
  85.   ./configure &>> "$LOG"
  86.   make &>> "$LOG"
  87.   make install &>> "$LOG"
  88.   make compile-bee &>> "$LOG"
  89.   make install-bee &>> "$LOG"
  90.   echo "ok"
  91. fi
  92.  
  93.  
  94. echo -n " - Installing driver for printer to PDF... "
  95. if ! apt-get install -y printer-driver-cups-pdf  &>> "$LOG"
  96. then
  97.   echo "fail"
  98.   echo "Error with installing driver for printer to PDF."
  99.   echo "See errors in : $LOG"
  100.   exit 1
  101. else
  102.   echo "ok"
  103. fi
  104.  
  105. cd
  106. rm -rf "$WORKING_DIR"
  107. rm "$LOG"

Télécharger