diff --git a/library/zipapp.po b/library/zipapp.po index cb657bcd1..1b867c4b9 100644 --- a/library/zipapp.po +++ b/library/zipapp.po @@ -6,17 +6,18 @@ msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-12 18:59+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-08-06 09:57+0200\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" +"Last-Translator: Zepmanbc \n" +"X-Generator: Poedit 2.2.3\n" #: ../Doc/library/zipapp.rst:2 msgid ":mod:`zipapp` --- Manage executable Python zip archives" -msgstr "" +msgstr ":mod:`zipapp` — Gestion des archives zip exécutables Python" #: ../Doc/library/zipapp.rst:9 msgid "**Source code:** :source:`Lib/zipapp.py`" @@ -29,10 +30,15 @@ msgid "" "`. 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 `. Le module fournit à la " +"fois une interface de ligne de commande :ref:`zipapp-command-line-interface` " +"et une interface :ref:`zipapp-python-api`." #: ../Doc/library/zipapp.rst:23 msgid "Basic Example" -msgstr "" +msgstr "Exemple de base" #: ../Doc/library/zipapp.rst:25 msgid "" @@ -41,6 +47,11 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:40 msgid "Command-Line Interface" @@ -50,6 +61,8 @@ msgstr "Interface en ligne de commande" 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 :" #: ../Doc/library/zipapp.rst:48 msgid "" @@ -58,10 +71,14 @@ msgid "" "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)." #: ../Doc/library/zipapp.rst:53 msgid "The following options are understood:" -msgstr "" +msgstr "Les options suivantes sont disponibles :" #: ../Doc/library/zipapp.rst:59 msgid "" @@ -70,12 +87,20 @@ msgid "" "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)." #: ../Doc/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*)." #: ../Doc/library/zipapp.rst:69 msgid "" @@ -83,6 +108,10 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:75 msgid "" @@ -91,20 +120,28 @@ msgid "" "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." #: ../Doc/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." #: ../Doc/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." #: ../Doc/library/zipapp.rst:87 msgid ":option:`--compress` has no effect when copying an archive." -msgstr "" +msgstr ":option:`--compress` n'a aucun effet lors de la copie d'une archive." #: ../Doc/library/zipapp.rst:93 msgid "" @@ -112,10 +149,13 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:99 msgid "Print a short usage message and exit." -msgstr "" +msgstr "Affiche un court message d'aide et quitte." #: ../Doc/library/zipapp.rst:105 msgid "Python API" @@ -123,13 +163,15 @@ msgstr "API Python" #: ../Doc/library/zipapp.rst:107 msgid "The module defines two convenience functions:" -msgstr "" +msgstr "Ce module définit deux fonctions utilitaires :" #: ../Doc/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 :" #: ../Doc/library/zipapp.rst:115 msgid "" @@ -137,6 +179,9 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:118 msgid "" @@ -145,6 +190,11 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:122 msgid "" @@ -152,23 +202,30 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:126 msgid "" "The *target* argument determines where the resulting archive will be written:" -msgstr "" +msgstr "L'argument *target* détermine où l'archive résultante sera écrite :" #: ../Doc/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." #: ../Doc/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." #: ../Doc/library/zipapp.rst:133 msgid "" @@ -176,6 +233,9 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:137 msgid "" @@ -187,6 +247,13 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:145 msgid "" @@ -199,6 +266,14 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:155 msgid "" @@ -206,6 +281,10 @@ msgid "" "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é." #: ../Doc/library/zipapp.rst:160 msgid "" @@ -214,12 +293,20 @@ msgid "" "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." #: ../Doc/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``." #: ../Doc/library/zipapp.rst:168 msgid "" @@ -228,10 +315,15 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:174 msgid "Added the *filter* and *compressed* arguments." -msgstr "" +msgstr "Ajout des arguments *filter* et *compressed*." #: ../Doc/library/zipapp.rst:179 msgid "" @@ -240,6 +332,10 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:188 msgid "Examples" @@ -247,23 +343,29 @@ msgstr "Exemples" #: ../Doc/library/zipapp.rst:190 msgid "Pack up a directory into an archive, and run it." -msgstr "" +msgstr "Regroupe le contenu d'un répertoire dans une archive, puis l'exécute." #: ../Doc/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` : ::" #: ../Doc/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." #: ../Doc/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` : ::" #: ../Doc/library/zipapp.rst:218 msgid "" @@ -274,10 +376,17 @@ msgid "" "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 : ::" #: ../Doc/library/zipapp.rst:236 msgid "Specifying the Interpreter" -msgstr "" +msgstr "Spécification de l'interprète" #: ../Doc/library/zipapp.rst:238 msgid "" @@ -286,6 +395,11 @@ msgid "" "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 :" #: ../Doc/library/zipapp.rst:243 msgid "" @@ -294,6 +408,10 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:247 msgid "" @@ -301,6 +419,10 @@ msgid "" "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)." #: ../Doc/library/zipapp.rst:250 msgid "" @@ -308,16 +430,22 @@ msgid "" "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." #: ../Doc/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." #: ../Doc/library/zipapp.rst:259 msgid "Creating Standalone Applications with zipapp" -msgstr "" +msgstr "Création d'applications autonomes avec *zipapp*" #: ../Doc/library/zipapp.rst:261 msgid "" @@ -327,10 +455,15 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:267 msgid "The steps to create a standalone archive are as follows:" -msgstr "" +msgstr "Les étapes pour créer une archive autonome sont les suivantes :" #: ../Doc/library/zipapp.rst:269 msgid "" @@ -338,12 +471,17 @@ msgid "" "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." #: ../Doc/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* :" #: ../Doc/library/zipapp.rst:280 msgid "" @@ -351,6 +489,9 @@ msgid "" "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*)." #: ../Doc/library/zipapp.rst:284 msgid "" @@ -359,10 +500,14 @@ msgid "" "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)." #: ../Doc/library/zipapp.rst:289 msgid "Package the application using:" -msgstr "" +msgstr "Regroupez le tout à l'aide de :" #: ../Doc/library/zipapp.rst:295 msgid "" @@ -370,6 +515,10 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:299 msgid "" @@ -379,10 +528,15 @@ msgid "" "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é." #: ../Doc/library/zipapp.rst:307 msgid "Making a Windows executable" -msgstr "" +msgstr "Création d'un exécutable Windows" #: ../Doc/library/zipapp.rst:309 msgid "" @@ -392,6 +546,11 @@ msgid "" "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)." #: ../Doc/library/zipapp.rst:315 msgid "" @@ -403,16 +562,25 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:322 msgid "A suitable launcher can be as simple as the following::" -msgstr "" +msgstr "Un lanceur approprié peut être aussi simple que ce qui suit : ::" #: ../Doc/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." #: ../Doc/library/zipapp.rst:350 msgid "" @@ -420,6 +588,9 @@ msgid "" "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: ::" #: ../Doc/library/zipapp.rst:377 msgid "" @@ -427,6 +598,10 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:381 msgid "" @@ -435,10 +610,14 @@ msgid "" "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)." #: ../Doc/library/zipapp.rst:387 msgid "Caveats" -msgstr "" +msgstr "Mises en garde" #: ../Doc/library/zipapp.rst:389 msgid "" @@ -446,6 +625,10 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:393 msgid "" @@ -460,6 +643,18 @@ msgid "" "(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)." #: ../Doc/library/zipapp.rst:403 msgid "" @@ -468,6 +663,10 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:408 msgid "" @@ -479,10 +678,17 @@ msgid "" "`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." #: ../Doc/library/zipapp.rst:418 msgid "The Python Zip Application Archive Format" -msgstr "" +msgstr "Le format d'archive d'application Zip Python" #: ../Doc/library/zipapp.rst:420 msgid "" @@ -494,6 +700,13 @@ msgid "" "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." #: ../Doc/library/zipapp.rst:427 msgid "" @@ -501,10 +714,14 @@ msgid "" "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``)." #: ../Doc/library/zipapp.rst:431 msgid "Formally, the Python zip application format is therefore:" -msgstr "" +msgstr "Formellement, le format d'application zip de Python est donc :" #: ../Doc/library/zipapp.rst:433 msgid "" @@ -515,6 +732,12 @@ msgid "" "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 d’interpré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." #: ../Doc/library/zipapp.rst:438 msgid "" @@ -523,12 +746,20 @@ msgid "" "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." #: ../Doc/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." #: ../Doc/library/zipapp.rst:446 msgid "" @@ -536,3 +767,7 @@ msgid "" "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."