Archives du mot-clé Mac

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.

Un nouveau SSD pour mon Mac Mini Late 2012

Comme je l’avais écris dans mon précédent billet (Un Mac Mini 2014 pour remplacer mon Mac Mini 2012 ?), j’ai entrepris de changer le disque dur de mon Mac Mini Late 2012. Ce dernier était équipé d’un disque Hitachi de 500 Go à 5400 tr/min (Mac Mini Late 2012 – Disque dur). Le disque de remplacement est un SSD Crucial M4 de 128 Go monté précédemment sur mon PC fixe (Windows/Linux).
Crucial SSD M4 128

La modification se déroule en trois étapes :

  1. création d’une clé USB de démarrage avec Mac OS X 10.10 Yosemite ;
  2. remplacement du disque dur ;
  3. installation de Mac OS X

Clé USB de démarrage avec Mac OS X 10.10 Yosemite

Téléchargement de Yosemite

Avant de s’intéresser à la clé USB, il vous faut les fichiers d’installation de Mac OS X. Même si vous avez déjà fais la mise à jour, vous devrez sans doute comme moi, encore une fois télécharger Mac OS X Yosemite depuis l’App Store.

Si le téléchargement de Yosemite est horriblement lent, essayez la solution suivante :

  • Mettez le téléchargement de Yosemite en pause (via le Launchpad)
  • Allez dans le menu « Préférence Système > Réseau > Avancé > DNS »
    • notez les adresse des serveurs DNS
    • changez les serveurs par 8.8.8.8 et 8.8.4.4
  • Surfez un peu avec Safari pour tester si tout fonctionne
  • Reprenez le téléchargement de Yosemite (via le Launchpad)
  • Modifiez à nouveau les adresses des serveurs DNS avec celles notées précédemment

Cette solution, donnée par Frank252 dans Yosemite download is insanely slow (nothing wrong with my network) (9ème message), a parfaitement fonctionné pour moi :

  • avant : 1 Go en 2h30
  • après : 4,7 Go en 15 minutes

Nettement mieux !

Formatage de la clé USB bootable

Rien de bien compliqué ici. Il vous faut juste une clé USB d’au moins 8 Go. Vous pouvez ensuite suivre ce tutoriel : How to format a startup drive for a Mac

Copie des fichiers d’installations sur la clé

J’ai suivi ce tutoriel How to make a bootable OS X 10.10 Yosemite install drive. J’ai utilisé la première méthode avec createinstallmedia.

Remplacement du disque dur

Avant de commencer, vous devez savoir que la visserie des Mac est de type Torx. Vous aurez besoin des clés T6 et T8. N’étant pas équipé, j’ai acheté ce kit chez LDLC (en même temps que mon second disque SSD).

J’ai suivi ce tutoriel : Mac Mini Late 2012 Hard Drive Replacement en sautant les étapes 10, 13, 14, 15, 16 et 20. J’ai également utilisé le truc de la carte de visite pour insérer facilement le disque. Voir la vidéo suivante à 8 minutes 50 secondes :

http://www.youtube.com/watch?v=Nkbekb8yKhc

Il faut normalement entre 15 et 20 minutes pour changer le disque dur (sans se presser).

Voici le résultat :
Mac Mini Late 2012 avec disque SSD

Installation de Yosemite sur le SSD

Il faut brancher la clé créée précédemment puis allumer le Mac Mini en maintenant les touches cmd+R enfoncées.

Vous pouvez alors effacer/formater le disque SSD et ensuite lancer l’installation de Mac OS X dessus.

Si au cours de l’installation le timer semble se bloquer indéfiniment sur ce message :

Il reste environ une seconde

La solution consiste… à ne rien faire : OS X Yosemite Installation Stuck with Minutes Remaining? Wait!

Si vous n’y tenez plus, vous pouvez toujours ouvrir la console d’installation avec les touches cmd+L. Mais ne vous fiez pas forcément aux message d’erreurs présentés. J’avais par exemple l’erreur suivante :

cannot connect to /var/run/systemkeychaincheck.socket

