diff options
Diffstat (limited to 'fr_FR.ISO8859-1/books/developers-handbook/tools/chapter.sgml')
-rw-r--r-- | fr_FR.ISO8859-1/books/developers-handbook/tools/chapter.sgml | 272 |
1 files changed, 136 insertions, 136 deletions
diff --git a/fr_FR.ISO8859-1/books/developers-handbook/tools/chapter.sgml b/fr_FR.ISO8859-1/books/developers-handbook/tools/chapter.sgml index 43a815bf3a..088a9a5396 100644 --- a/fr_FR.ISO8859-1/books/developers-handbook/tools/chapter.sgml +++ b/fr_FR.ISO8859-1/books/developers-handbook/tools/chapter.sgml @@ -2,7 +2,7 @@ <!-- The FreeBSD Documentation Project The FreeBSD French Documentation Project - + $Id: chapter.sgml,v 1.1 2002-02-14 14:25:02 gioria Exp $ Original revision: 1.4 $FreeBSD$ @@ -17,23 +17,23 @@ <sect1><title>Synopsis</title> - <para>Ce document est une introduction à l'utilisation de quelques + <para>Ce document est une introduction à l'utilisation de quelques outils de programmation fournis avec FreeBSD, toutefois tout sera applicable à beaucoup d'autres versions d'Unix. Cette introduction <emphasis>n'essaye</emphasis> pas de décrire la programmation dans le détail. La plupart du document suppose que vous possédez peu ou pas de connaissances - en programmation, espérant que les programmeurs trouveront un + en programmation, espérant que les programmeurs trouveront un intérêt dans ce document.</para> </sect1> <sect1><title>Introduction</title> - + <para>FreeBSD offre un excellent environnement de développement. - Des compilateurs pour C, C++ et Fortran ainsi qu'un assembleur sont fournis avec + Des compilateurs pour C, C++ et Fortran ainsi qu'un assembleur sont fournis avec le système de base, sans parler de l'interpréteur PERL ni des outils classiques Unix comme <command>sed</command> et <command>awk</command>. - Si cela n'est pas suffisant, il y a encore plus de compilateurs et + Si cela n'est pas suffisant, il y a encore plus de compilateurs et d'interpréteurs dans la collection des logiciels portés. FreeBSD est compatible avec les standards comme <acronym>POSIX</acronym> et C <acronym>ANSI</acronym>, aussi bien qu'avec son propre héritage BSD, @@ -42,14 +42,14 @@ plateformes.</para> <para>Toutefois, toute cette puissance peut être plutôt écrasante - au premier abord si vous n'avez jamais écrit de programmes sur une + au premier abord si vous n'avez jamais écrit de programmes sur une plateforme Unix auparavant. Ce document a pour but de vous aider à commencer, sans entrer trop loin dans des sujets plus avancés. L'intention est que ce document devrait vous donner assez de bases pour être capable de donner du sens à la documentation.</para> <para>La majeure partie du document requiert peu ou pas de connaissance - de la programmation, bien qu'il suppose une compétence de base dans + de la programmation, bien qu'il suppose une compétence de base dans l'utilisation d'Unix et dans la bonne volonté d'apprendre !</para> </sect1> @@ -59,14 +59,14 @@ <para>Un programme est un ensemble d'instructions qui disent à l'ordinateur de faire diverses choses; quelques fois, l'instruction qu'il a à exécuter - dépend de ce qui s'est passé lors de l'exécution d'une instruction - précédente. Cette section donne un aperçu des deux manières par lesquelles + dépend de ce qui s'est passé lors de l'exécution d'une instruction + précédente. Cette section donne un aperçu des deux manières par lesquelles vous pouvez donner ces instructions, ou - <quote>commandes</quote> comme elles sont habituellement nommées. + <quote>commandes</quote> comme elles sont habituellement nommées. Une façon utilise un <firstterm>interpréteur</firstterm>, l'autre un <firstterm>compilateur</firstterm>. Comme les langages humains sont trop difficiles à comprendre sans ambiguïté par un ordinateur, - les commandes sont habituellement écrites dans un langage ou un autre + les commandes sont habituellement écrites dans un langage ou un autre spécialement conçus pour cet usage.</para> <sect2> @@ -76,31 +76,31 @@ où vous entrez des commandes à un invite de commandes et l'environnement les exécute pour vous. Pour des programmes plus compliqués, vous pouvez entrer les commandes dans un fichier et demander à l'interpréteur de charger - le fichier et d'exécuter les commandes qui sont à l'intérieur. + le fichier et d'exécuter les commandes qui sont à l'intérieur. Si quoique ce soit se passe mal, beaucoup d'interpréteurs vous enverrons dans un dévermineur pour vous aider à débusquer le problème.</para> <para>L'avantage de cela est que vous pouvez voir les résultats de vos commandes immédiatement, et les erreurs peuvent être corrigées facilement. Le plus gros désavantage arrive quand vous voulez partager - vos programmes avec d'autres personnes. Ils doivent avoir le même + vos programmes avec d'autres personnes. Ils doivent avoir le même interpréteur ou bien vous devez avoir un moyen de leur donner, - et ils doivent comprendre comment l'utiliser. Par ailleurs, les - utilisateurs pourraient ne pas apprécier d'être renvoyés dans un + et ils doivent comprendre comment l'utiliser. Par ailleurs, les + utilisateurs pourraient ne pas apprécier d'être renvoyés dans un dévermineur s'ils ont appuyé sur la mauvaise touche ! D'un point de vue performance, les interpréteurs peuvent utiliser beaucoup de mémoire et généralement ne génèrent pas un code aussi efficace que les compilateurs.</para> <para>A mon avis, les langages interprétés sont le meilleur moyen - pour démarrer si vous n'avez jamais programmé. Ce genre + pour démarrer si vous n'avez jamais programmé. Ce genre d'environnement se trouve typiquement avec des langages comme Lisp, - Smalltalk, Perl et Basic. Il peut aussi être dit que l'interpréteur de - commandes Unix (<command>sh</command>, <command>csh</command>) est + Smalltalk, Perl et Basic. Il peut aussi être dit que l'interpréteur de + commandes Unix (<command>sh</command>, <command>csh</command>) est lui-même un interpréteur, et beaucoup de gens écrivent en fait des <quote>scripts</quote> (procédures) pour l'interpréteur pour les aider - dans diverses tâches <quote>domestiques</quote> sur leur machine. - En effet, une partie de la philosophie d'origine d'Unix était de + dans diverses tâches <quote>domestiques</quote> sur leur machine. + En effet, une partie de la philosophie d'origine d'Unix était de fournir plein de petits programmes utilitaires qui pouvaient être liés ensemble dans des procédures pour effectuer des tâches utiles.</para> </sect2> @@ -109,17 +109,17 @@ <title>Les interpréteurs disponibles avec FreeBSD</title> <para>Voici la liste des interpréteurs qui sont disponibles sous la forme - de <ulink url="ftp://ftp.FreeBSD.org:pub/FreeBSD/packages/"> - logiciels pré-compilés pour FreeBSD</ulink>, avec une brève description + de <ulink url="ftp://ftp.FreeBSD.org:pub/FreeBSD/packages/"> + logiciels pré-compilés pour FreeBSD</ulink>, avec une brève description de quelques uns des langages interprétés les plus populaires.</para> - <para>Pour obtenir un de ces logiciels pré-compilés, tout ce que vous + <para>Pour obtenir un de ces logiciels pré-compilés, tout ce que vous avez à faire est de cliquer sur le lien du logiciel et d'exécuter</para> <screen>&prompt.root; <userinput>pkg_add <replaceable>nom du logiciel</replaceable></userinput> </screen> - <para>en tant que super-utilisateur. Evidemment, vous aurez besoin d'un + <para>en tant que super-utilisateur. Evidemment, vous aurez besoin d'un FreeBSD 2.1.0 ou plus en état de marche pour que le logiciel fonctionne !</para> <variablelist> @@ -128,12 +128,12 @@ <listitem> <para>Abbréviation de "Beginner's All-purpose Symbolic - Instruction Code" (code d'instruction symbolique tout usage + Instruction Code" (code d'instruction symbolique tout usage pour le débutant). Développé dans les années 50 pour apprendre aux étudiants d'université à programmer et fourni avec tout ordinateur qui se respecte dans les années 80, - <acronym>BASIC</acronym> a été le premier langage de - programmation pour beaucoup de programmeurs. Il est aussi le + <acronym>BASIC</acronym> a été le premier langage de + programmation pour beaucoup de programmeurs. Il est aussi le fondement même du Visual Basic.</para> <para>L'interpréteur Basic <ulink @@ -172,7 +172,7 @@ <listitem> <para>Très populaire auprès des administrateurs système pour la rédaction - de procédures; aussi souvent utilisé sur les serveurs Internet pour + de procédures; aussi souvent utilisé sur les serveurs Internet pour l'écriture de procédures <acronym>CGI</acronym>.</para> <para>La dernière version (version 5) est fournie avec FreeBSD.</para> @@ -186,7 +186,7 @@ <para>Un dérivé du Lisp qui est plutôt plus compact et plus propre que le Common Lisp. Populaire dans les universités étant suffisamment simple à apprendre aux étudiants comme premier langage - , il possède un niveau d'abstraction suffisamment important pour être + , il possède un niveau d'abstraction suffisamment important pour être utilisé dans le travail de recherche.</para> <para>On trouve pour FreeBSD les logiciels pré-compilés <ulink @@ -194,7 +194,7 @@ Scheme Elk</ulink>, <ulink url="ftp://ftp.FreeBSD.org:pub/FreeBSD/packages/lang/mit-scheme-7.3.tgz">l'interpréteur Scheme du MIT</ulink> et <ulink - url="ftp://ftp.FreeBSD.org:pub/FreeBSD/packages/lang/scm-4e1.tgz">l'interpréteur Scheme + url="ftp://ftp.FreeBSD.org:pub/FreeBSD/packages/lang/scm-4e1.tgz">l'interpréteur Scheme SCM</ulink>.</para> </listitem> </varlistentry> @@ -204,7 +204,7 @@ <listitem> <para><ulink - url="ftp://ftp.FreeBSD.org:pub/FreeBSD/packages/lang/icon-9.0.tgz">Le langage + url="ftp://ftp.FreeBSD.org:pub/FreeBSD/packages/lang/icon-9.0.tgz">Le langage de programmation Icon</ulink>.</para> </listitem> </varlistentry> @@ -235,23 +235,23 @@ <title>Les compilateurs</title> <para>Les compilateurs sont plutôt différents entre eux. Tout d'abord, vous écrivez - votre code dans un fichier (ou des fichiers) en utilisant un éditeur de texte. Vous - exécutez ensuite le compilateur et vérifiez qu'il accepte votre programme. S'il ne + votre code dans un fichier (ou des fichiers) en utilisant un éditeur de texte. Vous + exécutez ensuite le compilateur et vérifiez qu'il accepte votre programme. S'il ne compile pas, grincez des dents et retournez à l'éditeur; s'il compile et vous donne un programme, vous pouvez exécuter ce dernier à l'invite de commande ou dans un dévermineur pour voir s'il fonctionne correctement. - + <footnote> - <para>Si vous l'exécuter à l'invite de commande, vous pouvez recevoir un fichier + <para>Si vous l'exécuter à l'invite de commande, vous pouvez recevoir un fichier d'image mémoire (NDT: le désormais célèbre "core dump").</para> </footnote></para> - <para>Evidemment, ce n'est pas aussi direct que d'utiliser un interpréteur. - Toutefois cela vous permet de faire beaucoup de choses qui sont difficiles + <para>Evidemment, ce n'est pas aussi direct que d'utiliser un interpréteur. + Toutefois cela vous permet de faire beaucoup de choses qui sont difficiles ou même impossibles avec un interpréteur, comme écrire du code qui interagit de façon proche du système d'exploitation ou même d'écrire votre propre système d'exploitation ! C'est aussi utile si vous avez besoin d'écrire du code - très efficace, étant donné que le compilateur peut prendre son temps et + très efficace, étant donné que le compilateur peut prendre son temps et optimiser le code, ce qui ne serait pas acceptable avec un interpréteur. Et distribuer un programme écrit pour un compilateur est habituellement plus évident qu'un écrit pour un interpréteur—vous pouvez juste donner @@ -263,15 +263,15 @@ aux programmeurs expérimentés; Pascal, d'autre part, a été conçu comme un langage éducatif, et est un assez bon langage pour commencer. Malheureusement, FreeBSD ne possède aucun - support Pascal, excepté pour un convertisseur Pascal vers C + support Pascal, excepté pour un convertisseur Pascal vers C dans les logiciels portés.</para> <para>Le cycle édition-compilation-exécution-déverminage étant relativement pénible - lors de l'utilisation de programmes séparés, beaucoup de fabricants de compilateur - ont produit des environnements de développement intégrés (ou <acronym>IDE</acronym> pour - Integrated Development Environments et <acronym>EDI</acronym> dans la langue de + lors de l'utilisation de programmes séparés, beaucoup de fabricants de compilateur + ont produit des environnements de développement intégrés (ou <acronym>IDE</acronym> pour + Integrated Development Environments et <acronym>EDI</acronym> dans la langue de Molière). FreeBSD ne possède pas d'<acronym>EDI</acronym> - tel quel; toutefois il est possible d'utiliser Emacs à cet effet. + tel quel; toutefois il est possible d'utiliser Emacs à cet effet. Ceci est vu dans <xref linkend="emacs"/>.</para> </sect2> @@ -300,7 +300,7 @@ </step> <step> - <para>Vérifier la syntaxe de votre code source pour voir si vous avez + <para>Vérifier la syntaxe de votre code source pour voir si vous avez obéi aux règles du langage. Si vous ne l'avez pas fait, il se plaindra !</para> </step> @@ -311,7 +311,7 @@ <footnote> <para>Pour être vraiment précis, <command>cc</command> convertit à ce niveau le - code source dans son propre <firstterm>p-code</firstterm> indépendant de la + code source dans son propre <firstterm>p-code</firstterm> indépendant de la machine plutôt qu'en langage assembleur.</para> </footnote></para> </step> @@ -401,10 +401,10 @@ <varlistentry> <term><option>-c</option></term> - + <listitem> <para>Compile juste le fichier, ne le lie pas. Utile pour les - programmes jouets dont vous voulez juste vérifier la syntaxe, + programmes jouets dont vous voulez juste vérifier la syntaxe, ou si vous utilisez un <filename>Makefile</filename>.</para> <informalexample> @@ -431,7 +431,7 @@ ce qui est <emphasis>très</emphasis> utile; le désavantage est que toutes ces informations supplémentaires rendent le programme plus gros. Normalement, vous compilez avec l'option <option>-g</option> quand vous - êtes en train de développer un programme et compilez ensuite une + êtes en train de développer un programme et compilez ensuite une <quote>version de production</quote> sans <option>-g</option> quand vous êtes satisfait du fonctionnement.</para> @@ -444,9 +444,9 @@ <footnote> <para>Notez, nous n'avons pas utilisé l'option <option>-o</option> - pour spécifier le nom de l'exécutable, aussi nous obtiendrons un + pour spécifier le nom de l'exécutable, aussi nous obtiendrons un exécutable du nom de <filename>a.out</filename>. - Produire une version de déverminage du nom de + Produire une version de déverminage du nom de <filename>foobar</filename> est laissé en exercice pour le lecteur!</para> </footnote></para> </listitem> @@ -459,14 +459,14 @@ <para>Crée une version optimisée de l'exécutable. Le compilateur effectue différents trucs malins pour essayer de produire un exécutable qui s'exécute plus rapidement que normal. - Vous pouvez ajouter un nombre après l'option <option>-O</option> + Vous pouvez ajouter un nombre après l'option <option>-O</option> pour spécifier un niveau d'optimisation plus important, mais cela vous expose souvent aux bogues dans l'optimiseur du compilateur. Par exemple, la version de - <command>cc</command> fournit avec la version 2.1.0 FreeBSD est connue + <command>cc</command> fournit avec la version 2.1.0 FreeBSD est connue pour produire du mauvais code avec l'option <option>-O2</option> dans certaines circonstances.</para> - <para>L'optimisation est habituellement activée uniquement lors de + <para>L'optimisation est habituellement activée uniquement lors de la compilation d'une version de production.</para> <informalexample> @@ -491,7 +491,7 @@ <listitem> <para>Active tous les avertissements que les auteurs de - <command>cc</command> pensent valoir le coup. Malgré le nom, il + <command>cc</command> pensent valoir le coup. Malgré le nom, il n'active pas tous les avertissements dont <command>cc</command> est capable.</para> </listitem> @@ -502,7 +502,7 @@ <listitem> <para>Désactive la plupart, mais pas toutes, des caractéristiques - du C fournies par <command>cc</command> qui sont non-<acronym>ANSI</acronym> . Malgré + du C fournies par <command>cc</command> qui sont non-<acronym>ANSI</acronym> . Malgré le nom, cela ne garantit pas strictement que votre code sera conforme au standard.</para> </listitem> </varlistentry> @@ -518,14 +518,14 @@ </variablelist> <para>Sans ces options, <command>cc</command> vous permettrait d'utiliser - quelques extensions au standard non-standards. Quelques unes de celles-ci + quelques extensions au standard non-standards. Quelques unes de celles-ci sont très utiles, mais ne fonctionneront pas avec d'autres compilateurs - —en fait, un des principaux buts du standard est de permettre aux gens + —en fait, un des principaux buts du standard est de permettre aux gens d'écrire du code qui fonctionnera avec n'importe quel compilateur sur n'importe quel système. Cela est connu sous le nom de <firstterm>code portable</firstterm>.</para> - <para>Generalement, vous devriez essayer de faire votre code aussi portable - que possible, sinon vous pourriez avoir a ré-écrire totalement votre + <para>Generalement, vous devriez essayer de faire votre code aussi portable + que possible, sinon vous pourriez avoir a ré-écrire totalement votre programme plus tard pour le faire fonctionner autre part—et qui sait ce que vous utiliserez dans quelques années?</para> @@ -555,8 +555,8 @@ <filename>lib<replaceable>quelque_chose</replaceable>.a</filename>, vous donnez à <command>cc</command> l'argument <option>-l<replaceable>quelque_chose</replaceable></option>. - Par exemple, la librairie des fonctions mathématiques est - <filename>libm.a</filename>, aussi vous donnez à + Par exemple, la librairie des fonctions mathématiques est + <filename>libm.a</filename>, aussi vous donnez à <command>cc</command> le paramètre <option>-lm</option>. Un <quote>piège</quote> habituel avec la librairie math est qu'elle doit être la dernière sur la ligne de commande.</para> @@ -575,7 +575,7 @@ <command>cc</command> pour lier avec les fonctions de la librairie C++. Alternativement, vous pouvez utiliser <command>c++</command> plutôt que <command>cc</command>, qui fait tout cela pour vous. - <command>c++</command> peut aussi être invoqué par + <command>c++</command> peut aussi être invoqué par <command>g++</command> sur FreeBSD.</para> <informalexample> @@ -591,7 +591,7 @@ , les fichiers source C++ se terminent traditionnellement en <filename>.C</filename>, <filename>.cxx</filename> ou <filename>.cc</filename>, plutôt que le style MS-DOS - <filename>.cpp</filename> (qui était déjà + <filename>.cpp</filename> (qui était déjà utilisé pour autre chose). <command>gcc</command> a utilisé cela pour trouver le type de compilateur à utiliser sur le fichier source; toutefois, cette restriction ne s'applique plus, @@ -608,7 +608,7 @@ <qandaentry> <question> <para>J'essaye d'écrire un programme qui utilise la fonction - <function>sin()</function> et je reçois l'erreur suivante. + <function>sin()</function> et je reçois l'erreur suivante. Que cela signifie-t-il ?</para> <informalexample> @@ -631,7 +631,7 @@ <qandaentry> <question> - <para>J'ai écrit un programme simple pour m'exercer à + <para>J'ai écrit un programme simple pour m'exercer à l'utilisation de l'option <option>-lm</option>. Tout ce qu'il fait est d'élever 2,1 à la puissance 6.</para> @@ -655,7 +655,7 @@ int main() { </screen> </informalexample> - <para>et comme expliqué ici, mais j'obtiens ceci + <para>et comme expliqué ici, mais j'obtiens ceci quand je l'exécute :</para> <informalexample> @@ -670,8 +670,8 @@ int main() { <answer> <para>Quand le compilateur voit que vous appelez une fonction, il - vérifie s'il a déjà un prototype pour celle-ci. - S'il ne l'a pas vu, il suppose que la fonction retourne un <type>int</type>, + vérifie s'il a déjà un prototype pour celle-ci. + S'il ne l'a pas vu, il suppose que la fonction retourne un <type>int</type>, ce qui n'est absolument pas ce que vous voulez ici. </para> </answer> @@ -698,7 +698,7 @@ int main() { </programlisting> </informalexample> - <para>Après avoir recompilé comme précédemment, + <para>Après avoir recompilé comme précédemment, exécutez : </para> @@ -733,7 +733,7 @@ int main() { </informalexample> </answer> </qandaentry> - + <qandaentry> <question> <para>OK, j'ai un exécutable appelé @@ -745,8 +745,8 @@ int main() { </question> <answer> - <para>A l'inverse de MS-DOS, Unix ne regarde pas dans le - répertoire courant lorsqu'il essaye de trouver un + <para>A l'inverse de MS-DOS, Unix ne regarde pas dans le + répertoire courant lorsqu'il essaye de trouver un exécutable que vous voulez exécuter, sauf si vous lui avez dit de le faire. Vous pouvez soit taper <command>./foobar</command>, ce qui @@ -761,7 +761,7 @@ int main() { </screen> </informalexample> - <para>Le point à la fin signifie <quote>regarde dans le repertoire + <para>Le point à la fin signifie <quote>regarde dans le repertoire courant s'il n'est dans aucun autre</quote>.</para> </answer> </qandaentry> @@ -800,8 +800,8 @@ int main() { <answer> <para>Le nom <firstterm>core dump</firstterm> date des tous premiers jours d'Unix, quand les machines utilisaient - la mémoire centrale<footnote><para>NDT: je n'ai pas trouvé - de meilleure traduction pour core memory</para></footnote>pour stocker + la mémoire centrale<footnote><para>NDT: je n'ai pas trouvé + de meilleure traduction pour core memory</para></footnote>pour stocker les données. Simplement, si le programme a échoué sous certaines conditions, le système va écrire le contenu de la mémoire centrale @@ -818,7 +818,7 @@ int main() { </question> <answer> - <para>Utilisez <command>gdb</command> pour analyser le fichier <filename>core</filename> + <para>Utilisez <command>gdb</command> pour analyser le fichier <filename>core</filename> (voir <xref linkend="debugging"/>).</para> </answer> </qandaentry> @@ -842,7 +842,7 @@ int main() { <itemizedlist> <listitem> <para>Essayer d'écrire dans un pointeur <symbol>NULL</symbol>, - par exemple + par exemple </para> <programlisting>char *foo = NULL; @@ -887,7 +887,7 @@ strcpy(foo, "bang!"); </programlisting> <para>Les compilateurs Unix mettent souvent les chaînes comme - <literal>"Ma chaine"</literal> dans des zones de mémoire + <literal>"Ma chaine"</literal> dans des zones de mémoire en lecture seule. </para> </listitem> @@ -960,7 +960,7 @@ free(foo); <parameter><replaceable>identifiant</replaceable></parameter> est l'identifiant du processus que vous avez trouvé.</para> - <para>Ceci est utile si votre programme est bloqué dans une boucle + <para>Ceci est utile si votre programme est bloqué dans une boucle infinie, par exemple. Si votre programme arrive à bloquer le signal <symbol>SIGABRT</symbol>, il y a d'autres signaux qui ont des effets similaires. @@ -971,7 +971,7 @@ free(foo); Voir la page de manuel en ligne de &man.abort.3; pour en savoir plus. </para> - <para>Si vous voulez créer un fichier <filename>core</filename> depuis + <para>Si vous voulez créer un fichier <filename>core</filename> depuis l'extérieur de votre programme, mais ne voulez pas que le processus s'arrêt,vous pouvez utiliser le programme <command>gcore</command>. Voir la page de manuel en ligne de &man.gcore.1 pour plus d'informations. @@ -990,7 +990,7 @@ free(foo); <title>Qu'est-ce que <command>make</command>?</title> <para>Quand vous travaillez sur un programme simple avec seulement - un ou deux fichiers source, taper + un ou deux fichiers source, taper </para> <screen>&prompt.user; <userinput>cc fichier1.c fichier2.c</userinput> @@ -1000,7 +1000,7 @@ free(foo); il y a plusieurs fichiers—et cela peut prendre du temps à compiler aussi. </para> - <para>Une façon de contourner cela est d'utiliser les fichiers objet + <para>Une façon de contourner cela est d'utiliser les fichiers objet et de recompiler le fichier source seulement si le code source a changé. Aussi, nous pourrions avoir quelque chose comme ça: </para> @@ -1019,7 +1019,7 @@ free(foo); </para> <para>Que se passe-t-il si nous avons des centaines de fichiers source ? - Que se passe-t-il si nous travaillons dans une équipe avec + Que se passe-t-il si nous travaillons dans une équipe avec d'autres personnes qui oublient de nous dire quand ils ont changé un de leurs fichiers source que nous utilisons ? </para> @@ -1028,18 +1028,18 @@ free(foo); écrire quelque chose comme une procédure qui contiendrait quelque règle magique disant quand notre fichier source doit être compilé. Maintenant, tout ce dont nous avons besoin est un programme - qui comprend ces règles, alors que c'est trop compliqué pour + qui comprend ces règles, alors que c'est trop compliqué pour l'interpréteur. </para> <para>Ce programme s'appelle <command>make</command>. Il lit - dans un fichier, appelé un <firstterm>makefile</firstterm>, + dans un fichier, appelé un <firstterm>makefile</firstterm>, qui lui dit comment les différents fichiers dépendent les uns des autres, et détermine quels fichiers ont besoin d'être recompilés et quels n'en ont pas besoin. Par exemple, une règle pourrait dire quelque chose comme <quote>si <filename>fromboz.o</filename> est plus ancien que - <filename>fromboz.c</filename>, cela signifie que quelqu'un a dû + <filename>fromboz.c</filename>, cela signifie que quelqu'un a dû changer <filename>fromboz.c</filename>, aussi il a besoin d'être recompilé.</quote> Le makefile possède aussi des règles pour dire à <command>make</command> <emphasis>comment</emphasis> @@ -1047,15 +1047,15 @@ free(foo); puissant. </para> - <para>Les <filename>Makefile</filename>s sont typiquement stockés dans le même - répertoire que le source auxquels il s'appliquent, et peuvent être + <para>Les <filename>Makefile</filename>s sont typiquement stockés dans le même + répertoire que le source auxquels il s'appliquent, et peuvent être appelés <filename>makefile</filename>, <filename>Makefile</filename> ou <filename>MAKEFILE</filename>. La plupart des programmeurs utilise le nom <filename>Makefile</filename>, celui-ci se trouvant proche du début de la liste du contenu du répertoire où il peut être facilement vu. <footnote> - <para>Ils n'utilisent pas la forme <filename>MAKEFILE</filename> + <para>Ils n'utilisent pas la forme <filename>MAKEFILE</filename> car les bloques de majuscules sont souvent utilisés pour les fichiers de documentation comme <filename>README</filename>. </para> @@ -1097,14 +1097,14 @@ free(foo); à make de re-compiler <filename>foo.c</filename>. </para> - <para>Aussi, quand vous tapez <userinput>make</userinput>, il vérifiera - que <filename>foo</filename> est à jour en respect de vos derniers + <para>Aussi, quand vous tapez <userinput>make</userinput>, il vérifiera + que <filename>foo</filename> est à jour en respect de vos derniers changements sur <filename>foo.c</filename>. Ce principe peut être étendu à des <filename>Makefile</filename>s de plusieurs - centaines de cibles—en fait, sur FreeBSD, il est possible de + centaines de cibles—en fait, sur FreeBSD, il est possible de compiler un système d'exploitation entier en tapant juste <userinput>make world</userinput> dans le répertoire approprié ! - </para> + </para> <para>Une autre propriété utile des makefiles est que les cibles n'ont pas nécessairement besoin d'être des programmes. @@ -1126,7 +1126,7 @@ install: </screen> <para><command>make</command> ira seulement voir cette cible - et ingorera les autres. Par exemple, si nous tapons + et ingorera les autres. Par exemple, si nous tapons <userinput>make foo</userinput> avec le <filename>Makefile</filename> du dessus, <command>make</command> ignorera la cible <action>install</action>. </para> @@ -1135,7 +1135,7 @@ install: <command>make</command> regardera toujours la première cible et s'arrêtera sans regarder aucune autre. Aussi, si nous avions tapé <userinput>make</userinput> seul, <command>make</command> serait juste allé à la cible <action>foo</action>, - aurait recompilé <filename>foo</filename> si nécessaire et se + aurait recompilé <filename>foo</filename> si nécessaire et se serait arrêté sans aller à la cible <action>install</action>. </para> @@ -1145,7 +1145,7 @@ install: Dans ce cas, <command>make</command> va copier <filename>foo</filename> dans le répertoire de l'utilisateur. Cela est souvent utilisé par les <filename>Makefile</filename>s des applications, ainsi l'application - peut être installée dans le répertoire correct + peut être installée dans le répertoire correct quand elle a été correctement compilée </para> @@ -1203,7 +1203,7 @@ DISTFILES= scheme-microcode+dist-7.3-freebsd.tgz <step> <para>Tout changement requis pour faire fonctionner le source sur FreeBSD est appliqué— - cela est connu sous le nom de <firstterm>correctif</firstterm><footnote><para>NDT: On entendra plus souvent parler de + cela est connu sous le nom de <firstterm>correctif</firstterm><footnote><para>NDT: On entendra plus souvent parler de <literal>patch</literal>.</para></footnote>. </para> </step> @@ -1225,7 +1225,7 @@ DISTFILES= scheme-microcode+dist-7.3-freebsd.tgz <step> <para>Le code source pour ce programme est compilé. En effet, nous changeons de répertoire pour le répertoire où le source a été - décompressé et faisons <command>make</command>—le fichier <filename>Makefile</filename> + décompressé et faisons <command>make</command>—le fichier <filename>Makefile</filename> du programme contient les informations nécessaires pour construire le programme. </para> </step> @@ -1286,11 +1286,11 @@ DISTFILES= scheme-microcode+dist-7.3-freebsd.tgz <para>dans ce répertoire.</para> - <para>Beaucoup d'applications dans les logiciels portés utilisent - <application>GNU make</application>, qui possède un très bon ensemble de page + <para>Beaucoup d'applications dans les logiciels portés utilisent + <application>GNU make</application>, qui possède un très bon ensemble de page d'<quote>info</quote>. Si vous avez installé un de ces logiciels portés, <application>GNU make</application> aura été automatiquement installé - sous le nom de <command>gmake</command>. Il est aussi disponible comme logiciel porté ou + sous le nom de <command>gmake</command>. Il est aussi disponible comme logiciel porté ou logiciel pré-compilé seul. </para> @@ -1304,7 +1304,7 @@ DISTFILES= scheme-microcode+dist-7.3-freebsd.tgz <para>au fichier. Une fois que vous avez fait ceci, vous pouvez taper <userinput>info</userinput> et ensuite sélectionner - <guimenuitem>make</guimenuitem> dans le menu (ou dans <application>Emacs</application>, + <guimenuitem>make</guimenuitem> dans le menu (ou dans <application>Emacs</application>, faites <userinput>C-h i</userinput>). </para> @@ -1325,7 +1325,7 @@ DISTFILES= scheme-microcode+dist-7.3-freebsd.tgz <screen>&prompt.user; <userinput>gdb <replaceable>nomprog</replaceable></userinput> </screen> - <para>bien que la plupart des gens préfèrent le démarrer au + <para>bien que la plupart des gens préfèrent le démarrer au sein d'<application>Emacs</application>. Vous pouvez faire cela avec: </para> @@ -1350,7 +1350,7 @@ DISTFILES= scheme-microcode+dist-7.3-freebsd.tgz </para> <para>Finalement, si vous trouvez son interface texte non fonctionnelle, - il y a une interface graphique pour celui-ci, <ulink url="../../ports/devel.html">xxgdb</ulink>, + il y a une interface graphique pour celui-ci, <ulink url="../../ports/devel.html">xxgdb</ulink>, dans la collection des logiciels portés. </para> @@ -1451,8 +1451,8 @@ bazz (anint=4231) at temp.c:17 <lineannotation><command>gdb</command> montre l </screen> <para>Arrêtons-nous une minute! Comment <symbol>anint</symbol> a eu la valeur - <literal>4231</literal>? Ne l'avons-nous pas mis à <literal>5</literal> - dans <function>main()</function>? Remontons dans <function>main()</function> + <literal>4231</literal>? Ne l'avons-nous pas mis à <literal>5</literal> + dans <function>main()</function>? Remontons dans <function>main()</function> et regardons. </para> @@ -1502,13 +1502,13 @@ main() { listings en hexadécimal de fichiers <filename>core</filename> et transpirer sur leur manuels de code machine, mais la vie est maintenant un peu plus facile. Par chance, sous FreeBSD et les autres systèmes 4.4BSD, un fichier <filename>core</filename> - est appelé <filename><replaceable>nomprog</replaceable>.core</filename> + est appelé <filename><replaceable>nomprog</replaceable>.core</filename> plutôt que juste <filename>core</filename>, pour mieux savoir à quel programme appartient un fichier <filename>core</filename>. </para> - <para>Pour examiner un fichier <filename>core</filename>, démarrez <command>gdb</command> - de façon habituel. Plutôt que de taper <command>break</command> ou + <para>Pour examiner un fichier <filename>core</filename>, démarrez <command>gdb</command> + de façon habituel. Plutôt que de taper <command>break</command> ou <command>run</command>, tapez </para> @@ -1536,14 +1536,14 @@ Cannot access memory at address 0x7020796d. (gdb) </screen> - <para>Dans ce cas, le programme a été appelé <filename>a.out</filename>, - aussi le fichier <filename>core</filename> s'appelle <filename>a.out.core</filename>. - Nous pouvons voir que le programme s'est planté car il a essayé + <para>Dans ce cas, le programme a été appelé <filename>a.out</filename>, + aussi le fichier <filename>core</filename> s'appelle <filename>a.out.core</filename>. + Nous pouvons voir que le programme s'est planté car il a essayé d'accèder à une zone dans la mémoire qui n'était pas disponible dans la fonction appelée <function>bazz</function>. </para> - <para>Quelquefois il est utile de pouvoir voir comment une fonction a été + <para>Quelquefois il est utile de pouvoir voir comment une fonction a été appelée car le problème peut avoir eu lieu bien avant dans la pile des appels dans un programme complexe. La commande <command>bt</command> demande à <command>gdb</command> d'afficher une trace inverse de la pile @@ -1558,7 +1558,7 @@ Cannot access memory at address 0x7020796d. </screen> <para>La fonction <function>end()</function> est appelée lorsque le programme se plante; - dans ce cas, la fonction <function>bazz()</function> a été appelée + dans ce cas, la fonction <function>bazz()</function> a été appelée <function>main()</function>. </para> </sect2> @@ -1618,7 +1618,7 @@ else if (pid == 0) { /* le fils */ <title>Emacs</title> <para>Malheureusement, les systèmes Unix ne sont pas fournis avec des sortes - d'environnements de développement intégrés + d'environnements de développement intégrés tout-ce-que-vous-avez-toujours-voulu-et-beaucoup-plus-dans-un-ensemble-gigantesque que d'autres sytèmes ont. @@ -1633,7 +1633,7 @@ else if (pid == 0) { /* le fils */ vous voulez. Et c'est gratuit. Et vous en avez les sources. </para> - <para>La clé de tout cela est Emacs. Maintenant il y a des gens qui le détestent, + <para>La clé de tout cela est Emacs. Maintenant il y a des gens qui le détestent, mais beaucoup l'aiment. Si vous êtes un du premier groupe, j'ai peur que cette section ait peu d'intérêt pour vous. Vous aurez besoin d'une quantité moyenne de mémoire pour le faire fonctionner—Je recommenderai 8Mo en mode @@ -1644,7 +1644,7 @@ else if (pid == 0) { /* le fils */ —en effet, il a été personnalisé au point de ressembler plus à un système d'exploitation qu'à un éditeur! Beaucoup de développeurs et d'administrateurs système passent - en fait pratiquement tout leur temps à travailler dans Emacs, + en fait pratiquement tout leur temps à travailler dans Emacs, en ne le quittant qu'à leur déconnexion. </para> @@ -1711,7 +1711,7 @@ else if (pid == 0) { /* le fils */ <para>Et sans doute beaucoup plus que je n'ai survolé. </para> - <para>Emacs peut être installé sur FreeBSD en utilisant Emacs + <para>Emacs peut être installé sur FreeBSD en utilisant Emacs <ulink url="../../ports/editors.html">le logiciel porté Emacs</ulink>. </para> @@ -1750,15 +1750,15 @@ else if (pid == 0) { /* le fils */ </para> <para>De cette manière, l'expression ci-dessus signifie maintenir la touche - <keysym>Meta</keysym>, taper <keysym>x</keysym>, relâcher - la touche <keysym>Meta</keysym>, taper <userinput>replace-s</userinput> + <keysym>Meta</keysym>, taper <keysym>x</keysym>, relâcher + la touche <keysym>Meta</keysym>, taper <userinput>replace-s</userinput> (raccourci pour <literal>replace-string</literal>— une autre caractéristique d'Emacs est que vous pouvez abréger les commandes), appuyer sur la touche <keysym>Entrée</keysym>, taper <userinput>foo</userinput> (la chaîne que vous voulez remplacer), presser la touche <keysym>Entrée</keysym>, taper <userinput>bar</userinput> (la chaîne que vous voulez substituer à <literal>foo</literal>) puis appuyer sur - <keysym>Entrée</keysym> une dernière fois. Emacs va alors faire + <keysym>Entrée</keysym> une dernière fois. Emacs va alors faire l'opération chercher-remplacer que vous avez demandé. </para> @@ -1822,7 +1822,7 @@ else if (pid == 0) { /* le fils */ </listitem> <listitem> - <para>A la première ligne, le <literal>-*- Emacs-Lisp -*-</literal> + <para>A la première ligne, le <literal>-*- Emacs-Lisp -*-</literal> est tel que vous pouvez éditer le fichier <filename>.emacs</filename> lui-même à l'intérieur d'Emacs et d'obtenir tous les fantaisistes dispositifs pour l'édition en Emacs Lisp. Emacs essaye habituellement de deviner cela @@ -1886,7 +1886,7 @@ else if (pid == 0) { /* le fils */ ;; Ce fichier est concu pour etre reevalue, utiliser la variable first-time ;; pour eviter tout probleme. -(defvar first-time t +(defvar first-time t "Valeur signifiant que c'est la premiere fois que .emacs a ete evalue" ) @@ -1969,7 +1969,7 @@ else if (pid == 0) { /* le fils */ ) auto-mode-alist))) ;; Mode de verrouillage automatique de la police de caracteres -(defvar font-lock-auto-mode-list +(defvar font-lock-auto-mode-list (list 'c-mode 'c++-mode 'c++-c-mode 'emacs-lisp-mode 'lisp-mode 'perl-mode 'scheme-mode) "List of modes to always start in font-lock-mode") @@ -1981,7 +1981,7 @@ else if (pid == 0) { /* le fils */ (defun font-lock-auto-mode-select () "Automatically select font-lock-mode if the current major mode is in font-lock-auto-mode-list" - (if (memq major-mode font-lock-auto-mode-list) + (if (memq major-mode font-lock-auto-mode-list) (progn (font-lock-mode t)) ) @@ -1994,15 +1994,15 @@ in font-lock-auto-mode-list" (setq dabbrev-always-check-other-buffers t) (setq dabbrev-abbrev-char-regexp "\\sw\\|\\s_") (add-hook 'emacs-lisp-mode-hook - '(lambda () + '(lambda () (set (make-local-variable 'dabbrev-case-fold-search) nil) (set (make-local-variable 'dabbrev-case-replace) nil))) (add-hook 'c-mode-hook - '(lambda () + '(lambda () (set (make-local-variable 'dabbrev-case-fold-search) nil) (set (make-local-variable 'dabbrev-case-replace) nil))) (add-hook 'text-mode-hook - '(lambda () + '(lambda () (set (make-local-variable 'dabbrev-case-fold-search) t) (set (make-local-variable 'dabbrev-case-replace) t))) @@ -2115,7 +2115,7 @@ in font-lock-auto-mode-list" (progn ;; (global-set-key [M-f1] 'hilit-repaint-command) ;; (global-set-key [M-f2] [?\C-u M-f1]) - (setq hilit-mode-enable-list + (setq hilit-mode-enable-list '(not text-mode c-mode c++-mode emacs-lisp-mode lisp-mode scheme-mode) hilit-auto-highlight nil @@ -2128,7 +2128,7 @@ in font-lock-auto-mode-list" ) ;; Terminal de type TTY -(if (and (not window-system) +(if (and (not window-system) (not (equal system-type 'ms-dos))) (progn (if first-time @@ -2173,7 +2173,7 @@ in font-lock-auto-mode-list" <title>Etendre la palette de langages qu'Emacs comprend</title> <para>Maintenant, Emacs est très bien si vous voulez seulement programmer - dans des langages déjà fournis dans le fichier <filename>.emacs</filename> + dans des langages déjà fournis dans le fichier <filename>.emacs</filename> (C, C++, Perl, Lisp et Scheme), mais qu'arrive-t-il si un nouveau langage appelé <quote>whizbang</quote> sort, plein d'excitantes fonctionnalités ? </para> @@ -2226,22 +2226,22 @@ in font-lock-auto-mode-list" par <filename>.wiz</filename>. </para> - <para>Juste en-dessous, vous trouverez l'entrée <symbol>font-lock-auto-mode-list</symbol>. + <para>Juste en-dessous, vous trouverez l'entrée <symbol>font-lock-auto-mode-list</symbol>. Ajoutez <function>whizbang-mode</function> à celle-ci comme ceci : </para> <programlisting>;; Auto font lock mode -(defvar font-lock-auto-mode-list +(defvar font-lock-auto-mode-list (list 'c-mode 'c++-mode 'c++-c-mode 'emacs-lisp-mode 'whizbang-mode 'lisp-mode 'perl-mode 'scheme-mode) "List of modes to always start in font-lock-mode")</programlisting> - <para>Cela signifie qu'Emacs autorisera toujours <function>font-lock-mode</function> + <para>Cela signifie qu'Emacs autorisera toujours <function>font-lock-mode</function> (ie colorisation de la syntaxe) pendant l'édition d'un fichier <filename>.wiz</filename>. </para> <para>Et c'est tout ce qui est nécessaire. S'il y a quoique ce soit que vous voulez de fait automatiquement quand vous ouvrez un fichier - <filename>.wiz</filename>, vous pouvez ajouter un <function>whizbang-mode hook</function> + <filename>.wiz</filename>, vous pouvez ajouter un <function>whizbang-mode hook</function> (voir <function>my-scheme-mode-hook</function> pour un exemple simple qui ajoute <function>auto-indent</function>, l'auto-indentation). </para> |