Outils personnels
Vous êtes ici : Accueil Ze Valken's Blog 2004 Décembre
Tag Cloud
acer active directory adsl airport express alienware amazon anabret antec anti-spam antivirus app store apple apple expo apple store applecare arnaud larher asus asus terminator athlon 64 athlon xp ati audigy b'twin barebone batterie bind bitdefender blog blu-ray bluetooth boitier booq bouygues télécom brenthaven bug canalsat canon captcha chloe clavier coolermaster core 2 corsair covertec cpl creative css d-link d900 da vinci code dashboard dell divx done that ds dune dvd décathlon ecran edf emule enermax enregistreur numérique ericsson facebook films firefox flickr fon fossil france télécom free freebsd fujitsu fun gameboy garantie geforce gigabyte google gps graveur griffin gskill gundam half life 2 hdmi hitachi home-cinéma ibook id3 ilife internet internet explorer iphone iphoto ipod itunes ixus j'ai vu/lu jacky jeux jres k750 k800 l'express la fraise la poste lg linksys linux live search logitech loto mac mac os x macbook macbook pro maison mdp media center media extender microsoft mistergooddeal montgallet montre mp3 msi n95 nero netgear neuf télécom newsgator nintendo nokia norton nvidia open source orange ordinateur oregon scientific visual overclock p2p panda panne paypal pc-cillin pdair pentium iii philips photo photoshop album php picasa playstation plextor plone portable portage ports postfix postgrey powerbook qplonecomments quills radeon ram raptor realtek rer route 66 rss sac safari samsung sauvegarde scsi seagate seti sfr shozu sidebar simpleblog sims site snap snoopy société sony sony ericsson souris star wars stardate stargate atlantis stats suivi séries taisol technologie ten thèmes tnt tom tom tps travail tversity télé télé2 téléphone ups v3 vaja via victorinox viewsonic virgin virtualisation virus vmware vol vélo wave web webcam webmin western digital widcomm widget wifi wii windows windows ce wow wtf x.org xbox yahoo! widgets yamaha z600 zalman zope
 

Décembre

Sub-archives

17/12/2004

Confiture

by Paig Chong Woo — last modified 17/12/2004 00:00
Filed Under:

Je suis admin réseau/système. Je commence à en devenir un rudement bon.

Parce que je commence à être un gros enfoiré au boulot. :) Et si me je rappelle bien, on médisait à propos de l'admin à la fac. Et pourtant il faisait du super boulot.

blague à part, je crois que je deviens plus irascible envers mes utilisateurs, parce qu'ils me posent toujours les mêmes questions. Et j'ai le défaut de ne pas aimer les redites et les rediffusions. Je crois que c'est lié au fait que j'ai une bonne mémoire. J'ai l'impression de refaire les mêmes choses à chaque fois.

En même temps, je me dis que si les glorieux élus de mon association me lâchaient un peu avec leurs questions triviales, ça irait un peu mieux. D'ailleurs, la dernière bonne histoire : la semaine dernière une glorieuse élue me dit qu'elle a des trucs bizarres "sur la fenêtre bleue qui s'ouvre au démarrage", et si elle peut les effacer (elle avait atomisé son fichier de données Outlook ainsi que son carnet d'adresses l'avant-veille parce qu'elle a fait le ménage et vu qu'elle n'arrivait pas à lire le contenu de ces fichiers, elle a conclu qu'elle en n'avait pas besoin). Je me suis demandé ce qu'était cette fenêtre bleue. J'ai mis 5 minutes à comprendre (et dieu sait que c'est long, 5 minutes quand on a l'impression de parler à un teckel). Elle parlait du bureau. Sérieusement, du bureau. Du fond d'écran. Et elle voulait dégager un fichier temporaire, avec un gros .TMP à la fin.

Et je dois avouer que d'assurer le support pour des gens qui n'ont même pas les notions de base me gonfle. Il y a des jours, j'ai envie d'embaucher un tas de stagiaires pour répondre au téléphone et réparer les petits bobos informatiques et de juste assurer le support niveau 2.

Le pire, c'est que nos très glorieux élus n'ont aucune idée de la qualité de support dont ils bénéficient. Le proverbe dit : "De la confiture pour les cochons".

Crime parfait

by Paig Chong Woo — last modified 17/12/2004 00:00
Filed Under:

Je suis stupide et ingénieux à la fois. :)

Disclaimer : ça va être une longue histoire, préparez-vous. ;)

Tout a commencé quand un ami m'a proposé une combine pour avoir des chaussures de marque à pas cher. Personnellement, j'avais entendu parler de ces combines, mais je n'y ai jamais pris part, soit parce que ça ne m'intéressait pas, soit parce que je ne connaissais pas les bonnes personnes.

Mais cette fois-ci, j'avais eu du bol. :) En fait, le frère de mon ami travaille en intérim dans l'entrepôt d'un grossiste, et ils peuvent acheter certains articles presque à moitié prix. Dont ces chaussures. Ils peut en acheter tant qu'il en veut, mais l'entreprise n'a pas tous les modèles et toutes les pointures en stock (sinon ça serait trop beau).

Je suis donc allé dans un magasin d'articles de sport et j'ai "choisi" les chaussures que je voulais. J'ai "passé commande", mais au bout d'une semaine, mon ami m'annonce que les modèles que je voulais ne sont pas présentes dans le stock.

C'est pas si grave en soi, les chaussures en question étaient déjà en promotion dans le magasin où je suis allé. J'y suis donc retourné les acheter. Mais il y a que je ne suis pas très intéressé dans les vêtements et chaussures, d'habitude. Et ça fait bien 3 ans que j'achète les mêmes chaussures entrée de gamme de la marque du magasin, qui me durent super longtemps (entre 6 mois et 1 an et demi). Du coup, j'ai même oublié comment bien choisir des chaussures.

Je sais que ça a l'air d'une blague, mais c'est vrai. :) J'ai donc sommairement essayé les chaussures à ma première visite, et j'ai donc acheté les chaussures en la pointure que j'avais repéré. En plus avec le monde un samedi près des fêtes, ça ne m'encourageait pas à réessayer les pompes.

J'en étais content, elles ressemblaient aux tennis que j'avais d'habitude, en plus jolies. :) Mais à la fin de la première journée à les porter, j'ai senti que mon mollet me faisait mal. Je me suis demandé si je ne m'étais pas cogné pendant la nuit, mais non, j'avais pas de trace de coup. C'est seulement au deuxième jour que je me suis rendu compte : les chaussures étaient trop grandes, et du coup je devais plier le mollet plus que de raisonnable pour marcher...

Je me suis dit au début qu'il fallait que je m'habitue, mais au bout de la journée, c'était intenable. Je ne pouvais plus porter ces chaussures... Et ça me posait un problème : j'avais déjà dépensé plus du double de mon budget tennis génériques pour ces chaussures de marque, et il m'en fallait d'autres. Et j'estimais qu'ayant marché deux jours avec dans la rue, elle n'étaient pas retournables... C'est là que je me rappelle les conseils de ma pôvre môman pour choisir des chaussures : regarder où arrive le gros orteil, prendre des chaussures qui serrent un peu, parce qu'elles sont se détendre avec le temps, etc... A force de prendre les mêmes chaussures tout le temps, j'avais oublié tout ça (je suis stupide)...

Mais bon, il m'a fallu voir la réalité en face : je devais acheter des chaussures qui m'aille. Je suis donc retourné au magasin le soir même pour racheter les mêmes en plus petites. C'est là que l'histoire devient amusante : comme c'est des chaussures en promo, il n'y en a plus à ma pointure... Et il n'y en aura plus.

Je dois me décider donc à en acheter d'autres. Et désespoir, elles coûtent toutes plus cher que les trop grandes... :( Je suis donc contraint d'exploser mon budget chaussures de 500 %... Pire encore, un vendeur me dit que je peux les essayer quelques jours chez moi, et que je peux les ramener sous 15 jours si elles ne me vont pas, tant que je ne marche pas dehors avec...

Dès que j'ai entendu "ramener", je me suis cru sauvé, mais j'ai effectivement marché dehors avec, je suis allé au boulot avec ! Je suis donc rentré un peu dég, mais Séverine me disait d'essayer quand même de rendre les chaussures trop grandes, vu qu'elles étaient encore très largement neuves (ou du moins semblaient neuves).

J'ai donc observé en détails les chaussures. En effet, elles ont encore un air neuf. Normal, je les ai portées 2 jours, et je suis resté assis la plupart du temps, et elles ont été réellement à l'extérieur une heure de temps.

J'ai donc soigneusement nettoyé les semelles, et elles paraissaient en effet neuves et jamais portées. Mais je me suis rendu compte en regardant mes nouvelles (nouvelles !) chaussures que les trop grandes n'avait plus toutes ces étiquettes de prix, de composition de matériau et tout et tout qui ornent toute paire de chaussures neuves jamais portées.

Et là, je trouve mon idée diabolique : j'ai une paire de chaussures à l'allure neuves mais sans aucune étiquette, et une autre paire neuve avec toutes ses étiquettes. J'ai donc soigneusement détaché les bolducs de la nouvelle paire et j'ai rattaché les étiquettes de l'ancienne avec. J'ai retrouvé les autocollants dans la poubelle et je les ai recollés sur les chaussures. Au final, elles ont l'air fraîchement achetées. :) Le seul défaut, c'est que la semelle est un rien abîmée par l'asphalte, mais c'est pas très visible.

