python-docs-fr/library/zipapp.po

779 lines
36 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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: 2023-07-23 14:38+0200\n"
"PO-Revision-Date: 2019-08-06 09:57+0200\n"
"Last-Translator: Zepmanbc <zepman@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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 2.2.3\n"
#: library/zipapp.rst:2
msgid ":mod:`zipapp` --- Manage executable Python zip archives"
msgstr ":mod:`zipapp` — Gestion des archives zip exécutables Python"
#: library/zipapp.rst:9
msgid "**Source code:** :source:`Lib/zipapp.py`"
msgstr "**Code source :** :source:`Lib/zipapp.py`"
#: library/zipapp.rst:16
msgid ""
"This module provides tools to manage the creation of zip files containing "
"Python code, which can be :ref:`executed directly by the Python interpreter "
"<using-on-interface-options>`. The module provides both a :ref:`zipapp-"
"command-line-interface` and a :ref:`zipapp-python-api`."
msgstr ""
"Ce module fournit des outils pour gérer la création de fichiers zip "
"contenant du code Python, qui peuvent être :ref:`exécutés directement par "
"l'interpréteur Python <using-on-interface-options>`. Le module fournit à la "
"fois une interface de ligne de commande :ref:`zipapp-command-line-interface` "
"et une interface :ref:`zipapp-python-api`."
#: library/zipapp.rst:23
msgid "Basic Example"
msgstr "Exemple de base"
#: library/zipapp.rst:25
msgid ""
"The following example shows how the :ref:`zipapp-command-line-interface` can "
"be used to create an executable archive from a directory containing Python "
"code. When run, the archive will execute the ``main`` function from the "
"module ``myapp`` in the archive."
msgstr ""
"L'exemple suivant montre comment l'interface de ligne de commande :ref:"
"`zipapp-command-line-interface` peut être utilisée pour créer une archive "
"exécutable depuis un répertoire contenant du code Python. Lors de "
"l'exécution, l'archive exécutera la fonction ``main`` du module ``myapp`` "
"dans l'archive."
#: library/zipapp.rst:40
msgid "Command-Line Interface"
msgstr "Interface en ligne de commande"
#: library/zipapp.rst:42
msgid ""
"When called as a program from the command line, the following form is used:"
msgstr ""
"Lorsqu'il est appelé en tant que programme à partir de la ligne de commande, "
"la syntaxe suivante est utilisée :"
#: library/zipapp.rst:48
msgid ""
"If *source* is a directory, this will create an archive from the contents of "
"*source*. If *source* is a file, it should be an archive, and it will be "
"copied to the target archive (or the contents of its shebang line will be "
"displayed if the --info option is specified)."
msgstr ""
"Si *source* est un répertoire, une archive est créée à partir du contenu de "
"*source*. Si *source* est un fichier, ce doit être une archive et il est "
"copié dans l'archive cible (ou le contenu de sa ligne *shebang* est affiché "
"si l'option ``--info`` est indiquée)."
#: library/zipapp.rst:53
msgid "The following options are understood:"
msgstr "Les options suivantes sont disponibles :"
#: library/zipapp.rst:59
msgid ""
"Write the output to a file named *output*. If this option is not specified, "
"the output filename will be the same as the input *source*, with the "
"extension ``.pyz`` added. If an explicit filename is given, it is used as "
"is (so a ``.pyz`` extension should be included if required)."
msgstr ""
"Écrit la sortie dans un fichier nommé *output*. Si cette option n'est pas "
"spécifiée, le nom du fichier de sortie sera le même que celui de l'entrée "
"*source*, avec l'extension ``.pyz``. Si un nom de fichier explicite est "
"donné, il est utilisé tel quel (une extension ``.pyz`` doit donc être "
"incluse si nécessaire)."
#: library/zipapp.rst:64
msgid ""
"An output filename must be specified if the *source* is an archive (and in "
"that case, *output* must not be the same as *source*)."
msgstr ""
"Un nom de fichier de sortie doit être spécifié si la *source* est une "
"archive (et, dans ce cas, la *sortie* ne doit pas être la même que la "
"*source*)."
#: library/zipapp.rst:69
msgid ""
"Add a ``#!`` line to the archive specifying *interpreter* as the command to "
"run. Also, on POSIX, make the archive executable. The default is to write "
"no ``#!`` line, and not make the file executable."
msgstr ""
"Ajoute une ligne ``#!`` à l'archive en spécifiant *interpreter* comme "
"commande à exécuter. Aussi, sur un système POSIX, cela rend l'archive "
"exécutable. Le comportement par défaut est de ne pas écrire la ligne ``#!`` "
"et de ne pas rendre le fichier exécutable."
#: library/zipapp.rst:75
msgid ""
"Write a ``__main__.py`` file to the archive that executes *mainfn*. The "
"*mainfn* argument should have the form \"pkg.mod:fn\", where \"pkg.mod\" is "
"a package/module in the archive, and \"fn\" is a callable in the given "
"module. The ``__main__.py`` file will execute that callable."
msgstr ""
"Écrit un fichier ``__main__.py`` dans l'archive qui exécute *mainfn*. "
"L'argument *mainfn* est de la forme « *pkg.mod:fn* », où « *pkg.mod* » est "
"un paquet/module dans l'archive, et « *fn* » est un appelable dans le module "
"donné. Le fichier ``__main__.py`` réalise cet appel."
#: library/zipapp.rst:80
msgid ":option:`--main` cannot be specified when copying an archive."
msgstr ""
":option:`--main` ne peut pas être spécifié lors de la copie d'une archive."
#: library/zipapp.rst:84
msgid ""
"Compress files with the deflate method, reducing the size of the output "
"file. By default, files are stored uncompressed in the archive."
msgstr ""
"Compresse les fichiers avec la méthode *deflate*, réduisant ainsi la taille "
"du fichier de sortie. Par défaut, les fichiers sont stockés non compressés "
"dans l'archive."
#: library/zipapp.rst:87
msgid ":option:`--compress` has no effect when copying an archive."
msgstr ":option:`--compress` n'a aucun effet lors de la copie d'une archive."
#: library/zipapp.rst:93
msgid ""
"Display the interpreter embedded in the archive, for diagnostic purposes. "
"In this case, any other options are ignored and SOURCE must be an archive, "
"not a directory."
msgstr ""
"Affiche l'interpréteur intégré dans l'archive, à des fins de diagnostic. "
"Dans ce cas, toutes les autres options sont ignorées et SOURCE doit être une "
"archive et non un répertoire."
#: library/zipapp.rst:99
msgid "Print a short usage message and exit."
msgstr "Affiche un court message d'aide et quitte."
#: library/zipapp.rst:105
msgid "Python API"
msgstr "API Python"
#: library/zipapp.rst:107
msgid "The module defines two convenience functions:"
msgstr "Ce module définit deux fonctions utilitaires :"
#: library/zipapp.rst:112
msgid ""
"Create an application archive from *source*. The source can be any of the "
"following:"
msgstr ""
"Crée une archive d'application à partir de *source*. La source peut être de "
"natures suivantes :"
#: library/zipapp.rst:115
msgid ""
"The name of a directory, or a :term:`path-like object` referring to a "
"directory, in which case a new application archive will be created from the "
"content of that directory."
msgstr ""
"Le nom d'un répertoire, ou un :term:`path-like object` se référant à un "
"répertoire ; dans ce cas, une nouvelle archive d'application sera créée à "
"partir du contenu de ce répertoire."
#: library/zipapp.rst:118
msgid ""
"The name of an existing application archive file, or a :term:`path-like "
"object` referring to such a file, in which case the file is copied to the "
"target (modifying it to reflect the value given for the *interpreter* "
"argument). The file name should include the ``.pyz`` extension, if required."
msgstr ""
"Le nom d'un fichier d'archive d'application existant, ou un :term:`path-like "
"object` se référant à un tel fichier ; dans ce cas, le fichier est copié sur "
"la cible (en le modifiant pour refléter la valeur donnée à l'argument "
"*interpreter*). Le nom du fichier doit inclure l'extension ``.pyz``, si "
"nécessaire."
#: library/zipapp.rst:122
msgid ""
"A file object open for reading in bytes mode. The content of the file "
"should be an application archive, and the file object is assumed to be "
"positioned at the start of the archive."
msgstr ""
"Un objet fichier ouvert pour la lecture en mode binaire. Le contenu du "
"fichier doit être une archive d'application et Python suppose que l'objet "
"fichier est positionné au début de l'archive."
#: library/zipapp.rst:126
msgid ""
"The *target* argument determines where the resulting archive will be written:"
msgstr "L'argument *target* détermine où l'archive résultante sera écrite :"
#: library/zipapp.rst:129
msgid ""
"If it is the name of a file, or a :term:`path-like object`, the archive will "
"be written to that file."
msgstr ""
"S'il s'agit d'un nom de fichier, ou d'un :term:`path-like object`, l'archive "
"sera écrite dans ce fichier."
#: library/zipapp.rst:131
msgid ""
"If it is an open file object, the archive will be written to that file "
"object, which must be open for writing in bytes mode."
msgstr ""
"S'il s'agit d'un objet fichier ouvert, l'archive sera écrite dans cet objet "
"fichier, qui doit être ouvert pour l'écriture en mode octets."
#: library/zipapp.rst:133
msgid ""
"If the target is omitted (or ``None``), the source must be a directory and "
"the target will be a file with the same name as the source, with a ``.pyz`` "
"extension added."
msgstr ""
"Si la cible est omise (ou ``None``), la source doit être un répertoire et la "
"cible sera un fichier portant le même nom que la source, avec une extension "
"``.pyz`` ajoutée."
#: library/zipapp.rst:137
msgid ""
"The *interpreter* argument specifies the name of the Python interpreter with "
"which the archive will be executed. It is written as a \"shebang\" line at "
"the start of the archive. On POSIX, this will be interpreted by the OS, and "
"on Windows it will be handled by the Python launcher. Omitting the "
"*interpreter* results in no shebang line being written. If an interpreter "
"is specified, and the target is a filename, the executable bit of the target "
"file will be set."
msgstr ""
"L'argument *interpreter* spécifie le nom de l'interpréteur Python avec "
"lequel l'archive sera exécutée. Il est écrit dans une ligne *shebang* au "
"début de l'archive. Sur un système POSIX, cela est interprété par le "
"système d'exploitation et, sur Windows, il sera géré par le lanceur Python. "
"L'omission de l'*interpreter* n'entraîne pas l'écriture d'une ligne "
"*shebang*. Si un interpréteur est spécifié et que la cible est un nom de "
"fichier, le bit exécutable du fichier cible sera mis à 1."
#: library/zipapp.rst:145
msgid ""
"The *main* argument specifies the name of a callable which will be used as "
"the main program for the archive. It can only be specified if the source is "
"a directory, and the source does not already contain a ``__main__.py`` "
"file. The *main* argument should take the form \"pkg.module:callable\" and "
"the archive will be run by importing \"pkg.module\" and executing the given "
"callable with no arguments. It is an error to omit *main* if the source is "
"a directory and does not contain a ``__main__.py`` file, as otherwise the "
"resulting archive would not be executable."
msgstr ""
"L'argument *main* spécifie le nom d'un appelable, utilisé comme programme "
"principal pour l'archive. Il ne peut être spécifié que si la source est un "
"répertoire et si la source ne contient pas déjà un fichier ``__main__.py``. "
"L'argument *main* doit prendre la forme ``pkg.module:callable`` et l'archive "
"sera exécutée en important ``pkg.module`` et en exécutant l'appelable donné "
"sans argument. Omettre *main* est une erreur si la source est un répertoire "
"et ne contient pas un fichier ``__main__.py`` car, dans ce cas, l'archive "
"résultante ne serait pas exécutable."
#: library/zipapp.rst:155
msgid ""
"The optional *filter* argument specifies a callback function that is passed "
"a Path object representing the path to the file being added (relative to the "
"source directory). It should return ``True`` if the file is to be added."
msgstr ""
"L'argument optionnel *filter* spécifie une fonction de rappel à laquelle on "
"passe un objet *Path* représentant le chemin du fichier à ajouter (par "
"rapport au répertoire source). Elle doit renvoyer ``True`` si le fichier "
"doit effectivement être ajouté."
#: library/zipapp.rst:160
msgid ""
"The optional *compressed* argument determines whether files are compressed. "
"If set to ``True``, files in the archive are compressed with the deflate "
"method; otherwise, files are stored uncompressed. This argument has no "
"effect when copying an existing archive."
msgstr ""
"L'argument optionnel *compressed* détermine si les fichiers doivent être "
"compressés. S'il vaut ``True``, les fichiers de l'archive sont compressés "
"avec l'algorithme *deflate* ; sinon, les fichiers sont stockés non "
"compressés. Cet argument n'a aucun effet lors de la copie d'une archive "
"existante."
#: library/zipapp.rst:165
msgid ""
"If a file object is specified for *source* or *target*, it is the caller's "
"responsibility to close it after calling create_archive."
msgstr ""
"Si un objet fichier est spécifié pour *source* ou *target*, il est de la "
"responsabilité de l'appelant de le fermer après avoir appelé "
"``create_archive``."
#: library/zipapp.rst:168
msgid ""
"When copying an existing archive, file objects supplied only need ``read`` "
"and ``readline``, or ``write`` methods. When creating an archive from a "
"directory, if the target is a file object it will be passed to the ``zipfile."
"ZipFile`` class, and must supply the methods needed by that class."
msgstr ""
"Lors de la copie d'une archive existante, les objets fichier fournis n'ont "
"besoin que des méthodes ``read`` et ``readline`` ou ``write``. Lors de la "
"création d'une archive à partir d'un répertoire, si la cible est un objet "
"fichier, elle sera passée à la classe ``zipfile.ZipFile`` et devra fournir "
"les méthodes nécessaires à cette classe."
#: library/zipapp.rst:174
msgid "Added the *filter* and *compressed* arguments."
msgstr "Ajout des arguments *filter* et *compressed*."
#: library/zipapp.rst:179
msgid ""
"Return the interpreter specified in the ``#!`` line at the start of the "
"archive. If there is no ``#!`` line, return :const:`None`. The *archive* "
"argument can be a filename or a file-like object open for reading in bytes "
"mode. It is assumed to be at the start of the archive."
msgstr ""
"Renvoie l'interpréteur spécifié dans la ligne ``#!`` au début de l'archive. "
"S'il n'y a pas de ligne ``#!``, renvoie :const:`None`. L'argument *archive* "
"peut être un nom de fichier ou un objet de type fichier ouvert à la lecture "
"en mode binaire. Python suppose qu'il est au début de l'archive."
#: library/zipapp.rst:188
msgid "Examples"
msgstr "Exemples"
#: library/zipapp.rst:190
msgid "Pack up a directory into an archive, and run it."
msgstr "Regroupe le contenu d'un répertoire dans une archive, puis l'exécute."
#: library/zipapp.rst:198
msgid "The same can be done using the :func:`create_archive` function::"
msgstr ""
"La même chose peut être faite en utilisant la fonction :func:"
"`create_archive` ::"
#: library/zipapp.rst:203
msgid ""
"To make the application directly executable on POSIX, specify an interpreter "
"to use."
msgstr ""
"Pour rendre l'application directement exécutable sur un système POSIX, "
"spécifiez un interpréteur à utiliser."
#: library/zipapp.rst:212
msgid ""
"To replace the shebang line on an existing archive, create a modified "
"archive using the :func:`create_archive` function::"
msgstr ""
"Pour remplacer la ligne *shebang* sur une archive existante, créez une "
"archive modifiée en utilisant la fonction :func:`create_archive` ::"
#: library/zipapp.rst:218
#, fuzzy
msgid ""
"To update the file in place, do the replacement in memory using a :class:"
"`~io.BytesIO` object, and then overwrite the source afterwards. Note that "
"there is a risk when overwriting a file in place that an error will result "
"in the loss of the original file. This code does not protect against such "
"errors, but production code should do so. Also, this method will only work "
"if the archive fits in memory::"
msgstr ""
"Pour mettre à jour le fichier sans créer de copie locale, effectuez le "
"remplacement en mémoire à l'aide d'un objet :class:`BytesIO`, puis écrasez "
"la source par la suite. Notez qu'il y a un risque lors de l'écrasement d'un "
"fichier local qu'une erreur entraîne la perte du fichier original. Ce code "
"ne protège pas contre de telles erreurs, assurez-vous de prendre les mesures "
"nécessaires en production. De plus, cette méthode ne fonctionnera que si "
"l'archive tient en mémoire ::"
#: library/zipapp.rst:236
msgid "Specifying the Interpreter"
msgstr "Spécification de l'interprète"
#: library/zipapp.rst:238
msgid ""
"Note that if you specify an interpreter and then distribute your application "
"archive, you need to ensure that the interpreter used is portable. The "
"Python launcher for Windows supports most common forms of POSIX ``#!`` line, "
"but there are other issues to consider:"
msgstr ""
"Notez que si vous spécifiez un interpréteur et que vous distribuez ensuite "
"votre archive d'application, vous devez vous assurer que l'interpréteur "
"utilisé est portable. Le lanceur Python pour Windows gère la plupart des "
"formes courantes de la ligne POSIX ``#!``, mais il y a d'autres problèmes à "
"considérer :"
#: library/zipapp.rst:243
msgid ""
"If you use \"/usr/bin/env python\" (or other forms of the \"python\" "
"command, such as \"/usr/bin/python\"), you need to consider that your users "
"may have either Python 2 or Python 3 as their default, and write your code "
"to work under both versions."
msgstr ""
"Si vous utilisez ``/usr/bin/env python`` (ou d'autres formes de la commande "
"*python*, comme ``/usr/bin/python``), vous devez considérer que vos "
"utilisateurs peuvent avoir Python 2 ou Python 3 par défaut, et écrire votre "
"code pour fonctionner dans les deux versions."
#: library/zipapp.rst:247
msgid ""
"If you use an explicit version, for example \"/usr/bin/env python3\" your "
"application will not work for users who do not have that version. (This may "
"be what you want if you have not made your code Python 2 compatible)."
msgstr ""
"Si vous utilisez une version explicite, par exemple ``/usr/bin/env python3`` "
"votre application ne fonctionnera pas pour les utilisateurs qui n'ont pas "
"cette version. (C'est peut-être ce que vous voulez si vous n'avez pas rendu "
"votre code compatible Python 2)."
#: library/zipapp.rst:250
msgid ""
"There is no way to say \"python X.Y or later\", so be careful of using an "
"exact version like \"/usr/bin/env python3.4\" as you will need to change "
"your shebang line for users of Python 3.5, for example."
msgstr ""
"Il n'y a aucun moyen de dire « python X.Y ou supérieur » donc faites "
"attention si vous utilisez une version exacte comme ``/usr/bin/env "
"python3.4`` car vous devrez changer votre ligne *shebang* pour les "
"utilisateurs de Python 3.5, par exemple."
#: library/zipapp.rst:254
msgid ""
"Typically, you should use an \"/usr/bin/env python2\" or \"/usr/bin/env "
"python3\", depending on whether your code is written for Python 2 or 3."
msgstr ""
"Normalement, vous devriez utiliser un ``/usr/bin/env python2`` ou ``/usr/bin/"
"env python3``, selon que votre code soit écrit pour Python 2 ou 3."
#: library/zipapp.rst:259
msgid "Creating Standalone Applications with zipapp"
msgstr "Création d'applications autonomes avec *zipapp*"
#: library/zipapp.rst:261
msgid ""
"Using the :mod:`zipapp` module, it is possible to create self-contained "
"Python programs, which can be distributed to end users who only need to have "
"a suitable version of Python installed on their system. The key to doing "
"this is to bundle all of the application's dependencies into the archive, "
"along with the application code."
msgstr ""
"En utilisant le module :mod:`zipapp`, il est possible de créer des "
"programmes Python qui peuvent être distribués à des utilisateurs finaux dont "
"le seul pré-requis est d'avoir la bonne version de Python installée sur leur "
"ordinateur. Pour y arriver, la clé est de regrouper toutes les dépendances "
"de l'application dans l'archive avec le code source de l'application."
#: library/zipapp.rst:267
msgid "The steps to create a standalone archive are as follows:"
msgstr "Les étapes pour créer une archive autonome sont les suivantes :"
#: library/zipapp.rst:269
msgid ""
"Create your application in a directory as normal, so you have a ``myapp`` "
"directory containing a ``__main__.py`` file, and any supporting application "
"code."
msgstr ""
"Créez votre application dans un répertoire comme d'habitude, de manière à "
"avoir un répertoire ``myapp`` contenant un fichier ``__main__.py`` et tout "
"le code de l'application correspondante."
#: library/zipapp.rst:273
msgid ""
"Install all of your application's dependencies into the ``myapp`` directory, "
"using pip:"
msgstr ""
"Installez toutes les dépendances de votre application dans le répertoire "
"``myapp`` en utilisant *pip* :"
#: library/zipapp.rst:280
msgid ""
"(this assumes you have your project requirements in a ``requirements.txt`` "
"file - if not, you can just list the dependencies manually on the pip "
"command line)."
msgstr ""
"(ceci suppose que vous ayez vos dépendances de projet dans un fichier "
"``requirements.txt`` — sinon vous pouvez simplement lister les dépendances "
"manuellement sur la ligne de commande *pip*)."
#: library/zipapp.rst:284
msgid ""
"Optionally, delete the ``.dist-info`` directories created by pip in the "
"``myapp`` directory. These hold metadata for pip to manage the packages, and "
"as you won't be making any further use of pip they aren't required - "
"although it won't do any harm if you leave them."
msgstr ""
"Si nécessaire, supprimez les répertoires ``.dist-info`` créés par *pip* dans "
"le répertoire ``myapp``. Ceux-ci contiennent des métadonnées pour *pip* afin "
"de gérer les paquets et, comme vous n'utiliserez plus *pip*, ils ne sont "
"pas nécessaires (c'est sans conséquence si vous les laissez)."
#: library/zipapp.rst:289
msgid "Package the application using:"
msgstr "Regroupez le tout à l'aide de :"
#: library/zipapp.rst:295
msgid ""
"This will produce a standalone executable, which can be run on any machine "
"with the appropriate interpreter available. See :ref:`zipapp-specifying-the-"
"interpreter` for details. It can be shipped to users as a single file."
msgstr ""
"Cela produira un exécutable autonome qui peut être exécuté sur n'importe "
"quelle machine avec l'interpréteur approprié disponible. Voir :ref:`zipapp-"
"specifying-the-interpreter` pour plus de détails. Il peut être envoyé aux "
"utilisateurs sous la forme d'un seul fichier."
#: library/zipapp.rst:299
msgid ""
"On Unix, the ``myapp.pyz`` file is executable as it stands. You can rename "
"the file to remove the ``.pyz`` extension if you prefer a \"plain\" command "
"name. On Windows, the ``myapp.pyz[w]`` file is executable by virtue of the "
"fact that the Python interpreter registers the ``.pyz`` and ``.pyzw`` file "
"extensions when installed."
msgstr ""
"Sous Unix, le fichier ``myapp.pyz`` est exécutable tel quel. Vous pouvez "
"renommer le fichier pour supprimer l'extension ``.pyz`` si vous préférez un "
"nom de commande « simple ». Sous Windows, le fichier ``myapp.pyz[w]`` est "
"exécutable en vertu du fait que l'interpréteur Python est associé aux "
"extensions de fichier ``.pyz`` et ``.pyzw`` une fois installé."
#: library/zipapp.rst:307
msgid "Making a Windows executable"
msgstr "Création d'un exécutable Windows"
#: library/zipapp.rst:309
msgid ""
"On Windows, registration of the ``.pyz`` extension is optional, and "
"furthermore, there are certain places that don't recognise registered "
"extensions \"transparently\" (the simplest example is that ``subprocess."
"run(['myapp'])`` won't find your application - you need to explicitly "
"specify the extension)."
msgstr ""
"Sous Windows, l'association de Python à l'extension ``.pyz`` est facultative "
"et, de plus, il y a certains mécanismes qui ne reconnaissent pas les "
"extensions enregistrées de manière « transparente » (l'exemple le plus "
"simple est que ``subprocess.run(['myapp'])`` ne trouvera pas votre "
"application — vous devez explicitement spécifier l'extension)."
#: library/zipapp.rst:315
msgid ""
"On Windows, therefore, it is often preferable to create an executable from "
"the zipapp. This is relatively easy, although it does require a C "
"compiler. The basic approach relies on the fact that zipfiles can have "
"arbitrary data prepended, and Windows exe files can have arbitrary data "
"appended. So by creating a suitable launcher and tacking the ``.pyz`` file "
"onto the end of it, you end up with a single-file executable that runs your "
"application."
msgstr ""
"Sous Windows, il est donc souvent préférable de créer un exécutable à partir "
"du *zipapp*. C'est relativement facile bien que cela nécessite un "
"compilateur C. L'astuce repose sur le fait que les fichiers zip peuvent "
"avoir des données arbitraires au début et les fichiers *exe* de Windows "
"peuvent avoir des données arbitraires à la fin. Ainsi, en créant un lanceur "
"approprié et en rajoutant le fichier ``.pyz`` à sa fin, vous obtenez un "
"fichier unique qui exécute votre application."
#: library/zipapp.rst:322
msgid "A suitable launcher can be as simple as the following::"
msgstr "Un lanceur approprié peut être aussi simple que ce qui suit ::"
#: library/zipapp.rst:347
msgid ""
"If you define the ``WINDOWS`` preprocessor symbol, this will generate a GUI "
"executable, and without it, a console executable."
msgstr ""
"Si vous définissez le symbole du préprocesseur ``WINDOWS`` cela va générer "
"un exécutable IUG, et sans lui, un exécutable console."
#: library/zipapp.rst:350
msgid ""
"To compile the executable, you can either just use the standard MSVC command "
"line tools, or you can take advantage of the fact that distutils knows how "
"to compile Python source::"
msgstr ""
"Pour compiler l'exécutable, vous pouvez soit simplement utiliser les outils "
"standards en ligne de commande *MSVC*, soit profiter du fait que *distutils* "
"sait comment compiler les sources Python ::"
#: library/zipapp.rst:377
msgid ""
"The resulting launcher uses the \"Limited ABI\", so it will run unchanged "
"with any version of Python 3.x. All it needs is for Python (``python3."
"dll``) to be on the user's ``PATH``."
msgstr ""
"Le lanceur résultant utilise le « Limited ABI » donc il fonctionnera sans "
"changement avec n'importe quelle version de Python 3.x. Tout ce dont il a "
"besoin est que Python (``python3.dll``) soit sur le ``PATH`` de "
"l'utilisateur."
#: library/zipapp.rst:381
msgid ""
"For a fully standalone distribution, you can distribute the launcher with "
"your application appended, bundled with the Python \"embedded\" "
"distribution. This will run on any PC with the appropriate architecture (32 "
"bit or 64 bit)."
msgstr ""
"Pour une distribution entièrement autonome vous pouvez distribuer le lanceur "
"avec votre application en fin de fichier, empaqueté avec la distribution "
"*embedded* Python. Ceci fonctionnera sur n'importe quel ordinateur avec "
"l'architecture appropriée (32 bits ou 64 bits)."
#: library/zipapp.rst:387
msgid "Caveats"
msgstr "Mises en garde"
#: library/zipapp.rst:389
msgid ""
"There are some limitations to the process of bundling your application into "
"a single file. In most, if not all, cases they can be addressed without "
"needing major changes to your application."
msgstr ""
"Il y a certaines limites à l'empaquetage de votre application dans un seul "
"fichier. Dans la plupart des cas, si ce n'est tous, elles peuvent être "
"traitées sans qu'il soit nécessaire d'apporter de modifications majeures à "
"votre application."
#: library/zipapp.rst:393
msgid ""
"If your application depends on a package that includes a C extension, that "
"package cannot be run from a zip file (this is an OS limitation, as "
"executable code must be present in the filesystem for the OS loader to load "
"it). In this case, you can exclude that dependency from the zipfile, and "
"either require your users to have it installed, or ship it alongside your "
"zipfile and add code to your ``__main__.py`` to include the directory "
"containing the unzipped module in ``sys.path``. In this case, you will need "
"to make sure to ship appropriate binaries for your target architecture(s) "
"(and potentially pick the correct version to add to ``sys.path`` at runtime, "
"based on the user's machine)."
msgstr ""
"Si votre application dépend d'un paquet qui inclut une extension C, ce "
"paquet ne peut pas être exécuté à partir d'un fichier zip (c'est une "
"limitation du système d'exploitation, car le code exécutable doit être "
"présent dans le système de fichiers pour que le lanceur de l'OS puisse le "
"charger). Dans ce cas, vous pouvez exclure cette dépendance du fichier zip "
"et, soit demander à vos utilisateurs de l'installer, soit la fournir avec "
"votre fichier zip et ajouter du code à votre fichier ``__main__.py`` pour "
"inclure le répertoire contenant le module décompressé dans ``sys.path``. "
"Dans ce cas, vous devrez vous assurer d'envoyer les binaires appropriés pour "
"votre ou vos architecture(s) cible(s) (et éventuellement choisir la bonne "
"version à ajouter à ``sys.path`` au moment de l'exécution, basée sur la "
"machine de l'utilisateur)."
#: library/zipapp.rst:403
msgid ""
"If you are shipping a Windows executable as described above, you either need "
"to ensure that your users have ``python3.dll`` on their PATH (which is not "
"the default behaviour of the installer) or you should bundle your "
"application with the embedded distribution."
msgstr ""
"Si vous livrez un exécutable Windows comme décrit ci-dessus, vous devez vous "
"assurer que vos utilisateurs ont ``python3.dll`` sur leur PATH (ce qui n'est "
"pas le comportement par défaut de l'installateur) ou vous devez inclure la "
"distribution intégrée dans votre application."
#: library/zipapp.rst:408
msgid ""
"The suggested launcher above uses the Python embedding API. This means that "
"in your application, ``sys.executable`` will be your application, and *not* "
"a conventional Python interpreter. Your code and its dependencies need to "
"be prepared for this possibility. For example, if your application uses "
"the :mod:`multiprocessing` module, it will need to call :func:"
"`multiprocessing.set_executable` to let the module know where to find the "
"standard Python interpreter."
msgstr ""
"Le lanceur suggéré ci-dessus utilise l'API d'intégration Python. Cela "
"signifie que dans votre application ``sys.executable`` sera votre "
"application et *pas* un interpréteur Python classique. Votre code et ses "
"dépendances doivent être préparés à cette possibilité. Par exemple, si "
"votre application utilise le module :mod:`multiprocessing`, elle devra "
"appeler :func:`multiprocessing.set_executable` pour que le module sache où "
"trouver l'interpréteur Python standard."
#: library/zipapp.rst:418
msgid "The Python Zip Application Archive Format"
msgstr "Le format d'archive d'application Zip Python"
#: library/zipapp.rst:420
msgid ""
"Python has been able to execute zip files which contain a ``__main__.py`` "
"file since version 2.6. In order to be executed by Python, an application "
"archive simply has to be a standard zip file containing a ``__main__.py`` "
"file which will be run as the entry point for the application. As usual for "
"any Python script, the parent of the script (in this case the zip file) will "
"be placed on :data:`sys.path` and thus further modules can be imported from "
"the zip file."
msgstr ""
"Python est capable d'exécuter des fichiers zip qui contiennent un fichier "
"``__main__.py`` depuis la version 2.6. Pour être exécutée par Python, une "
"archive d'application doit simplement être un fichier zip standard contenant "
"un fichier ``__main__.py`` qui sera exécuté comme point d'entrée de "
"l'application. Comme d'habitude pour tout script Python, le parent du "
"script (dans ce cas le fichier zip) sera placé sur :data:`sys.path` et ainsi "
"d'autres modules pourront être importés depuis le fichier zip."
#: library/zipapp.rst:427
msgid ""
"The zip file format allows arbitrary data to be prepended to a zip file. "
"The zip application format uses this ability to prepend a standard POSIX "
"\"shebang\" line to the file (``#!/path/to/interpreter``)."
msgstr ""
"Le format de fichier zip permet d'ajouter des données arbitraires à un "
"fichier zip. Le format de l'application zip utilise cette possibilité pour "
"préfixer une ligne *shebang* POSIX standard dans le fichier (``#!/path/to/"
"interpreter``)."
#: library/zipapp.rst:431
msgid "Formally, the Python zip application format is therefore:"
msgstr "Formellement, le format d'application zip de Python est donc :"
#: library/zipapp.rst:433
msgid ""
"An optional shebang line, containing the characters ``b'#!'`` followed by an "
"interpreter name, and then a newline (``b'\\n'``) character. The "
"interpreter name can be anything acceptable to the OS \"shebang\" "
"processing, or the Python launcher on Windows. The interpreter should be "
"encoded in UTF-8 on Windows, and in :func:`sys.getfilesystemencoding()` on "
"POSIX."
msgstr ""
"Une ligne *shebang* facultative, contenant les caractères ``b'#!`` suivis "
"d'un nom dinterpréteur, puis un caractère fin de ligne (``b'\\n'``). Le "
"nom de l'interpréteur peut être n'importe quoi acceptable pour le traitement "
"*shebang* de l'OS, ou le lanceur Python sous Windows. L'interpréteur doit "
"être encodé en UTF-8 sous Windows, et en :func:`sys.getfilesystemencoding()` "
"sur POSIX."
#: library/zipapp.rst:438
msgid ""
"Standard zipfile data, as generated by the :mod:`zipfile` module. The "
"zipfile content *must* include a file called ``__main__.py`` (which must be "
"in the \"root\" of the zipfile - i.e., it cannot be in a subdirectory). The "
"zipfile data can be compressed or uncompressed."
msgstr ""
"Des données *zipfile* standards, telles que générées par le module :mod:"
"`zipfile`. Le contenu du fichier zip *doit* inclure un fichier appelé "
"``__main__.py`` (qui doit se trouver à la racine du fichier zip — c'est-à-"
"dire qu'il ne peut se trouver dans un sous-répertoire). Les données du "
"fichier zip peuvent être compressées ou non."
#: library/zipapp.rst:443
msgid ""
"If an application archive has a shebang line, it may have the executable bit "
"set on POSIX systems, to allow it to be executed directly."
msgstr ""
"Si une archive d'application a une ligne *shebang*, elle peut avoir le bit "
"exécutable activé sur les systèmes POSIX, pour lui permettre d'être exécutée "
"directement."
#: library/zipapp.rst:446
msgid ""
"There is no requirement that the tools in this module are used to create "
"application archives - the module is a convenience, but archives in the "
"above format created by any means are acceptable to Python."
msgstr ""
"Vous pouvez créer des archives d'applications sans utiliser les outils de ce "
"module — le module existe pour faciliter les choses, mais les archives, "
"créées par n'importe quel moyen tout en respectant le format ci-dessus, sont "
"valides pour Python."
#: library/zipapp.rst:11
msgid "Executable Zip Files"
msgstr ""