N’ayant trouvé aucune solution convaincante sur internet, j’ai simplement attendu et miracle, l’ordinateur a redémarré automatiquement après presque 15 minutes. Il a encore fallut 10 bonnes minutes pour la deuxième partie de l’installation de Mac OS X.

Conclusion

Le changement de disque dur sur le Mac Mini Late 2012 est simple (si on possède les bons outils). La partie la plus pénible reste finalement le téléchargement et l’installation de Mac OS X Yosemite.

Au final mon Mac Mini est maintenant plus réactif.

Si vous avez des questions, n’hésitez pas.

Un Mac Mini 2014 pour remplacer mon Mac Mini 2012 ?

Pour mon travail, je m’étais équipé d’un Mac Mini Late 2012 avec les caractéristiques suivantes :

  • processeur : Intel® Core i5-3210M CPU @ 2.50GHz ;
  • graphique : Intel® HD Graphics 4000 ;
  • mémoire : 4 Go de RAM ;
  • disque dur : 500 Go HDD (5400 tr/min) ;

Deux ans après la version Late 2012, Apple a sorti une nouvelle version du Mac Mini. Le modèle qui se rapproche le plus du mien est le Mac Mini 2,6 GHz à 699 Euros. J’ai bien entendu tout de suite cherché les spécifications techniques.

Spécifications matériel du Mac Mini 2,6 GHz (2014)

Le design extérieur ne change absolument pas, jetons un œil au niveau du matériel embarqué. Je ne liste ici que les composants importants pour mon travail.

  • Processeur
D’après le peu d’informations communiqué par Apple (2,5-3,1 GHz, 3 Mo de cache et le type de mémoire), il doit sans doute s’agir d’un Intel® Core™ i5-4278U.
  • Graphique
Si c’est bien le i5-4288U qui équipe le Mac Mini, le processeur graphique sera le Intel® Iris™ 5100
  • Mémoire
Ce modèle embarque 8 Go de RAM LPDDR3
  • Disque dur
Toujours un disque dur à 5400 tr/min. La capacité passe à 1 To

Des défauts ?

Le processeur est passé d’un modèle M pour PC portables à un modèle U, très basse consommation (voir Numérotation des processeurs Intel). Mais il y aussi un changement de génération, de Ivy Bridge à Haswell. Les performances devraient donc être au moins équivalentes.

Le disque dur est un « bon vieux » 5400 tr/min. Autant dire que le Mac Mini ne brille pas part sa réactivité de ce coté la. Il n’y a pas d’upgrade disponible vers un disque à 7200 tr/min, c’est directement vers un SDD de 256 Go (pour 200 Euros).

Au niveau de la RAM, la quantité est confortable pour une utilisation standard, voire pour bon nombre d’utilisateurs professionnels. Le problème vient surtout du fait que la RAM n’est plus sous forme de barrettes SO-DIMM, mais directement soudée à la carte mère. Si vous voulez plus de RAM, il faut donc y penser avant la commande (16 Go pour 200 Euros).

La version « Late 2012 » était livrée avec un adaptateur HDMI/DVI. Ce n’est plus le cas avec la nouvelle version. Il faudra éventuellement acheter l’accessoire pour 29 Euros.

Remplacer mon Mac Mini Late 2012 ?

Si je devais franchir le pas vers Mac aujourd’hui, les quelques défauts cités précédemment ne seraient pas des blocages. Je choisirais sans doute le Mac Mini 2,6 GHz sans options supplémentaires.

Mais j’ai déjà mon Mac Mini. Je n’ai donc aucun intérêt à changer mon « Late 2012 » pour la nouvelle version. D’autant plus que j’ai l’opportunité de remplacer le disque dur 5400 tr/min par un disque SSD récupéré sur une autre machine. Je vous en parlerai prochainement…

Conclusion

Dans la gamme Apple, le Mac Mini 2,6 GHz (2014) n’est pas une bête de course dont les spécifications font rêver en 2014. Je considère néanmoins toujours que c’est une bonne machine pour entrer dans l’univers Mac à moindre frais (si l’on peut dire).