Je vais donc aller demain les rendre et me faire rembourser. Si ça marche, mon dépassement de budget chaussures descendra à 300 % seulement. :) Je me garde tous les atouts, j'irai le week-end avant Noël, avec le rush et tout, ils ne devraient pas trop tergiverser. En plus, j'ai publié cet article environ 24 heures avant mon "forfait", je leur donne une chance. ;)

10/12/2004

Multi-écrans sous X sur FreeBSD

by Paig Chong Woo — last modified 10/12/2004 00:00
Filed Under:

X Window peut faire du multi-écran, voici comment (youhou mon premier howto réellement intéressant !). - étendu 25 janvier 2005

Oui, X Window peut faire du multi-écran, et oui X.org peut le faire. Mais c'est pas super documenté sur le net (ou je cherche comme un pied, ce qui est aussi une possibilité ;)).

Le pire, c'est que c'est pas très compliqué. Mais Xorg ne configure pas automatiquement la prise en charge multi-écrans, même s'il détecte plusieurs cartes ! Il détecte bien les cartes et moniteurs, mais en lançant un gestionnaire de fenêtres, on se retrouve avec un seul écran fonctionnel, alors que le test marche bien... Pire encore, si on a une carte multi-affichages, on n'a qu'une seule carte et un seul moniteur !

Lisez mon papier sur xorg.conf si ce n'est déjà fait, j'y explique les bases à connaître sur le fichier de configuration de X.org, et je vais me baser dessus pour l'étendre à la prise en charge multi-écrans.

Les prérequis pour une configuration multi-écrans, c'est déjà plusieurs écrans :), et plusieurs cartes graphiques, ou un carte graphique pouvant gérer plusieurs écrans. De plus en plus de cartes ont cette fonction, il est probable que vous ayez une telle carte sans même le savoir. A fortiori si vous avez un ordinateur portable (assez) récent, la puce graphique intégrée en est capable.

Si vous n'avez pas tout ça, faut se faire une raison, il n'y aura pas de multi-affichage (je le précise, des fois on me pose des questions farfelues comme "peut-on lire une clé USB qui n'est pas reliée à l'ordinateur ?").

Si par bonheur (et abondance de place sur le bureau) vous avez deux écrans ou plus et des puces graphiques pouvant supporter vos écrans, on peut se tenter le coup de frime. ;)

Première étape, avoir une configuration Xorg qui marche, sur un écran (voir sinon). Si vous avez deux cartes vidéo, Xorg les aura trouvées (sinon voir plus bas pour une tentative de solution), et elles apparaîtront dans des sections Device séparées. Dans mon cas, j'ai une puce Intel Extreme Graphics 2 intégrée sur AGP et une Matrox Millenium PCI :

Section "Device"

        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "NoAccel"            	# [<bool>]
        #Option     "SWcursor"           	# [<bool>]
        #Option     "ColorKey"           	# <i>
        #Option     "CacheLines"         	# <i>
        #Option     "Dac6Bit"            	# [<bool>]
        #Option     "DRI"                	# [<bool>]
        #Option     "NoDDC"              	# [<bool>]
        #Option     "ShowCache"          	# [<bool>]
        #Option     "XvMCSurfaces"       	# <i>
        #Option     "PageFlip"           	# [<bool>]
	Identifier  "Card0"
	Driver      "i810"
	VendorName  "Intel Corp."
	BoardName   "82865G Integrated Graphics Device"
	BusID       "PCI:0:2:0"
EndSection

Section "Device"

        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "SWcursor"           	# [<bool>]
        #Option     "HWcursor"           	# [<bool>]
        #Option     "PciRetry"           	# [<bool>]
        #Option     "SyncOnGreen"        	# [<bool>]
        #Option     "NoAccel"            	# [<bool>]
        #Option     "ShowCache"          	# [<bool>]
        #Option     "Overlay"            	# [<str>]
        #Option     "MGASDRAM"           	# [<bool>]
        #Option     "ShadowFB"           	# [<bool>]
        #Option     "UseFBDev"           	# [<bool>]
        #Option     "ColorKey"           	# <i>
        #Option     "SetMclk"            	# <freq>
        #Option     "OverclockMem"       	# [<bool>]
        #Option     "VideoKey"           	# <i>
        #Option     "Rotate"             	# [<str>]
        #Option     "TexturedVideo"      	# [<bool>]
        #Option     "Crtc2Half"          	# [<bool>]
        #Option     "Crtc2Ram"           	# <i>
        #Option     "Int10"              	# [<bool>]
        #Option     "AGPMode"            	# <i>
        #Option     "AGPSize"            	# <i>
        #Option     "DigitalScreen1"     	# [<bool>]
        #Option     "DigitalScreen2"     	# [<bool>]
        #Option     "TV"                 	# [<bool>]
        #Option     "TVStandard"         	# [<str>]
        #Option     "CableType"          	# [<str>]
        #Option     "NoHal"              	# [<bool>]
        #Option     "SwappedHead"        	# [<bool>]
        #Option     "DRI"                	# [<bool>]
        #Option     "MergedFB"           	# [<bool>]
        #Option     "Monitor2HSync"      	# [<str>]
        #Option     "Monitor2VRefresh"   	# [<str>]
        #Option     "Monitor2Position"   	# [<str>]
        #Option     "MetaModes"          	# [<str>]
	Identifier  "Card1"
	Driver      "mga"
	VendorName  "Matrox Graphics, Inc."
	BoardName   "MGA 2064W [Millennium]"
	BusID       "PCI:1:7:0"
EndSection

Le pilote mga comporte beaucoup d'options, dont des références à un 2ème moniteur ("Monitor2Position"), mais la plupart sont destinées aux Milleniums récentes, dans la série G, pas mon ancêtre. :)

Les cartes sont correctement identifiées en tant que "Card0" et "Card1". On va pouvoir s'en servir directement.

Si vous avez une carte intégrée, c'est différent, vous n'avez qu'un seul Device, comme ceci :

Section "Device"
	Identifier  "Card0"
	Driver      "radeon"
	VendorName  "ATI"
	BoardName   "ATI Radeon Mobility M6"
	Option     "AGPMode" "4"
        #VideoRam   32768 
        # NOTE: Enabling VideoRam produces strange errors, 
        #       no problem, it detects 32MB anyway.
        BusID       "PCI:1:0:0"
EndSection

L'astuce, c'est qu'on sait que cette carte peut gérer deux moniteurs. On va donc la dupliquer :

Section "Device"
	Identifier  "Card0"
	Driver      "radeon"
	VendorName  "ATI"
	BoardName   "ATI Radeon Mobility M6"
	Option     "AGPMode" "4"
        #VideoRam   32768 
        # NOTE: Enabling VideoRam produces strange errors, 
        #       no problem, it detects 32MB anyway.
        BusID       "PCI:1:0:0"
EndSection

Section "Device"
	Identifier  "Card1"
	Driver      "radeon"
	VendorName  "ATI"
	BoardName   "ATI Radeon Mobility M6"
	Option     "AGPMode" "4"
        #VideoRam   32768 
        # NOTE: Enabling VideoRam produces strange errors, 
        #       no problem, it detects 32MB anyway.
        BusID       "PCI:1:0:0"
EndSection

On recopie tout pareil, sauf qu'on change le nom de la carte, en "Card1" sur la "deuxième" carte !

Notez que votre XFree86 ou X.org peut ne pas présenter tous ces paramètres. Par exemple, sous Ubuntu, et XFree86 4 (je connais pas la version exacte, désolé), on a ce genre de chose :

Section "Device"
	Identifier	"ATI Technologies, Inc. Radeon Mobility 9000 M9 (R250 Lf)"
	Driver		"ati"
	BusID		"PCI:1:0:0"
EndSection

Ils omettent les infos VendorName et BoardName, mais Identifier est très explicite. Ce qui n'est pas forcément pratique pour relire le fichier. Mais en même temps, Ubuntu n'est pas vraiment fait pour les geeks qui éditent les fichiers de conf X à la main. :)

Enfin, ajouter une option pour indiquer au driver de la carte quels affichages matériels dépendent de cette carte, avec la directive Screen (qui n'est pas la section Screen !) :

Section "Device"
	Identifier  "Card0"
	Driver      "radeon"
	VendorName  "ATI"
	BoardName   "ATI Radeon Mobility M6"
	Option     "AGPMode" "4"
        #VideoRam   32768 
        # NOTE: Enabling VideoRam produces strange errors, 
        #       no problem, it detects 32MB anyway.
        BusID       "PCI:1:0:0"
    Screen 0
EndSection

Section "Device"
	Identifier  "Card1"
	Driver      "radeon"
	VendorName  "ATI"
	BoardName   "ATI Radeon Mobility M6"
	Option     "AGPMode" "4"
        #VideoRam   32768 
        # NOTE: Enabling VideoRam produces strange errors, 
        #       no problem, it detects 32MB anyway.
        BusID       "PCI:1:0:0"
    Screen 1
EndSection

Voilà, on a maintenant deux cartes prêtes à l'emploi. :) Si vous avez d'autres cartes ou si votre carte gère plus de deux affichages, continuez à copier-coller. ;)

