7.4.1 Cr´eation d’un CD bootable Knoppix
Si vous ne disposez pas encore de GNU/Linux mais seulement de Windows, vous pouvez facile- ment graver un CD bootable Knoppix, qui est la distribution id´eale pour d´ecouvrir Linux. T´el´echarger la derni`ere distributions stable de Knoppix et son fichier de somme de contrˆole4: ‘KNOPPIX_Vx.y.z-yyyy-mm-dd-EN.iso’
‘KNOPPIX_Vx.y.z-yyyy-mm-dd-EN.iso.md5’ `
A partir d’une console MSys, contrˆoler le fichier re¸cu par la commande : ‘md5sum KNOPPIX_Vx.y.z-yyyy-mm-dd-EN.iso’
V´erifier le r´esultat grˆace au fichier :
‘KNOPPIX_Vx.y.z-yyyy-mm-dd-EN.iso.md5’
Gravez votre CD-R ou votre CD-RW bootable par la commande :
‘cdrecord dev=x,y,z -v speed=16 -tao -data KNOPPIX_Vx.y.z-yyyy-mm-dd-EN.iso’ 4 Une adresse parmi d’autres : ftp://ftp.free.fr/pub/Distributions_Linux/knoppix.
Chapitre 7: Sauvegarde des donn´ees 41
7.4.2 Ecouter des mp3
Pour ´ecouter un fichier :>madplay --verbose "/z/cds/01/01. Can’t We Be Friends.mp3"
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al. Title: Can’t We Be Friends?
Artist: Ella Fitzgerald and Louis Armstrong Album: Track: 1 Year: Genre: Jazz Encoder: Comment: Track 1
00:00:15 Layer III, 192 kbps, 44100 Hz, joint stereo (MS), no CRC
Pour ´ecouter un r´epertoire :
>madplay /z/cds/01/*.mp3
7.4.3 Int´egration de CDrecord
Afin que Windows n’interf`ere pas avec CDrecord lors de l’insertion des CD dans le graveur, puis ne risque pas d’alt´erer le disque en cours de gravure, il est n´ecessaire de supprimer la d´etection automatique en modifiant la registry :
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom] Autorun=0
Si le graveur n’est pas visible, les changements ci-dessous, `a effectuer dans la registry, devraient corriger le problˆeme :
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Aspi32] "ErrorControl"=dword:00000001 "Start"=dword:00000001 "Type"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Aspi32\Parameters] "ExcludeMiniports"=""
Une commande ‘cdrecord -scanbus’ qui d´eclenche des anomalies est le symptˆome d’un pilote ASPI d´efectueux.
Chapitre 8: Initiation au d´eveloppement 42
8 Initiation au d´eveloppement
Si les architectes construisaient les maisons comme les programmeurs ´ecrivent les programmes, le premier picvert venu d´etruirait la civilisation. Seconde loi de Weinberg
8.1 Pr´esentation
Ce chapitre n’a aucune pr´etention p´edagogique. Toutefois, si vous assimilez la m´ethode propos´ee, vous en saurez d´ej`a beaucoup plus que la plupart des informaticiens de gestion des ann´ees 70, grands utilisateurs de goto et adeptes de la programmation spaghetti.
Une m´ethode pour construire des fondations solides
Pour devenir un d´eveloppeur, il faut poss´eder une m´ethode, poss´eder au sens de maˆıtriser, pour arriver, `a terme, `a une utilisation de la m´ethode comme un r´eflexe si bien ancr´e qu’on ne s’en aper¸coit plus.
C’est la maˆıtrise d’une m´ethode qui distingue l’authentique d´eveloppeur de l’amateur sans for- mation. C’est encore elle qui permet d’´ecrire de tr`es gros programmes sans effort ni probl`eme de fiabilit´e.
La m´ethode de programmation propos´ee est simple et efficace. Cette m´ethode de programma- tion modulaire et structur´ee permet de cr´eer facilement et de maintenir harmonieusement des programmes de taille quelconque, du plus simple au tr`es complexe. Elle fut tr`es en vogue dans les ann´ees 80, avant l’apparition des m´ethodes orient´ees objet.
Cette m´ethode sera accompagn´ee d’une initiation `a l’alg`ebre de Boole, alg`ebre tr`es simple et indispensable `a l’´ecriture de programmes bien construits.
Ce qu’il faut ´eviter pour d´ebuter
La mode est d´esormais `a l’objet, mis `a toutes les sauces et sans discernement. En effet, les langages et les m´ethodes utilisant des objets, qui rajoutent toujours de la complexit´e dans le code cr´e´e par le compilateur, peuvent ˆetre n´efastes dans certaines circonstances : d´eveloppement embarqu´e `a petit budget ou `a tr`es haute fiabilit´e, grandes contraintes d’occupation m´emoire, etc... Cette approche objet peut ˆetre aussi compl`etement inutile en regard du probl`eme `a r´esoudre.
Il en va des m´ethodes comme des outils, il faut toujours utiliser la m´ethode appropri´ee au probl`eme `a r´esoudre. Il est des cas o`u l’approche objet est de loin pr´ef´erable `a tout autre, par exemple pour con¸cevoir des interfaces graphiques.
De mˆeme, la programmation ´ev`enementielle, grande affaire des interfaces graphiques, a fait apparaˆıtre une g´en´eration de d´eveloppeurs qui ´eprouvent des difficult´es `a ´ecrire une application autonome, g`erant seule ses entr´ees-sorties et ´ecrite dans les r`egles de l’art.
Quand vous aurez assimil´e la m´ethode propos´ee, n´ecessaire et suffisante pour faire de vous de bons d´eveloppeurs tout terrain, il sera toujours temps de monter d’un cran et de regarder du cˆot´e de chez HOOD1.
De mˆeme, quand vous serez devenu un familier de la programmation lin´eaire2, c’est `a dire des programmes se lisant du d´ebut `a la fin, avec une continuit´e dans les sources, il sera aussi temps pour vous de d´ecouvrir la programmation ´ev`enementielle, par exemple avec GtkAda !
En conclusion, l’important est d’apprendre `a faire les fondations avant d’apprendre `a poser une toiture. Et pour bien commencer, il faut commencer modestement, et manipuler des concepts simples.
1
Se reporter `a la bibliographie en fin de manuel.
Chapitre 8: Initiation au d´eveloppement 43