# 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: 2021-09-23 16:16+0200\n"
"PO-Revision-Date: 2020-07-20 15:08+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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"

#: library/devmode.rst:4
msgid "Python Development Mode"
msgstr ""

#: library/devmode.rst:8
msgid ""
"The Python Development Mode introduces additional runtime checks that are "
"too expensive to be enabled by default. It should not be more verbose than "
"the default if the code is correct; new warnings are only emitted when an "
"issue is detected."
msgstr ""

#: library/devmode.rst:13
msgid ""
"It can be enabled using the :option:`-X dev <-X>` command line option or by "
"setting the :envvar:`PYTHONDEVMODE` environment variable to ``1``."
msgstr ""

#: library/devmode.rst:16
msgid "See also :ref:`Python debug build <debug-build>`."
msgstr ""

#: library/devmode.rst:19
msgid "Effects of the Python Development Mode"
msgstr ""

#: library/devmode.rst:21
msgid ""
"Enabling the Python Development Mode is similar to the following command, "
"but with additional effects described below::"
msgstr ""

#: library/devmode.rst:26
msgid "Effects of the Python Development Mode:"
msgstr ""

#: library/devmode.rst:28
msgid ""
"Add ``default`` :ref:`warning filter <describing-warning-filters>`. The "
"following warnings are shown:"
msgstr ""

#: library/devmode.rst:31
msgid ":exc:`DeprecationWarning`"
msgstr ":exc:`DeprecationWarning`"

#: library/devmode.rst:32
msgid ":exc:`ImportWarning`"
msgstr ":exc:`ImportWarning`"

#: library/devmode.rst:33
msgid ":exc:`PendingDeprecationWarning`"
msgstr ":exc:`PendingDeprecationWarning`"

#: library/devmode.rst:34
msgid ":exc:`ResourceWarning`"
msgstr ":exc:`ResourceWarning`"

#: library/devmode.rst:36
msgid ""
"Normally, the above warnings are filtered by the default :ref:`warning "
"filters <describing-warning-filters>`."
msgstr ""

#: library/devmode.rst:39
msgid ""
"It behaves as if the :option:`-W default <-W>` command line option is used."
msgstr ""

#: library/devmode.rst:41
msgid ""
"Use the :option:`-W error <-W>` command line option or set the :envvar:"
"`PYTHONWARNINGS` environment variable to ``error`` to treat warnings as "
"errors."
msgstr ""

#: library/devmode.rst:45
msgid "Install debug hooks on memory allocators to check for:"
msgstr ""

#: library/devmode.rst:47
msgid "Buffer underflow"
msgstr ""

#: library/devmode.rst:48
msgid "Buffer overflow"
msgstr ""

#: library/devmode.rst:49
msgid "Memory allocator API violation"
msgstr ""

#: library/devmode.rst:50
msgid "Unsafe usage of the GIL"
msgstr ""

#: library/devmode.rst:52
msgid "See the :c:func:`PyMem_SetupDebugHooks` C function."
msgstr ""

#: library/devmode.rst:54
msgid ""
"It behaves as if the :envvar:`PYTHONMALLOC` environment variable is set to "
"``debug``."
msgstr ""

#: library/devmode.rst:57
msgid ""
"To enable the Python Development Mode without installing debug hooks on "
"memory allocators, set the :envvar:`PYTHONMALLOC` environment variable to "
"``default``."
msgstr ""

#: library/devmode.rst:61
msgid ""
"Call :func:`faulthandler.enable` at Python startup to install handlers for "
"the :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` "
"and :const:`SIGILL` signals to dump the Python traceback on a crash."
msgstr ""

#: library/devmode.rst:65
msgid ""
"It behaves as if the :option:`-X faulthandler <-X>` command line option is "
"used or if the :envvar:`PYTHONFAULTHANDLER` environment variable is set to "
"``1``."
msgstr ""

#: library/devmode.rst:69
msgid ""
"Enable :ref:`asyncio debug mode <asyncio-debug-mode>`. For example, :mod:"
"`asyncio` checks for coroutines that were not awaited and logs them."
msgstr ""

#: library/devmode.rst:72
msgid ""
"It behaves as if the :envvar:`PYTHONASYNCIODEBUG` environment variable is "
"set to ``1``."
msgstr ""