J'ai également deux déclarations Monitor, et deux Screen, dans ce xorg.conf :

Section "Monitor"

	#DisplaySize	  300   230	# mm
 ### Uncomment if you don't want to default to DDC:
#	HorizSync    842150464.0 - 0.0
#	VertRefresh  809972032.0 - 0.0
	Identifier   "Monitor0"
	VendorName   "VSC"
	ModelName    "VE510s"
	Option	    "DPMS"
EndSection

Section "Monitor"

	#DisplaySize	  300   230	# mm
 ### Uncomment if you don't want to default to DDC:
#	HorizSync    1429222016.0 - 0.0
#	HorizSync    30.0 - 70.0
#	VertRefresh  1430467328.0 - 0.0
	Identifier   "Monitor1"
	VendorName   "DEL"
	ModelName    "DELL  E771p"
	Option	    "DPMS"
EndSection
Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	DefaultDepth	24
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Section "Screen"
	Identifier "Screen1"
	Device     "Card1"
	Monitor    "Monitor1"
	DefaultDepth	24
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Le "Screen0" utilise la carte "Card0" et le moniteur "Monitor0", de même que "Screen1" utilise les "1". Si vous avez une carte multi-affichages, dupliquez les sections Monitor et Screen que vous avez, et éditez-les.

Pour Monitor, comme Xorg ne le détecte pas tout seul, il faut le fabriquer à la main. Mettez "Monitor1" comme Identifier, à peu près ce que vous voulez en VendorName et ModelName. Pour les taux de rafraîchissement, il faudra vous référer au manuel ou au site du constructeur, ou une autre ressource sur le net pour les trouver. Et faites attention à ne pas mettre n'importe quoi, sinon le moniteur risque de brûler...

Pour Screen, faites juste attention à associer les bonnes cartes et les bon écrans, et à le nommer correctement (si vous gardez cette nomenclature de "0", "1","2", etc, ça ne devrait pas être trop difficile ;)). Reportez-vous au manuel pour connaître les différents modes d'affichage (profondeur de couleur, résolution) pour les reporter dans les SubSecton "Display". Les profondeurs de couleurs devraient suffire, pour FreeBSD.

J'ai vu qu'il existait des variantes (toujours chez Ubuntu) :

Section "Monitor"
	Identifier	"Ecran générique"
	HorizSync	30-67
	VertRefresh	50-75
	Option		"DPMS"
EndSection

Section "Screen"
	Identifier	"Default Screen"
	Device		"ATI Technologies, Inc. Radeon Mobility 9000 M9 (R250 Lf)"
	Monitor		"Ecran générique"
	DefaultDepth	24
	SubSection "Display"
		Depth		1
		Modes		"1400x1050"
	EndSubSection
	SubSection "Display"
		Depth		4
		Modes		"1400x1050"
	EndSubSection
	SubSection "Display"
		Depth		8
		Modes		"1400x1050"
	EndSubSection
	SubSection "Display"
		Depth		15
		Modes		"1400x1050"
	EndSubSection
	SubSection "Display"
		Depth		16
		Modes		"1400x1050"
	EndSubSection
	SubSection "Display"
		Depth		24
		Modes		"1400x1050"
	EndSubSection
EndSection

La section Monitor a les fréquences de rafraîchissement de l'écran renseignés, alors que sur la même section de X.org de FreeBSD, elles sont auto-détectées par défaut. Donc dans le doute, suivez les préférences de votre serveur X, et pour ajouter une section, renseignez les valeurs qu'il mentionne dans les sections existantes (je sais pas si je suis clair, là :).

De même, les sous-sections Display de la section Screen sont légèrement différentes. X.org de FreeBSD décrit une variable Viewport, alors que XFree86 de Ubuntu décrit une variable Modes. Je ne suis malheureusement pas expert en serveurs X pour dire si c'est une différence entre XFree86 et X.org ou si c'est une différence d'implémentation entre FreeBSD et Ubuntu... Donc c'est ce que je disais, renseignez les infos conformément à ce qui existe dans votre fichier quand vous spécifiez des écrans et cartes supplémentaires.

Enfin, passons au ServerLayout. Il y a juste deux options à vérifier. Mon xorg.conf par défaut me disait ça :

Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	Screen      1  "Screen1" RightOf "Screen0"
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Notez les paramètres de Screen 1. Il donne le nom de l'affichage à utiliser, et une position relative par rapport à l'écran principal, "Screen0". Par défaut, l'écran secondaire est sensé être placé à droite de l'écran principal, donc RightOf. Or mon écran secondaire est place à gauche du principal. Je vais donc remplacer cette option par LeftOf :

Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	Screen      1  "Screen1" LeftOf "Screen0"
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Le test (X -xfconfig /<emplacement>/xorg.conf) me donnera bien la bonne position d'écran, et si je déplace le curseur à gauche, il partira bien sur l'écran secondaire. Mais le bureau du gestionnaire de fenêtres sera toujours confiné à un seul écran !

Le truc, c'est une option jamais définie par défaut dans le xorg.conf : "Xinerama". Elle permet d'utiliser les différents écrans en bureau étendu :

Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	Screen      1  "Screen1" LeftOf "Screen0"
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
	Option		"Xinerama" "true"
EndSection

Et voilà, vous avez un affichage multi-écrans fonctionnel sous X ! :)

J'avais promis de dire un mot sur les cartes non reconnues, et je le fais ici. Il peut y avoir plusieurs raisons à la non-détection de la carte vidéo. Première raison, elle n'est pas supportée par la version de X que vous avez. Là, pas de miracles, il faut se récupérer le bon driver, le recompiler au besoin et retenter la détection. Si vous savez qu'elle est supportée et que pour une raison obscure elle n'est pas détectée, regardez dans le dmesg pour voir si elle apparaît dans les périphériques détectés par le noyau. Moi, la Matrox Millenium donne ça :

pci1: <display, VGA> at device 7.0 (no driver attached)

Le noyau sait que c'est une carte vidéo, mais n'a pas de pilote spécifique à y affecter. Notez que la carte est présente sur le bus pci1, périphérique 7.0. C'est ce nombre que vous devrez fournir à xorg.conf pour forcer l'utilisation de cette carte. Rappelez-vous ma section "Device" :

Section "Device"
	Identifier  "Card1"
	Driver      "mga"
	VendorName  "Matrox Graphics, Inc."
	BoardName   "MGA 2064W [Millennium]"
	BusID       "PCI:1:7:0"
EndSection

L'option BusID permet de désigner la carte utilisée. Il faut aussi déterminer le driver à utiliser pour la carte. Pour ça, je ne sais pas. :) Mais en creusant sur le net, ça doit pouvoir se trouver...

Voilà, j'espère que ça a pu vous aider ! Merci de m'avoir lu. :)

MSN Search dans le vent

by Paig Chong Woo — last modified 10/12/2004 00:00
Filed Under:

Le moteur de Microsoft ratisse le net, mais n'a pas tellement de succès que ça, d'après les stats de mon site.

Microsoft s'est démené pour améliorer son moteur de recherche Internet, MSN Search. Ils voudraient que MSN Search devienne le nouveau Google.

Hé bien, ils ont du chemin à faire ! :) Car quand je regarde les stats de mon site, je vois que mon plus "gros" visiteur chaque mois n'est nul autre que... MSNBot ! Voici les stats des robots pour le mois de novembre :

Ststistiques des robots
Statisques des robots

MSNBot a totalisé presque 1,5 Go de trafic ! Comparez ça au trafic de vraies visites de vraies personnes, de 125 Mo dans le mois ! Je parle bien de 1,5 Go pour MSNBot, et de 125 Mo pour les vraies personnes !

Bon, si encore tout ce trafic était rentable, et que la masse de données cumulée par MSNBot profitait à MSN Search, ça serait bien... Mais voilà les origines des visites de mon site :

Origine des connexions
Origine des connexions

C'était bien prévisible, Google gagne par KO. Le premier nombre est le nombre de pages, le second le nombre de hits. J'ai près de 30 fois plus de visites par Google que par MSN Search... Et pourtant GoogleBot n'a transféré que 10 Mo dans le mois...

Des fois, je trouve que Microsoft fait vraiment des usines à gaz. Des fois, je sais que Microsoft fait des usines à gaz. Mais ce que je sais tout le temps, c'est que mon site, avec son nombre de visites minuscule, est un monument de l'underground. ;)

09/12/2004

WTFM

by Paig Chong Woo — last modified 09/12/2004 00:00
Filed Under:

En fait c'est pas facile d'écrire des manuels...

