Accès rapide aux articles de la page


Gravatar de Artisan Numérique

Drupal - Le "bug de Juillet" du RSS 

Petite surprise et grosse incompréhension lorsque Planet Libre s'est mis à ne plus référencer mes billets. Je me suis alors dis Shoula, j'ai encore trop parlé de développement, je me suis fait zappé par Sébastien pour de bon Wink

Et bien pas du tout, mauvaise langue que je suis, car le problème est un vilain BUG dans Drupal.

La problème est en soit assez simple. Un flux RSS est un simple fichier XML contenant des entrées item. Un item contient une entrée pubDate qui est la date de publication du billet.

La structure d'un flux RSS est bien évidemment spécifié (je ne pense pas que ce soit une norme) et dans cette spécification, il est clairement indiqué que les dates suivent la norme RFC 822 sauf pour les années qui peuvent être sur 2 chiffres au lieu de 4 (même si 4 est préféré).

Alors maintenant si l'on va jeter un oeil sur le fichier modules/node/node.module, on y découvre, ligne 1691, le code suivant :

$extra = array_merge($extra, array(array('key' => 'pubDate', 'value' => format_date($item->created, 'custom', 'r')), array('key' => 'dc:creator', 'value' => $item->name), array('key' => 'guid', 'value' => $item->nid .' at '. $base_url, 'attributes' => array('isPermaLink' => 'false'))));

La fonction utilisée ici est format_date qui avec le paramètre r doit bien renvoyer une date au format RFC 822.

Le problème est que format_date va plus loin que cela, car en se basant sur la langue courante configurée dans Drupal, elle nous produit une magnifique date RFC 822 avec des jours et des mois en français !!

<pubDate>Ven., 08 Juill. 2008 06:15:57 +0200</pubDate>

La solution est donc de patcher le module pour utiliser plutôt la fonction PHP date(), ce qui nous donne :

$extra = array_merge($extra, array(array('key' => 'pubDate', 'value' => date('r', $item->created)), array('key' => 'dc:creator', 'value' => $item->name), array('key' => 'guid', 'value' => $item->nid .' at '. $base_url, 'attributes' => array('isPermaLink' => 'false'))));

Voilà, rien de plus. Surtout ne pas oublier de vider les caches, soit par ?q=/admin/settings/performance, soit par un simple delete from cache_page. Ensuite, à la prochaine lecture des fluxs, nous obtenons un

<pubDate>Fri, 08 Jul 2008 06:15:57 +0200</pubDate>

Ce qui est beaucoup plus en phase avec la norme et convient à l'évidence convient beaucoup mieux à SimplePie utilisé par Planet Libre.

A notre que ce problème n'est pas détecté par feed validator...

Retourner au sommaire

Gravatar de Artisan Numérique

Mandriva sur Fujitsu U810/U1010 

  • 10 votes
    vote oui vote non

Après 2 ans de bon et loyaux services pendant lesquelles il nous a suivi dans des coins bien rock'n'roll de notre charmante planète, la retraite de l'ami Zaurus approche...

Car il accuse un peu le coup le Zaurus avec sa batterie anorexique calée au powertape, sa prise audio qui ne répond juste plus et son boiter fêlé de partout. Il était donc temps de penser à la relève...

Du Zaurus à l'U810

De Zaurus je tenais cependant à garder les aspects clefs comme le mode "nano-laptop" avec un "vrai" clavier, le mode "tablette" pour lire des vidéos, une bonne autonomie et tout cela en restant utilisable dans les transports en heures de pointe.

Mais tant qu'à changer, autant gommer les aspects les plus saoulant du PDA de Sharp, à commencer par son incapacité communiquante : Il me faut donc WIFI/WPA, Ethernet et Bluetooth au minimum.

Je ne veut plus de processeurs type ARM, bien trop compliqué à gérer, à remplacer par une unité compatibilité i86 grâce à laquelle je pourrais installer une distribution standard. Enfin, j'avais besoin de plus de puissance et de plus de mémoire pour l'utiliser comme machine d'appoint en clientèle.

Et puis tant qu'à faire, autant qu'elle ne soit pas trop moche et relativement robuste vu les vilains traitements que je lui réserve.

Pour ce remplacement, j'ai étudié tour à tour les Eeepc, une série d'UPMC, le magnifique flybook, leNanobook de VIA et dérivés. Tout cela sans trouver la bonne combinaison esthétique/prix/autonomie/ergonomie. Et c'est en tombant sur un article traitant du Willcom D4 de Sharp que je suis arrivé de fil en aiguille sur les machines utilisant l'Intel ATOM et plus particulièrement le Fujitsu Lifebook U810/U1010.

Comme le Zaurus, l'U810 est un nano-laptop disposant d'un "vrai" clavier qui n'est d'ailleurs pas sans rappeler celui de mon ancien Psion 5 MX. Comme le Zaurus, il est transformable en "tablette" en retournant l'écran. Dans ce mode il devient cependant plus utilisable grâce à une souris-téton sous le pouce droit, les boutons de la souris sous le pouce gauche et des grips sous les paumes. En revanche, il est clairement plus gros (17x13.3x2.6 cm3) et plus lourd (700g vs 300g) que le Zaurus mais reste parfaitement utilisable dans un métro en heure de pointe même s'il ne tiendra jamais plus dans une poche standard.

Côté connectivité, c'est un grand bond par rapport au Zaurus : WIFI, Fast-Ethernet, USB en mode Host (avec une vraie prise grand format), Bluetooth, connecteur VGA pour un écran externe, jacks pour l'Audio HQ, lecteur SD et CompactFlash. Et en interne il dispose d'un véritable disque dur de 60Go. C'est la fin du jonglage entre applications installées et installables... A noter que l'ethernet et le VGA sont accessible grâce à une petite extension qui se branche à l'avant de l'appareil. La même extension est disponible sur la station d'accueil qui ajoute en plus une entrée 14v pour la charge et un hub USB doté de 4 ports.

