Installation de aewm++ et fonctionnement en parallèle avec KDE

Pour installer aewm++ :

apt-get install aewm++

Pour lancer un autre serveur X (en console "brute", c'est-à-dire en mode texte, ou bien encore en Ctrl-Alt-F{x;0<x<7}), on crée d'abord un deuxième .xinitrc (qu'on appelle par exemple aewm.xinitrc), dans lequel on met :

# Récupération des réglages par défaut
[ -f $HOME/.Xdefaults ] && xrdb $HOME/.Xdefaults

# Fond blanc
xsetroot -solid #FFFFFF
# Curseur normal (et pas la croix)
xsetroot -cursor_name top_left_arrow

# On lance le WM dans le deuxième serveur X (:1.0).
aewm++ -display :1.0 -snap 10 &

# On ajoute deux-trois trucs...
exec xclock -digital -padding 2 -g -0+0 &
exec xterm

On lance enfin le serveur :

xinit $HOME/aewm.xinitrc -- /usr/X11R6/bin/X :1.0

Normalement cela devrait fonctionner. On peut rajouter des icônes avec idesk. Je vous conseille ce tutorial qui explique très bien comment créer ses icônes. Allez, je vous laisse avec un petit scrinechotte !

Post-sriptum : En fait ça marche avec n'importe quoi d'autre... je sais pas pourquoi je ne parle que de KDE...

Mémorandum Ogg / Ogg Vorbis

Ogg est un projet de la fondation Xiph.Org. C'est aussi le nom d'un format conteneur de "streams" (flux) développé par cette fondation.Logo Ogg Vorbis

Ogg Vorbis est un format de compression audio, qui utilise Ogg comme conteneur. La compression réalisée est dite "à pertes", car elle supprime des données. Plus la compression est forte, plus l'oreille humaine note la perte de qualité. Ogg Vorbis est cependant plus efficace que le MP3 : pour une même taille de fichier, la version Ogg Vorbis est de meilleure qualité.

La compression (ou, inversement, la qualité) d'un fichier Ogg Vorbis ne se mesure pas par son "bitrate" (débit binaire), contrairement au MP3, mais sur une échelle de -1 à 10, où 3 est la qualité "par défaut", pour environ 110 kbps, et un rendu supérieur à un MP3 128 kbps.

Enfin, Ogg Vorbis est un format libre : sa spécification est dans le domaine public, les implémentations de référence sont sous licence BSD, et les programmes en ligne de commande basiques (ogg123...) sont sous GPL.

Accessibilité, longdesc et DotClear

Il est conseillé d'utiliser l'attribut longdesc pour décrire une image, et rendre la page plus accessible, notamment aux personnes qui ne peuvent pas afficher les images (j'ai personnellement testé ça avec une connexion GPRS au volume de transfert limité à 20 Mo...) ou qui ne peuvent pas les voir.

L'attribut longdesc, c'est la spécification W3C qui le dit (voir lien au début du paragraphe), doit avoir une URI pour valeur... ce qui n'est pas très pratique quand on utilise des outils de blogging comme DotClear (qui contient dans sa syntaxe wiki une fonction pour rajouter un longdesc à une image : ((url|alt|alignement (float: CSS)|longdesc))), mais qui ne permette pas par défaut de créer des pages à la volée pour stocker des longdescs.

La solution trouvée par DotClear n'est pas valide (X)HTML : la description longue est stockée dans la valeur du longdesc. Emmanuelle avait déjà soulevé ce problème, que j'avais reporté à Olivier... qui m'avait envoyé sur les roses, et il n'avait pas tort : c'est impossible à implémenter !

Une bien meilleure solution m'est venue du test Acid2, qui pour torturer les navigateurs (j'aime beaucoup la "sucette" que rend Firefox... il part en sucette ! Bon, d'accord, elle était nulle.), stocke un bout de CSS dans une URL (voir le <link rel="appendix stylesheet" ...). Deux minutes de googlage plus tard, et je tombe sur la RFC 2397, "The 'data:' URL scheme". La révélation.

Concrètement, j'ai une image :

Lampadaire sur le Palais Pitti

Et sa description :

Un lampadaire sur le bord d'une façade du Palais Pitti, à Florence (Italie).

Pour mettre les deux ensemble, j'utilise la syntaxe XHTML suivante :

<img
  src="lampadaire-pitti.jpg"
  alt="Lampadaire sur le Palais Pitti"
  longdesc="data:text/plain;charset=utf-8,Un
     lampadaire sur le bord d'une façade
     du Palais Pitti, à Florence (Italie)." />

Attention à bien encoder l'URL pour qu'elle ne contienne que des caractères ASCII ! Ainsi, à Florence devient %C3%A0 Florence. Je n'ai pas encodé l'URL dans l'exemple précédent pour des questions de lisibilité.

Tout ceci donne (avec le "D" pour faire un lien vers la description !) :

Lampadaire sur le Palais Pitti D

Nous avons donc un longdesc parfaitement valide (puisque data: est un schéma d'URL). Cliquez sur "D" dans votre navigateur : une page contenant le texte descriptif s'affiche ! (testé sous Firefox et Opera, petit problème d'encodage avec Opera... Internet Explorer n'accepte pas, évidemment...).

Dans DotClear, cela se fait comme ça (tout sur une seule ligne) :

((lampadaire-pitti.jpg
|Lampadaire sur le Palais Pitti
|C
|data:text/plain;charset=utf-8,Un lampadaire
     sur le bord d'une fa%C3%A7ade
     du Palais Pitti, %C3%A0 Florence
     (Italie).))

Pour information, voici la syntaxe complète d'une URL "data" :

dataurl    := "data:" [ mediatype ] [ ";base64" ] "," data
mediatype  := [ type "/" subtype ] *( ";" parameter )
data       := *urlchar
parameter  := attribute "=" value

Soit, de manière lisible par un humain :

URL = data:<type MIME>,<caractères encodés>

Pour plus d'informations sur la formulation d'un type MIME : RFC 2045, "Multipurpose Internet Mail Extensions (MIME) Part One" (notamment le chapitre 5.1, "Syntax of the Content-Type header field").

Enfin, on peut noter que, comme dans le test Acid2, les URLs "data" peuvent être utilisées pour stocker des CSS, ou des images (comme dans la RFC) - même si c'est très peu efficace - ; ou bien... n'importe quoi qui ait un type MIME !