J'ai mis quelques articles en ligne dans Done that sur les trucs que j'ai fait sur FreeBSD. C'est les trucs bateau genre installation et configuration X Window qu'on trouve partout sur le net, et en super mieux (premier exemple, le FreeBSD Handbook (en français).

Je me rends compte que c'est pas facile d'étaler sa confiture... Mais bon, je vais essayer de faire mieux, je vais mettre en ligne un howto pour l'affichage multi-écran sous X, qui n'est pas forcément bien documenté (et qui manque cruellement dans le Handbook.

Le fichier xorg.conf sur FreeBSD

by Paig Chong Woo — last modified 09/12/2004 00:00
Filed Under:

Suite de la configuration X sous FreeBSD, on va expliciter le fichier de configuration.

Maintenant qu'on a un X qui marche (sinon voir ici), on va essayer de comprendre sa configuration, et ça nous servira de base pour gérer plusieurs écrans.

Il faut dire en aparté qu'à part Webmin (j'en parle ici), je n'utilise presque aucun utilitaire de configuration système, je me tape les fichiers de config à la main sous vi (c'est un vim, je crois, sous FreeBSD). C'est un peu comme pour le HTML, j'ai l'impression que j'ai une plus grande maîtrise sur le code (c'est sûrement qu'une impression). Donc dans ce papier, on va faire les choses à la dure, au vi. Utilisez ee ou un éditeur similaire, pas un outil de forcené comme vi, dans la vie réelle. Moi l'habitude du vi me vient de mes cours à la fac, où on me disait que seul vi était un outil de base de tout Unix et assimilés. Mais bon, je crois que c'est plus vraiment le cas de nos jours... Puis il y a un utilitaire bien fait pour X (par X.org), en mode graphique, tout en menus (assez) joli qui modifie le xorg.conf tout seul comme un grand, xorgcfg. Mais ça fait pas de mal de comprendre, pour pouvoir bidouiller le fichier si jamais X se plante...

On va partir d'un fichier auto-configuré. Le fichier xorg.conf est séparé en sections :

ServerLayout

Cette section décrit la configuration de l'affichage. C'est un agrégat des autres sections décrites dans le fichier. Il indique quels périphériques utiliser pour l'affichage (carte(s), écran(s)), et quels dispositifs de pointage utiliser (souris, clavier(s)). Voici ce que me donne l'auto-configuration :

Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

  • Identifier est juste le nom que vous donnez à cette configuration. Là, Xorg me l'a rempli tout seul, mais j'aurais tout aussi bien pu mettre un truc du genre "Mon écran de bombe de balle". Aucune incidence sur le fichier de configuration (à part si vous mettez des guillemets dans la chaîne, ce qui ferait des erreurs). Il doit être unique.
  • Screen permet d'indiquer les écrans en service. Un écran est défini dans une section Screen, qui décrit un ensemble carte et écran (physique). Voir plus bas. L'écran décrit ici est le numéro 0, donc le premier écran, il reprend la définition de "Screen0", et il affiche le bureau à partir des coordonnées 0 0, en abscisses et ordonnées. En résumé, c'est le premier (et seul) affichage, et il affiche le bureau à partir du haut gauche (les abscisses sont inversées, elles croissent vers le bas de l'affichage).
  • Les InputDevice décrivent le clavier et la souris à utiliser, en indiquant leur définition. La mention "CorePointer" et "CoreKeyboard" indiquent que ces périphériques sont les périphériques principaux, si jamais il y avait plus d'un seul clavier ou plus d'une seule souris sur le système (pensez aux tablettes graphiques, par exemple).

Files, Modules

Ces sections décrivent les extensions à charger et les chemins d'accès aux bibliothèques. Ne changez pas ces déclarations si vous ne savez pas ce qu'elles signifient, ou sur quoi elles ont effet. Les réglages par défaut sont adéquats pour la plupart des usages.

InputDevice

C'est là qu'on définit les périphériques de saisie, souris, claviers, tablettes graphiques, tablette à numériser, etc. Voyons un exemple de souris et un exemple de clavier :

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/sysmouse"
	Option 	"Buttons" "5"
	Option	"ZAxisMapping"  "4 5"
EndSection

  • Identifier est un nom pour cette définition de périphérique. On peut y mettre n'importe quoi, mais nommer les périphériques en rapport avec leur nature aide à la relecture du fichier. :)
  • Driver indique quel pilote utiliser pour ce périphérique. Généralement, "mouse" est le mieux indiqué pour une souris, à part si vous avez un driver particulier fourni par le fabricant (mais il y a des chances que ce ne soit pas une souris :).
  • Nous avons ensuite des déclarations Option, qui permettent de préciser le comportement du périphérique.
    • "Protocol" indique le "driver" à utiliser. "auto" est le choix le plus judicieux de nos jours, à moins que vous n'ayez une souris série (et qui a une souris série sur une machine récente de nos jours ?). Pour une souris USB, "auto" est une obligation.
    • "Device" indique le nom du périphérique dans /dev. /dev/sysmouse est un périphérique virtuel vers le périphérique réel, /dev/ums0, pour une souris USB, par exemple.
    • Les options "buttons" et ZAxisMapping ne sont pas créés par défaut par Xorg. Ils permettent d'indiquer le nombre de "boutons" de la souris, et de définir le défilement de la roulette. Chacune des directions de la souris est considéré comme un bouton, donc sur une souris deux boutons et une roulette cliquable, on a 5 "boutons" en tout. ZAxisMapping indique quels boutons seront utilisés pour le défilement, ici la roulette haut et bas, "4 5". Si on met "1 2", les boutons gauche et droits feront défiler le texte dans les fenêtres ! Tout est possible. :)

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "keyboard"
	Option	    "XkbRules" "xorg"
	Option	    "XkbModel" "pc105"
	Option	    "XkbLayout" "fr"
EndSection

Le clavier ne diffère pas beaucoup de la souris. Identifier est toujours un nom (presque) quelconque, et son Driver est "keyboard". Les options sont un peu différentes, toutefois.

  • "XkbRules" indique le comportement du clavier. "xorg" est le comportement "standard" du clavier. Paraît qu'on peut le mettre "à la Emacs", mais vu que j'aime pas Emacs, je ne sais pas comment. ;) Bon, en 30 s de recherche manuelle (même pas par Google, la honte), je ne trouve pas de docs là-dessus. Je verrai si j'ai le temps. ;)
  • "XkbModel" indique le type de clavier que vous avez. C'est plus important qu'on ne croit, car il y a de subtiles différences entre claviers du monde, en nombre de touches. Mais bon, les claviers modernes européens (français ?) comportent 105 touches, donc j'utilise "pc105". Et "XkbLayout" indique ce qu'on a comme sérigraphie dessus, pour que ça corresponde. :) Se reporter à xorgcfg pour les layouts.

Monitor

Une des sections essentielles de xorg.xonf, car elle décrit l'écran physique.

Section "Monitor"
	#DisplaySize	  300   230	# mm
 ### Uncomment if you don't want to default to DDC:
#	HorizSync    842150464.0 - 0.0
#	VertRefresh  809972032.0 - 0.0
	Identifier   "Monitor0"
	VendorName   "VSC"
	ModelName    "VE510s"
	HorizSync    30.0 - 62.0
	VertRefresh	50.0 - 75.0
	Option	    "DPMS"
EndSection

Si votre écran est compatible DCC, la carte graphique obtiendra automatiquement les fréquences optimales d'affichage. Mais comme on peut le voir, des fois, ça donne des résultats curieux... :)

  • DisplaySize, paramètre complètement optionnel, précise la taille physique de l'écran, en millimètres. Je ne sais pas bien à quoi ça peut servir ?
  • HorizSync, spécifie les fréquences de balayage horizontaux de l'écran. La détection DCC donne des chiffres fantaisistes, et sur cet écran LCD, la carte envoyait une fréquence non supportée... J'ai donc dû trouver les spécifications sur le net, et j'ai mis la valeur moi-même : 30.0 - 62.0, fréquence en Hz.
  • VertRefresh, pareil que HorizSync, la détection donne n'importe quoi, j'ai mis les valeurs constructeur à la place : 50.0 - 75.0, toujours en Hz. Attention, X prend pour argent comptant les fréquences manuelles spécifiées, si l'écran ne les supporte pas, il peut être abîmé par la manœuvre !
  • VendorName et ModelName sont obtenus par DCC, et sont optionnels. Ce sont la marque et le modèle de l'écran. Là, j'ai un Viewsonic VE510s.
  • Enfin, "DPMS" indique que l'écran supporte les modes d'économie d'énergie, qu'il peut passer en veille et tout.

Device

Ici on décrit la carte graphique, ses capacités, son emplacement, tout ça.

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "NoAccel"            	# [<bool>]
        #Option     "SWcursor"           	# [<bool>]
        #Option     "ColorKey"           	# <i>
        #Option     "CacheLines"         	# <i>
        #Option     "Dac6Bit"            	# [<bool>]
        #Option     "DRI"                	# [<bool>]
        #Option     "NoDDC"              	# [<bool>]
        #Option     "ShowCache"          	# [<bool>]
        #Option     "XvMCSurfaces"       	# <i>
        #Option     "PageFlip"           	# [<bool>]
	Identifier  "Card0"
	Driver      "i810"
	VendorName  "Intel Corp."
	BoardName   "82865G Integrated Graphics Device"
	BusID       "PCI:0:2:0"
EndSection

La détection marche plutôt bien, sur les X récents, et Xorg donne une liste exhaustive des options du driver de la carte. Les Intel Extreme Graphics sont pauvres en options... :)

  • Identifier, un nom. :)
  • Driver, le pilote le plus adapté pour la carte. Là, j'ai un Intel Extreme Graphics 2 sur un chipset Intel 865G, qui est pris en charge par le driver "i810".
  • VendorName et BoardName, c'est comme les VendorName et ModelName de la section Monitor, c'est pour la frime. ;)
  • BusID précise l'emplacement de la carte. C'est un triplet de nombres. Ici "0:2:0", c'est le bus AGP (0), 3e emplacement (2), premier périphérique (0) (je suis pas complètement certain de cette explication, mais ça me semble avoir du sens). C'est le paramètre le plus important de Device.

