Kavod Company

Free blogware !

Archive for juin, 2006

Splash sur mon Linux !!!

[UPDATE : utilisation du framebuffer Vesa à la place du nvidia qui n’est pas compatible avec les drivers propriétaires (que, j’avoue, j’utilise)
De plus, j’ai mis à jour les résolutions en fonction de mon nouvel écran : le Xpola 1440×900]

Rassurez-vous, mon Linux va très bien :) Il n’est pas tombé à l’eau ou quoique soit d’autres. GenSplash est simplement un outil permettant de personnaliser l’écran d’ouverture de votre machine.

En effet, la plupart d’entre vous voient ceci en allumant leur machine :

winxppro.png

Les moins chanceux ont même ceci :

macosx101-2-1.png

Hé bien moi je peux mettre n’importe quel type d’image comme :

ca

Theme-Dolphin-silent.png

, ca

Theme-FarCry-silent.png

, ou bien encore ceci

Theme-TuxInfo-silent.png

Mais c’est pour un splashscreen beaucoup plus sobre que j’ai opté :

livecd-2006_0-1280x1024-silent.png

Quoiqu’il en soit, voici comment que j’ai procédé sur une Gentoo ~x86 (mais la procédure doit être identique en x86).

Installation de l’outil splashutils :

emerge -va splashutils splash-themes-gentoo splash-themes-livecd

Puis, petite modification du kernel :

Linux Kernel Configuration: 2.6
Device Drivers > Graphics support:
[*] Support for frame buffer devices
< *>   VESA VGA graphics support
VESA driver type (vesafb-tng)  --->
(1280x1024-24@60) VESA default mode
Device Drivers > Graphics support > Console display driver support:
[*] Video mode selection support
< *> Framebuffer Console support
Device Drivers > Graphics support:
[*] Support for the framebuffer splash
Linux Kernel Configuration: Nécessaire si on veut charger l’image dynamiquement (sans recompiler à chaque fois son kernel)
Device Drivers > Block devices:
< *> RAM disk support
(4096) Default RAM disk size (kbytes) (NEW)
[*]   Initial RAM disk (initrd) support
Linux Kernel Configuration: Désactivation du tileblitting support.
Device Drivers > Graphics support:
[ ] Enable Tile Blitting Support
Linux Kernel Configuration: Afin d’avoir une touche F2 réactive, activer l’interface d’évènements
Device Drivers > Input Device Support
[*]Event Interface

On compile tout cela, puis nous allons créer notre initrd de la manière suivante

#On se rend dans le répertoire contenant tous les thèmes
cd /etc/splash
# Puis on créer un fichier d’amorcage :
splash_geninitramfs emergence -r 1440×900 -g /boot/initrd.img -v

Enfin, il faut mettre à jour le grub. De mon coté, ça donne ceci:

title=Gentoo Linux 2.6.22-gentoo-r6 Bootsplash
root (hd0,0)
kernel /kernel-2.6.17-gentoo-boot root=/dev/sda2 doscsi video=nVidiafb:ywrap,mtrr:2,1280×1024-24@60 splash=silent,fadein,kdgraphics,theme:livecd-2006.0 quiet fbcon=scrollback:128K
kernel /kernel-2.6.22-gentoo-r6 root=/dev/sda2 doscsi video=visafb:ywrap,mtrr:2,1440×900-24@54 splash=silent,fadein,kdgraphics,theme:livecd-2007.0 quiet fbcon=scrollback:128K console=tty1
initrd /boot/initrd.img

Pour obtenir d’autres thèmes, il suffit d’exécuter

emerge bootsplash-themes

ou bien de se rendre sur http://www.bootsplash.de/

Sources :

Gentoo-Wiki.com
Site de developement Gentoo de Spock

2 comments

“Le meilleur des mondes” de Aldous Huxley

[u]Le meilleur des mondes[/u] aux éditions Pocket

Comment je l’ai découvert : tout simplement par Amélie qui me disait que ce serait tout à fait le genre de bouquin qui me plairait.

