lundi 28 février 2005

KQemu


KQEMU

Une nouvelle étape a été franchie dans le projet d'émulation de processeur Qemu (QEMU Accelerator Module). Kqemu est un module qui permet d'utiliser le processeur hôte au lieu d'utiliser le processeur de la cible. Par exemple, nous sommes sous Linux et on utilise Windows à l'aide de Qemu. Windows fonctionne à l'aide du processeur émulé par Qemu, ça fonctionne très bien, mais le système d'opération Windows fonctionne lentement. Lorsqu'on utilise Kqemu, le système Windows utilise directement notre processeur ainsi les performances sont bien meilleur. Kqemu fonctionne que de PC à PC, donc n'espérer pas d'avoir de meilleure performance sur votre G5 en tentant d'émuler Beos. En utilisant ce module, les performances sont très près de Win4lin.

Préalable

  • Kqemu
  • une version supérieure à 0.6.1 de Qemu
  • les sources du noyau
  • la sdl
  • la sdl-devel
  • textinfo
Notez que j'ai dû installer les paquets et logiciels ci-dessus (suse 9.2). Il est possible que vous deviez en installer d'autres si vous utilisez une autre distribution.

Installation

Vous devez télécharger le code source de Qemu à partir du cvs. Pour de plus amples renseignements concernant cvs, allez lire le tutoriel que j'ai créé.
Vous pouvez obtenir les sources avec une commande similaire à:
cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/qemu co qemu

Ensuite téléchargez Kqemu et décompressez-le dans le répertoire de qemu. Dans l'exemple ci-dessous, on supposera que:
/home/collinm/Documents/qemu
contient les sources de qemu et kqemu. En mode console:
cd /home/collinm/Documents/qemu

./configure --target-list=i386-softmmu

make
Connectez vous en root
make install

Qemu est maintenant installé, si vous désirez utiliser Kqemu, vous devez taper:
modprobe kqemu

Démarré qemu et vous pouvez vérifier si kqemu est réellement utilisé en tapant:
/sbin/lsmod | grep kqemu
Cette commande devrait vous retourner
kqemu                  43272  2

Si 2 n'est pas là, kqemu n'est pas chargé.

Notez qu'actuellement, Kqemu ne fonctionne pas encore avec la série de Windows 9x.
Vous pouvez maintenant démarrer une installation de beos, qnx, solaris Windows.... Insérez-le cd du système voulu
dd of=hd.img bs=2048 seek=3000000 count=0

L'installation du système voulu démarrera. Ce module permet de faire fonctionner Windows 2000 et Windows 98 avec de bonnes performances sous un 1800+ et 512 megs de RAM.

lundi 7 février 2005

Gestion de BB-Code


GESTION DE BB-CODE

Le bb-code est utilisé afin de simplifier l'utilisation de diverses fonctionnalités pour un usager. Souvent sur les sites lorsqu'on inscrit :), c'est une image avec un sourire... plusieurs images existent pour s'exprimer. Le bb-code consiste donc à taper un code qui sera transformé en une image ou en un autre code.

L'usager pourrait toujours taper http://www.yahoo.com, mais c'est beaucoup plus simple pour lui de faire [url]www.yahoo.com[/url]. En fait, on n'a qu'à filtrer le code que l'usager entre.

function bbcode($m) {
    switch($m[1]) {
        // balise <code>
        case 'code' :
           return '<div class="code"><pre>'.htmlentities($m[2]).'</pre></div>'; 
        break;
        // balise <url>
        case 'url' :
          if (preg_match ('`^http://`', $m[2]))
            return '<a href="'.$m[2].'" class="machin">'.$m[2].'</a>';
          else
            return '<a href="http://'.$m[2].'" class="machin">'.$m[2].'</a>'; 
        break;
        // balsie <img>
        case 'img' :
        return '<img src="'.$m[2].'" alt="mon image"/>';
    }
}
La fonction ci-dessus est appelée avec:
$st4="mon site web préféré est: [url]www.laboiteaprog.com[/url]
$str = preg_replace_callback('`\[(code|url|img)\](.+?)\[/\1\]`si', 'bbcode', $str);

Chaque fois que les mots: code, url ou img se retrouveront en [], la fonction bbcode est appelée. Pour avoir cet effet, preg_replace_callback est utilisé. $m[1] contient les mots et $m[2] contient ce qui entre les tags. Par exemple avec <url>www.yahoo.com</url>, url est le mot et www.yahoo.com est ce qui entre les deux. Lorsque le mot code est trouvé, ce qui est entre les balises sera affiché dans un div. Tel que montré, nous pouvons convertir le code aisément, ce qui permet d'utiliser des fichiers css et de personnaliser davantage ce qui est écrit sans trop de difficulté pour l'usager. Pour le mot url, on vérifie si la chaîne contient http://, si elle le contient pas, on l'ajoute.

Nous avons vu comment créer le bb-code, dans l'exemple montré, les balises s'écrivaient: [tag]. Cette fonction retourne la chaîne après les changements effectués. C'est donc cette chaîne qui doit être insérée dans la BD ou fichier si vous désirez sauvegarder le tout. Le script montré ci-dessus a été inspiré à partir d'un autre de source inconnue.