Screen

Ici on décrit l'affichage, en tant que couple Monitor/Device, et on spécifie les modes d'affichage disponibles.

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
		Modes	"800x600" "1024x768"
	EndSubSection
EndSection

  • Identifier, pareil, un nom.
  • Device et Monitor, la carte et l'écran à utiliser pour cet affichage. Une seule carte et un seul écran par affichage. Pour un double affichage à partir de la même carte, il y a une autre astuce (voir Multi-écrans).
  • Chaque SubSection "Display" contient la définition d'un mode d'affichage.
    • Viewport indique à partir d'où afficher le bureau par défaut. 0 0 commence en haut à gauche. En mettant d'autres coordonnées, on peut afficher seulement une portion de l'écran (ou afficher le milieu du bureau par défaut ? A vrai dire j'ai jamais essayé).
    • Depth indique la profondeur de couleurs à utiliser pour l'affichage. Il va de 1 à 32, d'habitude (peut-être plus pour des cartes de graphistes professionnels). Il y a une SubSection "Display" par profondeur de couleur.
    • Modes permet de définir les résolutions supportées par l'affichage dans cette profondeur de couleurs. En l'absence de cette valeur, les modes sont déduits du DCC. On peut forcer une certaine résolution en ne précisant que celle-ci. Par exemple, si je veux forcer l'affichage en 1024x768 en couleurs 24 bits, alors que le DCC préconise 1152x864, je mettrai 
      	SubSection "Display"
      		Viewport   0 0
      		Depth     24
      		Modes "1024x768"
      	EndSubSection
      

Voilà, j'espère que ça vous a plu et que ça vous a appris, parce que ça m'a pris un près de 2 heures à rédiger tout ça. :) (quoi, autant de temps pour ÇA ?! ;))

Administrer FreeBSD avec Webmin

by Paig Chong Woo — last modified 09/12/2004 00:00
Filed Under:

Je ne suis pas un Dieu des fichiers de conf, donc j'utilise des logiciels qui m'aident. :)

Et Webmin le fait admirablement bien ! Il est disponible par les ports : portinstall webmin.

Une fois installé, il faut le configurer : /usr/local/lib/webmin/setup.sh, et l'activer dans /etc/rc.conf, et enfin lancer Webmin par son script de démarrage : /usr/local/etc/rc.d/webmin.sh start (enfin bon, portinstall vous dit tout ça à la fin de l'installation, hein ?).

Pour la configuration, acceptez tout par défaut, c'est très bien, prenez l'encryption SSL, et mettez un mot de passe non trivial. Ah, s'il vous demande le type et la version de votre système d'exploitation, c'est bien sûr FreeBSD (choix 42 pour Webmin 1.170) et 5.3 (choix 23 pour Webmin 1.170), pour ceux qui suivent mes howtos simplistes. :)

Et une fois lancé, Webmin est accessible par l'adresse https://localhost:10000, ou https://<nom d'hôte>:10000, ou encore https://<ip de la machine>:10000.

Webmin vous demande de vous identifier, mettez le nom d'utilisateur et le mot de passe créés lors de la configuration. Vous vous retrouvez alors dans l'interface principale de Webmin. Je ne vais pas faire un manuel d'utilisation de Webmin, il y en a déjà de très bien .

Je vais plutôt présenter les modules que j'utilise souvent et/ou qui sont réellement utiles (et sous leur noms en anglais, je trouve que la traduction française est médiocre).

Upgrade Webmin

Section Webmin, Webmin Configuration, Upgrade Webmin.

C'est là que se trouvent les utilitaires de mise à jour de Webmin. Le développement de Webmin est très actif, et Webmin et les modules sont régulièrement mis à jour. C'est la première chose à faire à l'installation d'un Webmin, vérifier l'existance d'une nouvelle version, et l'installer au besoin. Le cadre Upgrade Webmin permet cela. Sélectionnez Latest version from www.webmin.com, cochez Delete old version's directory after upgrade? et appuyez sur Upgrade Webmin. Effacer le répertoire de l'ancienne version est plus propre, car les préférences et modules de tierce-partie sont copiés vers la nouvelle version. Mais si vous avez un doute sur la compatibilité ou la stabilité d'une nouvelle version, gardez l'ancien répertoire au cas où.

Le cadre Update modules now permet de mettre à jour les modules. Il marche de façon similaire à Upgrade Webmin.

Le cadre Update modules on schedule permet de maintenir les modules de Webmin à jour, en lançant une recherche de mises à jour régulièrement. Par défaut, la mise à jour automatique est désactivée. Activez-la en ochant la case Scheduled updating currently enabled. Par défaut, la mise à jour se lance tous les jours à 3 h, mais vous pouvez la lancer à l'heure que vous voulez, avec l'intervalle de votre choix. Vous avez aussi le choix de recevoir par mail les rapports de mise à jour (normalement seulement si un ou plusieurs modules ont été mis à jour). Ces mails sont utilies, car ils signalent aussi les nouvelles versions de Webmin. Webmin lui-même n'est pas mis à jour automatiquement.

Running Processes

Section System, Running Processes.

C'est à la fois un ps et un top. Ça vous donne la liste des processus actifs, que vous pouvez ordonner par PID, par utilisateur, par occupation mémoire, par utilisation CPU. Vous pouvez également rechercher un processus par propriétaire, par nom, ou par occupation processeur. Il est également possible de lancer une commande.

Scheduled Cron Jobs

Section System, Scheduled Cron Jobs.

Ce module permet d'éditer les tables cron du système. Il y a des formulaires très user friendly pour créer, modifier et supprimer des tâches planifiées.

Software Packages

Section System, Software Packages.

C'est une interface vers les ports. Je ne l'utilise personnellement pas pour installer des ports, mais pour voir les packages installés et les désinstaller au besoin. Il y a un bouton Package Tree qui donne la liste complète des ports installés, avec nom et version. En cliquant sur un port, vous pouvez lister les fichiers du logiciel en appuyant sur le bouton List Files, ou le déinstaller avec le bouton Uninstall. Si vous décidez de désinstaller un port, Webmin vous demandera confirmation, et si le port est une dépendance d'autres logiciels, il vous le signalera et refusera de le désinstaller.

System Logs

Section System, System Logs.

Comme le nom l'indique, c'est là que vous pouvez consulter les journaux du système. Vous pouvez en outre ajouter d'autres fichiers à la liste. C'est pratique pour regarder un journal rapidement, sans ouvrir un shell ou un éditeur.

Section Servers

Cette section comporte de nombreux modules pour administrer les divers serveurs éventuellement installés sur la machine. Je reviendrai sur ces modules dans le document traitant de tel ou tel serveur.

Network Interfaces

Section Networking, Network Configuration, Network Interfaces.

C'est là que vous pouvez configurer les diverses interfaces réseau. Similaire à Sysinstall.

Routing and Gateway

Section Networking, Network Configuration, Routing and Gateway.

Sélection de la passerelle réseau par défaut, activation du mode routeur.

DNS Client

Section Networking, Network Configuration, DNS Client.

Nom d'hôte, paramètres DNS, ordre de recherche, domaine.

Host Addresses

Section Networking, Network Configuration, Host Addresses.

Permet d'éditer le fichier /etc/hosts.

System Time

Section Hardware, System Time.

Permet de régler l'heure et le fuseau horaire de la machine, et de programmer la synchronisation avec un serveur de temps NTP.

Command Shell

Section Others, Command Shell.

C'est une ligne de commande, mais non interactive. On peut lancer des commandes et voir le résultat, mais on ne peut répondre aux questions posées par les scripts et programmes. Ça peut dépanner si on n'a pas de serveur SSH, ou s'il n'est pas joignable. Le module se rappelle des dernière commandes, et peut les relancer ou permet d'éditer d'anciennes commandes avant de les lancer.

Custom Commands

Section Others, Custom Commands.

Cette section permet de créer des boutons qui lancent une commande, avec des options (utilisateur, répertoire d'exécution, variables d'environnement) personnalisées. Utile si on a besoin de lancer une commande souvent, sans pour autant lancer un SSH.

File Manager

Section Other, File Manager.

C'est un vrai gestionnaire de fichiers en Java. Il tourne sur la machine cliente (dans le navigateur). Il est possible d'effectuer toutes les opérations standard (copier, coller, couper, renommer, supprimer, etc...), à l'exception de la gestion de permissions. Il est possible en outre de télécharger et d'envoyer des fichiers sur la machine. Il est assez lent au démarrage, mais a des performances honnêtes (pour un programme en Java) une fois lancé.

SSH/Telnet Login

Section Others, SSH/Telnet Login.

Un client SSH/Telnet en Java. Ce module est uniquement un client, pour un accès SSH ou Telnet, il faut un vrai serveur lancé sur la machine. Et suivant l'implémentation de la machine virtuelle Java, l'autocomplétion par la touche Tab peut ou peut ne pas marcher. Je vous conseille d'utiliser le Separate window mode dans Module Config, ça ouvrira une fenêtre à part pour le client SSH.

System and Server Status

Section Others, System and Server Status

Ce module surveille l'état du système et des services qui tournent dessus. Le bouton Scheduled Monitoring permet d'activer le suivi des services, le planning du suivi, quand envoyer une alerte en mail, à qui envoyer le mail, etc.

