Hier, en m'interrogeant sur la liberté des paquets installés sur mon système, je suis tombé sur un petit programme fort intéressant: VRMS.
VRMS ou Virtual Richard M. Stallman, est un petit programme Perl qui va regarder les paquets installés sur votre système et lister ceux qui ne sont pas entièrement libres. Pour certains de ces paquets (malheureusement pas tous), il va également afficher la raison de cette "non-liberté".
InstallationPour l'installer, sous ubuntu comme sous debian, un simple aptitude fonctionnera puisque le paquet se trouve dans les dépôts.
sudo aptitude install vrms
Utilisationpour l'utiliser, rien de plus simple, il suffit de lancer dans un terminal un
emerzh@robert$ vrms
cette commande devrait vous donner une liste de vos paquets non libres installés dans votre système. Il se peut que certains paquets listés ne soient plus installés sur votre système mais n'ayant pas été purgés, ils sont toujours listé par VRMS. Un petit "( dei)" apparaît alors à côté du nom du paquet.
Pour récupérer uniquement la liste des paquets et non les éventuelles raison de la "non-liberté", lancez juste la commande avec :
emerzh@robert$ vrms -s
RésultatsPersonnellement, sur le système du boulot, j'ai 17 paquets "non-free" sur 2735 soit environs 0.6% de mon système. Ces paquets sont entre autres java, rar, unrar,tango et les linux-restricted-modules....
Il me reste plus maintenant qu'à tenter de supprimer un maximum de ces paquets pour être le plus libre possible et pouvoir enfin voir la phrase :
No non-free packages installed on robert! rms would be proud
Il vous est probablement déjà arrivé, sous GNU/Linux, d'avoir besoin de lancer un de vos programmes ayant une interface graphique, comme Firefox, ou un programme louche que vous venez de télécharger, avec un autre utilisateur, sous votre session X actuelle, sans pour autant en ouvrir une autre.
Il y a plusieurs façons de faire cela. Par exemple se connecter avec ssh en localhost, avec l'option -X ou -Y, ou utiliser xhost. Le souci, c'est que le premier est un peu lent (par exemple, pour lancer un jeu vidéo). Quand au deuxième, il n'est pas terrible du côté de la sécurité (ah les souvenirs... Polluer les displays des autres
).
Une des solutions les plus intéressantes est d'exporter votre clé avec xauth, pour l'importer ensuite dans l'utilisateur qui vous intéresse ! Comme il faut entrer deux ou trois commandes pour faire cela manuellement, j'ai développé le programme sendxauth.py, permettant d'automatiser cela grâce à cette commande simple à mémoriser.
Un petit exemple pour clarifier les chosesSi mon explication n'a pas été claire, laisser moi vous donner un petit exemple.
Supposons que vous avez un programme louche sous la main, que vous devez tester à tout prix. Comme il risque de faire ce qu'il veut dans le répertoire de votre utilisateur principal, par exemple vous voler vos informations confidentielles (les fichiers de configuration de votre navigateur web, qui contiennent peut-être vos mots de passes, ou vos courriels personnels ou confidentiels archivés), il peut-être intéressant de lancer ce programme avec un utilisateur limité. Donc, au lieu de le lancer avec votre utilisateur principal, vous allez utiliser l'utilisateur hyper limité « cobaye », qui n'a le droit de rien faire dans votre système, à part toucher à ses fichiers.
Le souci c'est que, si vous vous loguez dans votre utilisateur hyper limité :
su -l cobayeEt que vous lancez un programme graphique comme xterm (toujours en tant que « cobaye ») :
xtermVous aurez l'erreur :
xterm Xt error: Can't open display:C'est un peu normal car l'utilisateur n'a le droit de rien faire dans votre display (sécurité).
Pour lui donner ce droit, vous devez utiliser sendxauth.py (le script de ce tutoriel, voir plus bas) qui va s'occuper de tout faire à note place :
sendxauth.py cobayeUne fois que vous vous reloguerez sur « cobaye » :
su -l cobayeEt que vous aurez déclaré les deux variables recommandées par sendxauth.py :
export DISPLAY=":0.0"xterm se lancera sans aucun souci, en tant que « cobaye » !
Télécharger le scriptVous pouvez télécharger le script sendxauth.py ou le copier coller depuis :
#!/usr/bin/env pythonimport sys
import os
import re
import pwd
from getopt import gnu_getopt, GetoptError
VERSION = '0.1'
SOURCE_USER = ''
DESTINATION_USER = ''
DISPLAY = ':0.0'
VERBOSE = False
DEV_NULL = ' >/dev/null 2>&1'
def vprint(string):
"""Print 'string' if --verbose is defined.
"""
if VERBOSE != False:
print string
def check_environment():
"""Check if all required environment variables are available.
"""
display = os.getenv('DISPLAY')
if display == None:
print 'DISPLAY environment variable is not declared.'
sys.exit(1)
else:
globals()["DISPLAY"] = display
def user_exists(user):
"""Return True if the user exists.
"""
try:
pwd.getpwnam(user)
except KeyError:
return False
else:
return True
def handle_arguments():
"""Handle options in the arguments (argv).
"""
try:
args = sys.argv[1:]
optlist = gnu_getopt(args, 'vh', ['help', 'verbose'])
except GetoptError:
print 'Error when parsing arguments.'
print "--help for more informations."
sys.exit(1)
if len(sys.argv) < 2:
print 'What\'s the destination user ?'
print "--help for more informations."
sys.exit(1)
for user in optlist[1]:
if not user_exists(user):
print "The user '%s' doesn't exists." % user
sys.exit(1)
else:
globals()["DESTINATION_USER"] = user
break
for option, value in optlist[0]:
if option in ['-v', '--verbose']:
globals()['VERBOSE'] = True
globals()['DEV_NULL'] = ''
elif option in ['-h', '--help']:
print __doc__[0:-2]
print
print 'Usage: %s [OPTIONS] destination_user ' \
% os.path.basename(sys.argv[0])
print
print "OPTIONS :"
print " -h, --help Show this help"
print " -v, --verbose Verbose mode"
print
sys.exit(0)
def commands_required(*cmd_list):
"""This function tests if all programs in
the arguments are available in the environment
variable 'PATH'.
"""
path = os.getenv('PATH')
if path != None:
path_list = path.split(os.pathsep)
else:
print "The environment variable PATH is not defined."
sys.exit(1)
for command in cmd_list:
error = True
for path in path_list:
command_path = os.path.join(path, command)
if os.access(command_path, os.X_OK):
error = False
break
if error:
print 'The command \'%s\' is not found.' % command
sys.exit(1)
def su_command_generator(command, user=''):
"""Convert a command to : su -c 'command' user and return that.
"""
command = re.sub(r"(['\\])", r"\\\1", command)
command = 'su -c \'' + command + '\''
if user != '':
command += ' ' + user
return command
def send_xauth(destination_user, source_user=''):
"""Send the authentication to the destination user
If source_user is '', the source user is the actual user (automatically
detected).
"""
if source_user != '':
sys.stdout.write(source_user + '\'s ')
print 'xauth key will be sent to', destination_user + '...'
print
auth_tmpfile = '/tmp/sendxauth' + str(os.getpid())
try:
# extract
command = 'xauth extract ' + auth_tmpfile + ' ' + DISPLAY
if source_user != '':
sys.stdout.write('You must enter ' + source_user + ' password : ')
command = su_command_generator(command)
vprint(command)
result = os.system(command + DEV_NULL)
if source_user != '':
print
if result != 0:
print 'Errors when extracting xauth key.'
sys.exit(1)
# chmod auth key
os.chmod(auth_tmpfile, 0777)
# merge
sys.stderr.write('You must enter ' + destination_user + ' password : ')
destination_home = pwd.getpwnam(destination_user)[5]
authfile = os.path.join(destination_home, '.Xauthority')
# masquer les ' et \ dans authfile
command = su_command_generator('xauth merge ' + auth_tmpfile,
destination_user)
command = 'XAUTHORITY=\'' + authfile + '\' ' + command
vprint(command)
result = os.system(command + DEV_NULL)
if DEV_NULL != '':
print
if result != 0:
print 'Error when merging xauth key by ' + destination_user + '.'
sys.exit(1)
else:
print "xauthority is sent to %s !" % destination_user
print
print "You maybe must declare these shell variables before " + \
"running a graphical program :"
print "export DISPLAY=\"%s\"" % DISPLAY
print "export XAUTHORITY=\"%s/.Xauthority\"" % \
pwd.getpwnam(destination_user)[5]
finally:
try:
os.remove(auth_tmpfile)
except OSError:
print 'Warning: Cannot remove ' + auth_tmpfile + '...'
else:
vprint('Notice: ' + auth_tmpfile + ' deleted ;)')
if __name__ == '__main__':
try:
commands_required('xauth', 'su')
check_environment()
handle_arguments()
send_xauth(DESTINATION_USER, SOURCE_USER)
except KeyboardInterrupt:
print "Interrupted."
# vim:ai:et:sw=4:ts=4:sts=4:tw=78:fenc=utf-8
Oui c’est un gros billet avec pleins de phrases compliquées. Pour ceux qui veulent lire en travers sautez à la partie Principe de fonctionnement directement
Avertissements
Tout le système que je vais décrire par après c’est de la bidouille. Si vous voulez faire fonctionner ça sur votre machine il vous faudra forcément trifouiller dans le code (surtout si vous voulez un truc qui soit sécurisé vu que les exécutables ont tous le même ‘mot de passe’). De plus ce système n’est peut-être pas inviolable (on ne peut pas penser à tout ;)), mais en tout cas (à mon avis) c’est quand même sûr.
Faire les manipulations décrites dans ce billet peut donc ouvrir des failles de sécurité, causer divers problèmes sur votre pc, donc suivez les instructions / jouez avec les programmes que si vous savez ce que vous faites ! Vous êtes prévenus. Na.
Tout le système ainsi que le billet n’est pas vraiment user-firendly. Je sais mais c’est un peu dur de faire simple ;).
Le système marche sous linux, n’importe quelle distribution. Les paquets requis sont au moins disponibles sous ubuntu, au pire vous pouvez installer les dépendances à la main, sans utiliser votre gestionnaire de paquets.
S’authentifier sur son pc
Il existe pleins de manières différentes de s’authentifier sur son pc, notamment la plus basique, le mot de passe. Mais ce n’est pas très rigolo ! J’ai donc cherché un moyen plus sympa de m’authentifier sur mon pc.
Déjà, il y a la solution que l’on trouve sur bon nombre de portable, le lecteur d’empreintes digitales. Mais j’en ai pas sur le mien (de lecteur).
On peut aussi s’authentifier avec une clé usb (pam_usb). Mais bon je ne trouve pas ça super sécurisé, sachant qu’il suffit de pas beaucoup de temps pour juste lire les données de la clé et savoir quelles sont les informations à fournir pour faire une ‘fausse clé’. Surtout que c’est fait pour aller se brancher partout ces bébêtes et on n’est pas toujours sûr du pc sur lequel on va se brancher…
Il y a aussi l’authentification par bluetooth (pam_blue). Alors, non seulement ce système utilise inutilement de la batterie (faut bien laisser le bluetooth allumé sur le périphérique qui sert à s’authentifier), mais ensuite c’est aussi sécurisé que d’avoir son mot de passe avec un postit à côté de l’écran (et écrit en gros caractères). Tout ce qui est radio c’est le mal, c’est interceptable aussi facilement que bonjour !
Il y a toutes les techniques d’identification avec la voix et la reconnaissance du visage. Le problème c’est que c’est très dépendant de l’environnement (des gens qui hurlent autour de vous / un fond pas normal et hop ça ne marche plus) et je n’ai pas envie de sourire à ma webcam pendant 15 minutes ou hurler une phrase aléatoire à mon pc pendant le même laps de temps.
Il y a aussi la technique de l’interrupteur à clé dans une boite de biscuit que je vous avais déjà présenté. Malheureusement j’ai plus de port imprimante sur mon pc et c’est aussi sécurisé qu’un mot de passe à une lettre (suffit de cour-circuiter les fils…).
Toutes ces techniques ont un élément commun : on essaie d’authentifier quelque chose d’unique et de personnel dont on remarque généralement vite la perte (un périphérique bluetooth (généralement un téléphone portable), une clé usb, un doigt ou encore son cerveau qui connais le mot de passe). Le truc serait d’arriver à un système permettant d’identifier à coup sûr un objet sans pouvoir le falsifier.
J’ai une webcam sur mon pc. Il existe un moyen de transiter des informations par l’image, les qrcodes. J’ai donc eu l’idée de m’en servir pour faire ‘transiter’ une information unique, permettant à coup sur d’identifier mon téléphone portable :]
Les qrcodes
Déjà un qrcode c’est quoi ? La wikipedia nous dit ceci :
Le code QR ou QR Code (en anglais) est un code-barres en 2 dimensions (code matrice) pouvant stocker jusqu’à 7089 caractères numériques, 4296 caractères alphanumériques (contrairement au code-barre “traditionnel” qui lui ne peut stocker que de 10 à 13 caractères) ou 2953 octets . Il a l’avantage de pouvoir stocker beaucoup d’informations tout en étant petit et rapide à scanner. Ainsi, le sigle « QR » dérive de « Quick Response » car le contenu peut être décodé rapidement.
Le code QR a été crée par l’entreprise japonaise Denso-Wave en 1994. Le code QR est très utilisé au Japon ; c’est actuellement le code à deux dimensions le plus populaire au Japon.
Le standard japonais pour les codes QR, JIS X 0510, a été publié en 1999, et la norme ISO correspondante, ISO/IEC 18004, a été approuvée en juin 2000.
Un article sympa sur Clubic aussi si ça vous intéresse de voir comment les gens s’en servent : Live Japon : du QR Code aux publicités subliminales.
Si vous aussi vous avez envie de les lires avec votre portable je vous conseille ce lecteur (en plus c’est une société suisse alors bon ^^).
Principe de fonctionnement
Le but est de se servir de qrcodes pour faire passer un mot de passe unique, généré par un objet que l’on garde généralement toujours sur soi, un téléphone portable dans notre cas. Le téléphone affiche le qrcode et le pc prend une photo à l’aide de sa webcam. Il décode le qrcode et si celui-ci est valide il déverrouille le pc.
Évidemment, il ne faut pas que les données transitées par le qrcode soient toujours les mêmes, parque sinon il suffirait d’obtenir une fois les données (qui serait une simple chaine de texte) pour s’authentifier sur votre pc…
J’ai donc utilisé une technique consistant à obtenir un code d’authentification qui varie avec le temps. De cette manière, obtenir les données du qrcode à un instant T ne permet pas de se logger à un instant T+1, ce qui augmente le niveau de sécurité.
Le code d’authentification est créé ainsi :
Exemple : Il est minuit 28, le 30 aout 2008 et ma chaine commue est mysupersecrectstring. On crée le code d’authentification comme suit : 200808292228mysupersecrectstring (notez que l’on recule de deux heures pour être à l’heure GMT (deux car c’est l’heure d’été)) et on calcule le md5 de cette chaine qui est bd76299ff48d23743b8c4a7cb85a2c74. C’est notre code d’identification, une sorte de mot de passe qui change toutes les minutes et qu’on n’a pas besoin de retenir.
Il est impossible (normalement) de revenir à la chaine commune depuis le md5, même en sachant l’heure qu’il est !
Du côté du pc, il faut lire le code et regarder qu’il corresponde. Mais il y a un problème : il faudrait que le téléphone portable et le pc soient synchronisés à la seconde près, de plus se trouver aux alentours de 00:00:59 quand on génère le code et à 00:01:12 quand on lit le code pose un problème, car la minute aura changé et donc le code d’authentification aura changé. Pour résoudre ces problèmes, le pc va accepter 5 codes d’authentification : celui pour la minute en cours, ceux des deux minutes précédentes et deux des deux minutes suivantes. Ainsi, même avec une minute de décalage entre le téléphone portable et le pc, on parviendra toujours à s’identifier !
Réalisation pratique
Il y avait trois choses à faire fonctionner : Capturer une image de ma webcam en ligne de commande (figurez vous que c’est compliqué…), être capable de lire un éventuel qrcode dans cette image et savoir générer un qrcode sur mon téléphone portable.
Déjà pour capturer une image c’est très compliqué. Il existe bon nombre de programmes avec une interface graphique qui savent le faire, mais là le but était de faire ça de manière automatique. Après de longues recherches, j’ai fini par trouvé uvccapture qui parvenait enfin à faire ce que je voulais. Je me suis servi de son code source et je l’ai modifié de manière à être capable de prendre une image quand mon téléphone portable est visible, mais pas encore surexposé (uvccapture est normalement capable de demander à la webcam une exposition particulière, mais avec la mienne ça ne marche pas, elle se règle toute seule…), après un temps X (dépendant aussi de l’initialisation de la webcam, etc.). J’ai fait le ménage dans le code pour garder que le nécessaire et on a notre exécutable qui prend une photo et la sauve sous 2snap.jpg (et aussi une image plus sombre sous 1snap.jpg, mais pour l’instant je ne l’utilise pas).
Ensuite, décoder un qrcode dans cette image. Le problème a été de trouver une libraire avec une licence libre et facilement réutilisable. La seule que j’ai fini par trouver est PyQrCodec, qui fait appel à une autre en C qui utilise OpenCV (cf les liens plus bas). Le truc plante de temps en temps au décodage et n’est pas capable de reconnaitre tous les qrcodes, mais ce n’est pas un problème vu que l’on va s’occuper aussi de la génération du dit qrcode il suffira de faire quelque chose de compatible.
J’ai implémenté toute la logique du système (génération des md5, déverrouillage de l’écran de veille) dans le script en python (vu que c’est le plus facilement modifiable).
Enfin il faut générer un qrcode. Ça à l’aire vachement sympa ces images en noir et blanc avec des carrés partout, mais en fait c’est super compliqué à faire (c’est pleins de maths compliqués). Après beaucoup de recherche j’ai fini par tomber sur une source en php capable d’en générer et qui sont lisibles par le décodeur (voir dans les liens plus bas). J’ai donc profité de cette source pour la réadapter en java (meilleure manière faire tourner quelque chose sur un téléphone portable à mon avis), ça prend du temps et j’ai sauté quelques parties mais ça a fini par fonctionner (en tout cas je n’ai pas rencontré de problèmes jusqu’à maintenant…). Le programme est un peut lent (~5 pour se lancer) (hors java) et il faudrait peut-être faire un peu d’optimisation (je n’ai pas tout récrit à la manière java et certaines parties ne sont pas très intelligentes, par exemple bosser avec des strings au lieu de faire tout avec des tableaux d’int (chose que j’ai faite quand j’étais obligé)) mais ça marche.
Et donc on a trois programmes qui font ce qu’ils doivent faire (c’est quand même sympa tous ces langages, du C, du python, du php et du java pour 3 programme pour ce système…) et il faut juste les mettre ensemble !
Et ça marche ?
Oui. (Ba tiens x]) Il faut en moyenne 5s pour que le code soit lu et reconnu si je tiens mon téléphone portable à 15cm de la webcam. Qu’il fasse nuit ou jour cela fonctionne, le système n’est donc pas perturbé par l’environnement !
Il faut encore que je trouve un moyen de le lancer automatiquement avant que l’écran de veille s’active (parce qu’à l’heure actuelle il désactive l’écran de veille) en évitant de changer toutes les entrées dans mes raccourcis :p
Les sources & exécutables
Bon, il y a pleins de langages différents et de licences différentes vu que j’ai récupéré du code de pleins d’endroits différentes, mais c’est normal. J’ai gardé les licences d’où le code provenais, j’ai mit la partie en java que j’ai réécrite en MPL/GPL/LGPL.
Alors oui ce n’est pas du très beau code et ce n’est pas commenté, mais c’est juste pour faire mumuse, si j’ai le temps je ferais quelque chose de clean.
Les exécutables (le mot de passe utilisé est : mysupersecrectstring )
Notez qu’il vous faudra PyQrCodec (voir les liens) d’installé pour le décodeur. Suivez les instructions sur le site dans les liens, toutes les dépendances requises sont dans les dépôts d’ubuntu.
Pour le programme de capture de la webcam aussi, il vous faudra v4l2 d’installé, mais normalement c’est le cas.
Les sources :
À l’heure actuelle (programme et source), cela ne devrait fonctionner que si vous avez un matériel parfaitement compatible (taille de la webcam, même taille d’écran pour le téléphone portable (il faut une ’surface utile’ de 235×235 au moins)), mais rien de vous empêche de jouer avec le code source
Pour lancer le programme mettez captureimage dans le même dossier. Faites un touch data.tmp et lancez python QrAuth.py. PyQrcodec doit être dans le path (si il est installé correctement normalement c’est bon, au pire copiez son dossier dans le dossier avec QrAuth.py (après compilation bien évidemment)). Attention ! Pour arrêter le programme il faut soit arriver à vous authentifier, soit appuyer sur ctrl-c jusqu’à ce qu’il s’arrête (ce qu’il ne fait pas tout le temps..). Ou fermer le terminal. Effectivement faudrait faire quelque chose de plus mieux bien sur ce point mais bon ;). Normalement ça marche. Normalement.
Si vous avez une webcam qui fonctionne autrement vous pouvez modifier le code python pour capturer une image autrement et faire fonctionner le système quand même !
Les choses qu’il faudrait améliorer
L’ensemble n’est évidemment pas parfait et terminé, ça reste de la bidouille. Il faudrait exemple faire un peu de ménage dans le programme qui génère des qrcodes, il y a beaucoup de fichiers de définition qui ne servent probablement à rien. De plus, il serait beaucoup plus pratique d’arriver à prendre et analyser la présence d’un qrcode devant la webcam en permanence, mais pour cela il faudrait résoudre le problème de la luminosité. Notez aussi que le décodeur sur le pc est en deux parties et les informations entre les deux scripts sont échangés à l’aide d’un fichier… Ce n’est pas très intelligent, mais le problème est que la demande de décodage d’un qrcode fait de temps en temps planter le programme python qui s’arrête, d’où la séparation entre les deux programmes. Et l’information est passé à l’aide d’un fichier parque je n’avais pas envie de m’embêter à récupérer la sortie standard du deuxième processus, mais normalement il faudrait faire comme ça.
Un autre point serait aussi de pouvoir utiliser des fichiers de configuration ou des paramètres pour éviter par exemple de devoir recompiler le programme lorsque la webcam change de ‘fichier’ (c’est pas un fichier mais c’est comme tel) /dev, ou lorsque l’on veut changer le mot de passe.
De plus il faudrait arriver à utiliser la librairie qui décode les qrcode non pas en python, mais directement en c, lors de la capture de la webcam, pour éviter d’avoir à utiliser un langage de plus, malheureusement je n’ai pas réussi à compiler la dite libraire directement en C.
Liens
Sinon pour conclure une image qui n’a rien à voir, mais que j’aime vachement bien et que je peux m’empêcher de vous monter : C’est par ici.
Tags:arch, authentification, bidouille, bricollage, linux, pam, programmation, qrcode, Ubuntu, webcamEn vrac, quelques news autour de Ubuntu qui valent le coup d'être lues :

