Utilisation de l’ellipse en java ou comment avoir un nombre indéfini de paramètre

Depuis Tiger (java 5.0 ou 1.5 …), la structure du langage java à intégré l’ellipse.

Voici un exemple d’utilisation

JPanel mkEntry(String label, javax.swing.JComponent... jc)
{
JPanel p = new JPanel(new FlowLayout());
p.add(new JLLabel(label));
for (javax.swing.JComponent comp: jc)
p.add(comp);
return p;
}

void test()
{
JPanel p = new JPanel();
p.add(mkEntry("test", new JTextField(), new JButton("valider"));
}

Bon malheureusement on est obligé de n’avoir qu’un seul paramètre avec ellipse mais perso je trouve cela plus élégant que d’utiliser un tableau créer d’un côté puis de l’autre. Au passage cela revient au même que de créer un tableau (puisque ce qu’on récupère est un tableau) mais l’écriture en est simplifié.

Java : chargement de class et instanciantion depuis une chemin

J’ai toujours trouvé frustrant de ne pas pouvoir me dire que connaissance le nom d’une classe (sous format de String) je ne pouvait, comme je le fait en PHP, instancier un objet. En fait, cela un bout de temps que c’est réalisable mais je n’avais jamais réussi à trouvé comment, malgré des piste déjà essayé …

Donc, pour ceux qui comme mois désire faire cela :

Chargement d’une classe situé dans le package test, nommé MaClasse (/!\ java est case-sensitive) et création de l'objet lié.
Object monInstance = Class.forName("test.MaClasse").newInstance();

En espérant que cela serve à plus d’un!

EEEPC en attente

Comme j’en avais parler ici, ça y est, j’ai commandé et il est arrivé mon eeepc. Efin je en l’ai aps encore entre les mains, snif, snif, … mais cela c’est une autre histoire!

Bref, le problème est que j’ai commandé la version MS windows car pour le 1000 la version GNU/Llinux n’était pas disponible partout ou j’ai regardé. Du coup la question se pose :

  • Xandros, depuis un cd de restauration trouver sur le net?
  • Ubuntu-EEE qui changera bientôt de nom
  • Xubuntu-eee
  • Mandriva

De nombreuse distribution linux propose des déclinaisons EEEpc.

Système de base Xandros via une clef USB

La première chose c’est de tester le système de base. En cherchant sur le net on se rends compte que trouver un ISO de cette distribution est assez difficile, pas grave au moins 2 personnes l’on mis en téléchargement (sans compter les torrents) :

tododo.com ou fabcool

Une fois récupéré, sous linux :

  • Monter l’image iso : mount -o loop -t iso9660 /chemin/fichier.iso /chemin/de/montage
  • Si vous n’avez pas de lecteur externe vous aurez besoin d’une clef usb ou d’une carte mémoire ou de totu support qui peux être relier au eeepc et qui peux être booter, pour la suite on suppose que vous utilisez une clef USB.
  • Brancher votre clef USB, Démonté la, si elle est montée. sudo umount /dev/sdz (si votre clef usb est le pérphérique /dev/sdz)
  • Faites dd if=/chemin/montage/iso/dvd/restauration/eepc/xandros/Software/BootTool/BootTool/usb.img of=/dev/sdz (/!\pas /dev/sdz1 ou autre mais bien le périphérique en entier!!!)
  • Dépluguer et repluger la clef, Monter la si nécéssaire.
  • Copier les fichiers suivant (toujours du DVD de restauration) : cp -v P701L.gz 2008.01.02_17.24.bld blockcount.dat ver.tag user_start.dat /chemin/montage/clef/usb
  • Démonter et installer.
  • Tester

Personnellement, c’est ce que je ferait (la clef est déjà prête) dès que j’aurais mon EEEPc. Mais je doute de laisser cela en place.

Edit : Il se fait que les distribution que l’on trouve sont uniquement des distributions pour les versions 700 et non 900 ou 1000. Et de fait, lorsque l’ont est cela ne fonctionne pas!

Ubuntu et dérivé

Ubuntu-eee

Tout est expliquer depuis leur site web et je ne voix pas l’intérêt de le réexpliquer. Plus d’info?

EEEXubuntu

Comme l’autre tout est expliquer sur le site. Plus d’info?

Bof…

Une remarque, cependant, ubuntu-eee et eeexubuntu sont pour moi nettement moins fiable qu’une installation d’un ubuntu correctement paramétré. En effet, ces 2 distributions ont du retards par rapport au version officiel et, toujours pour moi, sont suffisamment proche d’une version officiel que pour pouvoir être customiser soit même. Mais je compte néanmoins les tester.

Au final je pense que je prendrait, par habitude, un Ubuntu ou peut-être un XUbuntu que je modifierait moi-même. Le tout avec SLIM comme gestionnaire de connexion.

Autre?

Je ne pense pas tester d’autre système dans l’immédiat.

Dès que j’aurais tester tout cela je ferait certainement un billet.

Au passage bonne fête de fin d’année!!!!!!!!!!

Quelques liens

Raid logiciel sous GNU/Linux

Voici un petit trucs fort intéressant, la création d’un raid logiciel sous GNU/Linux (ici Ubuntu, mais théoriquement c’est la même chose pour toutes les distribution).

But : Créer un raid logiciel à partir d’un disque contenant des données (/dev/sda) et d’un autre disque vide (/dev/sdc).

Rappel : Un raid logiciel contrairement à un raid matériel repose uniquement sur du logiciel (d’ou le nom 😉 ), l’avantage c’est un gain de mobilité (en effet pas besoin de rechercher le même matériel pour restaurer ces données); l’inconvénient, petite perte de performance.

Procédure :

  • On suppose que l’on est en mode super utilisateur (root)
  • Installer mdadm : aptitude install mdadm
  • Mettre le flag de la partition (ici la 5ième donc /dev/sda5 et /dev/sdc5) sur raid : parted -s /dev/sda set 5 raid on et parted -s /dev/sdc set 5 raid on
  • Création du raid : mdadm -C /dev/md0 --level=1 -n=2 /dev/sda5 /dev/sdc5 => mdadm : array /dev/md0 started
  • Vérification : mdadm --detail /dev/md0
  • Regarder l’état d’avancement de la « reconstruction » (attention pas de rebootage durant cette phase ….) : cat /proc/mdstat ou watch cat /proc/mdstat ou mdadm --detail /dev/md0 | grep Rebuild
  • Une fois fini, n’oubliez pas de changer le fstab si vous voulez que cela soit monter automatiquement.
  • Si aucun système de fichier n’était présent sur /dev/sda5 ou /dev/sdc5 il vous faudra le créer via les outils habituels en prenant /dev/md0 comme disque de référence.

Remarques :

  • Les partitions doivent être identique en terme de taille mais ne doivent pas nécessairement être dans le même ordre.
  • Le cas illustré est du raid miroir.
  • Dans tout les cas faites une sauvegarde AVANT de faire quoi que se soit.

Info :