Upload and Download

Section Others, Upload and Download

Ce module permet d'envoyer des fichiers sur la machine soit à partir d'une URL, soit à partir d'un fichier sur la machine locale. Il est possible de spécifier la destination, le propriétaire du fichier à l'arrivée, s'il faut extraire les archives. Le téléchargement d'une URL peut être programmé à une heure déterminée, par exemple la nuit, pour ne pas réduire la bande passante le jour.

08/12/2004

Présentation de FreeBSD

by Paig Chong Woo — last modified 08/12/2004 00:00
Filed Under:

Fort de mon année et demie d'expérience(s) avec FreeBSD, je vais mettre en ligne des how-tos, un peu à la "pour les nuls", parce que je ne suis pas un expert non plus. ;) Dans ce document, je raconte pourquoi et comment je suis venu à FreeBSD.

J'ai commencé à utiliser FreeBSD au boulot, il y a deux ans, maintenant. On en a quatre, maintenant, qu'on utilise en tant que serveurs, pour divers services réseaux et pour Apache et Zope.

On a évalué Windows, Linux (Red Hat et SuSE) et FreeBSD. Bon, on a vite écarté Windows, c'était l'époque où ils ont sorti leurs nouvelles licences en abonnement, et pour une petite structure comme la nôtre, c'était pas viable (trop cher). J'ai essayé un Linux, et je n'ai pas été très emballé. L'explorateur de fichiers de KDE me paraissait incroyablement peu réactif et lent, bien que la machine ait un système RAID5. Je ne me rappelle plus de la version de KDE, et je sais qu'évaluer un système d'exploitation sur la rapidité d'un explorateur de fichiers n'est pas une méthode rationnelle. Mais je trouvais aussi que les distributions Linux m'installaient trop ou trop peu de choses, et le fouillis de la sélection des packages me donnait mal au crâne...

Mon chef m'a proposé d'essayer FreeBSD, qu'il trouvait intéressant de part la longévité du projet, et d'autre part par l'unité de distribution. Il n'y a que le FreeBSD Project qui fabrique FreeBSD, et ils ont un mécanisme de release bien établi et efficace. Pour les différentes distributions de Linux, je trouve qu'il y a trop de disparités et certaines distributions font des releases intempestives, une tous les mois ou presque, avec des packages ajoutés ou mis à jour à la va-vite. En même temps, je ne suis pas expert dans les Linux, et sûrement que si on choisit une distribution particulière (sérieuse), le suivi sera aussi correct.

J'ai donc installé mon premier FreeBSD (un 4.4-RELEASE, si je me rappelle bien ?), et j'ai lancé mon test habituel d'explorateur de fichiers. :) Et là, c'était le jour et la nuit : autant sous Linux j'avais un sablier pour afficher rien que /etc, autant sous FreeBSD, même les gros "clients" comme /usr/sbin s'affichaient instantanément ! En plus, la procédure d'installation est propre (minimale) et plutôt rapide.

Donc on a opté pour FreeBSD, et je ne le regrette pas une seule seconde. J'ai réessayé des Linux depuis, des anciens comme Red Hat (par le biais de Fedora Core) et des nouveaux comme Ubuntu, mais aucun ne m'a réellement séduit. Ubuntu est lui aussi épuré, mais il est un peu trop intégré, peut-être un peu trop simple, dans le sens que je me sens un peu contraint à installer un pack standard de logiciels dont la moitié ne m'intéresse pas, comme beaucoup d'autres Linux.

Et au final, ces pages sont servies par un FreeBSD, de chez moi. :)

Installation de FreeBSD

by Paig Chong Woo — last modified 08/12/2004 00:00
Filed Under:

Je ne vais pas trop m'étendre sur ce sujet, il existe beaucoup de documents très bien faits sur le net, je vais juste donner les étapes essentielles.

Si vous cherchez un manuel détaillé et exhaustif de l'installation de FreeBSD, il vaut mieux s'adresser à la source, le FreeBSD Handbook (en français), et plus précisément le chapitre portant sur l'installation (en français).

Mais bon, je vais faire un petit topo pour ceux que la lecture d'un manuel complet rebute (honte à vous ;)).

On peut installer FreeBSD par divers média : par le réseau, FTP, NFS, connexion série, qu'en sais-je, et par un média physique, disquette, CD, DVD, bande magnétique, etc... Je vais partir sur la base que vous avez une machine assez récente et que vous avez accès à Internet, à un débit conséquent. Donc le plus simple est de télécharger une image ISO du CD d'installation de FreeBSD. Les sites miroirs officiels peuvent être trouvés ici. Si vous n'avez pas de connexion Internet rapide ou que vous ne pouvez pas graver de CD, vous pouvez commander des CD à ces adresses.

Vous remarquerez qu'il y a plusieurs choix dans les images ISO. Que prendre ? Il faut que je dise un mot sur le nommage des versions de FreeBSD. Les FreeBSD sont numérotés en <version majeure>.<version mineure>[.<sous-version mineure>]-<branche>. Celle que j'utilise est la 5.3-STABLE, par exemple. Il existe trois "branches" de développement pour FreeBSD ("développement" n'est pas vraiment le bon terme, mais je ne trouve pas le mot adéquat, là maintenant :)) : RELEASE, STABLE et CURRENT.

RELEASE est la branche principale de production. Une édition RELEASE est testée et est assurée d'être complètement stable. Et le système de base d'un FreeBSD RELEASE sera exactement le même qu'un autre FreeBSD RELEASE de même version, s'ils ne sont pas patchés.

STABLE est la branche de développement stable de FreeBSD. Contrairement au RELEASE, la branche STABLE évolue constamment, avec des mises à jour et améliorations du système. Mais la branche STABLE produit des systèmes cohérents et stables. Il n'est pas vraiment recommandé d'utiliser la branche STABLE en production, mais c'est pas une abérration non plus.

CURRENT est la branche de développement active de FreeBSD. C'est le cutting edge de FreeBSD, et les développeurs y testent les nouvelles technologies et les nouveaux logiciels. Il n'y a à peu près aucune garantie de bon fonctionnement de la branche CURRENT, si ça plante, c'est presque normal. :)

Mais je crois que les images ISO ne sont faites que pour les RELEASE. Donc prenez la dernière version en RELEASE (à l'heure actuelle, c'est la 5.3-RELEASE). Téléchargez l'ISO, gravez-la (si vous ne savez pas graver une image ISO, ce document n'est pas fait pour vous ;)). Pareil si vous ne savez pas comment faire pour démarrer à partir d'un CD. :) (j'avais dit que c'était "pour les nuls", pas "pour les cas désespérés" ;))

Le programme démarre un noyau FreeBSD, et lance l'installation. Si jamais vous voyez un écran parlant de configuration du noyau (Kernel configuration), passez-le (Skip kernel configuration and continue with installation), c'est plutôt compliqué si vous débutez en FreeBSD, et pas réellement nécessaire, le noyau par défaut contient le support pour la plupart des périphériques courants.

Sur l'écran principal de Sysinstall (c'est le nom du programe d'installation et de configuration de FreeBSD), choisissez Keymap. Il y a une liste de configuration de claviers, choisissez celui qui vous convient (pour le français standard, c'est French ISO (accent)). C'est utile pour la suite, les mecs qui ont écrit le programme n'ont pas trouvé mieux que d'affecter des fonctions clés et opposés aux touches A et Q...

Une fois revenu sur l'écran principal, sélectionnez Standard, on va faire l'installation en soi. D'abord, on passe par un utilitaire qui créé les slices. Un slice, c'est comme un disque virtuel. C'est un morceau d'un disque physique qui peut contenir des partitions. Les disques sont nommés adx, si vous avez un contrôleur IDE (ce qui devrait être le cas pour la plupart des gens). Sinon les disques auront le nom du driver du contrôleur suivi d'un nombre. Ce nombre indique la position du disque sur le contrôleur. De fait, ad0 est le disque maître du premier port du contrôleur IDE, alors que ad2 est le disque maître du second port du contrôleur IDE (tout le monde suit, là ?).

Donc Sysinstall propose quel disque utiliser. Je vais supposer que vous voulez un dual-boot avec votre système d'exploitation actuel (moi j'ai des machines complètement dédiées, d'habitude). Déjà, il faut que vous ayez libéré de la place sur votre disque dur, ou que vous en ayez un autre dédié. Si vous n'avez pas un second disque vide ou si vous n'avez pas d'espace libre (non partitionné), quittez l'installation (touche échap et Exit sysinstall, répondez non aux éventuelles invites de confirmation de changement de structure de disque), libérez de la place et revenez ici.