Le coeur du zinzin est donc un Intel Atom cadencé 800Mhz réputé peu gourmand en énergie, compatible avec les i86 et doté d'1 Go de RAM.

L'écran est un très beau WSVGA tactile de 5.6" (1024 x 600) très agréable à lire, même avec le soleil dans le dos. Autour de ce dernier nous trouvons une petite WebCam de 640x480 et un lecteur d'empreinte digitale.

En somme, une bien belle machine qui reprend nombre des avantages du Zaurus en y ajoutant la connectivité, la puissance et donc bon nombre de nouvelles utilisations possibles.

Installation de la Mandriva

Installer GNU/Linux sur cette bécane était la suite logique et prévue, mais je pensais faire cela un peu plus tard, histoire d'explorer la bête. Mais finalement la pré-installation de Vista a transformé cette tâche en urgente nécessitée...

Alors très sincèrement je n'avais à l'origine rien contre cet OS dans la mesure où je ne l'avais jamais utilisé. J'en avais certes entendu des vertes et des pas mures mais j'avais mis cela au compte de la classique rengaine du Windows Bidule est une horreur qui bouffe toutes mes ressources, moi je resterais à Windows Machin. J'ai entendu cette chanson là pour à peu prés toutes les versions qu'a pu produire Redmond sans pour autant connaître aujourd'hui quelqu'un qui tourne encore sous Windows 3.1.... Mais pour Vista, il semblerait bien qu’il y ait là un bon fond de vérité...

p> Alors déjà cet "OS" est d'une lenteur absolument infernale. Le machin met prés de 2 MINUTES 20 à démarrer. Et une fois ce laborieux lancement effectué, rien n'est réactif. Je me retrouve avec une machine ayant à peu prés les mêmes performances qu'un Zaurus sous pdaXrom...

Après le visuel est sûrement une histoire de goût même si je trouve cela globalement très vilain. En revanche côté ergonomie, s'y retrouver dans ce souk c'est mission impossible. Au début j'ai pensé que j'étais à l'ouest à cause la version Japonaise, mais même après avoir restauré la version anglaise, j'étais toujours autant paumé. Et je précise que même en ne connaissant rien à MacOS, ma 1/2 neurone avait réussi à prendre en main un mac-mini sans problème. Je refuse donc d'être le fautif dans cette histoire...

Bref, quelque peu inquiet sur les performances de mon nouveau jouet, j'ai été contraint d'installer tout de suite une Mandriva. La raison qui m'avais fait hésiter à me lancer là dedans tout de suite est que, comme certains le savent, je suis en plein déménagement/emménagement/cartons/chantier/salon format gravats et champ de bataille. Du coup impossible de mettre la main sur une clef USB de taille suffisante pour y coller un master amorçable d'installation. J'ai bien essayé de connecter un lecteur de CD-ROM sur un adaptateur IDE/USB mais la bête refuse de le voir au démarrage. J'ai donc opté sur la solution PXE.

Un détail pas évident dans le BIOS : le démarrage sur clef USB est marqué "excluded". Pour l'inclure dans la liste, la touche magique est x.

Sans trop rentrer dans les détails, PXE est un protocole permettant au BIOS de trouver une IP via DHCP, de trouver ensuite un serveur TFTP, d'en extraire une image amorçable et enfin de se lancer dessus. C'est une solution qui peut sembler complexe à mettre en oeuvre mais en réalité grâce aux assistants mandriva, cela se configure en 10 minutes. Je vous conseille pour cela de suivre ce très bon tutoriel qui m'a complètement guidé. Juste un détail mal expliqué, l'assistant permettant de configurer le serveur DHCP est disponible dans le paquet drakwizards. Pour ce qui est du tutoriel, arrêtez vous avant l'histoire du NFS car un problème avec la carte réseau de l'U810 nous empêchera d'utiliser ce système.

Une fois PXE paramétré avec une image d'installation de la Mandriva 2008.1, la machine peut démarrer et fini par se retrouver sur le menu permettant de choisir où se trouvent les images ISO pour poursuivre l'installation. Comme je le disais plus haut, la puce ethernet n'est pas encore reconnue par Linux, et mon seul recours est donc de coller les dites images sur un disque dur en USB et de choisir l'entrée Hard Disk. Ceci fait, le disque USB est rapidement trouvé, ainsi que les ISO qui s'y trouvent et l'installation démarre réellement.

N'oubliez pas, le clavier est QWERTY, ne fait donc pas comme moi en sélectionnant "clavier français" par réflexe...

La copie des fichiers prend tout de même 20 bonne minutes mais à sa décharge j'ai choisi d'installer un bureau Gnome complet, histoire de me rassurer sur les performances qui semblaient tant manquer à Vista. Une fois l'installation achevée et la machine redémarrée, je me suis retrouvé sous un GDM beaucoup plus rapidement qu'avec Vista. Très rassurant... Les temps sont de 37s pour le démarrage (en gros 4x plus rapide que Vista) et 11s pour l'extinction.

Finalement le problème venait bien de Vista. Pour se donner une idée, Firefox, à froid, se lance en 4 seconde en étant parfaitement fluide à l'utilisation. OpenOffice demande 6 secondes de plus pour être aussi utilisable comme sur une machine "normale". Mais plus fort, Java/Eclipse, même s'il prend 30 secondes à démarrer, ne souffre d'aucun ralentissement à l'usage. Clairement le disque dur est un peu plus lent qu'une machine standard mais une fois les applications chargée, le processeur et le giga de RAM prennent la relève et s'en sorte aussi bien qu'une machine de bureau. Là c'est vrai que par rapport au Zaurus c'est un autre monde.

