# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-04-05 10:05+0200\n" "PO-Revision-Date: 2022-10-18 12:22+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.0\n" #: howto/argparse.rst:3 msgid "Argparse Tutorial" msgstr "Tutoriel *argparse*" #: howto/argparse.rst:0 msgid "author" msgstr "auteur" #: howto/argparse.rst:5 msgid "Tshepang Lekhonkhobe" msgstr "Tshepang Lekhonkhobe" #: howto/argparse.rst:9 msgid "" "This tutorial is intended to be a gentle introduction to :mod:`argparse`, " "the recommended command-line parsing module in the Python standard library." msgstr "" "Ce tutoriel est destiné à être une introduction en douceur à :mod:" "`argparse`, le module d'analyse de ligne de commande recommandé dans la " "bibliothèque standard de Python." #: howto/argparse.rst:14 msgid "" "There are two other modules that fulfill the same task, namely :mod:`getopt` " "(an equivalent for :c:func:`getopt` from the C language) and the deprecated :" "mod:`optparse`. Note also that :mod:`argparse` is based on :mod:`optparse`, " "and therefore very similar in terms of usage." msgstr "" "Il y a deux autres modules qui remplissent le même rôle : :mod:`getopt` (un " "équivalent de :c:func:`getopt` du langage C) et :mod:`optparse` qui est " "obsolète. Il faut noter que :mod:`argparse` est basé sur :mod:`optparse` et " "donc s'utilise de manière très similaire." #: howto/argparse.rst:22 msgid "Concepts" msgstr "Concepts" #: howto/argparse.rst:24 msgid "" "Let's show the sort of functionality that we are going to explore in this " "introductory tutorial by making use of the :command:`ls` command:" msgstr "" "Commençons par l'utilisation de la commande :command:`ls` pour voir le type " "de fonctionnalité que nous allons étudier dans ce tutoriel d'introduction :" #: howto/argparse.rst:46 msgid "A few concepts we can learn from the four commands:" msgstr "Quelques concepts que l'on peut apprendre avec les quatre commandes :" #: howto/argparse.rst:48 msgid "" "The :command:`ls` command is useful when run without any options at all. It " "defaults to displaying the contents of the current directory." msgstr "" "La commande :command:`ls` est utile quand elle est exécutée sans aucun " "paramètre. Elle affiche par défaut le contenu du dossier courant." #: howto/argparse.rst:51 msgid "" "If we want beyond what it provides by default, we tell it a bit more. In " "this case, we want it to display a different directory, ``pypy``. What we " "did is specify what is known as a positional argument. It's named so because " "the program should know what to do with the value, solely based on where it " "appears on the command line. This concept is more relevant to a command " "like :command:`cp`, whose most basic usage is ``cp SRC DEST``. The first " "position is *what you want copied,* and the second position is *where you " "want it copied to*." msgstr "" "Si l'on veut plus que ce qui est proposé par défaut, il faut l'indiquer. " "Dans le cas présent, on veut afficher un dossier différent : ``pypy``. Ce " "que l'on a fait c'est spécifier un argument positionnel. C'est appelé ainsi " "car cela permet au programme de savoir quoi faire avec la valeur en se " "basant seulement sur sa position dans la ligne de commande. Ce concept est " "plus pertinent pour une commande comme :command:`cp` dont l'usage de base " "est ``cp SRC DEST``. Le premier argument est *ce que vous voulez copier* et " "le second est *où vous voulez le copier*." #: howto/argparse.rst:60 msgid "" "Now, say we want to change behaviour of the program. In our example, we " "display more info for each file instead of just showing the file names. The " "``-l`` in that case is known as an optional argument." msgstr "" "Maintenant, supposons que l'on veuille changer la façon dont le programme " "agit. Dans notre exemple, on affiche plus d'information pour chaque ficher " "que simplement leur nom. Dans ce cas, ``-l`` est un argument facultatif." #: howto/argparse.rst:64 msgid "" "That's a snippet of the help text. It's very useful in that you can come " "across a program you have never used before, and can figure out how it works " "simply by reading its help text." msgstr "" "C'est un fragment du texte d'aide. Cela peut être très utile quand on tombe " "sur un programme que l'on à jamais utilisé auparavant car on peut comprendre " "son fonctionnement simplement en lisant l'aide associée." #: howto/argparse.rst:70 msgid "The basics" msgstr "Les bases" #: howto/argparse.rst:72 msgid "Let us start with a very simple example which does (almost) nothing::" msgstr "Commençons par un exemple très simple qui ne fait (quasiment) rien ::" #: howto/argparse.rst:186 howto/argparse.rst:207 msgid "Following is a result of running the code:" msgstr "Ce qui suit est le résultat de l'exécution du code :" #: howto/argparse.rst:252 howto/argparse.rst:296 msgid "Here is what is happening:" msgstr "Voilà ce qu'il se passe :" #: howto/argparse.rst:97 msgid "" "Running the script without any options results in nothing displayed to " "stdout. Not so useful." msgstr "" "Exécuter le script sans aucun paramètre a pour effet de ne rien afficher sur " "la sortie d'erreur. Ce n'est pas très utile." #: howto/argparse.rst:100 msgid "" "The second one starts to display the usefulness of the :mod:`argparse` " "module. We have done almost nothing, but already we get a nice help message." msgstr "" "Le deuxième commence à montrer l'intérêt du module :mod:`argparse`. On n'a " "quasiment rien fait mais on a déjà un beau message d'aide." #: howto/argparse.rst:103 msgid "" "The ``--help`` option, which can also be shortened to ``-h``, is the only " "option we get for free (i.e. no need to specify it). Specifying anything " "else results in an error. But even then, we do get a useful usage message, " "also for free." msgstr "" "L'option ``--help``, que l'on peut aussi raccourcir en ``-h``, est la seule " "option que l'on a gratuitement (pas besoin de la préciser). Préciser quoi " "que ce soit d'autre entraîne une erreur. Mais même dans ce cas, on reçoit " "aussi un message utile, toujours gratuitement." #: howto/argparse.rst:110 msgid "Introducing Positional arguments" msgstr "Introduction aux arguments positionnels" #: howto/argparse.rst:112 msgid "An example::" msgstr "Un exemple ::" #: howto/argparse.rst:120 msgid "And running the code:" msgstr "On exécute le code :" #: howto/argparse.rst:138 msgid "Here is what's happening:" msgstr "Voilà ce qu'il se passe :" #: howto/argparse.rst:140 msgid "" "We've added the :meth:`add_argument` method, which is what we use to specify " "which command-line options the program is willing to accept. In this case, " "I've named it ``echo`` so that it's in line with its function." msgstr "" "On a ajouté la méthode :meth:`add_argument` que l'on utilise pour préciser " "quels paramètre de lignes de commandes le programme peut accepter. Dans le " "cas présent, je l'ai appelé ``echo`` pour que cela corresponde à sa fonction." #: howto/argparse.rst:144 msgid "Calling our program now requires us to specify an option." msgstr "" "Utiliser le programme nécessite maintenant que l'on précise un paramètre." #: howto/argparse.rst:146 msgid "" "The :meth:`parse_args` method actually returns some data from the options " "specified, in this case, ``echo``." msgstr "" "La méthode :meth:`parse_args` renvoie en réalité certaines données des " "paramètres précisés, dans le cas présent : ``echo``." #: howto/argparse.rst:149 msgid "" "The variable is some form of 'magic' that :mod:`argparse` performs for free " "(i.e. no need to specify which variable that value is stored in). You will " "also notice that its name matches the string argument given to the method, " "``echo``." msgstr "" "La variable est comme une forme de 'magie' que :mod:`argparse` effectue " "gratuitement (c.-à-d. pas besoin de préciser dans quelle variable la valeur " "est stockée). Vous aurez aussi remarqué que le nom est le même que " "l'argument en chaîne de caractères donné à la méthode : ``echo``." #: howto/argparse.rst:154 msgid "" "Note however that, although the help display looks nice and all, it " "currently is not as helpful as it can be. For example we see that we got " "``echo`` as a positional argument, but we don't know what it does, other " "than by guessing or by reading the source code. So, let's make it a bit more " "useful::" msgstr "" "Notez cependant que, même si l'affichage d'aide paraît bien , il n'est pas " "aussi utile qu'il pourrait l'être. Par exemple, on peut lire que ``echo`` " "est un argument positionnel mais on ne peut pas savoir ce que cela fait " "autrement qu'en le devinant ou en lisant le code source. Donc, rendons-le un " "peu plus utile ::" #: howto/argparse.rst:165 msgid "And we get:" msgstr "Et on obtient :" #: howto/argparse.rst:178 msgid "Now, how about doing something even more useful::" msgstr "" "À présent, que diriez-vous de faire quelque chose d'encore plus utile ::" #: howto/argparse.rst:196 msgid "" "That didn't go so well. That's because :mod:`argparse` treats the options we " "give it as strings, unless we tell it otherwise. So, let's tell :mod:" "`argparse` to treat that input as an integer::" msgstr "" "Cela n'a pas très bien fonctionné. C'est parce que :mod:`argparse` traite " "les paramètres que l'on donne comme des chaînes de caractères à moins qu'on " "ne lui indique de faire autrement. Donc, disons à :mod:`argparse` de traiter " "cette entrée comme un entier ::" #: howto/argparse.rst:217 msgid "" "That went well. The program now even helpfully quits on bad illegal input " "before proceeding." msgstr "" "Cela a bien fonctionné. Maintenant le programme va même s'arrêter si " "l'entrée n'est pas légale avant de procéder à l'exécution." #: howto/argparse.rst:222 msgid "Introducing Optional arguments" msgstr "Introduction aux arguments optionnels" #: howto/argparse.rst:224 msgid "" "So far we have been playing with positional arguments. Let us have a look on " "how to add optional ones::" msgstr "" "Jusqu'à maintenant, on a joué avec les arguments positionnels. Regardons " "comment ajouter des paramètres optionnels ::" #: howto/argparse.rst:280 howto/argparse.rst:430 msgid "And the output:" msgstr "Et le résultat :" #: howto/argparse.rst:254 msgid "" "The program is written so as to display something when ``--verbosity`` is " "specified and display nothing when not." msgstr "" "Le programme est écrit de sorte qu'il n'affiche rien sauf si l'option ``--" "verbosity`` est précisée." #: howto/argparse.rst:257 msgid "" "To show that the option is actually optional, there is no error when running " "the program without it. Note that by default, if an optional argument isn't " "used, the relevant variable, in this case :attr:`args.verbosity`, is given " "``None`` as a value, which is the reason it fails the truth test of the :" "keyword:`if` statement." msgstr "" "Pour montrer que l'option est bien optionnelle il n'y aura pas d'erreur s'il " "on exécute le programme sans celle-ci. Notez que par défaut, si une option " "n'est pas utilisée, la variable associée, dans le cas présent : :attr:`args." "verbosity`, prend la valeur ``None`` c'est pourquoi elle échoue le test de " "vérité de l'assertion :keyword:`if`." #: howto/argparse.rst:263 msgid "The help message is a bit different." msgstr "Le message d'aide est quelque peu différent." #: howto/argparse.rst:265 msgid "" "When using the ``--verbosity`` option, one must also specify some value, any " "value." msgstr "" "Quand on utilise l'option ``--verbosity`` on doit aussi préciser une valeur, " "n'importe laquelle." #: howto/argparse.rst:268 msgid "" "The above example accepts arbitrary integer values for ``--verbosity``, but " "for our simple program, only two values are actually useful, ``True`` or " "``False``. Let's modify the code accordingly::" msgstr "" "L'exemple ci-dessus accepte des valeurs entières arbitraires pour ``--" "verbosity`` mais pour notre programme simple seule deux valeurs sont " "réellement utiles : ``True`` et ``False``. Modifions le code en accord avec " "cela ::" #: howto/argparse.rst:298 msgid "" "The option is now more of a flag than something that requires a value. We " "even changed the name of the option to match that idea. Note that we now " "specify a new keyword, ``action``, and give it the value ``\"store_true\"``. " "This means that, if the option is specified, assign the value ``True`` to :" "data:`args.verbose`. Not specifying it implies ``False``." msgstr "" "Maintenant le paramètre est plus une option que quelque chose qui nécessite " "une valeur. On a même changé le nom du paramètre pour qu'il corresponde à " "cette idée. Notez que maintenant on précise une nouvelle ``action`` clavier " "et qu'on lui donne la valeur ``\"store_true\"``. Cela signifie que si " "l'option est précisée la valeur ``True`` est assignée à :data:`args." "verbose`. Ne rien préciser implique la valeur ``False``." #: howto/argparse.rst:305 msgid "" "It complains when you specify a value, in true spirit of what flags actually " "are." msgstr "" "Dans l'esprit de ce que sont vraiment les options, pas des paramètres, il se " "plaint quand vous tentez de préciser une valeur." #: howto/argparse.rst:308 msgid "Notice the different help text." msgstr "Notez que l'aide est différente." #: howto/argparse.rst:312 msgid "Short options" msgstr "Les paramètres raccourcis" #: howto/argparse.rst:314 msgid "" "If you are familiar with command line usage, you will notice that I haven't " "yet touched on the topic of short versions of the options. It's quite " "simple::" msgstr "" "Si vous êtes familier avec l'utilisation de la ligne de commande, vous avez " "dû remarquer que je n'ai pour l'instant rien dit au sujet des versions " "raccourcies des paramètres. C'est très simple ::" #: howto/argparse.rst:326 msgid "And here goes:" msgstr "Et voilà :" #: howto/argparse.rst:339 msgid "Note that the new ability is also reflected in the help text." msgstr "Notez que la nouvelle option est aussi indiquée dans l'aide." #: howto/argparse.rst:343 msgid "Combining Positional and Optional arguments" msgstr "Combinaison d'arguments positionnels et optionnels" #: howto/argparse.rst:345 msgid "Our program keeps growing in complexity::" msgstr "Notre programme continue de croître en complexité ::" #: howto/argparse.rst:360 msgid "And now the output:" msgstr "Et voilà le résultat :" #: howto/argparse.rst:374 msgid "We've brought back a positional argument, hence the complaint." msgstr "Nous avons ajouté un argument nommé, d'où le message d'erreur." #: howto/argparse.rst:376 msgid "Note that the order does not matter." msgstr "Notez que l'ordre importe peu." #: howto/argparse.rst:378 msgid "" "How about we give this program of ours back the ability to have multiple " "verbosity values, and actually get to use them::" msgstr "" "Qu'en est-il si nous donnons à ce programme la possibilité d'avoir plusieurs " "niveaux de verbosité, et que celui-ci les prend en compte ::" #: howto/argparse.rst:412 msgid "" "These all look good except the last one, which exposes a bug in our program. " "Let's fix it by restricting the values the ``--verbosity`` option can " "accept::" msgstr "" "Tout semble bon sauf le dernier, qui montre que notre programme contient un " "bogue. Corrigeons cela en restreignant les valeurs que ``--verbosity`` " "accepte ::" #: howto/argparse.rst:448 msgid "" "Note that the change also reflects both in the error message as well as the " "help string." msgstr "" "Notez que ce changement est pris en compte à la fois dans le message " "d'erreur et dans le texte d'aide." #: howto/argparse.rst:451 msgid "" "Now, let's use a different approach of playing with verbosity, which is " "pretty common. It also matches the way the CPython executable handles its " "own verbosity argument (check the output of ``python --help``)::" msgstr "" "Essayons maintenant une approche différente pour jouer sur la verbosité, ce " "qui arrive fréquemment. Cela correspond également à comment le programme " "CPython gère ses propres paramètres de verbosité (jetez un œil sur la sortie " "de la commande ``python --help``) ::" #: howto/argparse.rst:470 msgid "" "We have introduced another action, \"count\", to count the number of " "occurrences of specific options." msgstr "" "Nous avons introduit une autre action, ``\"count\"``, pour compter le nombre " "d’occurrences d'une option en particulier :" #: howto/argparse.rst:499 msgid "" "Yes, it's now more of a flag (similar to ``action=\"store_true\"``) in the " "previous version of our script. That should explain the complaint." msgstr "" "Oui, c'est maintenant d'avantage une option (similaire à " "``action=\"store_true\"``) de la version précédente de notre script. Cela " "devrait expliquer le message d'erreur." #: howto/argparse.rst:502 msgid "It also behaves similar to \"store_true\" action." msgstr "Cela se comporte de la même manière que l'action ``\"store_true\"``." #: howto/argparse.rst:504 msgid "" "Now here's a demonstration of what the \"count\" action gives. You've " "probably seen this sort of usage before." msgstr "" "Maintenant voici une démonstration de ce que l'action ``\"count\"`` fait. " "Vous avez sûrement vu ce genre d'utilisation auparavant." #: howto/argparse.rst:507 msgid "" "And if you don't specify the ``-v`` flag, that flag is considered to have " "``None`` value." msgstr "" "Et si vous ne spécifiez pas l'option ``-v``, cette option prendra la valeur " "``None``." #: howto/argparse.rst:510 msgid "" "As should be expected, specifying the long form of the flag, we should get " "the same output." msgstr "" "Comme on s'y attend, en spécifiant l'option dans sa forme longue, on devrait " "obtenir la même sortie." #: howto/argparse.rst:513 msgid "" "Sadly, our help output isn't very informative on the new ability our script " "has acquired, but that can always be fixed by improving the documentation " "for our script (e.g. via the ``help`` keyword argument)." msgstr "" "Malheureusement, notre sortie d'aide n'est pas très informative à propos des " "nouvelles possibilités de notre programme, mais cela peut toujours être " "corrigé en améliorant sa documentation (en utilisant l'argument ``help``)." #: howto/argparse.rst:517 msgid "That last output exposes a bug in our program." msgstr "La dernière sortie du programme montre que celui-ci contient un bogue." #: howto/argparse.rst:520 msgid "Let's fix::" msgstr "Corrigeons ::" #: howto/argparse.rst:539 msgid "And this is what it gives:" msgstr "Et c'est ce que ça donne :" #: howto/argparse.rst:554 msgid "" "First output went well, and fixes the bug we had before. That is, we want " "any value >= 2 to be as verbose as possible." msgstr "" "Les premières exécutions du programme sont correctes, et le bogue que nous " "avons eu est corrigé. Cela dit, nous voulons que n'importe quelle valeur >= " "2 rende le programme aussi verbeux que possible." #: howto/argparse.rst:557 msgid "Third output not so good." msgstr "La troisième sortie de programme n'est pas si bien que ça." #: howto/argparse.rst:559 msgid "Let's fix that bug::" msgstr "Corrigeons ce bogue ::" #: howto/argparse.rst:576 msgid "" "We've just introduced yet another keyword, ``default``. We've set it to " "``0`` in order to make it comparable to the other int values. Remember that " "by default, if an optional argument isn't specified, it gets the ``None`` " "value, and that cannot be compared to an int value (hence the :exc:" "`TypeError` exception)." msgstr "" "Nous venons juste d'introduire un nouveau mot clef, ``default``. Nous " "l'avons définit à ``0`` pour le rendre comparable aux autres valeurs. " "Rappelez-vous que par défaut, si un argument optionnel n'est pas spécifié, " "il sera définit à ``None``, et ne pourra pas être comparé à une valeur de " "type entier (une erreur :exc:`TypeError` serait alors levée)." #: howto/argparse.rst:583 msgid "And:" msgstr "Et :" #: howto/argparse.rst:590 msgid "" "You can go quite far just with what we've learned so far, and we have only " "scratched the surface. The :mod:`argparse` module is very powerful, and " "we'll explore a bit more of it before we end this tutorial." msgstr "" "Vous pouvez aller assez loin seulement avec ce que nous avons appris jusqu'à " "maintenant, et nous n'avons qu’aperçu la surface. Le module :mod:`argparse` " "est très puissant, et nous allons l'explorer un peu plus avant la fin de ce " "tutoriel." #: howto/argparse.rst:597 msgid "Getting a little more advanced" msgstr "Aller un peu plus loin" #: howto/argparse.rst:599 msgid "" "What if we wanted to expand our tiny program to perform other powers, not " "just squares::" msgstr "" "Qu'en est-il si nous souhaitons étendre notre mini programme pour le rendre " "capable de calculer d'autres puissances, et pas seulement des carrés ::" #: howto/argparse.rst:654 msgid "Output:" msgstr "Sortie :" #: howto/argparse.rst:637 msgid "" "Notice that so far we've been using verbosity level to *change* the text " "that gets displayed. The following example instead uses verbosity level to " "display *more* text instead::" msgstr "" "Il est à noter que jusqu'à présent nous avons utilisé le niveau de verbosité " "pour *changer* le texte qui est affiché. L'exemple suivant au contraire " "utilise le niveau de verbosité pour afficher *plus* de texte à la place ::" #: howto/argparse.rst:668 msgid "Conflicting options" msgstr "Paramètres en conflit" #: howto/argparse.rst:670 msgid "" "So far, we have been working with two methods of an :class:`argparse." "ArgumentParser` instance. Let's introduce a third one, :meth:" "`add_mutually_exclusive_group`. It allows for us to specify options that " "conflict with each other. Let's also change the rest of the program so that " "the new functionality makes more sense: we'll introduce the ``--quiet`` " "option, which will be the opposite of the ``--verbose`` one::" msgstr "" "Jusque là, nous avons travaillé avec deux méthodes d'une instance de :class:" "`argparse.ArgumentParser`. En voici une troisième, :meth:" "`add_mutually_exclusive_group`. Elle nous permet de spécifier des paramètres " "qui sont en conflit entre eux. Changeons aussi le reste du programme de " "telle sorte que la nouvelle fonctionnalité fasse sens : nous allons " "introduire l'option ``--quiet``, qui va avoir l'effet opposé de l'option ``--" "verbose`` ::" #: howto/argparse.rst:696 msgid "" "Our program is now simpler, and we've lost some functionality for the sake " "of demonstration. Anyways, here's the output:" msgstr "" "Notre programme est maintenant plus simple, et nous avons perdu des " "fonctionnalités pour faire cette démonstration. Peu importe, voici la sortie " "du programme :" #: howto/argparse.rst:714 msgid "" "That should be easy to follow. I've added that last output so you can see " "the sort of flexibility you get, i.e. mixing long form options with short " "form ones." msgstr "" "Cela devrait être facile à suivre. J'ai ajouté cette dernière sortie pour " "que vous puissiez voir le genre de flexibilité que vous pouvez avoir, par " "exemple pour faire un mélange entre des paramètres courts et longs." #: howto/argparse.rst:718 msgid "" "Before we conclude, you probably want to tell your users the main purpose of " "your program, just in case they don't know::" msgstr "" "Avant d'en finir, vous voudrez certainement dire à vos utilisateurs quel est " "le but principal de votre programme, juste dans le cas ou ils ne le " "sauraient pas ::" #: howto/argparse.rst:739 msgid "" "Note that slight difference in the usage text. Note the ``[-v | -q]``, which " "tells us that we can either use ``-v`` or ``-q``, but not both at the same " "time:" msgstr "" "Notez cette nuance dans le texte d'utilisation. Les options ``[-v | -q]`` " "nous disent que nous pouvons utiliser au choix ``-v`` ou ``-q``, mais pas " "les deux ensemble :" #: howto/argparse.rst:761 msgid "Conclusion" msgstr "Conclusion" #: howto/argparse.rst:763 msgid "" "The :mod:`argparse` module offers a lot more than shown here. Its docs are " "quite detailed and thorough, and full of examples. Having gone through this " "tutorial, you should easily digest them without feeling overwhelmed." msgstr "" "Le module :mod:`argparse` offre bien plus que ce qui est montré ici. Sa " "documentation est assez détaillée, complète et pleine d'exemples. En ayant " "accompli ce tutoriel, vous pourrez facilement comprendre cette documentation " "sans vous sentir dépassé."