Histoire : dans un futur lointain, un monde mononational s’est mis en place. Les naissances sont toutes faites sur des chaines de productions, les enfants conditionné pour exécuter avec rentabilité et dans le plus grand des bonheurs. La famille n’existe plus, les moeurs totalement libérés. Un sauvage (personne “vivant à l’ancienne” maintenue en réserve comme les Indiens) est alors introduit dans la “civilisation” dans une optique d’expérimentation.

Commentaire : On ne peut éviter le parallèle avec 1984. Société à apparence dictatoriale avec conditionnement de la population, maintiens des castes de la population et l’action se déroule à Londres. De plus, l’histoire est tournée (du moins dans les 2 tiers du bouquin) sur un zigoto qui a la mauvaise idée d’être sceptique par rapport au monde où il vit.

Cependant, c’est une vision presque opposée à celle d’Orwell. Dans 1984, la population était maintenue dans la peur, l’oppression, la guerre et l’inexistance du progret scientifique (dédié exclusivement à des fins militaires). Chez Huxley, le conditionnement permet de rendre tous les gens heureux (et ceci, quelque soit leur caste). Tout le monde a un métier qu’il est content de faire car ayant été conditionné a apprécier. Les liens familliaux n’existent plus : il est recommandé de “sortir” avec un partenaire tous les soirs… et c’est encore mieux si ce n’est jamais le même d’un jour à un autre. L’acte de naissance est diabolisé (c’est crade !) et toutes les naissances sont faites in vitro selon les besoins de chaque continent.

Bref, si je dois donner un bon point à ce bouquin : autant il est clair que nul ne voudrait passer le moindre quart d’heure dans le monde de 1984, autant vivre dans “le meilleur des mondes” serait presque idylique.

Cependant, cependant (puisqu’on est dans la comparaison) Orwell avait une qualité d’écriture et de construction de monde quasiment inégalable (cf. article de Wikipedia). Dans le meilleur des monde, la description de l’environnement, et donc la représentation de ce monde, sont un peu succints.

Note : 6/10 et je ne peux vous inviter qu’à lire 1984 de Georges Orwell qui fait référence !

1984 aux éditions Livre de Poche
2 comments

PHP My Interface

Cette fois-ci, je ne vais rien vous apprendre.

En fait voilà un gros problème auquel je fais face régulièrement (et je présume que je ne suis pas le seul). Disons que je met en place un site Internet. Dessus, je vais mettre un phpBB forum en PHP. Ensuite, je veux ajouter un bugtracker mantis, une gallerie photos gallery2 et un système de blog tel que wordpress.

Au total, je me retrouve avec 4 bases d’utilisateurs, 4 systèmes de templates différents et de nombreuses autres informations qui pourraient être mutualisées mais qui ne le sont pas.

Oui, je vous entend déjà dire “il existe des patchs d’intégration”. Il est vrai et d’ailleurs ce blog l’illustre bien (intégration Gallery2 / Wordpress). Mais mais mais :

  1. Chaque mise à jour de l’un ou l’autre des systèmes est une gallère
  2. Deux ça va, trois bonjour les dégats
  3. Malgré le bon travail pour certains d’entre eux… tout n’est pas forcément facilement intégrable

D’où une idée : PHP My Interface qui consisterait à mettre en place une “librarie” assez flexible pour être facilement branchable sur toute application PHP.

Après pas mal de réflexion, voici les conclusions auquels je suis arrivé.

Concernant les fonctionnalités à mutualiser :

  1. Système de template (afin de rendre plus facile d’intégration graphique de chaque application).
  2. Base utilisateur et toute fonction assurant la maintenance (ajout / modification / vérification mot de passe / permissions…)
  3. Gestion des erreurs
  4. … voire même (soyons fou) interface d’administration

Je verrai la réalisation de la manière suivante (disons dans le cas des users).

Après l’installation de phpbb et mantis (pour prendre un exemple) je vais dans un panneau d’administration PHPMyInterface (que nous appellerons PMI). J’indique que j’utilise ces deux systèmes là et un patch est automatique appliqués aux deux systèmes :

  • Un patch SQL qui va mettre en place des tables users communes, avec évidemment des champs spécifiques à chacun d’entre eux
  • Un patch PHP qui va rediriger tous les appels vers des fonctions user vers des fonctions interface (pmi_user_add par exemple).
  • Un patch “HTML” qui redirige tous les écrans “user” vers des page variables ($pmi_page_user_add).
