Archives mensuelles : novembre 2014

Installer GNU Octave 3.8.1 sur Linux Xubuntu 14.10

Depuis la version 3.8, GNU Octave dispose d’un environnement de développement (EDI). Cet outil est pour le moment encore en version de test. Il n’est pas activé par défaut lors de l’installation. Il le sera avec la sortie de la version 4 de GNU Octave.

J’avais précédemment montré comment installer GNU Octave sur Windows. Ce billet vous montrera comment l’installer sur Xubuntu 14.10.

GNU Octave Logithèque Ubuntu

Logithèque Ubuntu

Comme pour toutes les distributions Debian, il est possible d’installer GNU Octave à partir du gestionnaire de paquets (apt-get install octave par exemple).

Vous pouvez aussi plus simplement utiliser le menu  » Logithèque Ubuntu  » :
Logithèque Ubuntu

Le paquet octave 3.8.1-1ubuntu1 contient la dernière version à jour de GNU Octave.

GNU Octave et MenuLibre

Une fois installé, le lanceur se trouve normalement dans le menu  » Ã‰ducation  » de MenuLibre. Pour ma part, je préfère l’avoir dans le menu Développement. Pour ce faire :

  • ouvrir le menu  » Paramètres > Éditeur de menus « 
  • sélectionner GNU Octave
  • utiliser les flèches en bas à gauche pour déplacer le menu

Gnu Octave MenuLibre

Activation de l’EDI

L’environnement de développement de GNU Octave est encore en phase de test. Il n’est donc pas activé par défaut.

Si vous exécutez GNU Octave, vous obtenez la console classique :
GNU Octave console

Pour forcer GNU Octave à démarrer en mode EDI, il faut ajouter --force-gui via l’éditeur de menu :
GNU Octave MenuLibre

Vous pouvez aussi en profiter pour modifier le dossier de démarrage de GNU Octave en renseignant le champs  » Répertoire de travail « .

L’environnement de développement de GNU Octave devrait maintenant s’ouvrir :
GNU Octave IDE - EDI

Java et Mac OS X… et Scilab

Les utilisateurs de Scilab sur Mac ont fait entendre leurs voix ces derniers temps.

Tout d’abord à cause d’une incompatibilité avec OS X 10.10 Yosemite. Scilab Enterprises a réagit rapidement en fournissant une version spécifique de Scilab.

Ensuite, à propos du fait que Scilab utilise encore une version de Java qui n’est plus fournie (par défaut) par Apple avec les versions récentes de Mac OS X. C’est ce point qui va être développé ici.

Autant vous le dire tout de suite, ce billet de blog ne vous donnera pas de solution pour utiliser une version plus récente de Java avec Scilab. Je vais plutôt essayer de vous expliquer pourquoi Scilab a besoin de Java et vous montrer les éventuelles limitations de la version 6.

Java

Java est un langage de programmation dont le but est de simplifier la portabilité du code sur les systèmes d’exploitation courants (Windows, Linux, Mac OS X).

Commençons par expliquer brièvement certains acronymes de l’univers Java.

SE ? EE ? ME ?

  • SE (Standard Edition) : distribution « classique Â»
  • EE (Enterprise Edition) : distribution destinée aux applications d’entreprise
  • ME (Micro Edition) : distribution destinée aux applications embarquées

C’est donc la distribution SE que nous retrouvons sur la plupart de nos machines.

JRE ? JDK ?

Contrairement à un langage compilé, le code Java a besoin d’un interpréteur pour être exécuté par le système. On parle de machine virtuelle (ou JVM). La distribution de Java est également fournie avec des bibliothèques standards. La JVM et ces bibliothèques composent le JRE (Java Runtime Environment). Le JRE permet d’exécuter du code Java sur une machine.

Si vous souhaitez écrire et/ou compiler du code Java, il vous faut des outils supplémentaires. Ces outils constituent le JDK (Java Development Kit ou encore Java SE Development Kit). Pour simplifier la vie du développeur, le JDK inclu le JRE.

Pour résumer, vous avez besoin du JRE pour exécuter du code Java. Si vous avez déjà installé le JDK, vous n’avez normalement pas besoin d’installer un JRE supplémentaire.

Numérotation des versions

Vous en savez maintenant un peu plus sur les acronymes SE, JDK et JRE. Qu’en est-il des numéros de versions : 6, 7, 8 ? 1.6, 1.7, 1.8 ? Cette double numération désigne soit la version de la distribution SE, soit celle du JDK (ou du JRE).

  • Java SE 6 -> JDK 1.6 -> JRE 1.6
  • Java SE 7 -> JDK 1.7 -> JRE 1.7
  • Java SE 8 -> JDK 1.8 -> JRE 1.8

Java et Mac OS X

Intéressons nous au cas particulier de Java sur Mac OS X. Java est développé par la société Oracle (après rachat de Sun). Or, Apple a développé en parallèle sa propre version de Java. Du moins jusqu’à la version 6. La dernière version de Java publiée par Apple est la 1.6.0_65 publiée le 15 octobre 2013 (Java pour OS X 2014-001). Pour une version plus récente, rendez-vous sur le site d’Oracle (Java SE Downloads).

Et Scilab dans tout ça

Pourquoi Scilab utilise Java ?

Scilab utilise Java entres autres pour les affichages graphiques. Voir à ce sujet la liste des dépendences de Scilab 5.X. Pour fonctionner correctement, Scilab a donc besoin d’un JRE.

Linux et Windows