Si vous vous connectez à votre ADSL Menara de Maroc Telecom, avec un modem routeur wifi Sagem F@st 3304, et qu'il vous arrive d'avoir besoin de redémarrer votre routeur automatiquement, grâce à un cron + script shell, pour une des diverses raisons valables (par exemple, une connexion super lente, mystérieusement constatée après plusieurs heures de connexion suivies), le petit script de cet article risque de vous intéresser.
Pour les curieux, pour faire ce script, j'ai extrait du code HTML de l'interface web du Sagem Fast 3304 l'URL qui est activée quand vous cliquez sur le bouton « redémarrage de votre routeur » dans la section « Maintenance ».
Pour faire marcher le script, vous aurez besoin d'installer curl. Dans une distribution comme Debian ou Ubuntu :
sudo apt-get install curlC'est à peu près similaire dans les autres distributions.
N'oubliez pas de modifier les variables USER, PASSWORD et IP pour le personnaliser !
#!/bin/sh# Variables à modifier pour faire fonctionner votre script
IP="192.168.1.1"
USER="Menara"
PASSWORD="Menara"
# Début du script
if ! which curl >/dev/null 2>&1; then
echo "Vous devez installer curl !" >&2
exit 1
fi
tput setaf 1; echo "Redémarrage du routeur..."; tput sgr0
curl -u $USER:$PASSWORD http://$IP/SubmitMaintREBOOT -d '' >/dev/null 2>&1
if [ "$?" -ne "0" ]; then
echo "Erreur lors de la communication avec le routeur." >&2
exit 1
fi
sleep 3
tput setaf 1; echo "Attente de connexion..."; tput sgr0
i="0"
while true; do
ping -c1 212.217.0.1 >/dev/null 2>&1
if [ "$?" -eq "0" ]; then
break
fi
i="`expr $i + 1`"
if [ "$i" -gt "60" ]; then
echo "Nombre de tentatives de connexion dépassées..." >&2
exit 1
fi
sleep 1
done
# Décommenter les deux lignes suivantes si vous utiliser ddclient
# pour mettre à jour automatiquement votre dyndns.org
#tput setaf 1; echo "Mise à jour ddclient..."; tput sgr0
#ddclient
exit 0
Voici quelques semaines (presque deux mois) que la plateforme sur laquelle ubuntu-fr est herbergé connaît des problèmes. Le retour à la normale est en cours et nous espérons pouvoir très bientôt vous faire bénéficier d'une qualité de service comparable à celle avant cette crise.
Nous tenons à remercier tous ceux qui ont été patients et nous ont soutenus (aussi bien ubuntu-fr qu'ubuntu-eu), ainsi que nos détracteurs qui n'ont pas été tendres. Ce message est là pour leur montrer que personne ne s'est tourné les pouces pendant ces deux mois estivaux, malgré ce que certains proclamaient sans connaître le problème sous-jacent ni même sans prendre le soin de se renseigner sur les différents messages dont nous vous avons déjà fait part. Il reste encore la recherche à remettre en place. Si vous êtes intéressés pour y contribuer, voici le message explicatif de ce qu'il faudrait mettre en place.
Voici une explication complète publiée sur ubuntu-eu très gentillement traduit en français par poupoul2 (voici l'exemple d'une contribution à la portée de toute personne pouvant lire l'anglais, bien plus utile que les commentaires de certains…)
DEBUT DE LA TRADUCTION
Problèmes de ces dernières semaines - Explication
Un grand nombre de discussions ont actuellement lieu, à propos des problèmes de lenteur rencontrés par les serveurs récemment. La situation est plutôt complexe, en voici une explication.
Nous avions précédemment un serveur pour Apache et un serveur MySQL, répliqués pour les besoins de sauvegarde. Pour répondre aux besoins d'évolutivité, nous avons commencé à migrer en octobre dernier vers une nouvelle architecture permettant la répartition de charges. Cette architecture contenait 2 Apache, 1 NAS (Netapp fournir par Norris.net, notre fournisseur principal, qui héberge également tous nos autres serveurs), et un serveur MySQL répliqué. L'équipe française d'administration a été la première à migrer vers cette nouvelle plateforme, les autres équipes restant sur l'ancien serveur Apache.
Au début de l'été, nous avons été éjectés du NAS, pour cause d'usage trop intensif. Nous avons réussi à obtenir en urgence un nouveau serveur (répondant au doux petit nom de Nun), que nous avons envoyé de France vers Nuremberg. Nun est un serveur basé sur un Dual Xean 3Ghz, épaulé par 4Gb de RAM et 5 disques SCSI 10k de 70Gb, une configuration adaptée pour NFS. Malheureusement, les performances se sont révélées très mauvaises, provoquant de mauvais temps de réponse. La situation a même empiré, lorsque nous avons tenté de migrer également la documentation vers le serveur NFS ; Dokuwiki (le logiciel sur lequel se base la documentation) était en cause dans ce cas précis. Nous avons donc décidé que Dokuwiki ne tournerait que sur un seul serveur (hors du NAS), Durant nos investigations; cela nous a permis de trouver et de documenter des anomalies. Depuis, des correctifs et des améliorations du code de Dokuwiki ont été réalisés par l'équipe d'Ubuntu-fr. Quelques patchs restent encore en attente de test de mis en charge avant de les mettre en production.
Indépendamment de la documentation, les performances constatées sont nettement inférieures, à celles que nous attendions, et l'infrastructure s'est révélée incapable d'accueillir les autres équipes locales. Au terme d'une longue analyse (merci à Smurf), nous avons découvert un bug dans le noyau de Hardy Heron, qui sur-sollicitait la carte Raid (Bug reporté ici). Nous avons donc migré le site ubuntu-de sur un seul des nouveaux serveurs Apache : le portail ubuntu-de n'était pas conçu pour permettre la répartition de charges), et avons utilisé l'ancien serveur Apache comme serveur NFS. Asa est piloté par un Dual Xean 3Ghz, épaulé par 4Gb de RAm et 3 disques SCSI 10k (donc assez proche de Nun), mais tournant sous Dapper Drake et non de Hardy Heron. Les performances se sont révélés 10 fois meilleures sur Asa que sur Nun. Nous avons donc arrêté d'utiliser Nun : le NFS tournait alors sur l'ancien serveur Apache, qui hébergeait encore quelques équipes locales plus réduites.
Nous avions également à cette époque quelques problèmes majeurs avec notre répartiteur de charges (HaProxy). Pour des raisons divers, certains fichiers étaient systématiquement renvoyés en erreur 504, alors que l'accès à ces mêmes fichiers était possible lorsque nous ne passions pas par le proxy. Il nous a fallu énormément de temps pour diagnostiquer ce problème. Un bug dans HaProxy, dû à une option spécifique de ce proxy, provoquait un renvoi incorrect des en-têtes de fichiers. Le bug a été signalé et sera corrigé. Pour le moment, nous avons désactivé cette option. Ce bug est également présent dans wget.
Il y a quelques semaines, ubuntu-de a totalement revu son système de portail, pour passer à un produit maison. Ce changement a provoqué quelques problèmes. Le passage à un wiki basé sur une base de données a ajouté de la charge au Serveur SQL, déjà très sollicité. Le nouveau système d'ubuntu-de utilisait également mod_wsgi, qui semble présenter quelques problèmes internes (les processus apache n'arrêtaient pas de se forker, le nombre de processus actif attagnait alors la limite supérieure sans raison apparente, se traduisant par des relatissements massifs des requêtes du serveur.)
SQL restait l'un de nos problèmes les plus importants. Nous avons fait l'acquisition de 2x1Gb de mémoire sur ebay, sélectionnés grâce aux informations fournies par lshw. Malheureusement, les barrettes se sont révélées inadaptées. Nous avons malgré tout pu les ré-utiliser sur d'autres serveurs. SQL tournait également sur RAID5, non optimisé, et nous souhaitions passer à RAID1. Au terme de notre mauvaise expérience mémoire, et après migration du RAID, le comportement du serveur s'est révélé erratique. Des choses qui auraient dû fonctionner ne le faisaient tout simplement pas. Une réinstallation complète n'a pas amélioré la situation. SQL a donc été migré vers le serveur NFS, qui s'occupait déjà de NFS, et d'Apache pour quelques sites plus modestes, et qui disposait de disques plus lents.
C'est la raison pour laquelle le serveur SQL s'est révélé très lent durant la dernière semaine. Ce matin, Smurf a fait l'acquisition de 2Gb de RAM sur ebay (avec de bonnes barrettes cette fois-ci). Elles ont été installées cet après midi, puis Hardy Heron a été réinstallé sur le serveur. L'installation semble stable cette fois, nous espérons que le serveur SQL sera totalement disponible demain.
Nous avons en même temps réalisé d'importantes améliorations à la configuration SQL, ainsi qu'à certaines requêtes : Ajout d'une clé manquante dans une des tables de PunBB, suppression de la recherche interne de PunBB (qui verrouillait des tables pendant une longue période, provoquant un gel du forum). La configuration de PunBB a été considérablement améliorée également.
L'équipe locale allemande a également investiguée sur les raisons pour lesquelles leur portail sur-sollicitait Apache. Un bug a été identifié qui pourrait expliquer ce comportement, un correctif a été apporté. Le fonctionnement devrait donc être meilleur.
Pour les curieux, voici la plateforme que nous utilisons maintenant.
FIN DE LA TRADUCTION
Concernant les achats, Ubuntu-eu a définit qu'une loco chaque année s'occupe des frais induits par la plateforme. Cette année, c'est donc ubuntu-fr qui s'est occupé de ces frais. Voilà, j'espère que ces informations vous auront été utiles et vous montre que personne ne s'est contenté de cette situation mais que de véritables travaux, stress et coups de gueule ont eu lieu pour rétablir au plus vite la situation. De plus, aucune de ces associations ayant l'assise financière pour embaucher un permanent contrairement à d'autres associations du libre, tout ceci s'est effectué bénévolement sur les temps libre de chacun.
En espérant que l'orage est derrière nous, nous espérons qu'ubuntu-fr vous apportera toujours autant de satisfaction. Il nous reste quelques travaux à effectuer sur Drupal, comme remettre la carte des revendeurs, développer certains modules comme la LHU et certaines tâches d'automatisation. Tout ceci pourra se faire dorénavant plus sereinement.
Le numéro 16 en anglais est disponible. Bonne lecture 
Number 16 is available. Get it while it’s hot!
Et au passage un vrai troll qui va bientot disparaitre.
En effet la nouvelle vient de tomber (pour le moment de manière très officieuse)... : launchpad va etre open source !
Pour ceux qui ne savent pas launchpad est la plateforme qui sert de base au développement de ubuntu (et de bien d'autres projets aussi) : bugtracker, gestion des versions, gestion des équipes, gestion des traductions, forum, gestion des mailing listes...
Vous avez pu constater que dans la nuit d’hier à aujourd’hui, j’ai mis en place un nouveau thème de ma création très, mais alors très inspiré d’un blog du non moins célèbre Wolfgang Bartelme avec un certains nombre de nouveautés plus ou moins utile et attrayantes visuellement.
J’ai été complétement emballé par le design du blog Bartelme Design. Sobre, éfficace des couleurs vives, mais pas agressives visuellement, il me le fallait. Malheureusement Wolfgang a pour habitude de mettre à disposition ses thèmes uniquement quand il en a mis un nouveau en place. Alors, il ne me restait plus qu’à mettre les mains dans le cambouis et à le créer. Il va donc de soi que je ne distribuerai pas ce thème par respect pour Wolfgang et son travail, car je sais que certains d’entre vous vont me le demander.
Pour ce qui est de l’amélioration du Blog, j’ai installé quelques plugins que certains d’entre vous m’ont demandé depuis longtemps. Je parle en autres du plugin Subscribe To Comments pour pouvoir, en vous abonnant, être averti par email de nouveaux commentaires sur un sujet qui vous interesse. J’ai mis en place aussi WP-Cumulus qui fournit un nuage de tag en 3D tournant. Pas vraiment utile mais du plus belle effet. Autre plugin mis en place suite à la nouvelle ergonomie du blog (1 seul article en page d’acceuil) c’est SRG Clean Archives qui permet de faire une page d’archives en Ajax que j’ai nommé en haut du site Toute l’actualité, pour retrouver la totalité des articles du site. Jsute pour info on peut souligner la présence du plugin WP Grins qui permet d’afficher des smileys quand on ajoute un commentaire ou encore WP-Polls que j’ai inauguré dans ce billet.
Sinon j’ai fait un peu le ménage dans les catégories, comme ce Blog parle à 98% de tout ce qui touche de près ou de loin au libre à Linux et a Ubuntu, j’ai migré tout ce qui touche à ma vie privée pas vraiment privée sur un autre blog dédié à çà. Si cela vous intéresse vous pouvez le trouver à cette adresse.
Donc il n’existe plus de catégorie sur ce blog alors pour les quelques abonnés aux flux http://feeds.feedburner.com/Cedynamix-Ubuntu je vous invite à utiliser le flux principale du Blog http://feeds.feedburner.com/Cedynamix ce qui me permettra de supprimer d’ici fin septembre le flus premièrement cité.
Voilà beaucoup de travail pour vous permettre de vous sentir encore un peu plus chez vous sur ce blog. Pour toute remarques ou désagrément que vous pouvez constater avec ce nouveau thème n’hésitez pas à m’en faire par dans les commentaires.
Lors des dernières RMLL à Mont de Marsan, j'ai été invité par Gilles Gouget (Divergence FM) à présenter notre petite collection de livres libres Framabook lors de la couverture de l'évènement par Divergence Numérique et la chaîne FreeNewsTV.
Télécharger la vidéo au format (ouvert) OGG.
L'occasion de faire un peu de comm' autour de ce projet qui nous tient à cœur et dont nous vous reparlerons bientôt puisque de nouveaux volumes sont dans les starting-blocks.
L'occasion aussi de rappeler les volumes déjà édités :
PS : N'hésitez pas à faire suivre l'info parce qu'en attendant de voir arriver les framabooks dans les grandes librairies, on compte avant tout sur le bouche à oreille du net 
Les faits sont les suivants. La société au chapeau rouge a récemment été victime d’une intrusion sur ses serveurs servant aux mises à jour systèmes de Red Hat Desktop et Red Hat Enterprise Linux.
Les dégâts se sont avérés peu importants. L’éditeur confirme que l’intrusion a visé les serveurs du Red Hat Network. Les pirates ont changé la signature de quelques paquets liés à OpenSSH, uniquement pour les versions 4 et 5 de Red Hat Enterprise Linux (x86 et x86-64 uniquement).
Par mesure de précaution, Red Hat a donc publié un bulletin de sécurité exposant les faits et en précisant l’impact de l’intrusion. (Tous les détails sont sur le billet de sécurité de Red Hat). De plus, la société a mis à disposition sur ses serveurs de nouveaux paquets pour OpenSSH dans ses mises à jour, pour garantir à ses clients utilisant les fonctions touchées par le problème qu’ils possèdent une version valide.
Source : PC INpact
Billet de "David Dallet"
Comme tous les ans depuis peu, l’association Chtinux (Groupe d’Utilisateurs de Logiciel Libres sur la métropole lilloise) dont je suis membre sera présente à La Braderie de Lille 2008.
Mais petite nouveauté, cette année c’est une sorte de “mini-village logiciel libre” qu’il y aura. De nombreuses autres associations de défense du logiciel libre (tant locales que nationales) seront présentes.
Parmi les communautés présentes prévues (dont certains ont déjà fait la braderie de Lille avec Chtinux):
Pour le lieu, il s’agit de la Place du Vieux Marché aux chevaux (lien vers la google map) ou l’on trouve notamment le Café Citoyen, bien connu des Chtinuxiens 
Liens utiles:


A Propos du système des aptitudes requises
Voilà la bonne nouvelle de la rentrée, la sortie de la dernière version stable de Wicd. Le gestionnaire de réseau filaire et sans fil est maintenant estampillé 1.5.1. Après une longue période de bêta test et une succession infinie de Release Candidate, cette nouvelle version est finalement très stable !
Pour les nouveautés, on peut mettre en avant une réécriture et une optimisation du code de l’interface de Wicd 1.5.x et encore :
La première impression sur cette version est très positive, le programme semble encore plus rapide, léger et fonctionnel que la version précédente.
Network Manager 0.7 a fait de grands progrès, mais pour l’instant Wicd reste en avance grâce à sa vitesse et sa stabilité !
Un paquet .deb pour toutes les versions d’Ubuntu et Debian se trouve ici. Le dépôt n’a pas encore mis à jour, mais je suppose que ce sera pour très bientôt.
La mise à niveau à partir de la version 1.4.x se fait automatiquement et sans problème ainsi que l’importation de toutes les configurations. Si vous allez installer Wicd pour la première fois, n’oubliez pas qu’il est incompatible avec Network Manager, vous aurez donc besoin de le désinstaller avant d’installer le paquet de Wicd.
Contrairement aux versions précédentes, Wicd 1.5.x ne s’installe plus dans le dossier /opt/wicd, mais suit la norme Linux et s’installe donc dans le dossier /etc/wicd et /usr/lib.
Afin d’avoir l’icône de Wicd dans la zone de notification (et après avoir démarré le service), il est maintenant nécessaire de taper “wicd-client” dans le terminal, ou de le mettre en démarrage automatique dans Système -> Préférences -> Sessions
Comme toujours je vous invite à signaler les bugs et problèmes que vous pourriez rencontrer sur le forum officiel Wicd ou Launchpad.
Les vacances sont maintenant terminées, et il est donc temps de reprendre des activités régulières…. Me revoici donc présent sur le blog en cette fin d’été pour vous faire un petit article sur KDE 4.1. En effet , KDE 4.1 (et ses plasmoids) est assez en vogue en ce moment. Pour ne citer qu’une phrase tirée de SVM de ce mois de Septembre : “KDE 4.1 , le bureau le plus avancé du monde” . Là, ca en jette forcément, mais qu’en est-il réellement ? J’ai donc fait mon curieux et j’ai donc installé KDE 4.1 sur ma distribution Ubuntu Hardy.
Tout d’abord, l’installation de toutes les librairies KDE et autres applications nécessaires. Ca peux durer assez longtemps, dans mon cas c’était, il me semble, 480 mo environ à télécharger….. Pour faire ceci, il suffit de suivre la méthode indiquée sur doc.ubuntu-fr.og , section KDE 4 : http://doc.ubuntu-fr.org/kde4
Ce qui se résume à :
- Ajouter deb http://ppa.launchpad.net/kubuntu-members-kde4/ubuntu hardy main dans le fichier /etc/apt/sources.list
- apt-get update
- apt-get install kubuntu-kde4-desktop
- apt-get install kde-l10n-fr (pour avoir KDE en francais)
A l’installation, la seule chose demandée est si on veut utiliser le gestionnaire de connexion KDM ou GDM. J’ai choisi kdm.
Une fois ceci fait et un reboot de la machine, l’écran de login habituel apparait. La connexion effectuée, je me suis retrouvé devant un bureau avec un bazar incroyable. En effet, apparamment KDE a repris tous les items (ou presque) de mes programmes lancés au démarrage de Gnome. Par exemple, les screenlets (que j’avais désactivé sous Gnome), se sont tous réactivés sous KDE. Des programmes également désactivés depuis longtemps au démarrage sous Gnome, se sont réactivés (thunderbird par exemple). Etrange …..
Un peu de ménage est donc nécessaire…. Pour ce faire, tout d’abord désactiver les programmes au démarrage. Pour les trouver, il faut cliquer sur le menu KDE, puis Configuration du Système et ensuite onglet Avancés et on y trouve Démarrage Automatique :
Un clic dessus et la boite de dialogue adéquate apparait :
Maintenant, il suffit de décocher ce que l’on ne souhaite pas revoir au chargement de KDE.
Bon, voilà un bonne chose de faite.
Passons maintenant en détail un peu sur KDE 4.1. KDE 4.1 fonctionne avec des plasmoids. Ce sont en fait des sortes des widgets (un peu comme screenlets et autres) , que vous pouvez insérer sur votre bureau. Pour avoir la liste des widgets possibles , il suffit de positionner et de cliquer votre souris sur le coin droit de votre bureau ou encore de faire un clic droit sur votre bureau :
Et on y voit :
A la première installation de KDE (du moins sous Ubuntu) , tous les plasmoids ne sont pas présents. Par exemple, celui de cadre photo n’est pas là. Pour les avoir, il faut installer le paquet kdeplasma-addons et kdeplasma-addons-data :
Pour installer donc un plasmoids, il faut cliquer sur celui de son choix puis cliquer sur Ajouter un plasmoid : (par exemple ici la corbeille)
De ce fait, celui-ci apparait sur le bureau. Prenons par exemple, le plasmoids Notes. En approchant la souris de ce widget, une sorte de menu (avec un fond noir) apparait soit a gauche, soit a droite :
Note : En cliquant/maintenant gauche sur le plasmoid en haut a droite , on peut déplacer le widget.
Les actions possible pour la configuration sont les suivantes :en partant des icones du haut vers le bas sur la capture précédente
1) Redimensionnement : Clic gauche maintenu et on redimensionne le widget
2) Rotation : Clic gauche maintenu et on fait une rotation de l’objet, comme par exemple ci-dessus avec l’objet Note.
3) Configuration : Clic gauche lance le panneau de configuration de l’objet. Ce panneau est différent pour chaque type de plasmoid.
4) Fermeture : Fermeture du widget.
Je vous laisse l’opportunité de découvrir les plasmoids disponibles. J’ai bien particulièrement : Cadre Photo , Notes et Vue Dossier.
L’autre principale fonction de KDE4 est la gestion 3D du Bureau. Pour activer cette fonction, il faut cliquer sur le menu KDE, puis Configuration du Système, puis icone Bureau et ensuite activer les effets du bureau :
Par défaut, le gestionnaire qui s’occupe des effets est Kwin et dispose de plusieurs effet activé ou a activer. Il suffit de cliquer sur l’onglet Tous les effets et vous avez la liste déroulante ci-dessous :
Il est possible de choisir un autre gestionnaire de fenêtres pour les effets 3D, genre compiz ou autre. Pour celà , il faut aller dans l’interface de configuration KDE (Configuration du système) puis onglet Avancé, puis Gestionnaire de session. Ensuite, il faut paramétrer la partie Gestionnairre de fenetres et choisir celui que vous voulez :
Note : Je n’ai pas testé un autre gestionnaire que Kwin.
Note : Pour activer certains effets 3D, il faut activer la touche META. Mais quelle est cette touche META ? En fait, c’est là touche CTRL droite.
Je continue un peu mes tests et en lancant Firefox, je m’apercois que l’application n’est pas très belle, les boutons sont grossiers , enfin bref ce n’est pas beau. Et ceci en fait avec toutes les applications GTK (Gnome). Pour palier à ce petit soucis, il faut installer le paquet : gtk-qt-engine-kde4 :
Ceci fait, maintenant il faut dire au système que les thèmes GTK doivent utiliser le design KDE (Qt). Pour celà , il faut aller dans le panneau de configuration KDE, puis dans Apparence. Maintenant est apparu le choix Styles et polices GTK :
Il faut maintenant cocher : Use my KDE style in GTK applications et ensuite relancer KDE.
J’ai cependant noté quelques soucis :
- La touche Verrouillage Numérique n’est pas activé
- Si un DVD vidéo est inséré, le lecteur VIDEO ne se lance pas automatiquement.
- Avec mon APN en USB, si je le connecte un popup (comme d’ailleurs pour tous les nouveaux périphériques PNP) apparait m’indiquant la détection. Cependant, ceci ne signifie pas qu’il est monté…..Car si je lance digikam qui se connecte sur /media/disk , il me met une erreur comme quoi c’est non trouvé. Par contre si je clique sur le gestionnaire de fichier Dolphin, j’arrive a voir mes fichiers. Tout ceci est un peu etrange…..
Pour info, voici le popup qui apparait pour mon APN:
- Je n’arrive pas a configurer mon gestionnaire de connexion pour mettre l’autologin en place. Le bouton Passer en superutilisateur n’est plus présent….
Ceci peu surement etre corrigé moyennant quelques clics …
Voilà donc un petit apercu de KDE4.1 qui vous donne envie d’essayer et maintenant, avec tout ca le bureau devrait etre pas mal ….
Voici donc une petite capture de mon bureau avec les plasmoids 1 Notes, 2 Cadres Photos, 2 Vue Dossier et 1 Horloge.
Je vous annoncais le 9 août dernier, l’existence de Zenwalk 5.2 Gnome Édition en version Bêta et bien aujourd’hui, elle est disponible en version stable.
Vous l’aurez donc compris, cette version possède le bureau Gnome 2.22.3, agrémenté d’un nouveau “artwork” Zenwalk. Au menu on trouve le kernel 2.6.25.4, X.Org 7.3, et la nouvelle version de Netpkg. Zenwalk Gnome reste dans la philosophie Zenwalk, avec Iceweasel et Icedove pour la navigation internet et vos besoins mail, wicd pour la connexion wifi, Brasero pour vos gravures, AbiWord et Gnumeric pour la bureautique, GIMP pour l’édition photos et vos besoins graphiques, gtkam pour votre caméra numérique.
Pour le multimédia, Zenwalk 5.2 Gnome Édition comprend le lecteur Totem. Une particularité de cet outil multimédia est qu’il vous permet de rechercher des vidéos sur YouTube et de les lires, même si le flash n’est pas installé sur le système. Il va sans dire que vous avez la possibilité d’installer un paquet propriétaire flash, qui fonctionne avec iceweasel, si vous le désirez et à condition que vous acceptiez la licence d’Adobe Flash.
L’administration du système est centralisé au sein de Zenpanel, qui permet certains réglages de la configuration des modules du noyau, la création et la modification des comptes utilisateurs, paramétrer le réseau etc. À partir du panneau principal de Gnome vous pouvez atteindre Gnome Control Center et ainsi modifier tous les paramètres utilisateur qui s’y trouvent.
Pour en savoir plus consultez l’annonce officielle.
Téléchargez directement zenwalk-gnome-5.2.iso (598 MB)
Lirent à lancé il y a 2 semaine un thème de sa création grandement inspiré de Ubuntu et cela risque de plaire tout particulièrement aux fans de ce système d’exploitation. Un des points positifs de ce thème réside dans sa légèreté, il ne possède aucun script supplémentaire et les images sont très légères, afin d’optimiser le chargement du blog.
Le thème s’appelle Ubuntu WP. Il est optimisé pour les Widgets, il a une structure en trois colonnes et les codes CSS et le HTML sont valides. A suivre, un aperçu de ce qu’il donne. Il vous plaît, alors pour le télécharger rendez-vous sur le billet de Lirent.
On aime ou on aime pas, mais le travail mérite d’être souligné. Bravo Lirent !
À défaut de pouvoir bénéficier d’une Ubuntu 8.10 Alpha 4 utilisable et qui me permettrait donc d’utiliser et de vous rendre comptes de l’avancée des futures évolutions de notre distribution préférée, je me console en faisant un tour de temps en temps la page du Wiki pour observer les maquettes des créatifs qui font preuve d’une grande imagination pour donner naissance à ce qui pourrait être le futur thème de Ubuntu Intrepid Ibex.
Voici ma sélection :
Union
Kith
Personification
Dust
Kin
Wall-Light
Alors vous allez me dire encore un billet sur les mockup. Et bien oui, mais ils sont beau et ils me permettent aussi d’inaugurer le plugin de sondage que je viens de nouvellement installer. et voici la question :
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
Voila quelques temps, j'avais distribué les stickers ubuntu gracieusement offert par system76. Cette initiative avait eu un franc succés, et j'ai reçu un volume considérable de courrier, aidé en cela par la diffusion de cette offre sur quelques autre sites.Tant mieux, c'était le but de l'opération.
Rapidement, je suis arrivé à cours de stickers, et j'avais alors annoncé que les commandes étaient fermées provisoirement. Pour des raisons que j'ignore, system76 n'a pas réussit à m'en faire parvenir de nouveau (mais ce n'est sans doute pas définitif, rassurez vous!), et depuis, je me suis d'ailleurs désengagé de l'administration d'ubuntu-fr.
Je continu encore aujourd'hui a recevoir beaucoup de demandes de stickers, que je ne peux pas honorer, de fait. Cependant, j'avais conservé l'étiquette ubuntu stickers sur la boite au lettre, pour que les courriers ne soit pas perdu, et honorer les demandes quand nous aurions a nouveau du stock.
Aujourd'hui, je ne peux plus décemment gérer l'afflux de courriers, qui s'accumulent sans réponse. Je vais donc enlever cette étiquette sur ma boite au lettre, et c'est pour vous avertir une nouvelle fois qu'il est inutile de continuer à m'adresser ces courriers: vos timbres et enveloppes seraient perdues!
Bien entendu, les demande que j'ai déjà reçus seront honorées dés que ce sera possible (bientôt, on l'espère!) et il est probabble qu'a moyen terme, des commandes puissent a nouveau être ouvertes.
Pour éviter qu'un trop grand nombres de gens croient que cette offre tiens toujours, je remercie Jean-Marie, Korben, PluGeek et Smashou de bien vouloir mettre à jour leurs annonces.
Et oui, dans la série, j'ai installé GNU/Linux sur mon portable, ça fonctionne pas trop mal ET JE ME LA PETE ! Voici la touche finale :l'autocollant mis à coté de celui fourni par défaut : "Designed for Windows XP".
La bête en action:
C'est bien ce que je disais... totalement inutile 
Pour ceux que ça intéresse, j'en ai encore sous le coude ...