Une fois dans fdisk (c'est pas le même que celui du DOS !), vous verrez toutes les partitions présentes sur votre disque. Si vous voulez utiliser l'espace entier pour FreeBSD, appuyez sur A (attention au clavier, Q c'est pour quitter !). Sinon, choisissez l'espace libre (unused), et appuyez sur C (Create slice). Quittez fdisk par Q.

Ensuite, Sysinstall vous propose d'installer un boot manager. Cela vous permet de démarrer soit FreeBSD, soit votre OS actuel. Si vous ne voulez que FreeBSD sur votre machine, choisissez Standard. Sinon, choisissez BootMgr. Sysinstall vous demande alors sur quel(s) disque(s) installer le boot manager. Choisissez le disque de démarrage de votre machine (maître du IDE0), et le disque contenant FreeBSD s'il est installé sur un disque différent (un disque physique différent, pas une autre partition !). Recommencez la manœuvre si vous avez d'autres disques à allouer.

Passons aux labels. Les labels, c'est des partitions. Là, sachant que notre slice est tout propre tout neuf, appuyez sur A, et le Disklabel Editor se charge de créer les partions et points de montage. Appuyez sur Q pour quitter le Disklabel Editor.

Sysinstall vous demande alors ce que vous voulez installer. Plusieurs choix s'offrent à vous, suivant l'utilisation de votre machine. Ne sachant pas à l'avance ce que vous voulez en faire, prenez tout. C'est pas très gros, une installation de FreeBSD, 2,5 - 3 Go à tout casser.

Sysinstall vous propose aussi d'installer la collection de ports. Les ports, c'est des logiciels de diverses origines de base Unix qui ont été adaptés pour FreeBSD. Souvent, la plupart des logiciels libres se compilent sans problèmes sur FreeBSD, mais les logiciels des ports ont des modifications spéciales pour reprendre l'arborescence particulière de FreeBSD, ou le nommage des périphériques, etc. Prenez les ports, ça n'installe pas tous les logiciels, seulement les fichiers décrivant le logiciel, où trouver les sources, et le Makefile pour construire le logiciel. Je vous montre plus tard comment installer les logiciels facilement grâce aux ports.

Enfin, Sysinstall vous demande où il doit chercher les fichiers dont il a besoin pour l'installation. Prenez la première option, CD ou DVD, vu qu'on a gravé un CD exprès. ;)

Vous avez alors une dernière chance d'annuler l'installation, avant écriture de la structure disque et copie des fichiers. Si tout va bien, en moins d'une heure, généralement, vous avez un message vous disant que l'installation est terminée, et que vous avez un FreeBSD sur votre machine.

Sysinstall vous mène alors dans les tâches post-installation, où vous allez choisir un mot de passe root, définir les options réseau, ajouter des utilisateurs, et ajouter des logiciels par les ports.

Tout d'abord, le réseau. Sysinstall vous présente toutes les interfaces réseau détectées sur votre machine. Choisissez une interface réseau à configurer, et Sysinstall vous demande si vous voulez utiliser IPv6 (à priori non), si vous voulez configurer par DHCP. Si vous avez répondu oui à la configuration DHCP, l'écran suivant sera pré-rempli avec les informations du DHCP (si la requête a été fructueuse). Sinon vous devrez remplir les champs à la main. Si vous ne comprenez pas la signification de ces champs, ce document n'est pas pour vous non plus. ;) (bon, je suis sympa : regardez ici pour la page explicative du Handbook)

Répondez non à la question de l'activation de inetd, si vous ne savez pas ce que c'est (on verra ça aussi plus tard). Sinon, activez ce que vous voulez par l'interface de Sysinstall.

Répondez non pour le FTP anonyme, le NFS client/serveur (si vous savez ce que c'est et que vous en avez besoin, activez-le).

Répondez non pour la sélection d'un profil de sécurité (le niveau medium est suffisant pour une utilisation normale).

Le menu suivant définit le comportement de la console, type de clavier, écran de veille, etc. Pour choisir le type de clavier, choisissez Keymap, et sélectionnez le clavier qui vous convient. C'est la même chose qu'au début de l'installation. Pour l'écran de veille, choisissez un qui vous plaît (il n'y a pas d'aperçu, mais ça peut être changé plus tard, de même pour le clavier).

Bon, pareil pour le fuseau horaire, faut sélectionner le bon. :) Ah, normalement, l'horloge de votre machine est à l'heure locale, donc répondez non quand Sysinstall vous demande si elle est en temps UTC (formerly known as GMT).

Bon, la souris devrait marcher tout seul, sinon les menus permettent d'arranger ça. Laissez tomber les autres services réseau (Exit), on verra ça plus tard. Passons aussi l'installation de logiciels des ports, ça peut se faire plus tard.

Après ça, vous pouvez ajouter des utilisateurs et des groupes. Là, à votre convenance. Enfin, Sysinstall vous demande le mot de passe root. C'est le super utilisateur du système, celui qui a tous les droits. Ne mettez pas un mot de passe trop simple, et ne le perdez pas.

Ouf, c'est terminé, quittez Sysinstall par X Exit install, la machine redémarre, et FreeBSD se lance. :)

Configurer X sous FreeBSD

by Paig Chong Woo — last modified 08/12/2004 00:00
Filed Under:

Deuxième étape de l'installation de FreeBSD, la configuration de l'interface graphique.

Après l'installation du système en soi, passons à la configuration de X Window.

La vraie doc sérieuse et bien faite se trouve dans le Handbook (en french), comme toujours. :)

Petite note : je parle ici de FreeBSD 5.3 et supérieurs, donc comprenant X.Org par défaut, à la place de XFree86. Une sombre affaire de licence a fait détourner de XFree86 la plupart des projets et entreprises utilisateurs de X Window...

Si vous avez suivi mon howto, vous devriez avoir la base de X. Sinon, lancez Sysinstall (sysinstall ou /stand/sysinstall), choisissez Configure, Distributions, et X.Org (XFree86 pour FreeBSD 5.2.1 et inférieurs). Ne chipotons pas, prenons tout dans les sous-catégories (entrez dans la sous-catégorie et sélectionnez All). Sysinstall vous demande alors d'où copier les binaires, remettez votre CD FreeBSD dans le lecteur, et sélectionnez CD/DVD.

FreeBSD 5.3 ne propose plus le configuration X Window. Il va falloir se débrouiller à la main, dans la console.

Je suppose que si vous avez suivi jusqu'ici, vous savez vous connecter sur un système Unix. Sinon, voici commen faire (du moins pour ce howto) : à l'invite login:, tapez root, appuyez sur la touche entrée, tapez le mot de passe du compte, et appuyez sur entrée. Voilà, vous êtes connecté en tant que root. Si vous préférez utiliser un autre utilisateur, faites comme bon vous semble. Mais il faut que cet utilisateur soit membre du groupe wheel, pour pouvoir utiliser la commande su, pour passer en super utilisateur et configurer le système.

En tant que root, tapez Xorg -configure. Cela lance une routine d'auto-configuration de X qui essaie (plutôt bien) de détecter votre carte graphique, votre écran et vos dispositifs de saisie. Vous pouvez tester le résultat avec la commande Xorg -config xorg.conf.new. Si vous avez un écran gris avec une croix en guise de curseur, c'est bon, votre X est configuré correctement. Sortez de l'écran de test en appuyant sur Ctrl-Alt-Backspace. Cette combinaison de touches arrête immédiatement le serveur X et vous fait sortir du mode graphique.

Copiez maintenant le fichier xorg.conf.new en /etc/X11/xorg.conf : cp xorg.conf.new /etx/X11/xorg.conf (créez le répertoire /etc/X11 au besoin).

Installons maintenant le gestionnaire de fenêtres. On va utiliser portupgrade, expliqué ce document. Choisissez un gestionnaire, et installez-le par portinstall. Ici, je choisis Xfce, mais vous êtes libre de prendre Gnome ou KDE. Je lance donc la commande portinstall xfce, qui me propose xfce ou xfce4, je choisis le plus récent, xfce4. Pour Gnome, vous utiliserez portinstall gnome2, et portinstall kde pour KDE, ou autre chose pour autre chose. :)

Laissez décanter, et passons à la fin de l'installation. Il faut maintenant indiquer à X ce qu'il faut qu'il lance comme gestionnaire de fenêtres. Créez un fichier .xinitrc à la racine de votre répertoire personnel (/usr/home/ ou /root pour root). Mettez-y le nom du programme de lancement de votre gestionnaire de fenêtres. Pour Xfce, c'est /usr/X11R6/bin/xfce4-session. Pour Gnome, c'est /usr/X11R6/bin/gnome-session, et pour KDE, c'est exec startkde.

Tapez startx, et hop vous avez un environnement graphique prêt à l'emploi. :)

Utiliser les Ports dans FreeBSD

by Paig Chong Woo — last modified 08/12/2004 00:00
Filed Under:

Avoir un FreeBSD qui marche, c'est bien, avoir des logiciels qui tournent dessus, c'est mieux !

Les ports, c'est une collection de logiciels adaptés pour tourner sous FreeBSD. Il y a de tout, et on y trouve la quasi-totalité des logiciels libres jamais développés, ainsi que quelques logiciels commerciaux.

Regardez dans le Handbook (français), c'est plus complet. :)

FreeBSD propose des commandes pour gérer les packages des ports, pkg_add, pkg_delete, etc. Mais je trouve pas ça très pratique. :)

On va donc utiliser portupgrade, qui est plus agréable. Tapez la commande suivante : cd /usr/ports/sysutils/portupgrade && make install clean. Si tout va bien, portupgrade est installé. Sinon, reportez-vous aux messages d'erreur pour déterminer ce qui ne va pas.

Maintenant, on peut installer les logiciels des ports par la commande portinstall, et les mettre à jour par la commande portupgrade. Elles se lancent suivies du nom du port à installer/mettre à jour, et hop c'est fait. :)

