Looking for Computer Science  & Information Technology online courses ?
Check my new web site: https://www.yesik.it !

Scala (pour Scalable Language) est un langage pour la plate-forme Java (et .NET) dont l'objectif principal est de pouvoir s'adapter à la complexité des tâches que l'on réalise avec. Pour atteindre ce but, Scala mêle des concepts liés à la programmation orientée objets et à la programmation fonctionnelle.

Dans cet article, nous allons installer Scala à partir de la distribution pour environnement Unix/Linux/MacOSX téléchargée sur le site http://www.scala-lang.org

Pré-requis

Pour fonctionner Scala nécessite qu'une machine virtuelle Java soit disponible. Si ce n'est déjà fait, commencez par installer un JRE. Lors de la rédaction de cet article, je disposais de Sun Java 1.6. Mais Scala doit pouvoir fonctionner avec n'importe quel JRE moderne (≥1.4).

Installation

Les utilisateurs qui accèdent au logiciel au travers du lien symbolique auront automatiquement accès à la nouvelle version lors d'une mise à jour du lien.
Mais les utilisateurs qui le désirent peuvent aussi accéder directement à une version particulière.

Comme souvent, l'installation peut se résumer à décompresser l'archive téléchargée. Ici, je vais la faire dans le dossier /usr/local/share – afin que Scala soit disponible pour tous les utilisateurs de ma machine:

sh# cd /usr/local/share
sh# tar oxzf /path/to/scala-2.7.6.final.tgz
sh# ls -ld scala*
drwxr-xr-x 9 root staff 4096 2009-09-09 17:46 scala-2.7.6.final

A ce stade, vous devriez avoir un dossier contenant la version de Scala téléchargée (dans mon cas 2.7.6.final). Pour faciliter la transition ultérieure vers une autre version, nous allons ajouter un lien symbolique pour représenter la version courante de Scala. Ainsi, si nos utilisateurs utilisent ce lien pour accéder à Scala, non seulement ils n'auront pas à mémoriser le numéro de version complet, mais en plus lors d'une mise à jour il suffira à l'administateur (vous!) de faire pointer ce lien vers le dossier contenant la nouvelle version pour que les utilisateurs basculent en toute transparence.

sh# ln -s scala-2.7.6.final scala
sh#  ls -ld scala*
lrwxrwxrwx 1 root staff   17 2009-10-28 15:12 scala -> scala-2.7.6.final
drwxr-xr-x 9 root staff 4096 2009-09-09 17:46 scala-2.7.6.final

Configuration

La configuration se réduit au minimum. Il suffit de définir la variable d'environnement SCALA_HOME pour désigner le dossier d'installation de Scala. Et de rendre disponibles les exécutables situés dans SCALA_HOME/bin. Il est bien sûr possible de le faire manuellement en ligne de commande dans chaque shell:

sh$ export SCALA_HOME=/usr/local/share/scala
sh$ export PATH=${PATH}:${SCALA_HOME}/bin

Si votre distribution utilise /etc/profile.d (ou si vous l'avez ajouté!), vous pouvez y créer les scripts d'initialisation nécessaires.

Enfin, si comme moi vous préférez que Scala soit disponible même en dehors de toute session utilisateur interactive, vous préférerez modifier /etc/environment et créer quelques liens symboliques. Ce qui me permettra par exemple d'utiliser Scala dans mes scripts de démarrage.

Attention:

Toutes les distributions ne supportent pas le fichier /etc/environment. Sous Linux, c'est souvent le cas (si le module PAM est installé). Sous d'autres systèmes Unix ou Unix-like, je vous conseille de vérifier...

sh# echo SCALA_HOME=/usr/local/share/scala >> /etc/environment
sh# (
    cd /usr/local/share/scala/bin
    find * -executable -type f -exec ln -s `pwd`/'{}' /usr/local/bin/'{}' \;
)

Hello Scala

Un premier essai pour tester votre installation – et sacrifier à la coutume:

sh$ scala
Welcome to Scala version 2.7.6.final (Java HotSpot(TM) Client VM, Java 1.6.0_12).
Type in expressions to have them evaluated.
Type :help for more information.

scala> print("Hello, world!")
Hello, world!

Piège:

Comme /etc/environment n'est lu automatiquement qu'au démarrage de la machine, si comme moi vous avez initialisé SCALA_HOME dans ce fichier, cela ne sera pas pris en compte avant de redémarrer la machine. Ce qui peut éventuellement poser des problèmes. Jusque là, vous devrez exporter manuellement SCALA_HOME dans vos shells:

sh$ export SCALA_HOME=/usr/local/share/scala

Et maintenant?

Et voilà: Scala est installé sur votre système. Vous (et vos utilisateurs) pouvez désormais expérimenter à loisir avec cet intéressant langage.

En ce qui concerne les mises à jour, si vous avez suivi les instructions données ici, il vous suffira de décompresser la nouvelle version de Scala dans le dossier /usr/local/share et de modifier le lien symbolique /usr/local/share/scala pour pointer sur la nouvelle version installée. Et la transition sera tout à fait transparente pour vos utilisateurs.

Bon amusement!

Ressources