Côté compatibilité, Hors de la boîte, Mandriva reconnaît l'essentiel et la machine est utilisable. En fait, un point qui m'avait confirmé dans mon choix de l'U810 était sa certification pour SUSE Linux Enterprise Desktop. Maintenant je ne sais pas ce que contient la Suse comme pilotes où si leur certification consiste à dire Ok, c'est installé, y'a un truc à l'écran, c'est bon, mais sous Mandriva Free, il y a tout de même pas mal de réglage à faire pour que tout fonctionne.

Toutes les sources et fichiers de configuration utilisés dans ce tutoriel sont dans l'archive u810.tgz. Vous pouvez la décompresser sur la machine où bon vous semble et recopier au cas par cas les données qui vous intéressent.

Northbridge

L'architecture de l'U810 est essentiellement basée sur l'Intel's Ultra Mobile Platform 2007. Le North bridge est donc un Intel 945GU prenant en charge le processeur Atom A110 cadencé à 800mhz (FSB de 400mhz), 1go (le max) de DDR2 à 400mhz (logique Wink et une unité graphique intégrée.

Vidéo

Sur ce plan, absolument rien à redire. Mandriva a configuré Xorg avec le pilote intel. L'accélération 3D marche très bien et glxgears affiche un score de 655fps, ce qui est vraiment bien pour une si petite machine. Pour les aficionados des fenêtres qui gigotent, Compiz fonctionne très bien, sans ralentissement... Regardez, je fais tourner mon bureau !!! cool, cool, cool... Wink.

A noter que le contrôle de la luminosité marche parfaitement avec l'applet GNOME quiva bien. En revanche les touches de fonctions associées (Fn+S et Fn+D) si elles semblent bien être reconnues, ne permettent que changer plus à plus d'un niveau.

Pour ce qui est de la sortie VGA, c'est xrandr qui est notre ami. Tout marche directement en utilisant les commandes suivantes :

  1. # désactiver l'écran LCD
  2. xrandr --output LVDS --off
  3.  
  4. # activer l'écran VGA
  5. xrandr --output VGA-1 --mode 1280x1024
  6.  
  7. # désactiver l'écran VGA
  8. xrandr --output VGA-1 --off
  9.  
  10.  
  11. # activer l'écran LCD
  12. xrandr --output LVDS --auto

Il est ainsi parfaitement possible d'activer les deux sorties en même temps. De la même manière il est possible de faire tourner l'écran par un

xrandr --output LVDS --rotate left

Dans u810.tgz vous trouverez usr/bin/switch_screen.sh et usr/bin/rotate_screen.sh.

Southbridge

Le Southbridge est un Intel 82801G de la famille des ICH7 qui gère l'audio HQ, l'USB, PATA/IDE, le bus PCI et l'énergie. Le tout est pris en charge par le module piix.

Gestion de l'énergie

Les fonctions énergétiques de base sont disponibles à travers les différentes applets de Gnome : niveau de la batterie, vitesse du processeur (800 ou 600mhz), changement de la stratégie de consommation. Le problème ne viendra donc pas de là, mais de la mise en veille (RAM ou disque) qui cafouille autant qu'elle peut...Et pour ce genre de périphérique c'est un peu dommage...

Pour ce qui est de l'hibernation et de la mise en veille, suivez ce tutoriel.

Audio

Le son HQ du 82801G (module snd_hda_intel) est délégué au codec 24bits/100db Realtek ALC262. ALSA reconnaît l'ensemble sans problème, contrôle du volume compris, même si le son est un peu nasillard sur le haut parleur interne...

En revanche, une fois connecté sur un casque ou un ampli externe, la qualité est juste excellent, bien meilleur que le Zaurus, sans aucun souffle. Et contrairement à ce que j'ai pu lire sur le net, la prise casque déconnecte bien le haut parleur interne. C'est mieux pour les voisins Wink

USB 2.0

Les HUBs USB 2.0 internes sont reconnus par le pilote ehci ce qui semble bien indiquer le bus fonctionne en mode High Speed. Un test avec une clef USB de bonne qualité indique un débit de 10 mo/s ce qui est très en ligne avec le maximum de ce genre de périphérique. Avec un disque dur le score atteint 26.6 mo/s, soit exactement la même chose que sur ma machine de bureau. En somme, c'est bien de l'USB 2.0 high speed. C'était marqué sur la boite mais c'est bien d'essayer Wink

En tout cas d'un point de vue fonctionnel, le vrai port USB c'est bien pratique. Pouvoir tout brancher, hub, souris, clavier, clef, sans cablerie supplémentaire, c'est un vrai bonheur.

Stockage

PATA et Disque dur

Le disque interne est un Toshiba MK6028GAL. Un petit test avec hdparam -Tt /dev/hda1 me donne un score de 29MB/sec (option --direct), ce qui en comparaison d'un Baraccuda correspond à un petit deux fois plus lent. La raison en est sûrement les 4200rpm sur cette unité contre 7200rpm sur un disque 3"5 classique.

Ceci mis à part, c'est un disque dur tout ce qu'il y a de plus classique avec un support S.M.A.R.T fonctionnel (température, pannes, etc..).

Lecteur SD/MMC/CF

La lecture des cartes est pris en charge par une puce OZ711MP1/MS1 d'O2 Micro disposée sur le bus PCI interne. La lecture des cartes SD se fait sans problème avec un bémol cependant, il ne sont pas montés automatiquement. J'ai tout essayé mais rien à faire. Et en plus ce n'est même pas systématique, de temps en temps ça apparaît, la plupart du temps, pas...

Sinon les cartes apparaissent comme pour le Zaurus en /dev/mmcblkXpY et affiche un débit en lecture de 2.8mb/sec pour une carte 80x transcend. Ce chiffre est à comparer à ceux obtenus pour un Zaurus et indiquent que l'on a bien une lecture rapide de type SD (4 fils) et pas MMC (1 fils).

Les cartes CF type I et II passent par le module pata_pcmcia et sont elles aussi lues sans problème en étant cette fois montées automatiquement. En revanche le début n'est pas terrible : 835ko/s en utilisant pourtant une carte dual channel de compétition.

Communication

Fast-Ethernet

Nous l'avions vu plus haut, le contrôleur ethernet ne marche pas directement. Pourtant, la puce Realtek 8101L est normalement très bien prise en charge par le module 8139too. La faute semble ici venir couple BIOS/PNP qui indique de mauvaises plages de resources. Pour régler le soucis, il suffit donc d'ajouter à la suite de la bonne ligne kernel dans /boot/grub/menu.lst les paramétres pnpbios=off pnpacpi=off.

Au redémarrage, la puce devrait être reconnue sans problème. Notez que celle-ci est intégrée dans la machine et que l'extension à connecter sur l'avant de l'appareil, ou encore la station d'accueil, ne sont que des reports de cablage pour ne pas encombrer les côtés d'un port RJ45. Comme pour le port VGA.

WIFI

Le WIFI est pris en charge par une puce Atheros AR5006EG 802.11ABG dotée d'une double antenne (impliquant une réception pouvant aller jusqu'à 200%). La réception même à travers un sol de béton est très bonne.