Elles admettent aussi des options, voici celles dont je me sers couramment :

  • -f : force la réinstallation d'un port. En effet, portupgrade ne lance la mise à jour d'un port seulement si une nouvelle version est disponible.
  • -M <argument de make> : passe les arguments <arguments de make> au make pour la compilation du port.
  • -a : réinstalle TOUS les ports installés. utilisé avec -f, reconstruit tous les logiciels installés par les ports. Utile lors des mises à jour.

06/12/2004

Stardate

by Paig Chong Woo — last modified 06/12/2004 00:00
Filed Under:

J'ai revu mon programme Stardate récemment, et j'ai sorti un portage sur Konfabulator.

En tant que fan de Star Trek, je me suis intéressé au système stardate, et j'ai écrit un programme pour Windows, suivant les indications d'Andrew Main, sur sa FAQ. J'ai mis un bon moment à le finaliser, et à lui faire afficher la bonne valeur... 7 ans. :) Ça tombe bien, c'est la longueur des séries. ;) Il est d'ailleurs disponible ici.

Je l'ai "terminé" récemment, en réécrivant le moteur de calcul (l'ancien était assez faux). Et j'ai été amené à repenser le calcul du stardate en réécrivant le programme pour Konfabulator, un programme... Amusant. :) Je ne saurais pas trop comment le décrire, c'est un environnement où on peut faire tourner des mini-programmes en JavaScript sur le bureau. Le mieux est que vous le voyez de vous-même en visitant leur site.

Donc j'ai écrit un afficheur stardate pour Konfabulator. J'y ai passé une journée, entre les erreurs de logique et les erreurs de fuseau horaire (le temps UTC !). Et j'ai mis deux heures de plus à le réadapter sur mon programme Windows.

Konfabulator propose aussi une galerie de widgets, les mini-programmes. Il y a toutes sortes de choses, mais pas de calcul stardate. J'ai donc proposé le mien (c'était bien mon intention première, d'ailleurs ;)). Et il s'est téléchargé à 643 exemplaires depuis le 1er décembre et à l'instant, ce qui fait un tous les quart d'heure ! :) Et il y a même un mec qui trouve que mon widget est génial (enfin, il écrit "Genuis", mais bon ;)).

Essayez Konfabulator, c'est marrant, d'ailleurs, le prochain Mac OS X va avoir un système similaire, appelé Dashboard et je compte bien porter Star Date dessus. :)

Cybermanche

by Paig Chong Woo — last modified 06/12/2004 00:00
Filed Under:

J'ai ajouté un lien Paypal pour recevoir des dons sur mon site.

Parce qu'on sait jamais, il se pourrait que je reçoive la visite de mécènes dans mes maigres visites annuelles ? :)

Bon, par contre, Paypal c'est quand même nul, il faut avoir un compte Paypal pour pouvoir faire un don sur mon site. Et ce bien que j'aie passé mon compte en "compte surclassé" (les mecs ont trop regardé les pubs pour les bagnoles) pour pouvoir recevoir des paiements en carte bancaire, avec des commissions de folie (pour eux, bien sûr). Pourtant j'ai vu d'autres sites où ils proposent de payer directement en carte bancaire sans créer un compte ?

Enfin bon, si ça peut me faire de l'argent de poche... Une p'tite pièce, s'il vous plaît... :) (ou je joue de l'accordéon ;))

02/12/2004

Confirmation de lecture de message...

by Paig Chong Woo — last modified 02/12/2004 00:00
Filed Under:

Je travaille dans une boîte où les secrétaires font un travail tellement urgent qu'elles utilisent un système de confirmation de lecture de message d'une efficacité rare... (plus cadeau bonus : comment avoir des primes et des machines de rêve en n'en foutant pas une)

Je ne vais pas faire durer le suspense pour le nom de ce système révolutionnaire : le téléphone.

Non, vous ne rêvez pas, ces gens vous envoient un mail et téléphonent ensuite derrière pour expliquer de quoi parle le mail et savoir si on l'a lu. Heureusement, le mail et le téléphone interne, c'est gratuit (du moins, on paie pas plus cher). Et quand j'essaie d'expliquer que ça sert à rien d'appeler après avoir envoyé un mail, la fille m'explique comme à un débile que ça lui sert à confirmer la bonne réception du message. C'est doublement insultant pour moi, déjà j'avais bien compris le but de son appel, c'est pas la peine de me réexpliquer, et ensuite, elle doute que son mail arrive correctement à destination, donc qu'elle doute de mon travail... :/

Je ne désespère pas pourtant qu'elle comprenne un jour que le courrier électronique est un peu plus rapide et fiable que le courrier postal (du moins celui de chez moi).

En parlant de secrétaire, je vais mettre aussi un mot à propos d'une qui a demandé une machine de guerre avec un LCD 19 pouces pour faire du traitement de texte et du net (je disgresse et médis ;)).

C'est une secrétaire de région de ma glorieuse association, dont mes collègues me disent le plus grand mal. :) Elle est en arrêt maladie dû à une mystérieuse dépression suite à son arrêt maladie dû à une dépression. En gros elle travaille 2 mois dans l'année. Peut-être moins encore, on a à peu près ça en congés payés... Puis bon, c'est pas comme si elle s'activait dans son peu de temps de travail pour compenser, hein ?

Une entreprise normale avec des dirigeants sensés auraient fait quelque chose pour ce cas particulier. Comme notre glorieuse association à vocation sociale est gouvernée par de non moins glorieux élus, il a en effet été fait quelque chose pour cette secrétaire.

Ils lui ont versé une prime pour l'encourager.

J'ai bien séparé la phrase pour qu'il n'y ait pas de malentendus. Elle a eu une prime parce qu'elle a rien foutu de l'année. Et c'est une prime d'encouragement. Bon, d'accord, le but, c'est de l'encourager à travailler, mais dans les faits, ça ressemble quand même fort à recevoir de l'argent à rien faire... Faut que je me documente sur les types et les symptômes de la dépression, ça peut être utile.

Enfin bon, toujours est-il qu'elle est enfin revenue de son long repos. Pour continuer à l'encourager, les (toujours glorieux) élus de sa région lui achètent une nouvelle machine. Ils nous font parvenir les specs, et je vois que la machine qui s'en rapproche le plus, c'est le Dell Dimension XPS (on n'achète que du Dell, le CNRS a un accord de tarifs préférentiels dont on profite). Et avec un écran LCD 19 pouces. Je rappelle à l'aimable assistance que les écrans LCD 19 pouces ont une surface d'affichage comparable aux CRT 20 voire 21 pouces...

Mais comme dit mon chef : "C'est leur argent, ils se démerdent avec." Donc on achète un gros Optiplex et son écran géant, et on expédie le tout là-bas.

Quelques semaines plus tard, je reçois un appel d'une secrétaire, qui voudrait un accès à notre intranet. Je lui dis donc de suivre les instructions de la page d'accueil du site. Mais elle a l'air super dégourdie, et je suis obligé de lui indiquer pas à pas comment naviguer... :/ Elle arrive enfin à télécharger la charte à signer pour obtenir un compte, et là elle me dit qu'elle peut pas l'ouvrir. Je lui dis qu'elle ne doit pas avoir d'Adobe Reader, et qu'elle s'adresse à son service informatique pour lui installer. Ce à quoi elle réplique : "Mais eeuuuuuhhhh, c'est vous eeeuuuuhh, mon service informatiqueuuuhh ! Et en pluseeuuuhh personne n'est venu récupérereeeuuuhhh mes donnéeseeeeuuuhhh quand j'ai eueuuuuuhhhh ma nouvelle machineeeeeuuuuhhhh !"

Déjà, j'aime pas les gens qui chialent quand ils parlent. Ensuite, je me rends compte que c'est la rien-fouteuse. Un collègue me souffle qu'il n'y avait de toute façon rien à récupérer, vu qu'elle ne fiche rien. Je lui dis donc de rappeler mon chef dès qu'il revient de sa mission. Elle raccroche non sans avoir un peu plus chialé au tél.

Je vais peut-être devoir me déplacer encore à je-ne-sais-où pour des clopinettes... Venez travailler dans ma glorieuse association, on fait du social. Ah, oui, j'oubliais, on a gelé les embauches, nos crédits sont épuisés...

01/12/2004

Barracuda épilogue

by Paig Chong Woo — last modified 01/12/2004 00:00
Filed Under:

Fin de ma mini-série "Je renvoie un disque dur mort depuis un an à Seagate en lointaine Péïbadie".

Ma mini-saga touche à sa fin. J'ai installé le disque hier, et il marche au poil, sans un bruit, avec ses 76,5 GiB reconnus (80 Go). :)

J'en ai profité pour remplacer mon disque de données temporaires de 20 Go, un Barracuda ATA IV aussi. J'ai vu qu'il avait une étiquette OEM comme celui que j'ai renvoyé. :)

Donc voilà, j'ai un disque qui marche pour 14,50 €. Fin du fin, le nouveau disque est sous garantie jusqu'à octobre 2005, tenant compte des deux semaines de SAV ! :D

Mécénat
Images chez flickr
www.flickr.com
Voici un module Flickr utilisant les photos d'un album intitulé Image du jour. Cliquez ici pour créer votre module.
 

Plone powered yeah baby! ;)

Ce site utilise Plone, pourquoi pas vous ?

Creative Commons License