Ensuite, j’indique que le système que je souhaite utiliser pour cette fonctionnalité. Ici, disons phpbb. Ceci a pour effet :
  • D’affecter comme nom de fichier aux “pages variables” les pages de phpbb ( $pmi_page_user_add = ‘phpbb2/profile.php?mode=register’ pour schématiser). Ainsi, même quand je voudrais rajouter un user sur mantis, c’est une page phpbb qui s’affichera. Il faudra effectivement penser aux champs spécifiques à rajouter (inclus dans patch PHP ci-dessus)
  • De faire en sorte que mes fonctions interfaces fassent appels aux fonctions phpBB.

Il ne s’agit donc pas de réinventer le feu (d’autres applications ont des gestions utilisateurs on ne peut plus stable) mais bel et bien de rajouter une surcouche tout en laissant le choix au webmestre de choisir quel sera le système qui sera en dessous.

Et puis, dans le meilleur des mondes, si un tel système devenait référence, les patches ne seraient plus à faire. Ils pourraient devenir natifs dans les applications PHP qui sortiraient.

Ce sujet me tiens vraiment à coeur. Cependant je me suis déjà pris pas mal la tête dessus tout seul dans mon coin et le temps ne me permet pas de faire ce projet de A à Z sur du long terme.

C’est pour cela que je lance une bouteille à la mer. Si vous êtes intéressé par une telle aventure : je suis preneur !

No comments

PTP sur Gentoo Linux

Amis Linuxiens, bonsoir !

Je reviens donc à mes articles techniques suite à une bonne soirée de perdue sur le protocole PTP sur Linux.

Qu’est-ce que le PTP me direz-vous ? Picture Transfer Protocol, un protocole pour transférer… des photos :) L’utilisation la plus standard pour la plupart des appareils photos numériques est une intégration aux logiciels de photos (gphoto2, digikam…) pour un transfert simplifié. Rien de très utile puisqu’un simple montage en usb-storage peut suffire, mais pratique.

Cependant, dans des appareils un peu plus perfectionnés, on peut trouver un bon nombre d’autres fonctionnalités comme pas mal de réglage de l’appareil (ce qui servirait, je présume, à transformer votre appareil en webcam).

Bref, je pars donc d’un linux poste de travail :

  • Gentoo Linux
  • Noyau 2.6.16
  • Udev
  • Hotplug

La librairie nécessaire est libptp2 (qui dépend de gphoto il me semble). Un test rapide consiste à faire gphoto2 –auto-detect. Jusqu’à là, tout allait bien.

Ensuite, pour lister les photos : gphoto2 -L … et là ca marche plus (visiblement un problème de droit). Je tente donc en root et ça fonctionne… mais ce n’est pas satisfaisant !

Je passe donc des heures sur le paramétrage de hotplug… et c’est là mon erreur. Pour une raison qui m’est totalement inconnue, les droits que l’on peut poser sur /proc/bus/usb/00x/0xx sont totalement ignorés. Ce n’est donc qu’après avoir perdu le peu de cheveux qui me reste que je modifie les règles de udev comme ceci :

SUBSYSTEM==”usb_device”, PROGRAM=”/bin/sh -c ‘K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}’”, NAME=”%c”, MODE=”0660″, GROUP=”plugdev”

(en rouge, ce que j’ai ajouté/modifé, vous l’aurez compris, mon utilisateur perso est dans le groupe plugdev)

Et là, ça marche tout comme il faut !

Voilà… j’ai surement encore beaucoup à apprendre sur udev… mais content d’être arrivé à boût de ce problème !

Juste un petit mot concernant digikam : je ne peux que vous le conseiller !!!! C’est un logiciel de photo compatible avec PTP donc (d’où cet article ce soir) et qui offre une tonne de mode d’exportation comme CD/DVD, site HTML, Flicks… mais surtout Gallery (version 2 très prochainement, je suis l’auteur de la correction qui le permet :o) C’est ce qui me permet de mettre à disposition les photos de ce site en quelques clicks !

No comments