Cette puce est prise directement en charge par le pilote madwifi ‎ath_pci et fonctionne avec toutes les options WPA classique. Laissez-vous guider par drakconnect, ça marche tout seul.

Bluetooth

Le Bluetooth 2.0 est pris en charge par un module USB (0c24:000f) Taiyo Yuden et fonctionne sans soucis. Il vaut mieux cependant déconnecter le service (drakxservices) histoire de ne pas pomper du jus pour rien.

Périphériques de saisie

Clavier principal

Comme je le disais plus haut, le clavier est assez proche de celui du Psion 5 mx mais en Qwerty... Il va donc falloir que je le bidouille un peu via xmodmap pour gérer les accents. Il est très agréable à utiliser pour mes gros doigts qui soufraient avec les touches du Zaurus. Le seul bémol à ce clavier sont les touches de directions qui sont d'une idiotie rare, car accessible uniquement via la touche Fn... Pas très malin.

L'écran tactile

Sur ce point, reportez vous à ce tutoriel.

Touches supplémentaires

Le curseur de contrôle logiciel du volume (côté gauche) fonctionne sans soin particulier. C'est déjà pas mal. En revanche pour les touches /, //, Rotation, Flèche haut et bas, il faut utiliser une version modifiée du projet fsc_btns.

Pour ce faire, allez dans le dossier où vous avez décompressé u810.tgz puis dans usr/src/buttons et appliquez la procédure suivante :

  1. tar -zxvf fsc_btns-1.30.tar.gz
  2. cd fsc_btns
  3. patch -p1 < ../fsc_btns-1.30-u810.patch
  4.  
  5. # A ne faire que si vous avez un U1010, faites un dmidecode | grep Product pour vérifier !!!
  6. patch -p1 < ../fsc_btns-1.30-u1010.patch
  7.  
  8. make
  9. make install
  10. modprobe fsc_btns

Voilà, le module devrait être chargé. Pour tester que les touches sont maintenant vivantes, vous pouvez lancer xbindkeys --km et les presser successivement. Il ne vous reste alors plus qu'à les associer à une action de votre choix toujours grâce à xbindkeys par exemple (voir le fichier etc/xbindkeys.rc dans l'archive u810.tgz).

Interrupteur "Flight mode"

Sur le côté gauche se trouve un interrupteur sensé pouvoir couper toute communication radio. A l'origine ce type de dispositif permet d'utiliser la machine en tout sécurité dans un avion. Malheureusement il n'a aucune action sous Linux et je n'ai pas encore trouvé le moyen de régler cela.

WebCAM

La WebCam est reconnue de traviole. Normalement c'est uvcvideo qui est en charge de cette périphérique mais il ne semble pas que la puce Ricoh R5U870 disponible sur le bus USB, soit très compatible avec uvc. Heureusement un pilote spécifique existe mais le support pour la version Fujitsu F01 UVC (USB ID: 05ca:1841) est encore en cours de réalisation. En tripatouillant entre les deux pilotes (modprobe r5u870,modprobe -r r5u870, modprobe ruvcvideo), on arrive à avoir un boût d'image avec xawtv mais c'est encore loin d'un résultat utilisable et ce même en utilisant la dernière version sur subversion.

Lecteur d'empreintes digitales

Le lecteur est AES25010 de chez AuthenTec sur bus USB (08ff:2580) et par chance il est parfaitement pris en charge par le projet fprint qui vient mettre un peu d'ordre dans tous les projets spécifique à tel ou tel scanner.

Pour lire une empreinte et la tester, le plus simple est d'installer le package fprint_demo qui embarquera avec lui les bonnes dépendances. Ensuite lancez fprint_demo pour scanner un de vos doigts, ceci fait, les onglets suivants servent à vérifier que cela colle.

Ensuite, pour les aventureux, il est possible d'ajouter au système d'authentification de Linux un module PAM spécifique à la lecture d'empreintes. Cela se fait très simplement en installant pam_fprint puis en ajoutant dans /etc/pam.d/system-auth, en tête de liste, un auth sufficient pam_fprint.so. N'allez pas toucher au reste, fprint est en alpha et s'il ne réussi pas à vous reconnaître, vous seriez bloqué hors de votre machine Smiling

Illumination du clavier