Il n’y a aucun soucis avec Linux et Windows, puisque l’installateur de Scilab inclut un JRE. Après l’installation, ce JRE se trouve dans le dossier SCI+'/java' pour Windows et SCI+'/../../thirdparty/java' pour Linux. Pour Scilab 5.5.1, il s’agit de la version 1.6.0_41.

Mac OS X

L’installateur de Scilab pour Mac OS X ne contient pas de JRE. Les développeurs de Scilab ont sans doute jugé plus simple d’utilisé le JRE fourni par Apple. Sauf qu’avec les versions récentes de OS X, Apple a décidé de ne plus installer de JRE par défaut. Donc Scilab ne peut plus démarrer.

La seule solution consiste donc à installer soi-même un JRE. Et de préférence le bon : Java pour OS X 2014-001 !

Les développeurs de Scilab connaissent bien entendu ce problème depuis longtemps. Comme le montre ce commentaire tiré des sources (/modules/jvm/src/c/JVM_Unix.c) :

/* Under Mac OS X, we are using the JVM provided by the distribution.
* However, this might change with Java 7 since Apple will no longer provide
* Java with Mac OS X */

Pourquoi le JRE 1.6 et pas le 1.7 ou le 1.8 ?

Le passage d’un JRE à un autre n’est pas anodin. La version 1.7 nécessite par exemple au minimum Mac OS X 10.7.3. Passer du JRE 1.6 au JRE 1.7 demande également de relancer toute la batterie de tests pour s’assurer de la compatibilité. Et il faut bien entendu des développeurs disponibles.

Il faut donc mettre en rapport les gains (bibliothèques, performances…) apportés par la nouvelle version, face à la quantité de travail que nécessite la migration.

Limitation du JRE 1.6 pour Scilab

Le JRE 1.6 limite-t-il l’utilisation de Scilab ? On l’aura compris, cela limite juste la capacité de Scilab à exécuter du code Java récent (voir la section « Java depuis Scilab Â» dans la documentation de Scilab).

Le problème surviendra donc si le code Java utilise des instructions non prises en charge par le JRE 1.6. Ou bien si le code a été compilé avec une version plus récente du JDK (1.7 ou 1.8).

Dans les deux cas, voici l’erreur qui sera renvoyée par Scilab (jimport) :

jimport: An error occured: Exception when calling Java method : ******* : Unsupported major.minor version 51.0

A quand la prise en charge d’une version plus récente du JRE ?

D’après un tweet du 22 octobre 2014 de @Scilab :

Java sera mis à jour dans la prochaine famille de Scilab. En attendant pour pouvoir lancer Scilab 5.5.1 vous avez besoin de Java 6

Conclusion

Vous en savez maintenant un peu plus sur Scilab et Java sur Mac OS X. L’utilisation du JRE 1.6 n’est pas une limitation pour la plupart des utilisateurs de Scilab.

Est-il important de bien écrire en français sur Developpez.com ?

Je me suis inscrit il y a huit ans sur Developpez.com pour créer une communauté des utilisateurs francophones de MATLAB. À l’époque, j’apportais mon aide sur le forum anglophone. Répondre aux questions en français était donc bien plus facile et plus naturel pour moi.

Merci qui ?

Il m’arrivait parfois de ne pas comprendre certains messages sur le forum anglophone. Soit à cause d’un anglais incompréhensible, soit à cause d’erreurs de frappe ou encore à cause de l’emploi du style familier. Et inutile d’espérer utiliser un traducteur automatique (quasiment inexistant à l’époque). Toute cette pollution orthographique et typographique m’empêchait de comprendre clairement les indications en anglais.

Il m’a fallut du temps mais je me suis rendu compte que c’était la même chose avec mes messages écris en français sur les forums de Developpez.com (idem pour mes tutoriels). Comment aider efficacement un utilisateur si il doit passer plusieurs minutes à comprendre le message, voire au final, à se contenter des lignes de code ?

Je ne sais pas ce qu’il en est des autres communautés, mais j’apprécie particulièrement la présence des Correcteurs dans l’équipe de rédaction de Developpez.com. Pour être franc, au début leurs remarques étaient… pénibles. Au final, leurs remarques sont… nécessaires et incontournables. Je n’en citerai aucun en particuliers mais vous trouverez leurs pseudos dans la section « Remerciements Â» des tutoriels.

Je profite donc de ce modeste billet de blog pour remercier chaleureusement les Correcteurs de Developpez.com.

Règles de l’écriture typographique du français

Ce billet de blog est également motivé par la lecture récente de l’ouvrage « Règles de l’écriture typographique du français, à l’usage des personnes qui exercent une activité sur Mac ou PC Â» par Yves PERROUSSEAUX.
Livres regles ecriture typographique français perrousseaux
Je semble avoir découvert ce livre tardivement (9 éditions depuis 1995), mais je vous en recommande chaudement la lecture si ce n’est déjà fait. Vous trouverez des informations plus précises sur le site Atelier Perrousseaux Editeur.

Le livre ne se contente pas de faire la liste de ce qu’il faut faire ou des erreurs à ne pas faire. Il replace historiquement les règles de typographie. Vous en apprendrez plus sur les ligatures, la gestion des accents sur les lettres capitales…

C’est devenu pour moi une référence à garder à portée de main.

Conclusion

Les règles orthographiques et typographiques ne rendent pas simplement nos messages plus jolis ou plus professionnels. Elles sont nécessaires pour optimiser la compréhension des informations que nous souhaitons transmettre.

PS : ceci est un billet anti-SMS et anti-RTFM !