#: library/devmode.rst:75
msgid ""
"Check the *encoding* and *errors* arguments for string encoding and decoding "
"operations. Examples: :func:`open`, :meth:`str.encode` and :meth:`bytes."
"decode`."
msgstr ""

#: library/devmode.rst:79
msgid ""
"By default, for best performance, the *errors* argument is only checked at "
"the first encoding/decoding error and the *encoding* argument is sometimes "
"ignored for empty strings."
msgstr ""

#: library/devmode.rst:83
msgid "The :class:`io.IOBase` destructor logs ``close()`` exceptions."
msgstr ""

#: library/devmode.rst:84
msgid ""
"Set the :attr:`~sys.flags.dev_mode` attribute of :attr:`sys.flags` to "
"``True``."
msgstr ""
"Définit l'attribut :attr:`~sys.flags.dev_mode` de :attr:`sys.flags` à "
"``True``"

#: library/devmode.rst:87
msgid ""
"The Python Development Mode does not enable the :mod:`tracemalloc` module by "
"default, because the overhead cost (to performance and memory) would be too "
"large. Enabling the :mod:`tracemalloc` module provides additional "
"information on the origin of some errors. For example, :exc:"
"`ResourceWarning` logs the traceback where the resource was allocated, and a "
"buffer overflow error logs the traceback where the memory block was "
"allocated."
msgstr ""

#: library/devmode.rst:94
msgid ""
"The Python Development Mode does not prevent the :option:`-O` command line "
"option from removing :keyword:`assert` statements nor from setting :const:"
"`__debug__` to ``False``."
msgstr ""

#: library/devmode.rst:98
msgid ""
"The Python Development Mode can only be enabled at the Python startup. Its "
"value can be read from :data:`sys.flags.dev_mode <sys.flags>`."
msgstr ""

#: library/devmode.rst:101
msgid "The :class:`io.IOBase` destructor now logs ``close()`` exceptions."
msgstr ""

#: library/devmode.rst:104
msgid ""
"The *encoding* and *errors* arguments are now checked for string encoding "
"and decoding operations."
msgstr ""

#: library/devmode.rst:110
msgid "ResourceWarning Example"
msgstr ""

#: library/devmode.rst:112
msgid ""
"Example of a script counting the number of lines of the text file specified "
"in the command line::"
msgstr ""

#: library/devmode.rst:126
msgid ""
"The script does not close the file explicitly. By default, Python does not "
"emit any warning. Example using README.txt, which has 269 lines:"
msgstr ""

#: library/devmode.rst:134
msgid ""
"Enabling the Python Development Mode displays a :exc:`ResourceWarning` "
"warning:"
msgstr ""

#: library/devmode.rst:144
msgid ""
"In addition, enabling :mod:`tracemalloc` shows the line where the file was "
"opened:"
msgstr ""

#: library/devmode.rst:159
msgid ""
"The fix is to close explicitly the file. Example using a context manager::"
msgstr ""

#: library/devmode.rst:167
msgid ""
"Not closing a resource explicitly can leave a resource open for way longer "
"than expected; it can cause severe issues upon exiting Python. It is bad in "
"CPython, but it is even worse in PyPy. Closing resources explicitly makes an "
"application more deterministic and more reliable."
msgstr ""

#: library/devmode.rst:174
msgid "Bad file descriptor error example"
msgstr ""

#: library/devmode.rst:176
msgid "Script displaying the first line of itself::"
msgstr ""

#: library/devmode.rst:189
msgid "By default, Python does not emit any warning:"
msgstr ""

#: library/devmode.rst:196
msgid ""
"The Python Development Mode shows a :exc:`ResourceWarning` and logs a \"Bad "
"file descriptor\" error when finalizing the file object:"
msgstr ""

#: library/devmode.rst:212
msgid ""
"``os.close(fp.fileno())`` closes the file descriptor. When the file object "
"finalizer tries to close the file descriptor again, it fails with the ``Bad "
"file descriptor`` error. A file descriptor must be closed only once. In the "
"worst case scenario, closing it twice can lead to a crash (see :issue:"
"`18748` for an example)."
msgstr ""

#: library/devmode.rst:218
msgid ""
"The fix is to remove the ``os.close(fp.fileno())`` line, or open the file "
"with ``closefd=False``."
msgstr ""