Une fonction bien sympatique de l'U810 est l'illumination du clavier par deux petites loupiotes bleues. Très geek, oui, oui, je sais Smiling

Pour l'activer il faut cependant se frapper une compilation complète du kernel sur lequel on applique le patch disponible dans le dossier usr/src/lights de l'archive u810.tgz.

Mais comme le dit patch est conçu pour un kernel 2.6.25, avec un 2.6.24, il coince sur le premier chunk. Ce n'est pas bien grave, il suffit de modifier le fichier drivers/misc/fujitsu-laptop.c à la main en ajoutant l'inclusion de linux/leds.h après celle de backlight.h et en changant le numéro de version vers une 3.0e histoire de ne pas s'y perdre.

Une fois que le kernel est compilé (pensez à distcc Wink et que vous avez redémarré dessus, il suffit d'écrire dans un fichier pour changer les lumières :

  1. modinfo fujitsu-laptop # ça doit dire 3.0E
  2.  
  3. modprobe fujitsu-laptop
  4.  
  5. # allumage normal
  6. echo 3 > /sys/devices/platform/fujitsu-laptop/kbd_light
  7. # estinction
  8. echo 0 > /sys/devices/platform/fujitsu-laptop/kbd_light
  9. # clignotant
  10. echo 1 > /sys/devices/platform/fujitsu-laptop/kbd_light

Dans l'archive u810.tgz, en usr/bin, vous avez un script appelé toggle_lights.sh qui permet d'allumer et d'éteindre les lumières.
Pour éviter de perdre l'accès aux modules pré-compilés de la mandriva, il est préférable de garder le même nom de kernel que celui du dépot en modifiant le Makefile dans les sources. Lors du make modules_install cela va écraser les modules d'origine mais comme les versions seront les mêmes, tout continuera à fonctionner.

Un peu de colle

Voilà, tout est presque prêt. Pour que tout marche correctement au re démarrage du système, vous trouverez dans u810.tgz un script d'initialisation u810 dans le dossier etc/rc.d/init.d à placer en /etc/rc.d/init.d. Lorsque vous l'aurez copié, lancez drakxservices et activez le. Au redémarrage vous devriez :

  • Avoir un chargement du module u810_tablet dans le bon ordre et disposer de l'écran tactile.
  • Avoir un chargement du module fujitsu-laptop et donc l'accès aux loupiotes.
  • Avoir un chargement du module fcn_btns et ainsi accès aux touches supplémentaires.
  • Un déchargement forcé du module bluetooth pour améliorer la durée de vie des batteries.
  • Changer les droits sur la périphérique des loupiotes pour permettre à un utilisateur non-root de les utiliser.

Dans l'archive vous avez aussi un dossier usr/bin. Il contient une série de scripts :

  • switch_screen.sh - permet de basculer l'écran sur VGA si l'écran VGA est connecté sinon il bascule sur LCD.
  • rotate_screen.sh - change alternativement l'orientation pour s'adapter à la position de l'écran.
  • toggle_lights.sh - pour allumer et éteindre les loupiotes.
  • Enfin pour rendre tout cela ergonomique, vous avez dans etc/xbindkeys.rc qui faut recopier dans votre /etc, puis recopiez etc/X11/xinit.d/35u810 dans votre /etc/X11/xinit.d/35u810. Ceci fait, au démarrage de votre session, xbindkeys devrait être automatiquement chargé et vous offrir les fonctions suivantes :

    • / - Bascule de l'éclairage.
    • rotation - Retournement de l'écran.
    • // - hibernation.
    • Fn+A - Activation de la sortie VGA.

    A noter que la mise en veille est prise en charge par gnome-power-manager via la touche C-alt-D sous le lecteur d'empreintes.

    Conclusion

    Cela m'a pris tout de même deux bonnes journées pour arriver à rendre cette petite merveille utilisable dans de bonne conditions sous Mandriva mais toutes les fonctions essentiels sont maintenant disponibles à l'exception de la WebCam.

Retourner au sommaire

Gravatar de Artisan Numérique

Drupal 6.3 

Un bel assortiment de correction de vulnérabilités dans cette nouvelle version de Drupal. Sérieux, c'est très complet, cela va du cross scripting à l'injection SQL en passant par les attaques de session.

Dans cette mise à jour se trouve aussi 63 corrections en tout genre dont le fameux tri de node sous PostgreSQL.

Pour mettre à jour, la procédure est toujours la même.

Retourner au sommaire

Gravatar de Artisan Numérique

Le Littré sous Linux 

  • 14 votes
    vote oui vote non

Il est possible d'être très mauvais en orthographe et pourtant d'adorer la langue française. En tout cas c'est mon cas, et j'étais tout content lorsque j'ai découvert ce projet libre du Dictionnaire le Littré pour Gnome....

Ce petit soft se base sur une version XMLifiée du dictionnaire « Le Littré », écrit par... Emile Littré au 19ème siècle. Vous pouvez l'installer soit en passant par les binaires fournis sur le site, soit en compilant vous même les sources qui se trouvent au même endroit.

En tout cas, un petit soft bien sympa, merci à ses auteurs.

Source: L'excellent Framasoft.

Retourner au sommaire

Gravatar de Artisan Numérique

Ajouts sur Artisan : module Subscribtions et profils utilisateur 

Comme certains me l'ont fait remarqué, depuis le passage à la version 6 de Drupal, les notifications par courriel ont volées. Le coupable est le module Notify qui n'est pas porté dans cette version.

Notifications

Et pour cause, car ce module a été surclassé par Subscriptions qui permet de faire la même chose et surtout beaucoup plus. En fait il ajoute à la fin de chaque page une zone abonnement permettant de recevoir des courriels pour un type de contenu, pour la mise à jour d'un contenu spécifique, pour l'ajout de contenu par auteur, par taxonomy, etc... Pour mon usage je continue de préférer la syndication (le bloc de droite, en bas) mais il faut avouer que ce module est très bien fait.

Deux bémols cependant. Il est pas aussi simple à mettre en oeuvre que Notify, il faut penser à activer tous les modules (y compris le module d'envoi des mails....), ajouter les permissions, bien filtrer les types de contenus sur lesquels portent les abonnements, et surtout tricher un peu pour les corps des messages envoyés car subscriptions est lié pour cela à Mail Edit, qui lui n'est pas encore porté...

La solution temporaire est d'installer malgré tout mail_edit et d'appliquer ce patch. Ensuite, vu que le patch est pas fonctionnel, il faut ajouter "à la main" une entrée dans la table mail_edit.

INSERT INTO mail_edit ('toto','tutu','titi', 'subscriptions");

Vérifiez sur votre plateforme de test que vous recevez bien un courriel en ajoutant un contenu. Si c'est le cas, il est probablement écrit en une langue qui n'a pas grand chose à voir avec du français et ne contient aucunement "titi" ou "toto". C'est bizarre, je sais... Pour régler cela, recherchez la traduction automatique qu'a faite Drupal dans la section administration/traduction des interfaces et modifiez-là. Après cela, les courriels devraient être OK...

Je n'ai pas activé les abonnements par catégories, si vous cela intéresse, dites-le moi.

Les profiles

Dans la foulée, j'ai cherché un autre module pour pouvoir permettre aux utilisateurs qui ont un compte ici, de pouvoir saisir des informations de base dans leur profile comme l'URL de leur site perso (ou leur blog Wink. Et j'ai finalement découvert que s'était déjà présente en standard dans Drupal, via le module profil. Il suffisait d'aller dans /Adpmistration/administration des utilisateurs/profils pour ajouter des champs, exactement comme avec CCK....

Donc pour ceux que cela intéresse, il est maintenant possible d'ajouter votre URL, et si vous avez des idées d'autres champs, n'hésitez pas à me le dire.

Retourner au sommaire

Gravatar de Artisan Numérique

Recopier une partition 

Dans la série des problématiques classiques lorsque l'on change de disque, arrive rapidement celle du "comment diantre vais-je transférer la partition du MauditOS sans repasser deux heures à tout ré-installer" !! Pas si compliqué en réalité... si c'est fait sous Unix Wink

Préambule

Pour fixer le cadre, prenons donc deux disques durs de marque et de taille évidemment différentes, avec cependant assez de place pour transférer les données d'un côté vers l'autre. Le second disque est considéré comme vide. Ce n'est pas obligatoire mais dans le cas contraire, c'est à vos risques et périls si chemin faisant vous perdez de précieuses données...

Sur le premier disque nous avons une partition primaire contenant VilainOS. Le but va donc être de créer une partition de même taille sur l'autre disque, d'y recopier notre partition d'origine, et de garder l'espace restant pour une utilisation plus sérieuse. Au final, nous aurons un nouveau disque qui s'amorcera comme l'ancien.

Pour faire tout cela, nous allons utiliser un simple adaptateur USB/IDE. Ainsi le disque sera toujours /dev/sdb et la partition source ou cible /dev/sdb1.

Sauvegarder la partition originale

Malic et Dab (qui interviennent souvent ici) m'avaient parlé de trois outils libres répondant au besoin : CloneZilla, Partimage Is Not Ghost ou plus simplement PING, et justement puisqu'on en parle, PartImage.

Alors certes, comme le sous-entend PING partImage n'est pas Ghost, mais comparé aux deux autres, pour une utilisation ultra épisodique, il a l'avantage de ne pas non plus être une usine à gaz...

partImage s'utilise soit en ligne de commande, soit par une petite interface semi-graphique en nCurse. Le plus simple est de le lancer d'abord la ligne de commande avec les paramètres de base, puis ensuite d'affiner les options avec l'interface.

Pour ce faire, il suffit de l'invoquer comme suit :

partimage -z1 save /dev/sdb1

Cela a pour effet de demander à partImage de créer dans le dossier courant une copie des données de la partition /dev/sdb1 en activant au passage une compression GZIP.

L'interface graphique s'affiche alors et vous pouvez affiner vos besoins en augmentant ou supprimant le taux de compression, en ajoutant ou pas une description, bref tout ce que vous voulez jusqu'au moment où, fin prêt, vous pressez la touche F5 pour démarrer la sauvegarde...

Pour cette opération nous aurions pu utiliser la commande dd avec peu ou prou le même résultat. Mais l'avantage de partImage est qu'il ne sauve que l'espace disque utilisé entraînant un très appréciable gain de temps quant la partition n'est pas pleine. Pour une partition de 10Go pleine à 60%, en USB 2.0, cela m'a pris 10 minutes tout rond. L'astuce par rapport à dd est que partImage connaît le système de fichier que vous cherchez à copier, et sait donc où celui-ci s'arrête. Attention cependant, le support NTFS est plus faible que celui des autres systèmes. Tout cela ne marchera donc bien qu'avec une partition peu fragmentée. Le cas échéant, vous n'avez plus qu'à utiliser.. dd...

Création de la partition cible

L'étape suivante est de recopier les paramètres de notre partition. Le bon outil pour cela est encore parted que nous avions vu pour la transformation d'une machine physique en machine virtuelle. Là il va juste nous servir à récupérer la taille et la position de notre partition d'origine :

# parted /dev/hda
(parted) unit s
(parted) print
  Model: IBM-DTTA-351010 (ide)
  Disque /dev/hda : 19541088s
  Taille des secteurs (logiques/physiques): 512B/512B
  Table de partition : msdos
  Numéro Début Fin Taille Type Système de fichiers Fanions
   1 63s 19519919s 19519857s primary ntfs démarrage
(parted) quit

Avant de débrancher définitivement notre vieux disque, nous allons lui faucher son amorce. En effet, il ne vous aura pas échappé que notre partition ne démarre qu'au 64ième secteur, ce qui implique un espace de 63 secteur qui précède la partition, soit 512x63=31ko représentant l'amorce du disque. Et vu que c'est une amorce pour PasBeauOS, nous allons devoir la sauvegarder en vue d'une transplantation sur le nouveau disque

dd if=/dev/sdb1 of=amorce.image count=63 bs=512

Pour info, lorsque vous démarrez sur disque et que vous avez comme seul résultat une infamante liste du style L99 99 99 99 99 99 99...etc., c'est généralement que l'amorce est quelque peu vrillée...

Bon, il est maintenant possible de débrancher ce disque de l'adaptateur IDE-USB pour le remplacer par notre nouveau support.

La première chose à faire est de détruire les partitions existantes. Cela se fait très simplement avec parted en les listant d'abord avec la commande print, puis en les supprimant une à une avec la commande rm NUMERO.

Ensuite, lorsque le disque est vide de partition, il nous faut recréer celle du disque d'origine en s'aidant du chiffre que nous avons noté en rouge :

# parted /dev/hda
(parted) unit s
(parted) mkpart primary 63 19519919
(parted) quit

Voilà, nous avons maintenant une partition identique sur le second disque.

Recopie des données

Maintenant, pour recopier les données que nous avons précédemment sauvegardé avec partImage, il suffit de l'invoquer dans l'autre sens :

partimage restore /dev/sdb1 native.image.000

Là, c'est fini en 5 minutes.... Dernière étape, insérer la fameuse amorce que nous avons chipé sur le vieux disque.

  1. dd if=amorce.image of=/dev/sdb bs=512 count=63
  2. sync

Et voilà, le nouveaux disque et sa nouvelle partition sont prêts, et le tout est amorçable comme avant.

Conclusion

Les outils spécialisés de clonnage permettent sûrement de faire tout cela plus rapidement pour peu que l'on ait le temps d'apprendre à les utiliser.. Disons que pour l'usage d'un néophyte, partImage est un vrai plaisir Smiling

Retourner au sommaire

Gravatar de Artisan Numérique

Effacer ses données 

  • 12 votes
    vote oui vote non

Effacer ses données, c'est une nécessité lorsque l'on vend un ordinateur ou un disque dur tout nu. Cependant beaucoup croient que le simple fait de formater suffit à rendre illisible les données, grave erreur...

Les données d'un disque ou d'une partition

Un formatage, ne détruit pas les informations que contiennent un disque. Cela ne fait que... formater le disque pour recevoir de nouvelle donnée. C'est un peu, en caricaturant, comme si vous pensiez rendre un livre illisible en arrachant la table de matière... Et ce n'est pas si caricatural que cela lorsqu'il s'agit de "formatage rapide" dont c'est exactement le fonctionnement. Pour s'en convaincre, un group d'étude s'était attaqué à ce problème en achetant 111 disques durs "vierges" d'occasion. Et ils y ont trouvé de tout jusqu'aux preuves d'infidélité d'une femme mariée Wink.

Il existe pourtant de nombreux outils pour effacer réellement. Une version basique consiste à simplement remplir le disque de 0 ou mieux, de nombre aléatoires. Sous GNU/Linux cela se fait très simplement en utilisant le concept tout n'est que fichier. Ainsi votre premier disque IDE, ou la première partition de ce disque, sont les fichiers /dev/hda et /dev/hda1. Du coup, il est très simple de remplir ce fichier de zéros grâce à la fameuse commande dd :

dd if=/dev/zero of=/dev/hda

La même chose est possible, en plus long, avec des nombres aléatoires :

dd if=/dev/random of=/dev/hda

A ce stade, on peut décemment se dire que le disque est illisible. En réalité c'est très loin d'être le cas. Avec un appareillage approprié, il est parfaitement possible de lire l'ancienne donnée sous le zéro. Et juste un peu plus difficile sous le nombre aléatoire.

En effet, la surface magnétique garde mémoire de son passé par le simple fait qu'une écriture "au même endroit" n'est jamais positionnée pile-poil sur l'ancienne. Un décalage invisible pour un contrôleur de disque standard, mais parfaitement clair pour des professionnels.

La solution est alors d'écrire plusieurs fois de suites au même endroit de sorte à finir par rendre cette maudite donnée d'origine totalement illisible, allant jusqu'au plus violent, le Gutmann Wipe et ses 35 passages aléatoires dans les données ET dans l'ordre de passage.

Pour obtenir un tel résultat, dd ne suffit plus, il faut passer à des outils comme Darik's Boot and Nuke. Et là c'est plusieurs heures qu'il va falloir passer sur ce disque...

Maintenant, il faut revenir sur terre. Mulder a sûrement intérêt à passer par DBAN pour vider son portable avec de le revendre sur eBay. Mais Mme Michu, elle, elle n'a pas forcement d'informations critique susceptible d'intéresser la moindre agence gouvernementale. Le coût de récupération serait pour elle largement supérieur à ce que peuvent rapporter ses données. Et c'est finalement un élément clef de sécurité : le risque est fonction de l'intérêt qu'un tiers peut porter à ce que l'on cherche à protéger. Dans le cas du commun des mortels dont je suis, il faut juste que le commun des mortels à que je revend mon disque ne soit pas capable de lire ce qui s'y trouve, même en passant par des outils bas niveaux.

Du coup, un bon vieux remplissage de zéros est à ma connaissance largement suffisante pour protéger efficacement les données de toute actions qui n'inclue pas un tournevis pour extraire les plateaux du disque dur.

Cependant, même si dd répond donc bien à ce cahier des charges, un utilitaire plus simple d'usage existe dans toute distribution Linux de base : shred.

Le but de cet outil est d'écrire N fois des nombres aléatoires dans un fichier, et éventuellement de terminer par une couche de zéros. Par exemple un ultra paranoïaque ayant quelques heures à perdre, peut taper :

shred -zvf -n 100 /dev/hda

Là, c'est 100 couches de nombres aléatoires suivie d'une couche de zéros (le -z) qui viennent recouvrir nos données. Quelqu'un de moins paranoïaque ou de plus réaliste utilisera seulement la couche de zéros :

shred -zvf /dev/hda

Effacer un fichier

Là, pour un fichier simple, ça se complique. En effet, les systèmes de fichiers modernes sont dits "journalisés" (EXT3, NTFS, Reiser, etc). Cela veut dire que les données d'un fichiers ne sont pas forcement stockées à l'endroit où se trouve le fichier... L'idée de base d'un journalisé est qu'une écriture n'est pas directement placée a sa place sur le disque, mais historisé dans un journal. C'est ce journal qui est rejoué au redémarrage lorsque votre système a planté ou que le chat s'est battu avec les câbles électriques.

Du coup, si vous utilisez par exemple shred sur un fichier, les données aléatoires ou les zéros ne peuvent garantir que les données réelles du fichier ont bien été remplacées. Vous pensez votre fichier détruit mais il reste visible avec un outil bas niveau de lecture des données du disque.

En somme, il n'est juste pas possible d'effacer sérieusement un fichier seul sur un système journalisé. Donc si vous avez besoin de stocker des données sensibles, il vaut alors mieux prévoir le coup et de passer dés le début par un disque crypté. Ou alors détruire la partition ou le disque comme vu plus haut.

L'assertion précédente est à prendre au sens général. Pour certains journalisés comme EXT3, il semblerait que seules les métadonnées le soient vraiment, et donc qu'un shred fonctionnerait. Mais pour un paranoïaque, même léger, ce n'est pas très satisfaisant.

Conclusion

shred permet simplement et rapidement d'obtenir un niveau suffisant de sécurité. Mais si vous avez de véritables données sensibles, par exemple une entreprise avec une machine ayant servi à des projets critiques, l'utilisation de DBAN s'impose. Mais dans tous les cas, ces solutions sont à applique sur la partition, ou mieux, sur le disque complet.

Retourner au sommaire

Gravatar de Artisan Numérique

Plateforms Comparator version 3.0 

Le framework a été quelque peu remodelé pour permettre de générer la 3ième version du benchmark Java vs c# vs c++. Le but principal était de le rendre utilisable sous Windows pour tester les VM de cet OS.

  • Les configurations sont maintenant héritables pour gérer des versions linux, windows et communes.
  • Le générateur de rapport a été séparé du reste de lanceur de tests.
  • La structure de stockage a été revue pour être plus souple et permettre d'ajouter plusieurs mesures par variante de test.

Retourner au sommaire

Gravatar de Artisan Numérique

Plateforms Comparator 

Comparateur de plateformes de développement (voir cet article).

Retourner au sommaire

Gravatar de Artisan Numérique

Merci à la Driva Team pour ce beau bureau ! 

Généralement on fait des mises à jour pour colmater les failles de sécurité. Astreinte obligatoire, routine, automatisme, pas à réfléchir, c'est comme ça.

Alors ce matin j'ai justement lancé une petite mise à niveau de première intention sur mon dépôt local avant de répercuter les éventuelles corrections sur mes différentes bécanes.

Dans le flux des téléchargements (je synchronise mon dépôt avec un script basé sur wget), rien de bien attirant, une nouvelle version de Gimp par çi, clamAv par là, et puis oups ! tient, voilà t-il pas que FireFox3 apparaît dans les backports. Mais c'est pas une si grosse surprise, Yoho nous avait prévenu via le projet Taster.

Une fois le flot tarit, je lance sur mon poste de travail le classique urpmi --auto-update et je laisse faire. Je vois bien une paquet freetype passer mais cela ne me choque pas plus que cela. J'installe le fameux FireFox3 qui semble teeeeelllllement incontournable pour voir au moins quelle gueule cela peut avoir, histoire de pas mourir tout de suite idiot. Le processus se passe sans problème et ce en gardant la v2 disponible, délicate attention des mainteneurs que je salue. Finalement, je lance le zinzin et là, Wow factor...

Bon déjà, très bon point pour cette v3, ça se lance beaucoup plus vite et ça réagit beaucoup plus vite, Mais ça, j'en avais déjà entendu parler ailleur. Non, le vrai truc sympa, c'est qu'enfin ils se sont décidés à remprendre complètement le look GTK/Gnome. Style des onglets, barres de défilement, jeu d'icônes, tout y est. Et c'est très joli, bien mieux intégré au bureau que la v2.

Mais c'est juste un peu trop joli, y'a un autre truc qui a clairement changé qui n'a rien à voir avec FireFox. Et j'ai mis un certain temps à comprendre. En fait jusqu'à ce que je relance eclipse qui a planté pour les 47ième fois de la journée : Les polices... Je ne sais pas ce qu'ils ont fait manger à cette nouvelle version de FreeType (2.3.5-2), mais elles sont d'une beauté, c'est bluffant. Toute l'interface a gagné en lisibilité au point où ma Vm Windows sur le côté me semble d'un coup ressemble à un antique TRS-80.

Bref, voilà une mise à jour de rien du tout qui a rendu mon bureau clairement plus agréable. Merci à la Driva Team pour ce petit plaisir du matin Smiling

Retourner au sommaire

©2007 :: Hébergé par Tux-planet :: Valid CSS & XHTML :: Version 3.2.1

web tracker